MythTV
master
|
#include <algorithm>
#include <array>
#include <cinttypes>
#include <cmath>
#include <cstdio>
#include <cstdlib>
#include "filters.h"
#include "goom_tools.h"
#include "graphic.h"
#include "visualisations/goom/zoom_filters.h"
#include "altivec.h"
Go to the source code of this file.
Macros | |
#define | USE_ASM |
#define | USE_ASM |
Functions | |
void | c_zoom (unsigned int *expix1, unsigned int *expix2, unsigned int prevX, unsigned int prevY, const signed int *brutS, const signed int *brutD) |
static void | select_zoom_filter (void) |
const void | ppc_zoom (unsigned int *frompixmap, unsigned int *topixmap, unsigned int sizex, unsigned int sizey, unsigned int *brutS, unsigned int *brutD, unsigned int buffratio, GoomCoefficients &precalCoef) |
static int | ShiftRight (int x, int s) |
void | generatePrecalCoef (void) |
void | calculatePXandPY (int x, int y, int *px, int *py) |
void | setPixelRGB (Uint *buffer, Uint x, Uint y, Color c) |
void | setPixelRGB_ (Uint *buffer, Uint x, Color c) |
void | getPixelRGB (const Uint *buffer, Uint x, Uint y, Color *c) |
void | getPixelRGB_ (const Uint *buffer, Uint x, Color *c) |
void | setAsmUse (int useIt) |
int | getAsmUse (void) |
void | zoomFilterFastRGB (Uint *pix1, Uint *pix2, ZoomFilterData *zf, Uint resx, Uint resy, int switchIncr, float switchMult) |
void | pointFilter (Uint *pix1, Color c, float t1, float t2, float t3, float t4, Uint cycle) |
Variables | |
static constexpr int8_t | EFFECT_DISTORS { 4 } |
static constexpr int8_t | EFFECT_DISTORS_SL { 2 } |
volatile guint32 | resolx |
volatile guint32 | c_resoly |
static int | zf_use_xmmx = 0 |
static int | zf_use_mmx = 0 |
guint32 | mmx_zoom_size |
unsigned int | useAltivec |
unsigned int * | coeffs = nullptr |
unsigned int * | freecoeffs = nullptr |
signed int * | brutS = nullptr |
signed int * | freebrutS = nullptr |
signed int * | brutD = nullptr |
signed int * | freebrutD = nullptr |
signed int * | brutT = nullptr |
signed int * | freebrutT = nullptr |
guint32 * | expix1 = nullptr |
guint32 * | expix2 = nullptr |
guint32 | zoom_width |
unsigned int | prevX = 0 |
unsigned int | prevY = 0 |
static std::array< int, 0x10000 > | sintable |
static int | vitesse = 127 |
static char | theMode = AMULETTE_MODE |
static bool | waveEffect = false |
static bool | hypercosEffect = false |
static int | vPlaneEffect = 0 |
static int | hPlaneEffect = 0 |
static char | noisify = 2 |
static int | middleX |
static int | middleY |
int | buffratio = 0 |
modif by jeko : fixedpoint : buffration = (16:16) (donc 0<=buffration<=2^16) More... | |
static constexpr uint8_t | BUFFPOINTNB { 16 } |
static constexpr int32_t | BUFFPOINTMASK { 0xffff } |
static constexpr int8_t | sqrtperte { 16 } |
static constexpr int8_t | PERTEMASK { 0xf } |
static constexpr uint8_t | PERTEDEC { 4 } |
static int * | firedec = nullptr |
GoomCoefficients | precalCoef = {} |
modif d'optim by Jeko : precalcul des 4 coefs résultant des 2 pos More... | |
static int | use_asm = 1 |
#define USE_ASM |
Definition at line 31 of file filters.cpp.
#define USE_ASM |
Definition at line 31 of file filters.cpp.
void c_zoom | ( | unsigned int * | expix1, |
unsigned int * | expix2, | ||
unsigned int | prevX, | ||
unsigned int | prevY, | ||
const signed int * | brutS, | ||
const signed int * | brutD | ||
) |
Definition at line 401 of file filters.cpp.
Referenced by zoomFilterFastRGB().
|
static |
Definition at line 50 of file filters.cpp.
Referenced by zoomFilterFastRGB().
const void ppc_zoom | ( | unsigned int * | frompixmap, |
unsigned int * | topixmap, | ||
unsigned int | sizex, | ||
unsigned int | sizey, | ||
unsigned int * | brutS, | ||
unsigned int * | brutD, | ||
unsigned int | buffratio, | ||
GoomCoefficients & | precalCoef | ||
) |
Referenced by zoomFilterFastRGB().
|
inlinestatic |
Definition at line 143 of file filters.cpp.
Referenced by calculatePXandPY().
void generatePrecalCoef | ( | void | ) |
Definition at line 157 of file filters.cpp.
Referenced by zoomFilterFastRGB().
void calculatePXandPY | ( | int | x, |
int | y, | ||
int * | px, | ||
int * | py | ||
) |
Definition at line 203 of file filters.cpp.
Referenced by zoomFilterFastRGB().
Definition at line 325 of file filters.cpp.
Referenced by pointFilter().
Definition at line 341 of file filters.cpp.
Referenced by c_zoom().
Definition at line 356 of file filters.cpp.
Definition at line 374 of file filters.cpp.
Referenced by c_zoom().
void setAsmUse | ( | int | useIt | ) |
Definition at line 476 of file filters.cpp.
int getAsmUse | ( | void | ) |
Definition at line 482 of file filters.cpp.
void zoomFilterFastRGB | ( | Uint * | pix1, |
Uint * | pix2, | ||
ZoomFilterData * | zf, | ||
Uint | resx, | ||
Uint | resy, | ||
int | switchIncr, | ||
float | switchMult | ||
) |
Definition at line 490 of file filters.cpp.
Referenced by goom_update().
Definition at line 721 of file filters.cpp.
Referenced by goom_update().
|
staticconstexpr |
Definition at line 34 of file filters.cpp.
Referenced by calculatePXandPY().
|
staticconstexpr |
Definition at line 35 of file filters.cpp.
Referenced by calculatePXandPY().
volatile guint32 resolx |
Definition at line 56 of file goom_core.cpp.
Referenced by getPixelRGB(), getPixelRGB_(), pointFilter(), setPixelRGB(), and setPixelRGB_().
volatile guint32 c_resoly |
Definition at line 56 of file goom_core.cpp.
Referenced by calculatePXandPY(), choose_a_goom_line(), getPixelRGB(), getPixelRGB_(), goom_init(), goom_set_resolution(), goom_update(), pointFilter(), and setPixelRGB_().
|
static |
Definition at line 47 of file filters.cpp.
Referenced by select_zoom_filter(), and zoomFilterFastRGB().
|
static |
Definition at line 48 of file filters.cpp.
Referenced by select_zoom_filter(), and zoomFilterFastRGB().
guint32 mmx_zoom_size |
Definition at line 81 of file filters.cpp.
Referenced by zoomFilterFastRGB().
unsigned int useAltivec |
unsigned int* coeffs = nullptr |
Definition at line 98 of file filters.cpp.
Referenced by zoom_filter_mmx().
unsigned int * freecoeffs = nullptr |
Definition at line 98 of file filters.cpp.
signed int* brutS = nullptr |
Definition at line 100 of file filters.cpp.
Referenced by zoom_filter_mmx(), zoom_filter_xmmx(), and zoomFilterFastRGB().
signed int * freebrutS = nullptr |
Definition at line 100 of file filters.cpp.
Referenced by zoomFilterFastRGB().
signed int* brutD = nullptr |
Definition at line 101 of file filters.cpp.
Referenced by zoom_filter_mmx(), zoom_filter_xmmx(), and zoomFilterFastRGB().
signed int * freebrutD = nullptr |
Definition at line 101 of file filters.cpp.
Referenced by zoomFilterFastRGB().
signed int* brutT = nullptr |
Definition at line 102 of file filters.cpp.
Referenced by zoomFilterFastRGB().
signed int * freebrutT = nullptr |
Definition at line 102 of file filters.cpp.
Referenced by zoomFilterFastRGB().
guint32* expix1 = nullptr |
Definition at line 105 of file filters.cpp.
Referenced by zoom_filter_mmx(), zoom_filter_xmmx(), and zoomFilterFastRGB().
guint32* expix2 = nullptr |
Definition at line 106 of file filters.cpp.
Referenced by zoom_filter_mmx(), zoom_filter_xmmx(), and zoomFilterFastRGB().
guint32 zoom_width |
Definition at line 109 of file filters.cpp.
Referenced by zoomFilterFastRGB().
unsigned int prevX = 0 |
Definition at line 111 of file filters.cpp.
Referenced by zoom_filter_mmx(), zoom_filter_xmmx(), and zoomFilterFastRGB().
unsigned int prevY = 0 |
Definition at line 111 of file filters.cpp.
Referenced by FormattedTextSubtitle608::Layout(), zoom_filter_mmx(), zoom_filter_xmmx(), and zoomFilterFastRGB().
|
static |
Definition at line 113 of file filters.cpp.
Referenced by calculatePXandPY(), and zoomFilterFastRGB().
|
static |
Definition at line 114 of file filters.cpp.
Referenced by calculatePXandPY(), and zoomFilterFastRGB().
|
static |
Definition at line 115 of file filters.cpp.
Referenced by calculatePXandPY(), and zoomFilterFastRGB().
Definition at line 116 of file filters.cpp.
Referenced by calculatePXandPY(), and zoomFilterFastRGB().
Definition at line 117 of file filters.cpp.
Referenced by calculatePXandPY(), and zoomFilterFastRGB().
|
static |
Definition at line 118 of file filters.cpp.
Referenced by calculatePXandPY(), and zoomFilterFastRGB().
|
static |
Definition at line 119 of file filters.cpp.
Referenced by calculatePXandPY(), and zoomFilterFastRGB().
|
static |
Definition at line 120 of file filters.cpp.
Referenced by calculatePXandPY(), and zoomFilterFastRGB().
|
static |
Definition at line 121 of file filters.cpp.
Referenced by calculatePXandPY(), and zoomFilterFastRGB().
|
static |
Definition at line 121 of file filters.cpp.
Referenced by calculatePXandPY(), and zoomFilterFastRGB().
int buffratio = 0 |
modif by jeko : fixedpoint : buffration = (16:16) (donc 0<=buffration<=2^16)
Definition at line 127 of file filters.cpp.
Referenced by c_zoom(), zoom_filter_mmx(), zoom_filter_xmmx(), and zoomFilterFastRGB().
|
staticconstexpr |
Definition at line 129 of file filters.cpp.
Referenced by c_zoom(), and zoomFilterFastRGB().
|
staticconstexpr |
Definition at line 130 of file filters.cpp.
Referenced by zoomFilterFastRGB().
|
staticconstexpr |
Definition at line 133 of file filters.cpp.
Referenced by generatePrecalCoef(), and zoomFilterFastRGB().
|
staticconstexpr |
Definition at line 135 of file filters.cpp.
Referenced by c_zoom().
|
staticconstexpr |
Definition at line 137 of file filters.cpp.
Referenced by c_zoom().
|
static |
Definition at line 139 of file filters.cpp.
Referenced by calculatePXandPY(), and zoomFilterFastRGB().
GoomCoefficients precalCoef = {} |
modif d'optim by Jeko : precalcul des 4 coefs résultant des 2 pos
Definition at line 146 of file filters.cpp.
Referenced by c_zoom(), generatePrecalCoef(), zoom_filter_mmx(), zoom_filter_xmmx(), and zoomFilterFastRGB().
|
static |
Definition at line 474 of file filters.cpp.
Referenced by getAsmUse(), and setAsmUse().