From 16c7b30edd8963d002b38c27648beb40176b9db1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tim-Philipp=20M=C3=BCller?= Date: Wed, 11 Oct 2006 20:33:48 +0000 Subject: Port simple deinterlacer from 0.8. Use at your own risk, don't blame me for anything it does or does not do to your p... Original commit message from CVS: * configure.ac: * gst/deinterlace/Makefile.am: * gst/deinterlace/gstdeinterlace.c: (gst_deinterlace_base_init), (gst_deinterlace_class_init), (gst_deinterlace_init), (gst_deinterlace_stop), (gst_deinterlace_transform_caps), (gst_deinterlace_set_caps), (gst_deinterlace_transform_ip), (gst_deinterlace_set_property), (gst_deinterlace_get_property): * gst/deinterlace/gstdeinterlace.h: Port simple deinterlacer from 0.8. Use at your own risk, don't blame me for anything it does or does not do to your precious pictures. --- gst/deinterlace/gstdeinterlace.h | 60 +++++++++++++++++----------------------- 1 file changed, 26 insertions(+), 34 deletions(-) (limited to 'gst/deinterlace/gstdeinterlace.h') diff --git a/gst/deinterlace/gstdeinterlace.h b/gst/deinterlace/gstdeinterlace.h index fc269af9..20d63bfa 100644 --- a/gst/deinterlace/gstdeinterlace.h +++ b/gst/deinterlace/gstdeinterlace.h @@ -1,5 +1,6 @@ -/* GStreamer - * Copyright (C) <1999> Erik Walthinsen +/* GStreamer simple deinterlacing plugin + * Copyright (C) 1999 Erik Walthinsen + * Copyright (C) 2006 Tim-Philipp Müller * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public @@ -17,54 +18,45 @@ * Boston, MA 02111-1307, USA. */ - #ifndef __GST_DEINTERLACE_H__ #define __GST_DEINTERLACE_H__ - #include -/* #include */ +#include G_BEGIN_DECLS -#define GST_TYPE_DEINTERLACE \ - (gst_deinterlace_get_type()) -#define GST_DEINTERLACE(obj) \ - (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_DEINTERLACE,GstDeInterlace)) -#define GST_DEINTERLACE_CLASS(klass) \ - (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_DEINTERLACE,GstDeInterlaceClass)) -#define GST_DEINTERLACE_GET_CLASS(obj) \ - (G_TYPE_INSTANCE_GET_CLASS((obj),GST_TYPE_DEINTERLACE,GstDeInterlaceClass)) -#define GST_IS_DEINTERLACE(obj) \ - (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_DEINTERLACE)) -#define GST_IS_DEINTERLACE_CLASS(klass) \ - (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_DEINTERLACE)) - -typedef struct _GstDeInterlace GstDeInterlace; -typedef struct _GstDeInterlaceClass GstDeInterlaceClass; +#define GST_TYPE_DEINTERLACE (gst_deinterlace_get_type()) +#define GST_DEINTERLACE(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_DEINTERLACE,GstDeinterlace)) +#define GST_DEINTERLACE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_DEINTERLACE,GstDeinterlaceClass)) +#define GST_IS_DEINTERLACE(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_DEINTERLACE)) +#define GST_IS_DEINTERLACE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_DEINTERLACE)) -struct _GstDeInterlace { - GstElement element; +typedef struct _GstDeinterlace GstDeinterlace; +typedef struct _GstDeinterlaceClass GstDeinterlaceClass; - GstPad *sinkpad, *srcpad; +struct _GstDeinterlace { + GstBaseTransform basetransform; - gint width, height; + gint width; + gint height; - gboolean show_deinterlaced_area_only; - gboolean blend; - gint threshold_blend; /* here we start blending */ - gint threshold; /* here we start interpolating TODO FIXME */ - gint edge_detect; - - gint picsize; - guchar *src; + gboolean show_deinterlaced_area_only; + gboolean blend; + gint threshold_blend; /* here we start blending */ + gint threshold; /* here we start interpolating TODO FIXME */ + gint edge_detect; + gint picsize; + guchar *src; }; -struct _GstDeInterlaceClass { - GstElementClass parent_class; +struct _GstDeinterlaceClass { + GstBaseTransformClass basetransformclass; }; +GType gst_deinterlace_get_type (void); + G_END_DECLS #endif /* __GST_DEINTERLACE_H__ */ -- cgit v1.2.1