MythTV
master
|
#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 30 of file filters.cpp.
#define USE_ASM |
Definition at line 30 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 402 of file filters.cpp.
Referenced by zoomFilterFastRGB().
|
static |
Definition at line 49 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 142 of file filters.cpp.
Referenced by calculatePXandPY().
void generatePrecalCoef | ( | void | ) |
Definition at line 156 of file filters.cpp.
Referenced by zoomFilterFastRGB().
void calculatePXandPY | ( | int | x, |
int | y, | ||
int * | px, | ||
int * | py | ||
) |
Definition at line 202 of file filters.cpp.
Referenced by zoomFilterFastRGB().
Definition at line 326 of file filters.cpp.
Referenced by pointFilter().
Definition at line 342 of file filters.cpp.
Referenced by c_zoom().
Definition at line 357 of file filters.cpp.
Definition at line 375 of file filters.cpp.
Referenced by c_zoom().
void setAsmUse | ( | int | useIt | ) |
Definition at line 479 of file filters.cpp.
int getAsmUse | ( | void | ) |
Definition at line 485 of file filters.cpp.
void zoomFilterFastRGB | ( | Uint * | pix1, |
Uint * | pix2, | ||
ZoomFilterData * | zf, | ||
Uint | resx, | ||
Uint | resy, | ||
int | switchIncr, | ||
float | switchMult | ||
) |
Definition at line 493 of file filters.cpp.
Referenced by goom_update().
Definition at line 725 of file filters.cpp.
Referenced by goom_update().
|
staticconstexpr |
Definition at line 33 of file filters.cpp.
Referenced by calculatePXandPY().
|
staticconstexpr |
Definition at line 34 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 46 of file filters.cpp.
Referenced by select_zoom_filter(), and zoomFilterFastRGB().
|
static |
Definition at line 47 of file filters.cpp.
Referenced by select_zoom_filter(), and zoomFilterFastRGB().
guint32 mmx_zoom_size |
Definition at line 80 of file filters.cpp.
Referenced by zoomFilterFastRGB().
unsigned int useAltivec |
unsigned int* coeffs = nullptr |
Definition at line 97 of file filters.cpp.
Referenced by zoom_filter_mmx().
unsigned int * freecoeffs = nullptr |
Definition at line 97 of file filters.cpp.
signed int* brutS = nullptr |
Definition at line 99 of file filters.cpp.
Referenced by zoom_filter_mmx(), zoom_filter_xmmx(), and zoomFilterFastRGB().
signed int * freebrutS = nullptr |
Definition at line 99 of file filters.cpp.
Referenced by zoomFilterFastRGB().
signed int* brutD = nullptr |
Definition at line 100 of file filters.cpp.
Referenced by zoom_filter_mmx(), zoom_filter_xmmx(), and zoomFilterFastRGB().
signed int * freebrutD = nullptr |
Definition at line 100 of file filters.cpp.
Referenced by zoomFilterFastRGB().
signed int* brutT = nullptr |
Definition at line 101 of file filters.cpp.
Referenced by zoomFilterFastRGB().
signed int * freebrutT = nullptr |
Definition at line 101 of file filters.cpp.
Referenced by zoomFilterFastRGB().
guint32* expix1 = nullptr |
Definition at line 104 of file filters.cpp.
Referenced by zoom_filter_mmx(), zoom_filter_xmmx(), and zoomFilterFastRGB().
guint32* expix2 = nullptr |
Definition at line 105 of file filters.cpp.
Referenced by zoom_filter_mmx(), zoom_filter_xmmx(), and zoomFilterFastRGB().
guint32 zoom_width |
Definition at line 108 of file filters.cpp.
Referenced by zoomFilterFastRGB().
unsigned int prevX = 0 |
Definition at line 110 of file filters.cpp.
Referenced by zoom_filter_mmx(), zoom_filter_xmmx(), and zoomFilterFastRGB().
unsigned int prevY = 0 |
Definition at line 110 of file filters.cpp.
Referenced by FormattedTextSubtitle608::Layout(), zoom_filter_mmx(), zoom_filter_xmmx(), and zoomFilterFastRGB().
|
static |
Definition at line 112 of file filters.cpp.
Referenced by calculatePXandPY(), 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().
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().
|
static |
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 120 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 126 of file filters.cpp.
Referenced by c_zoom(), zoom_filter_mmx(), zoom_filter_xmmx(), and zoomFilterFastRGB().
|
staticconstexpr |
Definition at line 128 of file filters.cpp.
Referenced by c_zoom(), and zoomFilterFastRGB().
|
staticconstexpr |
Definition at line 129 of file filters.cpp.
Referenced by zoomFilterFastRGB().
|
staticconstexpr |
Definition at line 132 of file filters.cpp.
Referenced by generatePrecalCoef(), and zoomFilterFastRGB().
|
staticconstexpr |
Definition at line 134 of file filters.cpp.
Referenced by c_zoom().
|
staticconstexpr |
Definition at line 136 of file filters.cpp.
Referenced by c_zoom().
|
static |
Definition at line 138 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 145 of file filters.cpp.
Referenced by c_zoom(), generatePrecalCoef(), zoom_filter_mmx(), zoom_filter_xmmx(), and zoomFilterFastRGB().
|
static |
Definition at line 477 of file filters.cpp.
Referenced by getAsmUse(), and setAsmUse().