From 08589317f83da94e1f90a2f1ae636b073e58d1e1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Fri, 19 Mar 2010 16:41:54 +0100 Subject: [PATCH] videotestsrc: Only set color-matrix and chroma-site for relevant formats The color-matrix only makes sense for colorful formats, i.e. not Y800 and the chroma-site only for non-4:4:4(:4) formats. --- gst/videotestsrc/videotestsrc.c | 35 ++++++++++++++++++++------------- 1 file changed, 21 insertions(+), 14 deletions(-) diff --git a/gst/videotestsrc/videotestsrc.c b/gst/videotestsrc/videotestsrc.c index 3e40c9fabd..659f518e07 100644 --- a/gst/videotestsrc/videotestsrc.c +++ b/gst/videotestsrc/videotestsrc.c @@ -679,26 +679,33 @@ paint_get_structure (struct fourcc_list_struct * format) structure = gst_structure_new ("video/x-raw-yuv", "format", GST_TYPE_FOURCC, fourcc, NULL); - g_value_init (&value_list, GST_TYPE_LIST); + if (fourcc != GST_STR_FOURCC ("Y800")) { + g_value_init (&value_list, GST_TYPE_LIST); - g_value_init (&value, G_TYPE_STRING); - g_value_set_static_string (&value, "sdtv"); - gst_value_list_append_value (&value_list, &value); + g_value_init (&value, G_TYPE_STRING); + g_value_set_static_string (&value, "sdtv"); + gst_value_list_append_value (&value_list, &value); - g_value_set_static_string (&value, "hdtv"); - gst_value_list_append_value (&value_list, &value); + g_value_set_static_string (&value, "hdtv"); + gst_value_list_append_value (&value_list, &value); - gst_structure_set_value (structure, "color-matrix", &value_list); - g_value_reset (&value_list); + gst_structure_set_value (structure, "color-matrix", &value_list); + g_value_reset (&value_list); - g_value_set_static_string (&value, "mpeg2"); - gst_value_list_append_value (&value_list, &value); + if (fourcc != GST_STR_FOURCC ("AYUV") && + fourcc != GST_STR_FOURCC ("v308") && + fourcc != GST_STR_FOURCC ("v410") && + fourcc != GST_STR_FOURCC ("Y444")) { + g_value_set_static_string (&value, "mpeg2"); + gst_value_list_append_value (&value_list, &value); - g_value_set_static_string (&value, "jpeg"); - gst_value_list_append_value (&value_list, &value); + g_value_set_static_string (&value, "jpeg"); + gst_value_list_append_value (&value_list, &value); - gst_structure_set_value (structure, "chroma-site", &value_list); - g_value_unset (&value_list); + gst_structure_set_value (structure, "chroma-site", &value_list); + } + g_value_unset (&value_list); + } } break; case VTS_BAYER: