diff options
-rw-r--r-- | ChangeLog | 12 | ||||
m--------- | common | 0 | ||||
-rw-r--r-- | docs/plugins/Makefile.am | 1 | ||||
-rw-r--r-- | docs/plugins/gst-plugins-good-plugins-docs.sgml | 1 | ||||
-rw-r--r-- | docs/plugins/gst-plugins-good-plugins-sections.txt | 14 | ||||
-rw-r--r-- | docs/plugins/inspect/plugin-alphacolor.xml | 4 | ||||
-rw-r--r-- | gst/alpha/Makefile.am | 2 | ||||
-rw-r--r-- | gst/alpha/gstalphacolor.c | 48 | ||||
-rw-r--r-- | gst/alpha/gstalphacolor.h | 57 |
9 files changed, 105 insertions, 34 deletions
@@ -1,3 +1,15 @@ +2007-04-24 Tim-Philipp Müller <tim at centricular dot net> + + * docs/plugins/Makefile.am: + * docs/plugins/gst-plugins-good-plugins-docs.sgml: + * docs/plugins/gst-plugins-good-plugins-sections.txt: + * docs/plugins/inspect/plugin-alphacolor.xml: + * gst/alpha/Makefile.am: + * gst/alpha/gstalphacolor.c: + * gst/alpha/gstalphacolor.h: + Add minimal docs blurb to alphacolor; split out headers into + separate header file for gtk-doc. + 2007-04-20 Tim-Philipp Müller <tim at centricular dot net> * gst/debug/progressreport.c: (gst_progress_report_report): diff --git a/common b/common -Subproject 765d03a88492fb4ac81d70457f671f3a109e93d +Subproject a19d235c89d99ca7849078d501129f521e30d98 diff --git a/docs/plugins/Makefile.am b/docs/plugins/Makefile.am index 174bb997..e94a8b5c 100644 --- a/docs/plugins/Makefile.am +++ b/docs/plugins/Makefile.am @@ -77,6 +77,7 @@ IGNORE_CFILES = # the registry won't have the element EXTRA_HFILES = \ + $(top_srcdir)/gst/alpha/gstalphacolor.h \ $(top_srcdir)/gst/apetag/gstapedemux.h \ $(top_srcdir)/gst/audiofx/audiopanorama.h \ $(top_srcdir)/gst/audiofx/audioinvert.h \ diff --git a/docs/plugins/gst-plugins-good-plugins-docs.sgml b/docs/plugins/gst-plugins-good-plugins-docs.sgml index 291cc465..a04e2585 100644 --- a/docs/plugins/gst-plugins-good-plugins-docs.sgml +++ b/docs/plugins/gst-plugins-good-plugins-docs.sgml @@ -12,6 +12,7 @@ <chapter> <title>gst-plugins-good Elements</title> + <xi:include href="xml/element-alphacolor.xml" /> <xi:include href="xml/element-apedemux.xml" /> <xi:include href="xml/element-apev2mux.xml" /> <xi:include href="xml/element-audiopanorama.xml" /> diff --git a/docs/plugins/gst-plugins-good-plugins-sections.txt b/docs/plugins/gst-plugins-good-plugins-sections.txt index 7a694bbb..d8e572b3 100644 --- a/docs/plugins/gst-plugins-good-plugins-sections.txt +++ b/docs/plugins/gst-plugins-good-plugins-sections.txt @@ -1,4 +1,18 @@ <SECTION> +<FILE>element-alphacolor</FILE> +GstAlphaColor +<TITLE>alphacolor</TITLE> +<SUBSECTION Standard> +GstAlphaColorClass +GST_ALPHA_COLOR +GST_IS_ALPHA_COLOR +GST_TYPE_ALPHA_COLOR +gst_alpha_color_get_type +GST_ALPHA_COLOR_CLASS +GST_IS_ALPHA_COLOR_CLASS +</SECTION> + +<SECTION> <FILE>element-apedemux</FILE> GstApeDemux <TITLE>apedemux</TITLE> diff --git a/docs/plugins/inspect/plugin-alphacolor.xml b/docs/plugins/inspect/plugin-alphacolor.xml index 8dd253ba..a2df37e7 100644 --- a/docs/plugins/inspect/plugin-alphacolor.xml +++ b/docs/plugins/inspect/plugin-alphacolor.xml @@ -1,6 +1,6 @@ <plugin> <name>alphacolor</name> - <description>RGB->YUV colorspace conversion preserving the alpha channels</description> + <description>RGBA to AYUV colorspace conversion preserving the alpha channel</description> <filename>../../gst/alpha/.libs/libgstalphacolor.so</filename> <basename>libgstalphacolor.so</basename> <version>0.10.5.1</version> @@ -13,7 +13,7 @@ <name>alphacolor</name> <longname>Alpha color filter</longname> <class>Filter/Effect/Video</class> - <description>RGB->YUV colorspace conversion preserving the alpha channels</description> + <description>RGBA to AYUV colorspace conversion preserving the alpha channel</description> <author>Wim Taymans <wim@fluendo.com></author> </element> </elements> diff --git a/gst/alpha/Makefile.am b/gst/alpha/Makefile.am index daf0050b..67c20b74 100644 --- a/gst/alpha/Makefile.am +++ b/gst/alpha/Makefile.am @@ -11,3 +11,5 @@ libgstalphacolor_la_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) \ $(GST_BASE_CFLAGS) $(GST_CFLAGS) libgstalphacolor_la_LIBADD = $(GST_LIBS) $(GST_BASE_LIBS) libgstalphacolor_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS) + +noinst_HEADERS = gstalphacolor.h diff --git a/gst/alpha/gstalphacolor.c b/gst/alpha/gstalphacolor.c index 15c26c12..118de628 100644 --- a/gst/alpha/gstalphacolor.c +++ b/gst/alpha/gstalphacolor.c @@ -17,11 +17,24 @@ * Boston, MA 02111-1307, USA. */ +/** + * SECTION:element-alphacolor + * + * <refsect2> + * <para> + * The alphacolor element does memory-efficient (in-place) colourspace + * conversion from RGBA to AYUV, preserving the alpha channel. + * </para> + * </refsect2> + */ + #ifdef HAVE_CONFIG_H #include "config.h" #endif + +#include "gstalphacolor.h" + #include <gst/gst.h> -#include <gst/base/gstbasetransform.h> #include <gst/video/video.h> #include <string.h> @@ -29,40 +42,11 @@ GST_DEBUG_CATEGORY_STATIC (alpha_color_debug); #define GST_CAT_DEFAULT alpha_color_debug -#define GST_TYPE_ALPHA_COLOR \ - (gst_alpha_color_get_type()) -#define GST_ALPHA_COLOR(obj) \ - (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_ALPHA_COLOR,GstAlphaColor)) -#define GST_ALPHA_COLOR_CLASS(klass) \ - (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_ALPHA_COLOR,GstAlphaColorClass)) -#define GST_IS_ALPHA_COLOR(obj) \ - (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_ALPHA_COLOR)) -#define GST_IS_ALPHA_COLOR_CLASS(klass) \ - (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_ALPHA_COLOR)) - -typedef struct _GstAlphaColor GstAlphaColor; -typedef struct _GstAlphaColorClass GstAlphaColorClass; - -struct _GstAlphaColor -{ - GstBaseTransform element; - - /* caps */ - gint in_width, in_height; - gboolean in_rgba; - gint out_width, out_height; -}; - -struct _GstAlphaColorClass -{ - GstBaseTransformClass parent_class; -}; - /* elementfactory information */ static const GstElementDetails gst_alpha_color_details = GST_ELEMENT_DETAILS ("Alpha color filter", "Filter/Effect/Video", - "RGB->YUV colorspace conversion preserving the alpha channels", + "RGBA to AYUV colorspace conversion preserving the alpha channel", "Wim Taymans <wim@fluendo.com>"); static GstStaticPadTemplate gst_alpha_color_sink_template = @@ -285,5 +269,5 @@ plugin_init (GstPlugin * plugin) GST_PLUGIN_DEFINE (GST_VERSION_MAJOR, GST_VERSION_MINOR, "alphacolor", - "RGB->YUV colorspace conversion preserving the alpha channels", + "RGBA to AYUV colorspace conversion preserving the alpha channel", plugin_init, VERSION, GST_LICENSE, GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN) diff --git a/gst/alpha/gstalphacolor.h b/gst/alpha/gstalphacolor.h new file mode 100644 index 00000000..306cd2c6 --- /dev/null +++ b/gst/alpha/gstalphacolor.h @@ -0,0 +1,57 @@ +/* GStreamer alphacolor element + * Copyright (C) 2005 Wim Taymans <wim@fluendo.com> + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#ifndef _GST_ALPHA_COLOR_H_ +#define _GST_ALPHA_COLOR_H_ + +#include <gst/base/gstbasetransform.h> + +#define GST_TYPE_ALPHA_COLOR \ + (gst_alpha_color_get_type()) +#define GST_ALPHA_COLOR(obj) \ + (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_ALPHA_COLOR,GstAlphaColor)) +#define GST_ALPHA_COLOR_CLASS(klass) \ + (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_ALPHA_COLOR,GstAlphaColorClass)) +#define GST_IS_ALPHA_COLOR(obj) \ + (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_ALPHA_COLOR)) +#define GST_IS_ALPHA_COLOR_CLASS(klass) \ + (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_ALPHA_COLOR)) + +typedef struct _GstAlphaColor GstAlphaColor; +typedef struct _GstAlphaColorClass GstAlphaColorClass; + +struct _GstAlphaColor +{ + GstBaseTransform element; + + /*< private >*/ + /* caps */ + gint in_width, in_height; + gboolean in_rgba; + gint out_width, out_height; +}; + +struct _GstAlphaColorClass +{ + GstBaseTransformClass parent_class; +}; + +GType gst_alpha_color_get_type (void); + +#endif /* _GST_ALPHA_COLOR_H_ */ |