gamma: Add support for all other planar YUV formats

That is Y41B, Y42B, Y444, NV12 and NV21.
This commit is contained in:
Sebastian Dröge 2010-04-18 09:38:36 +02:00
parent 9f727ea05c
commit 2de3eabac6

View 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: