From de77207bfa57b8d884a4ac6f3dfe59badca92723 Mon Sep 17 00:00:00 2001 From: Thibault Saunier Date: Mon, 6 Jul 2020 22:13:55 -0400 Subject: x264enc: Forward downstream colorimetry and chroma-site upstream So that the value can be used by upstream converters when necessary. This whole logic has been copied from `__gst_video_element_proxy_caps` but those 2 fields were missing. Part-of: --- ext/x264/gstx264enc.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/ext/x264/gstx264enc.c b/ext/x264/gstx264enc.c index d28c6bdc..ad1dbd41 100644 --- a/ext/x264/gstx264enc.c +++ b/ext/x264/gstx264enc.c @@ -829,6 +829,8 @@ gst_x264_enc_sink_getcaps (GstVideoEncoder * enc, GstCaps * filter) const GValue *val; GstStructure *s; + /* FIXME Find a way to reuse gst_video_encoder_proxy_getcaps so that + * we do not need to copy that logic */ s = gst_structure_new_id_empty (q_name); if ((val = gst_structure_get_value (allowed_s, "width"))) gst_structure_set_value (s, "width", val); @@ -838,6 +840,10 @@ gst_x264_enc_sink_getcaps (GstVideoEncoder * enc, GstCaps * filter) gst_structure_set_value (s, "framerate", val); if ((val = gst_structure_get_value (allowed_s, "pixel-aspect-ratio"))) gst_structure_set_value (s, "pixel-aspect-ratio", val); + if ((val = gst_structure_get_value (allowed_s, "colorimetry"))) + gst_structure_set_value (s, "colorimetry", val); + if ((val = gst_structure_get_value (allowed_s, "chroma-site"))) + gst_structure_set_value (s, "chroma-site", val); if ((val = gst_structure_get_value (allowed_s, "profile"))) { gboolean has_420 = FALSE; -- cgit v1.2.3