mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-25 11:11:08 +00:00
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:
parent
19a60f341c
commit
2832aab78a
1 changed files with 40 additions and 39 deletions
|
@ -1009,18 +1009,18 @@ 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);
|
||||||
gst_structure_set (s, "colorimetry", G_TYPE_STRING, "bt2100-pq", NULL);
|
gst_structure_set (s, "colorimetry", G_TYPE_STRING, "bt2100-pq", NULL);
|
||||||
caps = gst_caps_merge_structure (caps, s);
|
caps = gst_caps_merge_structure (caps, s);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (dynamic_range & bmdDynamicRangeHDRStaticHLG) {
|
if (dynamic_range & bmdDynamicRangeHDRStaticHLG) {
|
||||||
GstStructure *s = gst_structure_copy (generic);
|
GstStructure *s = gst_structure_copy (generic);
|
||||||
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,22 +1938,22 @@ 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);
|
||||||
gst_structure_set (s, "colorimetry", G_TYPE_STRING, "bt2100-pq",
|
gst_structure_set (s, "colorimetry", G_TYPE_STRING, "bt2100-pq",
|
||||||
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 & bmdDynamicRangeHDRStaticHLG) {
|
if (dynamic_range & bmdDynamicRangeHDRStaticHLG) {
|
||||||
GstStructure *s = gst_structure_copy (generic);
|
GstStructure *s = gst_structure_copy (generic);
|
||||||
gst_structure_set (s, "colorimetry", G_TYPE_STRING, "bt2100-hlg",
|
gst_structure_set (s, "colorimetry", G_TYPE_STRING, "bt2100-hlg",
|
||||||
NULL);
|
NULL);
|
||||||
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,23 +2029,24 @@ 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) {
|
||||||
|
GstStructure *s = gst_structure_copy (generic);
|
||||||
|
gst_structure_set (s, "colorimetry", G_TYPE_STRING, "bt2100-pq",
|
||||||
|
NULL);
|
||||||
|
video_input_caps =
|
||||||
|
gst_caps_merge_structure (video_input_caps, s);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (dynamic_range & bmdDynamicRangeHDRStaticHLG) {
|
||||||
|
GstStructure *s = gst_structure_copy (generic);
|
||||||
|
gst_structure_set (s, "colorimetry", G_TYPE_STRING, "bt2100-hlg",
|
||||||
|
NULL);
|
||||||
|
video_input_caps =
|
||||||
|
gst_caps_merge_structure (video_input_caps, s);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (dynamic_range & bmdDynamicRangeHDRStaticPQ) {
|
|
||||||
GstStructure *s = gst_structure_copy (generic);
|
|
||||||
gst_structure_set (s, "colorimetry", G_TYPE_STRING, "bt2100-pq",
|
|
||||||
NULL);
|
|
||||||
video_input_caps =
|
|
||||||
gst_caps_merge_structure (video_input_caps, s);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (dynamic_range & bmdDynamicRangeHDRStaticHLG) {
|
|
||||||
GstStructure *s = gst_structure_copy (generic);
|
|
||||||
gst_structure_set (s, "colorimetry", G_TYPE_STRING, "bt2100-hlg",
|
|
||||||
NULL);
|
|
||||||
video_input_caps =
|
|
||||||
gst_caps_merge_structure (video_input_caps, s);
|
|
||||||
}
|
|
||||||
gst_clear_structure (&generic);
|
gst_clear_structure (&generic);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue