From ad06b5444319b4cec636750a5815045cde720ff6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Thu, 29 Sep 2016 14:57:02 +0300 Subject: [PATCH] videoencoder: Proxy colorimetry and chroma-site from input to output caps https://bugzilla.gnome.org/show_bug.cgi?id=771376 --- gst-libs/gst/video/gstvideoencoder.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/gst-libs/gst/video/gstvideoencoder.c b/gst-libs/gst/video/gstvideoencoder.c index 2d687a80d9..3622b0a71e 100644 --- a/gst-libs/gst/video/gstvideoencoder.c +++ b/gst-libs/gst/video/gstvideoencoder.c @@ -1571,6 +1571,7 @@ gst_video_encoder_negotiate_default (GstVideoEncoder * encoder) GstQuery *query = NULL; GstVideoCodecFrame *frame; GstCaps *prevcaps; + gchar *colorimetry; g_return_val_if_fail (state->caps != NULL, FALSE); @@ -1603,6 +1604,16 @@ gst_video_encoder_negotiate_default (GstVideoEncoder * encoder) gst_video_field_order_to_string (GST_VIDEO_INFO_FIELD_ORDER (info)), NULL); + colorimetry = gst_video_colorimetry_to_string (&info->colorimetry); + if (colorimetry) + gst_caps_set_simple (state->caps, "colorimetry", G_TYPE_STRING, + colorimetry, NULL); + g_free (colorimetry); + + if (info->chroma_site != GST_VIDEO_CHROMA_SITE_UNKNOWN) + gst_caps_set_simple (state->caps, "chroma-site", G_TYPE_STRING, + gst_video_chroma_to_string (info->chroma_site), NULL); + if (GST_VIDEO_INFO_MULTIVIEW_MODE (info) != GST_VIDEO_MULTIVIEW_MODE_NONE) { const gchar *caps_mview_mode = gst_video_multiview_mode_to_caps_string (GST_VIDEO_INFO_MULTIVIEW_MODE