VideoFilter inherits from
[platform/upstream/gstreamer.git] / gst / videofilter / gstvideofilter.h
index 2c10a21..a2f9ef0 100644 (file)
 #ifndef __GST_VIDEOFILTER_H__
 #define __GST_VIDEOFILTER_H__
 
+#include <gst/base/gstbasetransform.h>
 
-#include <gst/gst.h>
+G_BEGIN_DECLS
 
-
-G_BEGIN_DECLS typedef struct _GstVideofilter GstVideofilter;
+typedef struct _GstVideofilter GstVideofilter;
 typedef struct _GstVideofilterClass GstVideofilterClass;
 
-typedef void (*GstVideofilterFilterFunc) (GstVideofilter * filter,
-    void *out_data, void *in_data);
-
-typedef void (*GstVideofilterSetupFunc) (GstVideofilter * filter);
-
-typedef struct _GstVideofilterFormat GstVideofilterFormat;
-struct _GstVideofilterFormat
-{
-  char *fourcc;
-  int bpp;
-  GstVideofilterFilterFunc filter_func;
-  int depth;
-  unsigned int endianness;
-  unsigned int red_mask;
-  unsigned int green_mask;
-  unsigned int blue_mask;
-};
-
 #define GST_TYPE_VIDEOFILTER \
   (gst_videofilter_get_type())
 #define GST_VIDEOFILTER(obj) \
@@ -57,53 +39,18 @@ struct _GstVideofilterFormat
 #define GST_IS_VIDEOFILTER_CLASS(obj) \
   (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_VIDEOFILTER))
 
-struct _GstVideofilter
-{
-  GstElement element;
-
-  GstPad *sinkpad, *srcpad;
+struct _GstVideofilter {
+  GstBaseTransform element;
 
-  /* video state */
   gboolean inited;
-  GstVideofilterFormat *format;
-  gint to_width;
-  gint to_height;
-  gint from_width;
-  gint from_height;
-  gboolean passthru;
-
-  /* private */
-  gint from_buf_size;
-  gint to_buf_size;
-  gdouble framerate;
-
-  GstBuffer *in_buf;
-  GstBuffer *out_buf;
 };
 
-struct _GstVideofilterClass
-{
-  GstElementClass parent_class;
-
-  GPtrArray *formats;
-  GstVideofilterSetupFunc setup;
+struct _GstVideofilterClass {
+  GstBaseTransformClass parent_class;
 };
 
-GType gst_videofilter_get_type (void);
-
-int gst_videofilter_get_input_width (GstVideofilter * videofilter);
-int gst_videofilter_get_input_height (GstVideofilter * videofilter);
-void gst_videofilter_set_output_size (GstVideofilter * videofilter,
-    int width, int height);
-GstVideofilterFormat *gst_videofilter_find_format_by_structure (GstVideofilter *
-    filter, const GstStructure * structure);
-GstCaps *gst_videofilter_class_get_capslist (GstVideofilterClass *
-    videofilterclass);
-
-void gst_videofilter_class_add_format (GstVideofilterClass * videofilterclass,
-    GstVideofilterFormat * format);
-void gst_videofilter_class_add_pad_templates (GstVideofilterClass *
-    videofilterclass);
+GType gst_videofilter_get_type(void);
 
 G_END_DECLS
+
 #endif /* __GST_VIDEOFILTER_H__ */