summaryrefslogtreecommitdiff
path: root/sys/decklink
diff options
context:
space:
mode:
authorSebastian Dröge <sebastian@centricular.com>2020-01-08 07:42:21 +0200
committerSebastian Dröge <sebastian@centricular.com>2020-01-09 12:54:04 +0200
commite4389146d9cf32a25998d352d351b3b71e13231b (patch)
tree404a5e85c879355105b0a6712a3d2146faa5e6da /sys/decklink
parent04c5a550adae36e831b6f457ca72c9a130f3c4b6 (diff)
downloadgstreamer-plugins-bad-e4389146d9cf32a25998d352d351b3b71e13231b.tar.gz
decklinkvideosink: Always configure 10 bit YUV for VANC frames
If 8 bit are required by the device/mode then it will be converted internally by the SDK, but the SDK won't automatically convert from 8 to 10 bit. As such, always use 10 bit VANC. Some devices require configuring also a 10 bit video format when using 10 bit VANC is required but those would fail regardless and the application would have to configure the correct video format. With newer versions of the SDK this information can be retrieved via the BMDDeckLinkVANCRequires10BitYUVVideoFrames flag but we don't use a new enough SDK version yet to extract this information.
Diffstat (limited to 'sys/decklink')
-rw-r--r--sys/decklink/gstdecklinkvideosink.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/sys/decklink/gstdecklinkvideosink.cpp b/sys/decklink/gstdecklinkvideosink.cpp
index 5ddbe0a2a..0061a2ded 100644
--- a/sys/decklink/gstdecklinkvideosink.cpp
+++ b/sys/decklink/gstdecklinkvideosink.cpp
@@ -916,8 +916,8 @@ write_vbi (GstDecklinkVideoSink * self, GstBuffer * buffer,
if (self->vbiencoder == NULL) {
self->vbiencoder =
- gst_video_vbi_encoder_new (self->info.finfo->format, self->info.width);
- self->anc_vformat = self->info.finfo->format;
+ gst_video_vbi_encoder_new (GST_VIDEO_FORMAT_v210, self->info.width);
+ self->anc_vformat = GST_VIDEO_FORMAT_v210;
}
/* Put any closed captions into the configured line */
@@ -1012,7 +1012,7 @@ write_vbi (GstDecklinkVideoSink * self, GstBuffer * buffer,
}
if ((got_captions || self->afd_bar_line != 0)
- && self->output->output->CreateAncillaryData (format,
+ && self->output->output->CreateAncillaryData (bmdFormat10BitYUV,
&vanc_frame) == S_OK) {
GstVideoAFDMeta *afd_meta = NULL, *afd_meta2 = NULL;
GstVideoBarMeta *bar_meta = NULL, *bar_meta2 = NULL;