Commit dd56714b authored by Tim-Philipp Müller's avatar Tim-Philipp Müller
Browse files

ffmpegcolorspace -> videoconvert

parent a409d04d
...@@ -56,7 +56,7 @@ GST_PLUGINS_BASE_BUILT_SOURCES := \ ...@@ -56,7 +56,7 @@ GST_PLUGINS_BASE_BUILT_SOURCES := \
gst/audiotestsrc/Android.mk \ gst/audiotestsrc/Android.mk \
gst/videotestsrc/Android.mk \ gst/videotestsrc/Android.mk \
gst/videoscale/Android.mk \ gst/videoscale/Android.mk \
gst/ffmpegcolorspace/Android.mk \ gst/videoconvert/Android.mk \
gst/videorate/Android.mk \ gst/videorate/Android.mk \
gst/encoding/Android.mk \ gst/encoding/Android.mk \
gst/adder/Android.mk \ gst/adder/Android.mk \
...@@ -114,7 +114,7 @@ CONFIGURE_TARGETS += gst-plugins-base-configure ...@@ -114,7 +114,7 @@ CONFIGURE_TARGETS += gst-plugins-base-configure
-include $(GST_PLUGINS_BASE_TOP)/gst/audiotestsrc/Android.mk -include $(GST_PLUGINS_BASE_TOP)/gst/audiotestsrc/Android.mk
-include $(GST_PLUGINS_BASE_TOP)/gst/videotestsrc/Android.mk -include $(GST_PLUGINS_BASE_TOP)/gst/videotestsrc/Android.mk
-include $(GST_PLUGINS_BASE_TOP)/gst/videoscale/Android.mk -include $(GST_PLUGINS_BASE_TOP)/gst/videoscale/Android.mk
-include $(GST_PLUGINS_BASE_TOP)/gst/ffmpegcolorspace/Android.mk -include $(GST_PLUGINS_BASE_TOP)/gst/videoconvert/Android.mk
-include $(GST_PLUGINS_BASE_TOP)/gst/videorate/Android.mk -include $(GST_PLUGINS_BASE_TOP)/gst/videorate/Android.mk
-include $(GST_PLUGINS_BASE_TOP)/gst/encoding/Android.mk -include $(GST_PLUGINS_BASE_TOP)/gst/encoding/Android.mk
-include $(GST_PLUGINS_BASE_TOP)/gst/adder/Android.mk -include $(GST_PLUGINS_BASE_TOP)/gst/adder/Android.mk
......
...@@ -4,15 +4,12 @@ include $(CLEAR_VARS) ...@@ -4,15 +4,12 @@ include $(CLEAR_VARS)
LOCAL_ARM_MODE := arm LOCAL_ARM_MODE := arm
ffmpegcolorspace_LOCAL_SRC_FILES:= \ videoconvert_LOCAL_SRC_FILES:= \
gst/ffmpegcolorspace/gstffmpegcolorspace.c \ gst/videoconvert/gstvideoconvert.c \
gst/ffmpegcolorspace/gstffmpegcodecmap.c \ gst/videoconvert/gstvideoconvertorc-dist.c \
gst/ffmpegcolorspace/dsputil.c \ gst/videoconvert/videoconvert.c
gst/ffmpegcolorspace/imgconvert.c \
gst/ffmpegcolorspace/mem.c \
gst/ffmpegcolorspace/utils.c
LOCAL_SRC_FILES:= $(addprefix ../,$(ffmpegcolorspace_LOCAL_SRC_FILES)) LOCAL_SRC_FILES:= $(addprefix ../,$(videoconvert_LOCAL_SRC_FILES))
LOCAL_SHARED_LIBRARIES := \ LOCAL_SHARED_LIBRARIES := \
libgstvideo-0.10 \ libgstvideo-0.10 \
...@@ -24,7 +21,7 @@ LOCAL_SHARED_LIBRARIES := \ ...@@ -24,7 +21,7 @@ LOCAL_SHARED_LIBRARIES := \
libgobject-2.0 \ libgobject-2.0 \
libgstpbutils-0.10 libgstpbutils-0.10
LOCAL_MODULE:= libgstffmpegcolorspace LOCAL_MODULE:= libgstvideoconvert
LOCAL_CFLAGS := -DHAVE_CONFIG_H -DGSTREAMER_BUILT_FOR_ANDROID \ LOCAL_CFLAGS := -DHAVE_CONFIG_H -DGSTREAMER_BUILT_FOR_ANDROID \
$(GST_PLUGINS_BASE_CFLAGS) $(GST_PLUGINS_BASE_CFLAGS)
......
<plugin>
<name>ffmpegcolorspace</name>
<description>colorspace conversion copied from FFMpeg 0.4.9-pre1</description>
<filename>../../gst/ffmpegcolorspace/.libs/libgstffmpegcolorspace.so</filename>
<basename>libgstffmpegcolorspace.so</basename>
<version>0.10.35.1</version>
<license>LGPL</license>
<source>gst-plugins-base</source>
<package>FFMpeg</package>
<origin>http://ffmpeg.sourceforge.net/</origin>
<elements>
<element>
<name>ffmpegcolorspace</name>
<longname>FFMPEG Colorspace converter</longname>
<class>Filter/Converter/Video</class>
<description>Converts video from one colorspace to another</description>
<author>GStreamer maintainers &lt;gstreamer-devel@lists.sourceforge.net&gt;</author>
<pads>
<caps>
<name>sink</name>
<direction>sink</direction>
<presence>always</presence>
<details>video/x-raw-yuv, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], format=(fourcc){ I420, NV12, NV21, YV12, YUY2, Y42B, Y444, YUV9, YVU9, Y41B, Y800, Y8 , GREY, Y16 , UYVY, YVYU, IYU1, v308, AYUV, A420 }; video/x-raw-rgb, bpp=(int)24, depth=(int)24, endianness=(int)4321, red_mask=(int)16711680, green_mask=(int)65280, blue_mask=(int)255, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-rgb, bpp=(int)24, depth=(int)24, endianness=(int)4321, red_mask=(int)255, green_mask=(int)65280, blue_mask=(int)16711680, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-rgb, bpp=(int)32, depth=(int)24, endianness=(int)4321, red_mask=(int)-16777216, green_mask=(int)16711680, blue_mask=(int)65280, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-rgb, bpp=(int)32, depth=(int)24, endianness=(int)4321, red_mask=(int)16711680, green_mask=(int)65280, blue_mask=(int)255, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-rgb, bpp=(int)32, depth=(int)24, endianness=(int)4321, red_mask=(int)65280, green_mask=(int)16711680, blue_mask=(int)-16777216, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-rgb, bpp=(int)32, depth=(int)24, endianness=(int)4321, red_mask=(int)255, green_mask=(int)65280, blue_mask=(int)16711680, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-rgb, bpp=(int)32, depth=(int)32, endianness=(int)4321, red_mask=(int)-16777216, green_mask=(int)16711680, blue_mask=(int)65280, alpha_mask=(int)255, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-rgb, bpp=(int)32, depth=(int)32, endianness=(int)4321, red_mask=(int)16711680, green_mask=(int)65280, blue_mask=(int)255, alpha_mask=(int)-16777216, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-rgb, bpp=(int)32, depth=(int)32, endianness=(int)4321, red_mask=(int)65280, green_mask=(int)16711680, blue_mask=(int)-16777216, alpha_mask=(int)255, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-rgb, bpp=(int)32, depth=(int)32, endianness=(int)4321, red_mask=(int)255, green_mask=(int)65280, blue_mask=(int)16711680, alpha_mask=(int)-16777216, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-rgb, bpp=(int)16, depth=(int)16, endianness=(int)1234, red_mask=(int)63488, green_mask=(int)2016, blue_mask=(int)31, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-rgb, bpp=(int)16, depth=(int)15, endianness=(int)1234, red_mask=(int)31744, green_mask=(int)992, blue_mask=(int)31, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-rgb, bpp=(int)8, depth=(int)8, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-gray, bpp=(int)8, depth=(int)8, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-gray, bpp=(int)16, depth=(int)16, endianness=(int)4321, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-gray, bpp=(int)16, depth=(int)16, endianness=(int)1234, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
</caps>
<caps>
<name>src</name>
<direction>source</direction>
<presence>always</presence>
<details>video/x-raw-yuv, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], format=(fourcc){ I420, NV12, NV21, YV12, YUY2, Y42B, Y444, YUV9, YVU9, Y41B, Y800, Y8 , GREY, Y16 , UYVY, YVYU, IYU1, v308, AYUV, A420 }; video/x-raw-rgb, bpp=(int)24, depth=(int)24, endianness=(int)4321, red_mask=(int)16711680, green_mask=(int)65280, blue_mask=(int)255, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-rgb, bpp=(int)24, depth=(int)24, endianness=(int)4321, red_mask=(int)255, green_mask=(int)65280, blue_mask=(int)16711680, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-rgb, bpp=(int)32, depth=(int)24, endianness=(int)4321, red_mask=(int)-16777216, green_mask=(int)16711680, blue_mask=(int)65280, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-rgb, bpp=(int)32, depth=(int)24, endianness=(int)4321, red_mask=(int)16711680, green_mask=(int)65280, blue_mask=(int)255, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-rgb, bpp=(int)32, depth=(int)24, endianness=(int)4321, red_mask=(int)65280, green_mask=(int)16711680, blue_mask=(int)-16777216, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-rgb, bpp=(int)32, depth=(int)24, endianness=(int)4321, red_mask=(int)255, green_mask=(int)65280, blue_mask=(int)16711680, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-rgb, bpp=(int)32, depth=(int)32, endianness=(int)4321, red_mask=(int)-16777216, green_mask=(int)16711680, blue_mask=(int)65280, alpha_mask=(int)255, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-rgb, bpp=(int)32, depth=(int)32, endianness=(int)4321, red_mask=(int)16711680, green_mask=(int)65280, blue_mask=(int)255, alpha_mask=(int)-16777216, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-rgb, bpp=(int)32, depth=(int)32, endianness=(int)4321, red_mask=(int)65280, green_mask=(int)16711680, blue_mask=(int)-16777216, alpha_mask=(int)255, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-rgb, bpp=(int)32, depth=(int)32, endianness=(int)4321, red_mask=(int)255, green_mask=(int)65280, blue_mask=(int)16711680, alpha_mask=(int)-16777216, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-rgb, bpp=(int)16, depth=(int)16, endianness=(int)1234, red_mask=(int)63488, green_mask=(int)2016, blue_mask=(int)31, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-rgb, bpp=(int)16, depth=(int)15, endianness=(int)1234, red_mask=(int)31744, green_mask=(int)992, blue_mask=(int)31, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-rgb, bpp=(int)8, depth=(int)8, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-gray, bpp=(int)8, depth=(int)8, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-gray, bpp=(int)16, depth=(int)16, endianness=(int)4321, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-gray, bpp=(int)16, depth=(int)16, endianness=(int)1234, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
</caps>
</pads>
</element>
</elements>
</plugin>
...@@ -27,7 +27,7 @@ ...@@ -27,7 +27,7 @@
* <refsect2> * <refsect2>
* <title>Example pipelines</title> * <title>Example pipelines</title>
* |[ * |[
* gst-launch v4l2src num-buffers=500 ! video/x-raw,width=320,height=240 ! ffmpegcolorspace ! theoraenc ! oggmux ! filesink location=video.ogg * gst-launch v4l2src num-buffers=500 ! video/x-raw,width=320,height=240 ! videoconvert ! theoraenc ! oggmux ! filesink location=video.ogg
* ]| Encodes a video stream captured from a v4l2-compatible camera to Ogg/Theora * ]| Encodes a video stream captured from a v4l2-compatible camera to Ogg/Theora
* (the encoding will stop automatically after 500 frames) * (the encoding will stop automatically after 500 frames)
* </refsect2> * </refsect2>
......
...@@ -34,7 +34,7 @@ ...@@ -34,7 +34,7 @@
* gst-launch -v videotestsrc ! clockoverlay ! xvimagesink * gst-launch -v videotestsrc ! clockoverlay ! xvimagesink
* ]| Display the current time in the top left corner of the video picture * ]| Display the current time in the top left corner of the video picture
* |[ * |[
* gst-launch -v videotestsrc ! clockoverlay halign=right valign=bottom text="Edge City" shaded-background=true ! ffmpegcolorspace ! ximagesink * gst-launch -v videotestsrc ! clockoverlay halign=right valign=bottom text="Edge City" shaded-background=true ! videoconvert ! ximagesink
* ]| Another pipeline that displays the current time with some leading * ]| Another pipeline that displays the current time with some leading
* text in the bottom right corner of the video picture, with the background * text in the bottom right corner of the video picture, with the background
* of the text being shaded in order to make it more legible on top of a * of the text being shaded in order to make it more legible on top of a
......
...@@ -216,7 +216,7 @@ ...@@ -216,7 +216,7 @@
* urisource-$(PROTOCOL_REQUIRED), e.g. urisource-http or urisource-mms * urisource-$(PROTOCOL_REQUIRED), e.g. urisource-http or urisource-mms
* </para></listitem> * </para></listitem>
* <listitem><para> * <listitem><para>
* element-$(ELEMENT_REQUIRED), e.g. element-ffmpegcolorspace * element-$(ELEMENT_REQUIRED), e.g. element-videoconvert
* </para></listitem> * </para></listitem>
* <listitem><para> * <listitem><para>
* decoder-$(CAPS_REQUIRED), e.g. (do read below for more details!): * decoder-$(CAPS_REQUIRED), e.g. (do read below for more details!):
......
...@@ -120,7 +120,7 @@ build_convert_frame_pipeline (GstElement ** src_element, ...@@ -120,7 +120,7 @@ build_convert_frame_pipeline (GstElement ** src_element,
/* videoscale is here to correct for the pixel-aspect-ratio for us */ /* videoscale is here to correct for the pixel-aspect-ratio for us */
GST_DEBUG ("creating elements"); GST_DEBUG ("creating elements");
if (!create_element ("appsrc", &src, &error) || if (!create_element ("appsrc", &src, &error) ||
!create_element ("ffmpegcolorspace", &csp, &error) || !create_element ("videoconvert", &csp, &error) ||
!create_element ("videoscale", &vscale, &error) || !create_element ("videoscale", &vscale, &error) ||
!create_element ("appsink", &sink, &error)) !create_element ("appsink", &sink, &error))
goto no_elements; goto no_elements;
......
...@@ -100,7 +100,6 @@ rm -rf $RPM_BUILD_ROOT ...@@ -100,7 +100,6 @@ rm -rf $RPM_BUILD_ROOT
# base plugins without external dependencies # base plugins without external dependencies
%{_libdir}/gstreamer-%{majorminor}/libgstadder.so %{_libdir}/gstreamer-%{majorminor}/libgstadder.so
%{_libdir}/gstreamer-%{majorminor}/libgstaudioconvert.so %{_libdir}/gstreamer-%{majorminor}/libgstaudioconvert.so
%{_libdir}/gstreamer-%{majorminor}/libgstffmpegcolorspace.so
%{_libdir}/gstreamer-%{majorminor}/libgstdecodebin.so %{_libdir}/gstreamer-%{majorminor}/libgstdecodebin.so
%{_libdir}/gstreamer-%{majorminor}/libgstdecodebin2.so %{_libdir}/gstreamer-%{majorminor}/libgstdecodebin2.so
%{_libdir}/gstreamer-%{majorminor}/libgstplaybin.so %{_libdir}/gstreamer-%{majorminor}/libgstplaybin.so
...@@ -109,6 +108,7 @@ rm -rf $RPM_BUILD_ROOT ...@@ -109,6 +108,7 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/gstreamer-%{majorminor}/libgstaudiorate.so %{_libdir}/gstreamer-%{majorminor}/libgstaudiorate.so
%{_libdir}/gstreamer-%{majorminor}/libgstsubparse.so %{_libdir}/gstreamer-%{majorminor}/libgstsubparse.so
%{_libdir}/gstreamer-%{majorminor}/libgstvolume.so %{_libdir}/gstreamer-%{majorminor}/libgstvolume.so
%{_libdir}/gstreamer-%{majorminor}/libgstvideoconvert.so
%{_libdir}/gstreamer-%{majorminor}/libgstvideorate.so %{_libdir}/gstreamer-%{majorminor}/libgstvideorate.so
%{_libdir}/gstreamer-%{majorminor}/libgstvideoscale.so %{_libdir}/gstreamer-%{majorminor}/libgstvideoscale.so
%{_libdir}/gstreamer-%{majorminor}/libgsttcp.so %{_libdir}/gstreamer-%{majorminor}/libgsttcp.so
......
...@@ -29,7 +29,7 @@ ...@@ -29,7 +29,7 @@
* ]| This pipeline produces a sine with default frequency, 440 Hz, and the * ]| This pipeline produces a sine with default frequency, 440 Hz, and the
* default volume, 0.8 (relative to a maximum 1.0). * default volume, 0.8 (relative to a maximum 1.0).
* |[ * |[
* gst-launch audiotestsrc wave=2 freq=200 ! audioconvert ! tee name=t ! queue ! alsasink t. ! queue ! libvisual_lv_scope ! ffmpegcolorspace ! xvimagesink * gst-launch audiotestsrc wave=2 freq=200 ! audioconvert ! tee name=t ! queue ! alsasink t. ! queue ! libvisual_lv_scope ! videoconvert ! xvimagesink
* ]| In this example a saw wave is generated. The wave is shown using a * ]| In this example a saw wave is generated. The wave is shown using a
* scope visualizer from libvisual, allowing you to visually verify that * scope visualizer from libvisual, allowing you to visually verify that
* the saw wave is correct. * the saw wave is correct.
......
...@@ -1268,7 +1268,7 @@ _create_stream_group (GstEncodeBin * ebin, GstEncodingProfile * sprof, ...@@ -1268,7 +1268,7 @@ _create_stream_group (GstEncodeBin * ebin, GstEncodingProfile * sprof,
GST_LOG ("Adding conversion elements for video stream"); GST_LOG ("Adding conversion elements for video stream");
if (!native_video) { if (!native_video) {
cspace = gst_element_factory_make ("ffmpegcolorspace", NULL); cspace = gst_element_factory_make ("videoconvert", NULL);
scale = gst_element_factory_make ("videoscale", NULL); scale = gst_element_factory_make ("videoscale", NULL);
if (!scale) { if (!scale) {
missing_element_name = "videoscale"; missing_element_name = "videoscale";
...@@ -1276,10 +1276,10 @@ _create_stream_group (GstEncodeBin * ebin, GstEncodingProfile * sprof, ...@@ -1276,10 +1276,10 @@ _create_stream_group (GstEncodeBin * ebin, GstEncodingProfile * sprof,
} }
/* 4-tap scaling and black borders */ /* 4-tap scaling and black borders */
g_object_set (scale, "method", 2, "add-borders", TRUE, NULL); g_object_set (scale, "method", 2, "add-borders", TRUE, NULL);
cspace2 = gst_element_factory_make ("ffmpegcolorspace", NULL); cspace2 = gst_element_factory_make ("videoconvert", NULL);
if (!cspace || !cspace2) { if (!cspace || !cspace2) {
missing_element_name = "ffmpegcolorspace"; missing_element_name = "videoconvert";
goto missing_element; goto missing_element;
} }
......
...@@ -81,7 +81,7 @@ ...@@ -81,7 +81,7 @@
* size are allocated along the way. If you take away the queue, scaling will * size are allocated along the way. If you take away the queue, scaling will
* happen almost immediately. * happen almost immediately.
* |[ * |[
* gst-launch -v videotestsrc ! navigationtest ! ffmpegcolorspace ! ximagesink * gst-launch -v videotestsrc ! navigationtest ! videoconvert ! ximagesink
* ]| A pipeline to test navigation events. * ]| A pipeline to test navigation events.
* While moving the mouse pointer over the test signal you will see a black box * While moving the mouse pointer over the test signal you will see a black box
* following the mouse pointer. If you press the mouse button somewhere on the * following the mouse pointer. If you press the mouse button somewhere on the
......
...@@ -99,6 +99,8 @@ else ...@@ -99,6 +99,8 @@ else
cxx_checks = cxx_checks =
endif endif
# FIXME 0.11: convert elements/ffmpegcolorspace to videoconvert or remove
check_PROGRAMS = \ check_PROGRAMS = \
$(check_alsa) \ $(check_alsa) \
$(check_gio) \ $(check_gio) \
...@@ -115,7 +117,6 @@ check_PROGRAMS = \ ...@@ -115,7 +117,6 @@ check_PROGRAMS = \
elements/audiotestsrc \ elements/audiotestsrc \
elements/decodebin \ elements/decodebin \
$(check_encodebin) \ $(check_encodebin) \
elements/ffmpegcolorspace \
elements/gdpdepay \ elements/gdpdepay \
elements/gdppay \ elements/gdppay \
elements/multifdsink \ elements/multifdsink \
...@@ -154,9 +155,9 @@ check_PROGRAMS = \ ...@@ -154,9 +155,9 @@ check_PROGRAMS = \
# TORTURE_TO_FIX = \ # TORTURE_TO_FIX = \
# elements/adder # elements/adder
# ffmpegcolorspace takes too long, so disabled for now # videoconvert takes too long, so disabled for now
VALGRIND_TO_FIX = \ VALGRIND_TO_FIX = \
elements/ffmpegcolorspace \ elements/videoconvert \
libs/video libs/video
# these tests don't even pass # these tests don't even pass
......
...@@ -19,7 +19,7 @@ volume ...@@ -19,7 +19,7 @@ volume
vorbisdec vorbisdec
typefindfunctions typefindfunctions
textoverlay textoverlay
ffmpegcolorspace videoconvert
videoscale videoscale
vorbistag vorbistag
playbin playbin
......
...@@ -94,14 +94,14 @@ run_test (const GstCaps * caps, gint src_width, gint src_height, ...@@ -94,14 +94,14 @@ run_test (const GstCaps * caps, gint src_width, gint src_height,
GCallback sink_handoff, gpointer sink_handoff_user_data) GCallback sink_handoff, gpointer sink_handoff_user_data)
{ {
GstElement *pipeline; GstElement *pipeline;
GstElement *src, *ffmpegcolorspace, *capsfilter1, *identity, *scale, GstElement *src, *videoconvert, *capsfilter1, *identity, *scale,
*capsfilter2, *sink; *capsfilter2, *sink;
GstMessage *msg; GstMessage *msg;
GstBus *bus; GstBus *bus;
GstCaps *copy; GstCaps *copy;
guint n_buffers = 0; guint n_buffers = 0;
/* skip formats that ffmpegcolorspace can't handle */ /* skip formats that videoconvert can't handle */
if (caps_are_64bpp (caps)) if (caps_are_64bpp (caps))
return; return;
...@@ -112,8 +112,8 @@ run_test (const GstCaps * caps, gint src_width, gint src_height, ...@@ -112,8 +112,8 @@ run_test (const GstCaps * caps, gint src_width, gint src_height,
fail_unless (src != NULL); fail_unless (src != NULL);
g_object_set (G_OBJECT (src), "num-buffers", 1, NULL); g_object_set (G_OBJECT (src), "num-buffers", 1, NULL);
ffmpegcolorspace = gst_element_factory_make ("ffmpegcolorspace", "csp"); videoconvert = gst_element_factory_make ("videoconvert", "csp");
fail_unless (ffmpegcolorspace != NULL); fail_unless (videoconvert != NULL);
capsfilter1 = gst_element_factory_make ("capsfilter", "filter1"); capsfilter1 = gst_element_factory_make ("capsfilter", "filter1");
fail_unless (capsfilter1 != NULL); fail_unless (capsfilter1 != NULL);
...@@ -152,12 +152,12 @@ run_test (const GstCaps * caps, gint src_width, gint src_height, ...@@ -152,12 +152,12 @@ run_test (const GstCaps * caps, gint src_width, gint src_height,
sink_handoff_user_data); sink_handoff_user_data);
} }
gst_bin_add_many (GST_BIN (pipeline), src, ffmpegcolorspace, capsfilter1, gst_bin_add_many (GST_BIN (pipeline), src, videoconvert, capsfilter1,
identity, scale, capsfilter2, sink, NULL); identity, scale, capsfilter2, sink, NULL);
fail_unless (gst_element_link_pads_full (src, "src", ffmpegcolorspace, "sink", fail_unless (gst_element_link_pads_full (src, "src", videoconvert, "sink",
LINK_CHECK_FLAGS)); LINK_CHECK_FLAGS));
fail_unless (gst_element_link_pads_full (ffmpegcolorspace, "src", capsfilter1, fail_unless (gst_element_link_pads_full (videoconvert, "src", capsfilter1,
"sink", LINK_CHECK_FLAGS)); "sink", LINK_CHECK_FLAGS));
fail_unless (gst_element_link_pads_full (capsfilter1, "src", identity, "sink", fail_unless (gst_element_link_pads_full (capsfilter1, "src", identity, "sink",
LINK_CHECK_FLAGS)); LINK_CHECK_FLAGS));
...@@ -221,7 +221,7 @@ GST_START_TEST (test_passthrough) ...@@ -221,7 +221,7 @@ GST_START_TEST (test_passthrough)
GstCaps *caps = *p; GstCaps *caps = *p;
for (method = 0; method < 3; method++) { for (method = 0; method < 3; method++) {
/* skip formats that ffmpegcolorspace can't handle */ /* skip formats that videoconvert can't handle */
if (caps_are_64bpp (caps)) if (caps_are_64bpp (caps))
continue; continue;
...@@ -627,7 +627,7 @@ gst_test_reverse_negotiation_sink_render (GstBaseSink * bsink, ...@@ -627,7 +627,7 @@ gst_test_reverse_negotiation_sink_render (GstBaseSink * bsink,
sink->nbuffers++; sink->nbuffers++;
/* The third buffer is still in the old size /* The third buffer is still in the old size
* because the ffmpegcolorspaces can't convert * because the videoconverts can't convert
* the frame sizes * the frame sizes
*/ */
if (sink->nbuffers > 3) { if (sink->nbuffers > 3) {
...@@ -715,13 +715,13 @@ GST_START_TEST (test_reverse_negotiation) ...@@ -715,13 +715,13 @@ GST_START_TEST (test_reverse_negotiation)
fail_unless (src != NULL); fail_unless (src != NULL);
g_object_set (G_OBJECT (src), "num-buffers", 8, NULL); g_object_set (G_OBJECT (src), "num-buffers", 8, NULL);
csp1 = gst_element_factory_make ("ffmpegcolorspace", "csp1"); csp1 = gst_element_factory_make ("videoconvert", "csp1");
fail_unless (csp1 != NULL); fail_unless (csp1 != NULL);
scale = gst_element_factory_make ("videoscale", "scale"); scale = gst_element_factory_make ("videoscale", "scale");
fail_unless (scale != NULL); fail_unless (scale != NULL);
csp2 = gst_element_factory_make ("ffmpegcolorspace", "csp2"); csp2 = gst_element_factory_make ("videoconvert", "csp2");
fail_unless (csp2 != NULL); fail_unless (csp2 != NULL);
sink = g_object_new (GST_TYPE_TEST_REVERSE_NEGOTIATION_SINK, NULL); sink = g_object_new (GST_TYPE_TEST_REVERSE_NEGOTIATION_SINK, NULL);
......
...@@ -350,7 +350,7 @@ GST_END_TEST; ...@@ -350,7 +350,7 @@ GST_END_TEST;
GST_START_TEST (test_theora) GST_START_TEST (test_theora)
{ {
test_pipeline test_pipeline
("videotestsrc num-buffers=5 ! ffmpegcolorspace ! theoraenc ! oggmux"); ("videotestsrc num-buffers=5 ! videoconvert ! theoraenc ! oggmux");
} }
GST_END_TEST; GST_END_TEST;
...@@ -360,7 +360,7 @@ GST_END_TEST; ...@@ -360,7 +360,7 @@ GST_END_TEST;
GST_START_TEST (test_theora_vorbis) GST_START_TEST (test_theora_vorbis)
{ {
test_pipeline test_pipeline
("videotestsrc num-buffers=10 ! ffmpegcolorspace ! theoraenc ! queue ! oggmux name=mux " ("videotestsrc num-buffers=10 ! videoconvert ! theoraenc ! queue ! oggmux name=mux "
"audiotestsrc num-buffers=2 ! audioconvert ! vorbisenc ! queue ! mux."); "audiotestsrc num-buffers=2 ! audioconvert ! vorbisenc ! queue ! mux.");
} }
...@@ -369,7 +369,7 @@ GST_END_TEST; ...@@ -369,7 +369,7 @@ GST_END_TEST;
GST_START_TEST (test_vorbis_theora) GST_START_TEST (test_vorbis_theora)
{ {
test_pipeline test_pipeline
("videotestsrc num-buffers=2 ! ffmpegcolorspace ! theoraenc ! queue ! oggmux name=mux " ("videotestsrc num-buffers=2 ! videoconvert ! theoraenc ! queue ! oggmux name=mux "
"audiotestsrc num-buffers=10 ! audioconvert ! vorbisenc ! queue ! mux."); "audiotestsrc num-buffers=10 ! audioconvert ! vorbisenc ! queue ! mux.");
} }
......
...@@ -149,7 +149,7 @@ perform_step (gpointer pstep) ...@@ -149,7 +149,7 @@ perform_step (gpointer pstep)
g_print ("creating bin1\n"); g_print ("creating bin1\n");
bin1 = bin1 =
create_stream create_stream
("( v4l2src ! ffmpegcolorspace ! timeoverlay ! queue ! xvimagesink name=v4llive )"); ("( v4l2src ! videoconvert ! timeoverlay ! queue ! xvimagesink name=v4llive )");
pause_play_stream (bin1, 0); pause_play_stream (bin1, 0);
g_timeout_add (1000, (GSourceFunc) perform_step, GINT_TO_POINTER (1)); g_timeout_add (1000, (GSourceFunc) perform_step, GINT_TO_POINTER (1));
break; break;
...@@ -172,7 +172,7 @@ perform_step (gpointer pstep) ...@@ -172,7 +172,7 @@ perform_step (gpointer pstep)
g_print ("creating bin4\n"); g_print ("creating bin4\n");
bin4 = bin4 =
create_stream create_stream
("( videotestsrc ! timeoverlay ! ffmpegcolorspace ! ximagesink name=vtnonlive )"); ("( videotestsrc ! timeoverlay ! videoconvert ! ximagesink name=vtnonlive )");
pause_play_stream (bin4, 0); pause_play_stream (bin4, 0);
g_timeout_add (1000, (GSourceFunc) perform_step, GINT_TO_POINTER (4)); g_timeout_add (1000, (GSourceFunc) perform_step, GINT_TO_POINTER (4));
break; break;
...@@ -181,7 +181,7 @@ perform_step (gpointer pstep) ...@@ -181,7 +181,7 @@ perform_step (gpointer pstep)
g_print ("creating bin5\n"); g_print ("creating bin5\n");
bin5 = bin5 =
create_stream create_stream
("( videotestsrc is-live=1 ! timeoverlay ! ffmpegcolorspace ! ximagesink name=vtlive )"); ("( videotestsrc is-live=1 ! timeoverlay ! videoconvert ! ximagesink name=vtlive )");
pause_play_stream (bin5, 0); pause_play_stream (bin5, 0);
g_timeout_add (1000, (GSourceFunc) perform_step, GINT_TO_POINTER (5)); g_timeout_add (1000, (GSourceFunc) perform_step, GINT_TO_POINTER (5));
break; break;
......
...@@ -483,7 +483,7 @@ make_theora_pipeline (const gchar * location) ...@@ -483,7 +483,7 @@ make_theora_pipeline (const gchar * location)
src = gst_element_factory_make_or_warn (SOURCE, "src"); src = gst_element_factory_make_or_warn (SOURCE, "src");
demux = gst_element_factory_make_or_warn ("oggdemux", "demux"); demux = gst_element_factory_make_or_warn ("oggdemux", "demux");
decoder = gst_element_factory_make_or_warn ("theoradec", "decoder"); decoder = gst_element_factory_make_or_warn ("theoradec", "decoder");
convert = gst_element_factory_make_or_warn ("ffmpegcolorspace", "convert"); convert = gst_element_factory_make_or_warn ("videoconvert", "convert");
videosink = gst_element_factory_make_or_warn (VSINK, "sink"); videosink = gst_element_factory_make_or_warn (VSINK, "sink");
g_object_set (G_OBJECT (src), "location", location, NULL); g_object_set (G_OBJECT (src), "location", location, NULL);
...@@ -565,8 +565,7 @@ make_vorbis_theora_pipeline (const gchar * location) ...@@ -565,8 +565,7 @@ make_vorbis_theora_pipeline (const gchar * location)
video_bin = gst_bin_new ("v_decoder_bin"); video_bin = gst_bin_new ("v_decoder_bin");
v_queue = gst_element_factory_make_or_warn ("queue", "v_queue"); v_queue = gst_element_factory_make_or_warn ("queue", "v_queue");
v_decoder = gst_element_factory_make_or_warn ("theoradec", "v_dec"); v_decoder = gst_element_factory_make_or_warn ("theoradec", "v_dec");
v_convert = v_convert = gst_element_factory_make_or_warn ("videoconvert", "v_convert");
gst_element_factory_make_or_warn ("ffmpegcolorspace", "v_convert");
v_scale = gst_element_factory_make_or_warn ("videoscale", "v_scale"); v_scale = gst_element_factory_make_or_warn ("videoscale", "v_scale");
videosink = gst_element_factory_make_or_warn (VSINK, "v_sink"); videosink = gst_element_factory_make_or_warn (VSINK, "v_sink");
...@@ -645,8 +644,7 @@ make_avi_msmpeg4v3_mp3_pipeline (const gchar * location) ...@@ -645,8 +644,7 @@ make_avi_msmpeg4v3_mp3_pipeline (const gchar * location)
video_bin = gst_bin_new ("v_decoder_bin"); video_bin = gst_bin_new ("v_decoder_bin");
v_queue = gst_element_factory_make_or_warn ("queue", "v_queue"); v_queue = gst_element_factory_make_or_warn ("queue", "v_queue");
v_decoder = gst_element_factory_make_or_warn ("ffdec_msmpeg4", "v_dec"); v_decoder = gst_element_factory_make_or_warn ("ffdec_msmpeg4", "v_dec");
v_convert = v_convert = gst_element_factory_make_or_warn ("videoconvert", "v_convert");
gst_element_factory_make_or_warn ("ffmpegcolorspace", "v_convert");
videosink = gst_element_factory_make_or_warn (VSINK, "v_sink"); videosink = gst_element_factory_make_or_warn (VSINK, "v_sink");
gst_bin_add (GST_BIN (video_bin), v_queue); gst_bin_add (GST_BIN (video_bin), v_queue);
...@@ -826,7 +824,7 @@ make_mpeg_pipeline (const gchar * location) ...@@ -826,7 +824,7 @@ make_mpeg_pipeline (const gchar * location)
video_bin = gst_bin_new ("v_decoder_bin"); video_bin = gst_bin_new ("v_decoder_bin");
v_decoder = gst_element_factory_make_or_warn ("mpeg2dec", "v_dec"); v_decoder = gst_element_factory_make_or_warn ("mpeg2dec", "v_dec");
v_queue = gst_element_factory_make_or_warn ("queue", "v_queue"); v_queue = gst_element_factory_make_or_warn ("queue", "v_queue");
v_filter = gst_element_factory_make_or_warn ("ffmpegcolorspace", "v_filter"); v_filter = gst_element_factory_make_or_warn ("videoconvert", "v_filter");
videosink = gst_element_factory_make_or_warn (VSINK, "v_sink"); videosink = gst_element_factory_make_or_warn (VSINK, "v_sink");
gst_bin_add (GST_BIN (video_bin), v_decoder); gst_bin_add (GST_BIN (video_bin), v_decoder);
...@@ -904,7 +902,7 @@ make_mpegnt_pipeline (const gchar * location) ...@@ -904,7 +902,7 @@ make_mpegnt_pipeline (const gchar * location)
video_bin = gst_bin_new ("v_decoder_bin"); video_bin = gst_bin_new ("v_decoder_bin");
v_decoder = gst_element_factory_make_or_warn ("mpeg2dec", "v_dec"); v_decoder = gst_element_factory_make_or_warn ("mpeg2dec", "v_dec");
v_filter = gst_element_factory_make_or_warn ("ffmpegcolorspace", "v_filter"); v_filter = gst_element_factory_make_or_warn ("videoconvert", "v_filter");
videosink = gst_element_factory_make_or_warn (VSINK, "v_sink"); videosink = gst_element_factory_make_or_warn (VSINK, "v_sink");
gst_element_link_many (v_decoder, v_filter, videosink, NULL); gst_element_link_many (v_decoder, v_filter, videosink, NULL);
......
...@@ -50,7 +50,7 @@ main (int argc, char *argv[]) ...@@ -50,7 +50,7 @@ main (int argc, char *argv[])
/* create a new pipeline */ /* create a new pipeline */
descr = descr =
g_strdup_printf ("uridecodebin uri=%s ! ffmpegcolorspace ! videoscale ! " g_strdup_printf ("uridecodebin uri=%s ! videoconvert ! videoscale ! "
" appsink name=sink caps=\"" CAPS "\"", argv[1]); " appsink name=sink caps=\"" CAPS "\"", argv[1]);
pipeline = gst_parse_launch (descr, &error); pipeline = gst_parse_launch (descr, &error);
......
...@@ -86,11 +86,11 @@ main (gint argc, gchar * argv[]) ...@@ -86,11 +86,11 @@ main (gint argc, gchar * argv[])
/* create elements */ /* create elements */
pipeline = gst_element_factory_make ("pipeline", "pipeline"); pipeline = gst_element_factory_make ("pipeline", "pipeline");
src = gst_element_factory_make ("videotestsrc", "src"); src = gst_element_factory_make ("videotestsrc", "src");
c0 = gst_element_factory_make ("ffmpegcolorspace", NULL); c0 = gst_element_factory_make ("videoconvert", NULL);
toverlay = gst_element_factory_make ("timeoverlay", "timeoverlay"); toverlay = gst_element_factory_make ("timeoverlay", "timeoverlay");
osel = gst_element_factory_make ("output-selector", "osel"); osel = gst_element_factory_make ("output-selector", "osel");