diff options
author | Thibault Saunier <tsaunier@igalia.com> | 2020-07-06 22:13:55 -0400 |
---|---|---|
committer | Thibault Saunier <tsaunier@igalia.com> | 2020-07-10 08:47:29 -0400 |
commit | de77207bfa57b8d884a4ac6f3dfe59badca92723 (patch) | |
tree | 048d9bd3a588dcc0c8b5c0c664f74be9c8f38340 | |
parent | 9c1aacb6351c3823b6c4b438abd0aead20a65aa2 (diff) |
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: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-ugly/-/merge_requests/60>
-rw-r--r-- | ext/x264/gstx264enc.c | 6 |
1 files changed, 6 insertions, 0 deletions
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; |