gstreamer/gst/goom/filters.h
Wim Taymans 4d3b1472e7 Added a goom plugin (goom.sourceforge.net) to test: ./gst-launch filesrc location=/opt/data/south.mp3 ! mad ! tee sil...
Original commit message from CVS:
Added a goom plugin (goom.sourceforge.net)

to test:
./gst-launch filesrc location=/opt/data/south.mp3 ! mad ! tee silent=true src%d! goom ! colorspace ! xvideosink  tee0.src%d! osssink
2002-02-01 19:28:30 +00:00

71 lines
1.4 KiB
C

#ifndef FILTERS_H
#define FILTERS_H
#include <glib.h>
#include "graphic.h"
typedef struct
{
int vitesse ;
unsigned char pertedec ;
unsigned char sqrtperte ;
int middleX,middleY ;
char reverse ;
char mode ;
/** @since June 2001 */
int hPlaneEffect ;
int vPlaneEffect ;
char noisify ;
} ZoomFilterData ;
#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
void pointFilter(guint32 *pix1, Color c,
float t1, float t2, float t3, float t4,
guint32 cycle);
/* filtre de zoom :
le contenu de pix1 est copie dans pix2, avec l'effet appliqué
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);
*/
void zoomFilterFastRGB (guint32 *pix1,
guint32 *pix2,
ZoomFilterData *zf,
guint32 resx, guint32 resy);
/* filtre sin :
le contenu de pix1 est copie dans pix2, avec l'effet appliqué
cycle est la variable de temps.
mode vaut SIN_MUL ou SIN_ADD
rate est le pourcentage de l'effet appliqué
lenght : la longueur d'onde (1..10) [5]
speed : la vitesse (1..100) [10]
*/
/*
void sinFilter(Uint *pix1,Uint *pix2,
Uint cycle,
Uint mode,
Uint rate,
char lenght,
Uint speed);
*/
#define SIN_MUL 1
#define SIN_ADD 2
#endif