deinterlace2: Add documentation and integrate into the build system

This commit is contained in:
Sebastian Dröge 2009-04-22 19:43:22 +02:00
parent e3664d57ad
commit 4efa891f6f
5 changed files with 127 additions and 0 deletions

View file

@ -121,6 +121,7 @@ EXTRA_HFILES = \
$(top_srcdir)/gst/autoconvert/gstautoconvert.h \
$(top_srcdir)/gst/camerabin/gstcamerabin.h \
$(top_srcdir)/gst/deinterlace/gstdeinterlace.h \
$(top_srcdir)/gst/deinterlace2/gstdeinterlace2.h \
$(top_srcdir)/gst/dccp/gstdccpclientsink.h \
$(top_srcdir)/gst/dccp/gstdccpclientsrc.h \
$(top_srcdir)/gst/dccp/gstdccpserversink.h \

View file

@ -33,6 +33,7 @@
<xi:include href="xml/element-dccpserversink.xml" />
<xi:include href="xml/element-dccpserversrc.xml" />
<xi:include href="xml/element-deinterlace.xml" />
<xi:include href="xml/element-deinterlace2.xml" />
<xi:include href="xml/element-dfbvideosink.xml" />
<xi:include href="xml/element-dtmfsrc.xml" />
<xi:include href="xml/element-dtsdec.xml" />
@ -101,6 +102,7 @@
<xi:include href="xml/plugin-cdxaparse.xml" />
<xi:include href="xml/plugin-celt.xml" />
<xi:include href="xml/plugin-dccp.xml" />
<xi:include href="xml/plugin-deinterlace2.xml" />
<xi:include href="xml/plugin-dfbvideosink.xml" />
<xi:include href="xml/plugin-dirac.xml" />
<xi:include href="xml/plugin-dtmf.xml" />

View file

@ -223,6 +223,20 @@ GST_TYPE_DEINTERLACE
gst_deinterlace_get_type
</SECTION>
<SECTION>
<FILE>element-deinterlace2</FILE>
<TITLE>deinterlace2</TITLE>
GstDeinterlace2
<SUBSECTION Standard>
GstDeinterlace2Class
GST_IS_DEINTERLACE2
GST_IS_DEINTERLACE2_CLASS
GST_DEINTERLACE2
GST_DEINTERLACE2_CLASS
GST_TYPE_DEINTERLACE2
gst_deinterlace2_get_type
</SECTION>
<SECTION>
<FILE>element-dfbvideosink</FILE>
<TITLE>dfbvideosink</TITLE>

View file

@ -19,6 +19,20 @@
* Boston, MA 02111-1307, USA.
*/
/**
* SECTION:element-deinterlace2
*
* deinterlace2 deinterlaces interlaced video frames to progressive video frames.
* For this different algorithms can be selected which will be described later.
*
* <refsect2>
* <title>Example launch line</title>
* |[
* gst-launch -v filesrc location=/path/to/file ! decodebin2 ! ffmpegcolorspace ! deinterlace2 ! ffmpegcolorspace ! autovideosink
* ]| This pipeline deinterlaces a video file with the default deinterlacing options.
* </refsect2>
*/
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
@ -482,6 +496,14 @@ gst_deinterlace2_class_init (GstDeinterlace2Class * klass)
gobject_class->get_property = gst_deinterlace2_get_property;
gobject_class->finalize = gst_deinterlace2_finalize;
/**
* GstDeinterlace2:mode
*
* This selects whether the deinterlacing methods should
* always be applied or if they should only be applied
* on content that has the "interlaced" flag on the caps.
*
*/
g_object_class_install_property (gobject_class, PROP_MODE,
g_param_spec_enum ("mode",
"Mode",
@ -490,6 +512,79 @@ gst_deinterlace2_class_init (GstDeinterlace2Class * klass)
DEFAULT_MODE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)
);
/**
* GstDeinterlace2:method
*
* Selects the different deinterlacing algorithms that can be used.
* These provide different quality and CPU usage.
*
* Some methods provide parameters which can be set by getting
* the "method" child via the #GstChildProxy interface and
* setting the appropiate properties on it.
*
* <itemizedlist>
* <listitem>
* <para>
* tomsmocomp
* Motion Adaptive: Motion Search
* </para>
* </listitem>
* <listitem>
* <para>
* greedyh
* Motion Adaptive: Advanced Detection
* </para>
* </listitem>
* <listitem>
* <para>
* greedyl
* Motion Adaptive: Simple Detection
* </para>
* </listitem>
* <listitem>
* <para>
* vfir
* Blur vertical
* </para>
* </listitem>
* <listitem>
* <para>
* linear
* Linear interpolation
* </para>
* </listitem>
* <listitem>
* <para>
* linearblend
* Linear interpolation in time domain
* </para>
* </listitem>
* <listitem>
* <para>
* scalerbob
* Double lines
* </para>
* </listitem>
* <listitem>
* <para>
* weave
* Weave
* </para>
* </listitem>
* <listitem>
* <para>
* weavetff
* Progressive: Top Field First
* </para>
* </listitem>
* <listitem>
* <para>
* weavebff
* Progressive: Bottom Field First
* </para>
* </listitem>
* </itemizedlist>
*/
g_object_class_install_property (gobject_class, PROP_METHOD,
g_param_spec_enum ("method",
"Method",
@ -498,6 +593,13 @@ gst_deinterlace2_class_init (GstDeinterlace2Class * klass)
DEFAULT_METHOD, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)
);
/**
* GstDeinterlace2:fields
*
* This selects which fields should be output. If "all" is selected
* the output framerate will be double.
*
*/
g_object_class_install_property (gobject_class, PROP_FIELDS,
g_param_spec_enum ("fields",
"fields",
@ -506,6 +608,12 @@ gst_deinterlace2_class_init (GstDeinterlace2Class * klass)
DEFAULT_FIELDS, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)
);
/**
* GstDeinterlace2:layout
*
* This selects which fields is the first in time.
*
*/
g_object_class_install_property (gobject_class, PROP_FIELD_LAYOUT,
g_param_spec_enum ("tff",
"tff",

View file

@ -198,6 +198,8 @@ struct _GstDeinterlace2
GstPad *srcpad, *sinkpad;
/* <private> */
GstDeinterlace2Mode mode;
GstDeinterlace2FieldLayout field_layout;