gamma: Add support for all other planar YUV formats
authorSebastian Dröge <sebastian.droege@collabora.co.uk>
Sun, 18 Apr 2010 07:38:36 +0000 (09:38 +0200)
committerSebastian Dröge <sebastian.droege@collabora.co.uk>
Thu, 29 Apr 2010 17:28:19 +0000 (19:28 +0200)
That is Y41B, Y42B, Y444, NV12 and NV21.

gst/videofilter/gstgamma.c

index e7306d2..1b63a86 100644 (file)
@@ -68,14 +68,16 @@ static GstStaticPadTemplate gst_gamma_src_template =
 GST_STATIC_PAD_TEMPLATE ("src",
     GST_PAD_SRC,
     GST_PAD_ALWAYS,
-    GST_STATIC_CAPS (GST_VIDEO_CAPS_YUV ("{ IYUV, I420, YV12 }"))
+    GST_STATIC_CAPS (GST_VIDEO_CAPS_YUV
+        ("{ IYUV, I420, YV12, Y41B, Y42B, Y444, NV12, NV21 }"))
     );
 
 static GstStaticPadTemplate gst_gamma_sink_template =
 GST_STATIC_PAD_TEMPLATE ("sink",
     GST_PAD_SINK,
     GST_PAD_ALWAYS,
-    GST_STATIC_CAPS (GST_VIDEO_CAPS_YUV ("{ IYUV, I420, YV12 }"))
+    GST_STATIC_CAPS (GST_VIDEO_CAPS_YUV
+        ("{ IYUV, I420, YV12, Y41B, Y42B, Y444, NV12, NV21 }"))
     );
 
 static void gst_gamma_set_property (GObject * object, guint prop_id,
@@ -241,6 +243,11 @@ gst_gamma_set_caps (GstBaseTransform * base, GstCaps * incaps,
   switch (gamma->format) {
     case GST_VIDEO_FORMAT_I420:
     case GST_VIDEO_FORMAT_YV12:
+    case GST_VIDEO_FORMAT_Y41B:
+    case GST_VIDEO_FORMAT_Y42B:
+    case GST_VIDEO_FORMAT_Y444:
+    case GST_VIDEO_FORMAT_NV12:
+    case GST_VIDEO_FORMAT_NV21:
       gamma->process = gst_gamma_planar_ip;
       break;
     default: