ffmpegcolorspace: Map "Y8 " and "GREY" to "Y800" and add it to the template caps
authorSebastian Dröge <sebastian.droege@collabora.co.uk>
Mon, 7 Jun 2010 06:31:25 +0000 (08:31 +0200)
committerSebastian Dröge <sebastian.droege@collabora.co.uk>
Mon, 7 Jun 2010 06:31:53 +0000 (08:31 +0200)
gst/ffmpegcolorspace/gstffmpegcodecmap.c

index 796b8c5..cde098f 100644 (file)
@@ -340,9 +340,22 @@ gst_ffmpeg_pixfmt_to_caps (enum PixelFormat pix_fmt, AVCodecContext * context)
     case PIX_FMT_YUV411P:
       fmt = GST_MAKE_FOURCC ('Y', '4', '1', 'B');
       break;
-    case PIX_FMT_Y800:
-      fmt = GST_MAKE_FOURCC ('Y', '8', '0', '0');
+    case PIX_FMT_Y800:{
+      GstCaps *tmp;
+
+      caps = gst_ff_vid_caps_new (context, "video/x-raw-yuv",
+          "format", GST_TYPE_FOURCC, GST_MAKE_FOURCC ('Y', '8', '0', '0'),
+          NULL);
+      tmp =
+          gst_ff_vid_caps_new (context, "video/x-raw-yuv", "format",
+          GST_TYPE_FOURCC, GST_MAKE_FOURCC ('Y', '8', ' ', ' '), NULL);
+      gst_caps_append (caps, tmp);
+      tmp = gst_ff_vid_caps_new (context, "video/x-raw-yuv",
+          "format", GST_TYPE_FOURCC, GST_MAKE_FOURCC ('G', 'R', 'E', 'Y'),
+          NULL);
+      gst_caps_append (caps, tmp);
       break;
+    }
     case PIX_FMT_Y16:
       fmt = GST_MAKE_FOURCC ('Y', '1', '6', ' ');
       break;
@@ -371,17 +384,10 @@ gst_ffmpeg_pixfmt_to_caps (enum PixelFormat pix_fmt, AVCodecContext * context)
     case PIX_FMT_AYUV4444:
       fmt = GST_MAKE_FOURCC ('A', 'Y', 'U', 'V');
       break;
-    case PIX_FMT_GRAY8:{
-      GstCaps *tmp;
-
+    case PIX_FMT_GRAY8:
       bpp = depth = 8;
       caps = gst_ff_vid_caps_new (context, "video/x-raw-gray",
           "bpp", G_TYPE_INT, bpp, "depth", G_TYPE_INT, depth, NULL);
-      tmp = gst_ff_vid_caps_new (context, "video/x-raw-yuv",
-          "format", GST_TYPE_FOURCC, GST_MAKE_FOURCC ('Y', '8', '0', '0'),
-          NULL);
-      gst_caps_append (caps, tmp);
-    }
       break;
     case PIX_FMT_GRAY16_L:
       bpp = depth = 16;