+// swfvideo.c
+
+typedef struct _VIDEOSTREAM
+{
+ int width;
+ int height;
+ int linex;
+
+ int owidth;
+ int oheight;
+ int olinex;
+
+ int frame;
+ YUV*oldpic;
+ YUV*current;
+ int bbx;
+ int bby;
+ int*mvdx;
+ int*mvdy;
+ int quant;
+
+ /* modifyable: */
+ int do_motion; //enable motion compensation (slow!)
+
+} VIDEOSTREAM;
+
+void swf_SetVideoStreamDefine(TAG*tag, VIDEOSTREAM*stream, U16 frames, U16 width, U16 height);
+void swf_SetVideoStreamIFrame(TAG*tag, VIDEOSTREAM*s, RGBA*pic, int quant/* 1-31, 1=best quality, 31=best compression*/);
+void swf_SetVideoStreamBlackFrame(TAG*tag, VIDEOSTREAM*s);
+void swf_SetVideoStreamPFrame(TAG*tag, VIDEOSTREAM*s, RGBA*pic, int quant/* 1-31, 1=best quality, 31=best compression*/);
+void swf_SetVideoStreamMover(TAG*tag, VIDEOSTREAM*s, signed char* movex, signed char* movey, void** image, int quant);
+void swf_VideoStreamClear(VIDEOSTREAM*stream);
+
+// swfrender.c
+
+typedef struct RENDERBUF
+{
+ int width;
+ int height;
+ int posx,posy;
+ void*internal;
+} RENDERBUF;
+
+void swf_Render_Init(RENDERBUF*buf, int posx, int posy, int width, int height, int antialize, int multiply);
+void swf_Render_SetBackground(RENDERBUF*buf, RGBA*img, int width, int height);
+void swf_Render_SetBackgroundColor(RENDERBUF*buf, RGBA color);
+RGBA* swf_Render(RENDERBUF*dest);
+void swf_RenderShape(RENDERBUF*dest, SHAPE2*shape, MATRIX*m, CXFORM*c, U16 depth,U16 clipdepth);
+void swf_RenderSWF(RENDERBUF*buf, SWF*swf);
+void swf_Render_AddImage(RENDERBUF*buf, U16 id, RGBA*img, int width, int height);
+void swf_Render_ClearCanvas(RENDERBUF*dest);
+void swf_Render_Delete(RENDERBUF*dest);
+
+// swffilter.c
+
+#define FILTERTYPE_DROPSHADOW 0
+#define FILTERTYPE_BLUR 1
+#define FILTERTYPE_GLOW 2
+#define FILTERTYPE_BEVEL 3
+#define FILTERTYPE_GRADIENTGLOW 4
+#define FILTERTYPE_CONVOLUTION 5
+#define FILTERTYPE_COLORMATRIX 6
+#define FILTERTYPE_GRADIENTBEVEL 7
+
+extern char*filtername[];
+
+typedef struct _FILTER_GRADIENTGLOW {
+ U8 type;
+ GRADIENT*gradient;
+ double blurx;
+ double blury;
+ double angle;
+ double distance;
+ float strength;
+ char innershadow;
+ char knockout;
+ char composite;
+ char ontop;
+ int passes;
+} FILTER_GRADIENTGLOW;
+
+typedef struct _FILTER_DROPSHADOW {
+ U8 type;
+ RGBA color;
+ double blurx;
+ double blury;
+ double angle;
+ double distance;
+ float strength;
+ char innershadow;
+ char knockout;
+ char composite;
+ int passes;
+} FILTER_DROPSHADOW;
+
+typedef struct _FILTER_BEVEL {
+ U8 type;
+ RGBA shadow;
+ RGBA highlight;
+ double blurx;
+ double blury;
+ double angle;
+ double distance;
+ float strength;
+ char innershadow;
+ char knockout;
+ char composite;
+ char ontop;
+ int passes;
+} FILTER_BEVEL;
+
+typedef struct _FILTER_BLUR {
+ U8 type;
+ double blurx;
+ double blury;
+ int passes;
+} FILTER_BLUR;
+
+void swf_SetFilter(TAG*tag, FILTER*f);
+FILTER*swf_GetFilter(TAG*tag);
+FILTER*swf_NewFilter(U8 type);
+
+#ifdef __cplusplus
+}
+#endif
+