mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-03-27 11:32:51 +00:00
Add NTSC/PAL widescreen formats always to the template caps
This commit is contained in:
parent
3d40e2f547
commit
420a90b00b
1 changed files with 24 additions and 23 deletions
|
@ -166,33 +166,34 @@ GstCaps *gst_ntv2_supported_caps(NTV2DeviceID device_id) {
|
|||
|
||||
for (gsize i = 0; i < G_N_ELEMENTS(format_map); i++) {
|
||||
const FormatMapEntry &format = format_map[i];
|
||||
GstCaps *tmp = NULL;
|
||||
|
||||
if (device_id == DEVICE_ID_INVALID) {
|
||||
gst_caps_append(caps, gst_aja_video_format_to_caps(format.gst_format));
|
||||
} else {
|
||||
if ((format.aja_format != NTV2_FORMAT_UNKNOWN &&
|
||||
::NTV2DeviceCanDoVideoFormat(device_id, format.aja_format)) ||
|
||||
(format.quad_format != NTV2_FORMAT_UNKNOWN &&
|
||||
::NTV2DeviceCanDoVideoFormat(device_id, format.quad_format))) {
|
||||
GstCaps *tmp = gst_aja_video_format_to_caps(format.gst_format);
|
||||
tmp = gst_aja_video_format_to_caps(format.gst_format);
|
||||
} else if ((format.aja_format != NTV2_FORMAT_UNKNOWN &&
|
||||
::NTV2DeviceCanDoVideoFormat(device_id, format.aja_format)) ||
|
||||
(format.quad_format != NTV2_FORMAT_UNKNOWN &&
|
||||
::NTV2DeviceCanDoVideoFormat(device_id, format.quad_format))) {
|
||||
tmp = gst_aja_video_format_to_caps(format.gst_format);
|
||||
}
|
||||
|
||||
// Widescreen PAL/NTSC
|
||||
if (format.gst_format == GST_AJA_VIDEO_FORMAT_525_2398 ||
|
||||
format.gst_format == GST_AJA_VIDEO_FORMAT_525_2400 ||
|
||||
format.gst_format == GST_AJA_VIDEO_FORMAT_525_5994) {
|
||||
GstCaps *tmp2 = gst_caps_copy(tmp);
|
||||
gst_caps_set_simple(tmp2, "pixel-aspect-ratio", GST_TYPE_FRACTION, 40,
|
||||
33, NULL);
|
||||
gst_caps_append(tmp, tmp2);
|
||||
} else if (format.gst_format == GST_AJA_VIDEO_FORMAT_625_5000) {
|
||||
GstCaps *tmp2 = gst_caps_copy(tmp);
|
||||
gst_caps_set_simple(tmp2, "pixel-aspect-ratio", GST_TYPE_FRACTION, 16,
|
||||
11, NULL);
|
||||
gst_caps_append(tmp, tmp2);
|
||||
}
|
||||
|
||||
gst_caps_append(caps, tmp);
|
||||
if (tmp) {
|
||||
// Widescreen PAL/NTSC
|
||||
if (format.gst_format == GST_AJA_VIDEO_FORMAT_525_2398 ||
|
||||
format.gst_format == GST_AJA_VIDEO_FORMAT_525_2400 ||
|
||||
format.gst_format == GST_AJA_VIDEO_FORMAT_525_5994) {
|
||||
GstCaps *tmp2 = gst_caps_copy(tmp);
|
||||
gst_caps_set_simple(tmp2, "pixel-aspect-ratio", GST_TYPE_FRACTION, 40,
|
||||
33, NULL);
|
||||
gst_caps_append(tmp, tmp2);
|
||||
} else if (format.gst_format == GST_AJA_VIDEO_FORMAT_625_5000) {
|
||||
GstCaps *tmp2 = gst_caps_copy(tmp);
|
||||
gst_caps_set_simple(tmp2, "pixel-aspect-ratio", GST_TYPE_FRACTION, 16,
|
||||
11, NULL);
|
||||
gst_caps_append(tmp, tmp2);
|
||||
}
|
||||
|
||||
gst_caps_append(caps, tmp);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue