matroskademux: configurable timestamp gap handling
[platform/upstream/gstreamer.git] / gst / goom2k1 / goom_core.h
1 #ifndef _GOOMCORE_H
2 #define _GOOMCORE_H
3
4 #include <glib.h>
5
6 typedef struct ZoomFilterData ZoomFilterData;
7
8 typedef struct
9 {
10 /**-----------------------------------------------------**
11  **  SHARED DATA                                        **
12  **-----------------------------------------------------**/
13   guint32 *pixel;
14   guint32 *back;
15   guint32 *p1, *p2;
16   guint32 cycle;
17
18   guint32 resolx, resoly, buffsize;
19
20   int lockvar;       /* pour empecher de nouveaux changements */
21   int goomvar;       /* boucle des gooms */
22   int totalgoom;     /* nombre de gooms par seconds */
23   int agoom;         /* un goom a eu lieu..       */
24   int loopvar;       /* mouvement des points */
25   int speedvar;      /* vitesse des particules */
26   int lineMode;      /* l'effet lineaire a dessiner */
27   char goomlimit;    /* sensibilité du goom */
28
29   ZoomFilterData *zfd;
30   
31   /* Random table */
32   gint  *rand_tab;
33   guint  rand_pos;
34 } GoomData;
35
36 void goom_init (GoomData *goomdata, guint32 resx, guint32 resy);
37 void goom_set_resolution (GoomData *goomdata, guint32 resx, guint32 resy);
38
39 guint32 *goom_update (GoomData *goomdata, gint16 data [2][512]);
40
41 void goom_close (GoomData *goomdata);
42
43 #endif