decklink: only expose HDR colorimetry if 2020 colorspace is supported

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7742>
This commit is contained in:
Matthew Waters 2024-10-22 18:06:46 +11:00 committed by GStreamer Marge Bot
parent 19a60f341c
commit 2832aab78a

View file

@ -1009,7 +1009,6 @@ gst_decklink_mode_get_caps (GstDecklinkModeEnum e, BMDDisplayModeFlags mode_flag
GstStructure *s = gst_structure_copy (generic); GstStructure *s = gst_structure_copy (generic);
gst_structure_set (s, "colorimetry", G_TYPE_STRING, "bt2020", NULL); gst_structure_set (s, "colorimetry", G_TYPE_STRING, "bt2020", NULL);
caps = gst_caps_merge_structure (caps, s); caps = gst_caps_merge_structure (caps, s);
}
if (dynamic_range & bmdDynamicRangeHDRStaticPQ) { if (dynamic_range & bmdDynamicRangeHDRStaticPQ) {
GstStructure *s = gst_structure_copy (generic); GstStructure *s = gst_structure_copy (generic);
@ -1022,6 +1021,7 @@ gst_decklink_mode_get_caps (GstDecklinkModeEnum e, BMDDisplayModeFlags mode_flag
gst_structure_set (s, "colorimetry", G_TYPE_STRING, "bt2100-hlg", NULL); gst_structure_set (s, "colorimetry", G_TYPE_STRING, "bt2100-hlg", NULL);
caps = gst_caps_merge_structure (caps, s); caps = gst_caps_merge_structure (caps, s);
} }
}
} else { } else {
caps = gst_caps_merge_structure (caps, generic); caps = gst_caps_merge_structure (caps, generic);
} }
@ -1938,7 +1938,6 @@ init_devices (gpointer data)
NULL); NULL);
video_input_caps = video_input_caps =
gst_caps_merge_structure (video_input_caps, s); gst_caps_merge_structure (video_input_caps, s);
}
if (dynamic_range & bmdDynamicRangeHDRStaticPQ) { if (dynamic_range & bmdDynamicRangeHDRStaticPQ) {
GstStructure *s = gst_structure_copy (generic); GstStructure *s = gst_structure_copy (generic);
@ -1955,6 +1954,7 @@ init_devices (gpointer data)
video_input_caps = video_input_caps =
gst_caps_merge_structure (video_input_caps, s); gst_caps_merge_structure (video_input_caps, s);
} }
}
gst_clear_structure (&generic); gst_clear_structure (&generic);
} }
@ -2029,7 +2029,6 @@ init_devices (gpointer data)
NULL); NULL);
video_input_caps = video_input_caps =
gst_caps_merge_structure (video_input_caps, s); gst_caps_merge_structure (video_input_caps, s);
}
if (dynamic_range & bmdDynamicRangeHDRStaticPQ) { if (dynamic_range & bmdDynamicRangeHDRStaticPQ) {
GstStructure *s = gst_structure_copy (generic); GstStructure *s = gst_structure_copy (generic);
@ -2046,6 +2045,8 @@ init_devices (gpointer data)
video_input_caps = video_input_caps =
gst_caps_merge_structure (video_input_caps, s); gst_caps_merge_structure (video_input_caps, s);
} }
}
gst_clear_structure (&generic); gst_clear_structure (&generic);
} }