gstreamer/gst/goom/goom_core.h
Jan Schmidt 07c1dceae0 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

43 lines
1.2 KiB
C

#ifndef _GOOMCORE_H
#define _GOOMCORE_H
#include <glib.h>
typedef struct ZoomFilterData ZoomFilterData;
typedef struct
{
/**-----------------------------------------------------**
** SHARED DATA **
**-----------------------------------------------------**/
guint32 *pixel;
guint32 *back;
guint32 *p1, *p2;
guint32 cycle;
guint32 resolx, resoly, buffsize;
int lockvar; /* pour empecher de nouveaux changements */
int goomvar; /* boucle des gooms */
int totalgoom; /* nombre de gooms par seconds */
int agoom; /* un goom a eu lieu.. */
int loopvar; /* mouvement des points */
int speedvar; /* vitesse des particules */
int lineMode; /* l'effet lineaire a dessiner */
char goomlimit; /* sensibilité du goom */
ZoomFilterData *zfd;
/* Random table */
gint *rand_tab;
guint rand_pos;
} GoomData;
void goom_init (GoomData *goomdata, guint32 resx, guint32 resy);
void goom_set_resolution (GoomData *goomdata, guint32 resx, guint32 resy);
guint32 *goom_update (GoomData *goomdata, gint16 data [2][512]);
void goom_close (GoomData *goomdata);
#endif