MythTV
master
|
#include <array>
#include <cinttypes>
#include <cmath>
#include <cstdio>
#include <cstdlib>
#include "filters.h"
#include "goom_tools.h"
#include "graphic.h"
#include "goom/zoom_filters.h"
#include "altivec.h"
Go to the source code of this file.
Macros | |
#define | USE_ASM |
#define | USE_ASM |
#define | EFFECT_DISTORS 4 |
#define | EFFECT_DISTORS_SL 2 |
#define | BUFFPOINTNB 16 |
#define | BUFFPOINTMASK 0xffff |
#define | BUFFINCR 0xff |
#define | sqrtperte 16 |
#define | PERTEMASK 0xf |
#define | PERTEDEC 4 |
#define | ShiftRight(_x, _s) (((_x)<0) ? -(-(_x)>>(_s)) : ((_x)>>(_s))) |
#define | INTERLACE_INCR 16 |
#define | INTERLACE_ADD 9 |
#define | INTERLACE_AND 0xf |
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) |
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 | |
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 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.
#define EFFECT_DISTORS 4 |
Definition at line 33 of file filters.cpp.
#define EFFECT_DISTORS_SL 2 |
Definition at line 34 of file filters.cpp.
#define BUFFPOINTNB 16 |
Definition at line 128 of file filters.cpp.
#define BUFFPOINTMASK 0xffff |
Definition at line 129 of file filters.cpp.
#define BUFFINCR 0xff |
Definition at line 130 of file filters.cpp.
#define sqrtperte 16 |
Definition at line 132 of file filters.cpp.
#define PERTEMASK 0xf |
Definition at line 134 of file filters.cpp.
#define PERTEDEC 4 |
Definition at line 136 of file filters.cpp.
#define ShiftRight | ( | _x, | |
_s | |||
) | (((_x)<0) ? -(-(_x)>>(_s)) : ((_x)>>(_s))) |
Definition at line 142 of file filters.cpp.
#define INTERLACE_INCR 16 |
#define INTERLACE_ADD 9 |
#define INTERLACE_AND 0xf |
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 404 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().
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 328 of file filters.cpp.
Referenced by pointFilter().
Definition at line 344 of file filters.cpp.
Referenced by c_zoom().
Definition at line 359 of file filters.cpp.
Definition at line 377 of file filters.cpp.
Referenced by c_zoom().
void setAsmUse | ( | int | useIt | ) |
Definition at line 481 of file filters.cpp.
int getAsmUse | ( | void | ) |
Definition at line 487 of file filters.cpp.
void zoomFilterFastRGB | ( | Uint * | pix1, |
Uint * | pix2, | ||
ZoomFilterData * | zf, | ||
Uint | resx, | ||
Uint | resy, | ||
int | switchIncr, | ||
float | switchMult | ||
) |
Definition at line 495 of file filters.cpp.
Referenced by goom_update().
Definition at line 730 of file filters.cpp.
Referenced by goom_update().
volatile guint32 resolx |
Definition at line 61 of file goom_core.cpp.
Referenced by getPixelRGB(), getPixelRGB_(), pointFilter(), setPixelRGB(), and setPixelRGB_().
volatile guint32 c_resoly |
Definition at line 61 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().
|
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 479 of file filters.cpp.
Referenced by getAsmUse(), and setAsmUse().