mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-06-07 07:58:51 +00:00
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.
This commit is contained in:
parent
6ff0d3cac2
commit
a394b27dc9
3 changed files with 10 additions and 3 deletions
|
@ -1,6 +1,6 @@
|
||||||
plugin_LTLIBRARIES = libgstgdkpixbuf.la
|
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_CFLAGS = $(GST_CFLAGS) $(GTK_CFLAGS)
|
||||||
libgstgdkpixbuf_la_LIBADD = $(GTK_LIBS)
|
libgstgdkpixbuf_la_LIBADD = $(GTK_LIBS)
|
||||||
libgstgdkpixbuf_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
|
libgstgdkpixbuf_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
|
||||||
|
@ -27,5 +27,6 @@ install-data-hook:
|
||||||
endif
|
endif
|
||||||
|
|
||||||
noinst_HEADERS = gstgdkpixbuf.h \
|
noinst_HEADERS = gstgdkpixbuf.h \
|
||||||
|
pixbufscale.h \
|
||||||
gstgdkanimation.h
|
gstgdkanimation.h
|
||||||
|
|
||||||
|
|
|
@ -83,6 +83,8 @@ GST_STATIC_PAD_TEMPLATE ("src",
|
||||||
GST_STATIC_CAPS (GST_VIDEO_CAPS_RGB)
|
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_base_init (gpointer g_class);
|
||||||
static void gst_gdk_pixbuf_class_init (GstGdkPixbufClass * klass);
|
static void gst_gdk_pixbuf_class_init (GstGdkPixbufClass * klass);
|
||||||
static void gst_gdk_pixbuf_init (GstGdkPixbuf * filter);
|
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);
|
gst_gdk_pixbuf_type_find, NULL, GST_CAPS_ANY, NULL);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
if (!pixbufscale_init (plugin))
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
/* plugin initialisation succeeded */
|
/* plugin initialisation succeeded */
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
@ -468,4 +473,5 @@ plugin_init (GstPlugin * plugin)
|
||||||
GST_PLUGIN_DEFINE (GST_VERSION_MAJOR,
|
GST_PLUGIN_DEFINE (GST_VERSION_MAJOR,
|
||||||
GST_VERSION_MINOR,
|
GST_VERSION_MINOR,
|
||||||
"gdkpixbuf",
|
"gdkpixbuf",
|
||||||
"GDK Pixbuf decoder", plugin_init, VERSION, "LGPL", GST_PACKAGE, GST_ORIGIN)
|
"GDK Pixbuf decoder & scaler", plugin_init, VERSION, "LGPL", GST_PACKAGE,
|
||||||
|
GST_ORIGIN)
|
||||||
|
|
|
@ -64,7 +64,7 @@ struct _GstGdkPixbufClass
|
||||||
GstElementClass parent_class;
|
GstElementClass parent_class;
|
||||||
};
|
};
|
||||||
|
|
||||||
GType gst_gdk_pixbuf_get_type (void);
|
static GType gst_gdk_pixbuf_get_type (void);
|
||||||
|
|
||||||
G_END_DECLS
|
G_END_DECLS
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue