summaryrefslogtreecommitdiffstats
path: root/ext/gdk_pixbuf
diff options
context:
space:
mode:
authorJan Schmidt <thaytan@mad.scientist.com>2004-05-15 12:09:12 +0000
committerJan Schmidt <thaytan@mad.scientist.com>2004-05-15 12:09:12 +0000
commita394b27dc95ab81086653d0be57d1a511b2bf2f0 (patch)
treedb457dfa3c6dac3d98248d9bb94dff80d6aa611b /ext/gdk_pixbuf
parent6ff0d3cac27552ab95e60aa1bf6c00bdca8af3da (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.am3
-rw-r--r--ext/gdk_pixbuf/gstgdkpixbuf.c8
-rw-r--r--ext/gdk_pixbuf/gstgdkpixbuf.h2
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