summaryrefslogtreecommitdiff
path: root/libavdevice/decklink_common.h
diff options
context:
space:
mode:
authorDevin Heitmueller <dheitmueller@ltnglobal.com>2018-09-07 15:40:25 -0400
committerMarton Balint <cus@passwd.hu>2018-09-09 22:42:26 +0200
commit8732dfa99549b8e233b50956cb27031e18806685 (patch)
treec560d907570eff24f15c4f152101c4e10ad4ccfb /libavdevice/decklink_common.h
parent6a9abe9ec333638b7818dac8ab60d006d5533c4a (diff)
downloadffmpeg-8732dfa99549b8e233b50956cb27031e18806685.tar.gz
avdevice/decklink: Add support for EIA-708 output over SDI
Hook in libklvanc and use it for output of EIA-708 captions over SDI. The bulk of this patch is just general support for ancillary data for the Decklink SDI module - the real work for construction of the EIA-708 CDP and VANC line construction is done by libklvanc. Libklvanc can be found at: https://github.com/stoth68000/libklvanc Updated to reflect feedback from Marton Balint <cus@passwd.hu>, Carl Eugen Hoyos <ceffmpeg@gmail.com>, Aaron Levinson <alevinsn_dev@levland.net>, and Moritz Barsnick <barsnick@gmx.net> Signed-off-by: Devin Heitmueller <dheitmueller@ltnglobal.com> Signed-off-by: Marton Balint <cus@passwd.hu>
Diffstat (limited to 'libavdevice/decklink_common.h')
-rw-r--r--libavdevice/decklink_common.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/libavdevice/decklink_common.h b/libavdevice/decklink_common.h
index 96b001c2d8..128144f50d 100644
--- a/libavdevice/decklink_common.h
+++ b/libavdevice/decklink_common.h
@@ -27,6 +27,9 @@
#include "libavutil/thread.h"
#include "decklink_common_c.h"
+#if CONFIG_LIBKLVANC
+#include "libklvanc/vanc.h"
+#endif
#ifdef _WIN32
#define DECKLINK_BOOL BOOL
@@ -97,6 +100,7 @@ struct decklink_ctx {
int bmd_width;
int bmd_height;
int bmd_field_dominance;
+ int supports_vanc;
/* Capture buffer queue */
AVPacketQueue queue;
@@ -114,6 +118,7 @@ struct decklink_ctx {
AVStream *audio_st;
AVStream *video_st;
AVStream *teletext_st;
+ uint16_t cdp_sequence_num;
/* Options */
int list_devices;
@@ -124,6 +129,7 @@ struct decklink_ctx {
DecklinkPtsSource audio_pts_source;
DecklinkPtsSource video_pts_source;
int draw_bars;
+ BMDPixelFormat raw_format;
int frames_preroll;
int frames_buffer;
@@ -133,6 +139,10 @@ struct decklink_ctx {
int frames_buffer_available_spots;
int autodetect;
+#if CONFIG_LIBKLVANC
+ struct klvanc_context_s *vanc_ctx;
+#endif
+
int channels;
int audio_depth;
};