mxfdemux: Add support for AYUV and v308 YUV colorspaces
authorSebastian Dröge <sebastian.droege@collabora.co.uk>
Mon, 16 Mar 2009 11:07:20 +0000 (12:07 +0100)
committerSebastian Dröge <sebastian.droege@collabora.co.uk>
Sat, 21 Mar 2009 09:19:48 +0000 (10:19 +0100)
gst/mxf/mxfup.c

index ccc34ff..d76690b 100644 (file)
@@ -132,6 +132,10 @@ mxf_up_rgba_create_caps (MXFMetadataTimelineTrack * track,
         && d->pixel_layout[4] == 'R' && d->pixel_layout[1] == 8
         && d->pixel_layout[3] == 8 && d->pixel_layout[5] == 8) {
       caps = gst_caps_from_string (GST_VIDEO_CAPS_BGR);
+    } else if (d->pixel_layout[0] == 'Y' && d->pixel_layout[2] == 'U'
+        && d->pixel_layout[4] == 'V' && d->pixel_layout[1] == 8
+        && d->pixel_layout[3] == 8 && d->pixel_layout[5] == 8) {
+      caps = gst_caps_from_string (GST_VIDEO_CAPS_YUV ("v308"));
     } else {
       GST_ERROR ("Unsupport 3 component pixel layout");
       return NULL;
@@ -177,6 +181,11 @@ mxf_up_rgba_create_caps (MXFMetadataTimelineTrack * track,
         && d->pixel_layout[1] == 8 && d->pixel_layout[3] == 8
         && d->pixel_layout[5] == 8 && d->pixel_layout[7] == 8) {
       caps = gst_caps_from_string (GST_VIDEO_CAPS_BGRA);
+    } else if (d->pixel_layout[0] == 'A' && d->pixel_layout[2] == 'Y'
+        && d->pixel_layout[4] == 'U' && d->pixel_layout[6] == 'V'
+        && d->pixel_layout[1] == 8 && d->pixel_layout[3] == 8
+        && d->pixel_layout[5] == 8 && d->pixel_layout[7] == 8) {
+      caps = gst_caps_from_string (GST_VIDEO_CAPS_YUV ("AYUV"));
     } else {
       GST_ERROR ("Unsupport 4 component pixel layout");
       return NULL;