GNOME Bugzilla – Bug 429329
[videobox] add support for AYUV input
Last modified: 2007-05-28 15:01:53 UTC
Support for fourcc AYUV format on sink of videobox plugin.
Created attachment 87953 [details] [review] Adds AYUV support disabling transcoding I420 <-> AYUV Enables AYUV -> AYUV and I420 -> I420 to videobox and disables I420 -> AYUV transcoding.
As already pointed out on IRC: - please don't change indentation/style, that makes it harder to see the actual changes. There's ~/gstreamer/tools/gst-indent (which uses GNU indent) that you can run over your modified .c files (not the header files though please :)) - you can't remove features in elements in -good. On-the-fly I420 => AYUV conversion is a feature of videobox.
Created attachment 88524 [details] [review] Patch adding AYUV->AYUV and AYUV->I420 Added: - AYUV->AYUV conversion - AYUV->I420 conversion - caps problem fixed
Created attachment 88530 [details] [review] Patch adding AYUV->AYUV and AYUV->I420 Fixed U plane issue
AYUV -> AYUV example: gst-launch videotestsrc ! ffmpegcolorspace ! video/x-raw-yuv,format=\(fourcc\)AYUV ! videobox left=-30 right=21 top=-20 bottom=31 ! video/x-raw-yuv,format=\(fourcc\)AYUV ! ffmpegcolorspace ! autovideosink AYUV -> I420 example: gst-launch videotestsrc ! ffmpegcolorspace ! video/x-raw-yuv,format=\(fourcc\)AYUV ! videobox left=-30 right=21 top=-20 bottom=31 ! video/x-raw-yuv,format=\(fourcc\)I420 ! autovideosink I420 -> I420 example: gst-launch videotestsrc ! ffmpegcolorspace ! video/x-raw-yuv,format=\(fourcc\)I420 ! videobox left=-30 right=21 top=-20 bottom=31 ! video/x-raw-yuv,format=\(fourcc\)I420 ! autovideosink I420 -> AYUV example: gst-launch videotestsrc ! ffmpegcolorspace ! video/x-raw-yuv,format=\(fourcc\)I420 ! videobox left=-30 right=21 top=-20 bottom=31 ! video/x-raw-yuv,format=\(fourcc\)AYUV ! ffmpegcolorspace ! autovideosink
Based on patch by: Dejan Sakelšak <sakdean at gmail dot com> * gst/videobox/gstvideobox.c: (gst_video_box_class_init), (gst_video_box_set_property), (gst_video_box_transform_caps), (video_box_recalc_transform), (gst_video_box_set_caps), (gst_video_box_get_unit_size), (gst_video_box_apply_alpha), (gst_video_box_ayuv_ayuv), (gst_video_box_clear), (UVfloor), (UVceil), (gst_video_box_ayuv_i420), (gst_video_box_i420_ayuv), (gst_video_box_i420_i420), (gst_video_box_transform), (plugin_init): Add AYUV->AYUV and AYUV->I420 formats. Fix negotiation and I420->AYUV conversion. Fixes #429329.