diff options
author | Jan Schmidt <thaytan@mad.scientist.com> | 2004-05-15 12:09:12 +0000 |
---|---|---|
committer | Jan Schmidt <thaytan@mad.scientist.com> | 2004-05-15 12:09:12 +0000 |
commit | a394b27dc95ab81086653d0be57d1a511b2bf2f0 (patch) | |
tree | db457dfa3c6dac3d98248d9bb94dff80d6aa611b /ext/gdk_pixbuf | |
parent | 6ff0d3cac27552ab95e60aa1bf6c00bdca8af3da (diff) |
ext/gdk_pixbuf/: Add new pixbufscale element to scale RGB video using gdk_pixbuf, because gdk_pixbuf does BILINEAR an...
Original commit message from CVS:
* ext/gdk_pixbuf/Makefile.am:
* ext/gdk_pixbuf/gstgdkpixbuf.c: (plugin_init):
* ext/gdk_pixbuf/gstgdkpixbuf.h:
Add new pixbufscale element to scale RGB video
using gdk_pixbuf, because gdk_pixbuf does BILINEAR
and HYPER interpolation correctly.
* ext/theora/theoraenc.c: (theora_enc_chain),
Discard buffer and return if explicit caps could not be set
(theora_enc_get_property):
Make _get return kbps for the bitrate consistent with
the _set function.
Diffstat (limited to 'ext/gdk_pixbuf')
-rw-r--r-- | ext/gdk_pixbuf/Makefile.am | 3 | ||||
-rw-r--r-- | ext/gdk_pixbuf/gstgdkpixbuf.c | 8 | ||||
-rw-r--r-- | ext/gdk_pixbuf/gstgdkpixbuf.h | 2 |
3 files changed, 10 insertions, 3 deletions
diff --git a/ext/gdk_pixbuf/Makefile.am b/ext/gdk_pixbuf/Makefile.am index a96ea204..54e9a3ee 100644 --- a/ext/gdk_pixbuf/Makefile.am +++ b/ext/gdk_pixbuf/Makefile.am @@ -1,6 +1,6 @@ plugin_LTLIBRARIES = libgstgdkpixbuf.la -libgstgdkpixbuf_la_SOURCES = gstgdkpixbuf.c +libgstgdkpixbuf_la_SOURCES = gstgdkpixbuf.c pixbufscale.c libgstgdkpixbuf_la_CFLAGS = $(GST_CFLAGS) $(GTK_CFLAGS) libgstgdkpixbuf_la_LIBADD = $(GTK_LIBS) libgstgdkpixbuf_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS) @@ -27,5 +27,6 @@ install-data-hook: endif noinst_HEADERS = gstgdkpixbuf.h \ + pixbufscale.h \ gstgdkanimation.h diff --git a/ext/gdk_pixbuf/gstgdkpixbuf.c b/ext/gdk_pixbuf/gstgdkpixbuf.c index 8dbe2eaf..cd010a65 100644 --- a/ext/gdk_pixbuf/gstgdkpixbuf.c +++ b/ext/gdk_pixbuf/gstgdkpixbuf.c @@ -83,6 +83,8 @@ GST_STATIC_PAD_TEMPLATE ("src", GST_STATIC_CAPS (GST_VIDEO_CAPS_RGB) ); +gboolean pixbufscale_init (GstPlugin * plugin); + static void gst_gdk_pixbuf_base_init (gpointer g_class); static void gst_gdk_pixbuf_class_init (GstGdkPixbufClass * klass); static void gst_gdk_pixbuf_init (GstGdkPixbuf * filter); @@ -459,6 +461,9 @@ plugin_init (GstPlugin * plugin) gst_gdk_pixbuf_type_find, NULL, GST_CAPS_ANY, NULL); #endif + if (!pixbufscale_init (plugin)) + return FALSE; + /* plugin initialisation succeeded */ return TRUE; } @@ -468,4 +473,5 @@ plugin_init (GstPlugin * plugin) GST_PLUGIN_DEFINE (GST_VERSION_MAJOR, GST_VERSION_MINOR, "gdkpixbuf", - "GDK Pixbuf decoder", plugin_init, VERSION, "LGPL", GST_PACKAGE, GST_ORIGIN) + "GDK Pixbuf decoder & scaler", plugin_init, VERSION, "LGPL", GST_PACKAGE, + GST_ORIGIN) diff --git a/ext/gdk_pixbuf/gstgdkpixbuf.h b/ext/gdk_pixbuf/gstgdkpixbuf.h index 62e11aac..dc308cc7 100644 --- a/ext/gdk_pixbuf/gstgdkpixbuf.h +++ b/ext/gdk_pixbuf/gstgdkpixbuf.h @@ -64,7 +64,7 @@ struct _GstGdkPixbufClass GstElementClass parent_class; }; -GType gst_gdk_pixbuf_get_type (void); +static GType gst_gdk_pixbuf_get_type (void); G_END_DECLS |