MythTV
master
mythtv
libs
libmythtv
visualisations
goom
filters.h
Go to the documentation of this file.
1
#ifndef FILTERS_H
2
#define FILTERS_H
3
4
#include <cmath>
5
#include <cstdint>
6
7
#include "
graphic.h
"
8
9
struct
ZoomFilterData
10
{
11
int
vitesse
;
/* 128 = vitesse nule... * * 256 = en arriere
12
* hyper vite.. * * 0 = en avant hype vite. */
13
unsigned
char
pertedec
;
14
unsigned
char
sqrtperte
;
15
int
middleX
,
middleY
;
/* milieu de l'effet */
16
bool
reverse
;
/* inverse la vitesse */
17
char
mode
;
/* type d'effet à appliquer (cf les #define) */
19
int
hPlaneEffect
;
/* deviation horitontale */
20
int
vPlaneEffect
;
/* deviation verticale */
22
bool
waveEffect
;
/* applique une "surcouche" de wave effect */
23
bool
hypercosEffect
;
/* applique une "surcouche de hypercos effect */
24
25
char
noisify
;
/* ajoute un bruit a la transformation */
26
};
27
28
enum
FILTER_MODE
: uint8_t {
29
NORMAL_MODE
= 0,
30
WAVE_MODE
= 1,
31
CRYSTAL_BALL_MODE
= 2,
32
SCRUNCH_MODE
= 3,
33
AMULETTE_MODE
= 4,
34
WATER_MODE
= 5,
35
HYPERCOS1_MODE
= 6,
36
HYPERCOS2_MODE
= 7,
37
YONLY_MODE
= 8,
38
SPEEDWAY_MODE
= 9,
39
};
40
41
void
pointFilter
(uint32_t * pix1,
Color
c,
float
t1,
float
t2,
float
t3,
float
t4, uint32_t
cycle
);
42
43
/* filtre de zoom :
44
* le contenu de pix1 est copie dans pix2.
45
* zf : si non NULL, configure l'effet.
46
* resx,resy : taille des buffers.
47
*/
48
49
void
zoomFilterFastRGB
(uint32_t * pix1, uint32_t * pix2,
ZoomFilterData
* zf, uint32_t resx, uint32_t resy,
int
switchIncr,
float
switchMult);
50
51
#endif
FILTER_MODE
FILTER_MODE
Definition:
filters.h:28
SCRUNCH_MODE
@ SCRUNCH_MODE
Definition:
filters.h:32
CRYSTAL_BALL_MODE
@ CRYSTAL_BALL_MODE
Definition:
filters.h:31
AMULETTE_MODE
@ AMULETTE_MODE
Definition:
filters.h:33
WAVE_MODE
@ WAVE_MODE
Definition:
filters.h:30
HYPERCOS1_MODE
@ HYPERCOS1_MODE
Definition:
filters.h:35
HYPERCOS2_MODE
@ HYPERCOS2_MODE
Definition:
filters.h:36
NORMAL_MODE
@ NORMAL_MODE
Definition:
filters.h:29
SPEEDWAY_MODE
@ SPEEDWAY_MODE
Definition:
filters.h:38
WATER_MODE
@ WATER_MODE
Definition:
filters.h:34
YONLY_MODE
@ YONLY_MODE
Definition:
filters.h:37
zoomFilterFastRGB
void zoomFilterFastRGB(uint32_t *pix1, uint32_t *pix2, ZoomFilterData *zf, uint32_t resx, uint32_t resy, int switchIncr, float switchMult)
pointFilter
void pointFilter(uint32_t *pix1, Color c, float t1, float t2, float t3, float t4, uint32_t cycle)
cycle
static uint32_t cycle
Definition:
goom_core.cpp:29
graphic.h
Color
Definition:
graphic.h:5
ZoomFilterData
Definition:
filters.h:10
ZoomFilterData::vitesse
int vitesse
Definition:
filters.h:11
ZoomFilterData::hypercosEffect
bool hypercosEffect
Definition:
filters.h:23
ZoomFilterData::pertedec
unsigned char pertedec
Definition:
filters.h:13
ZoomFilterData::waveEffect
bool waveEffect
Definition:
filters.h:22
ZoomFilterData::middleX
int middleX
Definition:
filters.h:15
ZoomFilterData::vPlaneEffect
int vPlaneEffect
Definition:
filters.h:20
ZoomFilterData::mode
char mode
Definition:
filters.h:17
ZoomFilterData::noisify
char noisify
Definition:
filters.h:25
ZoomFilterData::middleY
int middleY
Definition:
filters.h:15
ZoomFilterData::reverse
bool reverse
Definition:
filters.h:16
ZoomFilterData::hPlaneEffect
int hPlaneEffect
Definition:
filters.h:19
ZoomFilterData::sqrtperte
unsigned char sqrtperte
Definition:
filters.h:14
Generated on Thu Sep 10 2026 03:22:16 for MythTV by
1.9.4