2002-02-01 19:28:30 +00:00
|
|
|
|
#ifndef FILTERS_H
|
|
|
|
|
#define FILTERS_H
|
|
|
|
|
|
|
|
|
|
#include <glib.h>
|
|
|
|
|
|
|
|
|
|
#include "graphic.h"
|
gst/goom/: Make goom reentrant by moving all important static variables into instance structures.
Original commit message from CVS:
* gst/goom/filters.c: (zoomFilterNew), (calculatePXandPY),
(setPixelRGB), (setPixelRGB_), (getPixelRGB), (getPixelRGB_),
(zoomFilterSetResolution), (zoomFilterDestroy),
(zoomFilterFastRGB), (pointFilter):
* gst/goom/filters.h:
* gst/goom/goom_core.c: (goom_init), (goom_set_resolution),
(goom_update), (goom_close):
* gst/goom/goom_core.h:
* gst/goom/goom_tools.h:
* gst/goom/graphic.c:
* gst/goom/gstgoom.c: (gst_goom_class_init), (gst_goom_init),
(gst_goom_dispose), (gst_goom_src_setcaps), (gst_goom_chain):
* gst/goom/gstgoom.h:
* gst/goom/lines.c: (goom_lines):
* gst/goom/lines.h:
Make goom reentrant by moving all important static variables
into instance structures.
(Fixes #329181)
2006-02-05 20:43:49 +00:00
|
|
|
|
#include "goom_core.h"
|
2002-02-01 19:28:30 +00:00
|
|
|
|
|
|
|
|
|
#define NORMAL_MODE 0
|
|
|
|
|
#define WAVE_MODE 1
|
|
|
|
|
#define CRYSTAL_BALL_MODE 2
|
|
|
|
|
#define SCRUNCH_MODE 3
|
|
|
|
|
#define AMULETTE_MODE 4
|
|
|
|
|
#define WATER_MODE 5
|
|
|
|
|
|
gst/goom/: Make goom reentrant by moving all important static variables into instance structures.
Original commit message from CVS:
* gst/goom/filters.c: (zoomFilterNew), (calculatePXandPY),
(setPixelRGB), (setPixelRGB_), (getPixelRGB), (getPixelRGB_),
(zoomFilterSetResolution), (zoomFilterDestroy),
(zoomFilterFastRGB), (pointFilter):
* gst/goom/filters.h:
* gst/goom/goom_core.c: (goom_init), (goom_set_resolution),
(goom_update), (goom_close):
* gst/goom/goom_core.h:
* gst/goom/goom_tools.h:
* gst/goom/graphic.c:
* gst/goom/gstgoom.c: (gst_goom_class_init), (gst_goom_init),
(gst_goom_dispose), (gst_goom_src_setcaps), (gst_goom_chain):
* gst/goom/gstgoom.h:
* gst/goom/lines.c: (goom_lines):
* gst/goom/lines.h:
Make goom reentrant by moving all important static variables
into instance structures.
(Fixes #329181)
2006-02-05 20:43:49 +00:00
|
|
|
|
struct ZoomFilterData
|
|
|
|
|
{
|
|
|
|
|
int vitesse;
|
|
|
|
|
unsigned char pertedec;
|
|
|
|
|
unsigned char sqrtperte;
|
|
|
|
|
int middleX;
|
|
|
|
|
int middleY;
|
|
|
|
|
char reverse;
|
|
|
|
|
char mode;
|
|
|
|
|
/** @since June 2001 */
|
|
|
|
|
int hPlaneEffect;
|
|
|
|
|
int vPlaneEffect;
|
|
|
|
|
char noisify;
|
|
|
|
|
|
|
|
|
|
guint32 res_x;
|
|
|
|
|
guint32 res_y;
|
|
|
|
|
guint32 buffsize;
|
|
|
|
|
|
|
|
|
|
guint32 *buffer;
|
|
|
|
|
guint32 *pos10;
|
|
|
|
|
guint32 *c[4];
|
|
|
|
|
int *firedec;
|
|
|
|
|
|
|
|
|
|
int wave;
|
|
|
|
|
int wavesp;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
void pointFilter(GoomData *goomdata, Color c,
|
2005-12-06 19:44:58 +00:00
|
|
|
|
float t1, float t2, float t3, float t4,
|
|
|
|
|
guint32 cycle);
|
2002-02-01 19:28:30 +00:00
|
|
|
|
|
|
|
|
|
/* filtre de zoom :
|
|
|
|
|
le contenu de pix1 est copie dans pix2, avec l'effet appliqu<EFBFBD>
|
|
|
|
|
midx et midy represente le centre du zoom
|
|
|
|
|
|
|
|
|
|
void zoomFilter(Uint *pix1, Uint *pix2, Uint middleX, Uint middleY);
|
|
|
|
|
void zoomFilterRGB(Uint *pix1,
|
|
|
|
|
Uint *pix2,
|
|
|
|
|
Uint middleX,
|
|
|
|
|
Uint middleY);
|
|
|
|
|
*/
|
|
|
|
|
|
2010-03-17 17:23:00 +00:00
|
|
|
|
ZoomFilterData *zoomFilterNew (void);
|
gst/goom/: Make goom reentrant by moving all important static variables into instance structures.
Original commit message from CVS:
* gst/goom/filters.c: (zoomFilterNew), (calculatePXandPY),
(setPixelRGB), (setPixelRGB_), (getPixelRGB), (getPixelRGB_),
(zoomFilterSetResolution), (zoomFilterDestroy),
(zoomFilterFastRGB), (pointFilter):
* gst/goom/filters.h:
* gst/goom/goom_core.c: (goom_init), (goom_set_resolution),
(goom_update), (goom_close):
* gst/goom/goom_core.h:
* gst/goom/goom_tools.h:
* gst/goom/graphic.c:
* gst/goom/gstgoom.c: (gst_goom_class_init), (gst_goom_init),
(gst_goom_dispose), (gst_goom_src_setcaps), (gst_goom_chain):
* gst/goom/gstgoom.h:
* gst/goom/lines.c: (goom_lines):
* gst/goom/lines.h:
Make goom reentrant by moving all important static variables
into instance structures.
(Fixes #329181)
2006-02-05 20:43:49 +00:00
|
|
|
|
void zoomFilterDestroy (ZoomFilterData *zf);
|
|
|
|
|
void zoomFilterFastRGB (GoomData *goomdata, ZoomFilterData *zf,
|
|
|
|
|
int zfd_update);
|
2002-02-01 19:28:30 +00:00
|
|
|
|
|
|
|
|
|
/* filtre sin :
|
|
|
|
|
le contenu de pix1 est copie dans pix2, avec l'effet appliqu<EFBFBD>
|
|
|
|
|
cycle est la variable de temps.
|
|
|
|
|
mode vaut SIN_MUL ou SIN_ADD
|
|
|
|
|
rate est le pourcentage de l'effet appliqu<EFBFBD>
|
|
|
|
|
lenght : la longueur d'onde (1..10) [5]
|
|
|
|
|
speed : la vitesse (1..100) [10]
|
|
|
|
|
*/
|
|
|
|
|
/*
|
|
|
|
|
void sinFilter(Uint *pix1,Uint *pix2,
|
2005-12-06 19:44:58 +00:00
|
|
|
|
Uint cycle,
|
|
|
|
|
Uint mode,
|
|
|
|
|
Uint rate,
|
|
|
|
|
char lenght,
|
|
|
|
|
Uint speed);
|
2002-02-01 19:28:30 +00:00
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
#define SIN_MUL 1
|
|
|
|
|
#define SIN_ADD 2
|
|
|
|
|
|
|
|
|
|
#endif
|