From bd3c27fd7aa35ab3c0de03ffff598840634c7c2f Mon Sep 17 00:00:00 2001 From: Marton Balint <cus@passwd.hu> Date: Thu, 6 Sep 2018 22:46:18 +0200 Subject: [PATCH] avdevice/decklink_enc: add support for setting duplex mode Signed-off-by: Marton Balint <cus@passwd.hu> --- doc/outdevs.texi | 4 ++++ libavdevice/decklink_enc.cpp | 1 + libavdevice/decklink_enc_c.c | 4 ++++ libavdevice/version.h | 2 +- 4 files changed, 10 insertions(+), 1 deletion(-) diff --git a/doc/outdevs.texi b/doc/outdevs.texi index 30d376d793a..34c508a9700 100644 --- a/doc/outdevs.texi +++ b/doc/outdevs.texi @@ -150,6 +150,10 @@ Defaults to @option{false}. Amount of time to preroll video in seconds. Defaults to @option{0.5}. +@item duplex_mode +Sets the decklink device duplex mode. Must be @samp{unset}, @samp{half} or @samp{full}. +Defaults to @samp{unset}. + @end table @subsection Examples diff --git a/libavdevice/decklink_enc.cpp b/libavdevice/decklink_enc.cpp index ee4c962add7..de562bd22d7 100644 --- a/libavdevice/decklink_enc.cpp +++ b/libavdevice/decklink_enc.cpp @@ -395,6 +395,7 @@ av_cold int ff_decklink_write_header(AVFormatContext *avctx) ctx->list_devices = cctx->list_devices; ctx->list_formats = cctx->list_formats; ctx->preroll = cctx->preroll; + ctx->duplex_mode = cctx->duplex_mode; cctx->ctx = ctx; /* List available devices and exit. */ diff --git a/libavdevice/decklink_enc_c.c b/libavdevice/decklink_enc_c.c index 360535cfdaa..6169078159c 100644 --- a/libavdevice/decklink_enc_c.c +++ b/libavdevice/decklink_enc_c.c @@ -31,6 +31,10 @@ static const AVOption options[] = { { "list_devices", "list available devices" , OFFSET(list_devices), AV_OPT_TYPE_INT , { .i64 = 0 }, 0, 1, ENC }, { "list_formats", "list supported formats" , OFFSET(list_formats), AV_OPT_TYPE_INT , { .i64 = 0 }, 0, 1, ENC }, { "preroll" , "video preroll in seconds", OFFSET(preroll ), AV_OPT_TYPE_DOUBLE, { .dbl = 0.5 }, 0, 5, ENC }, + { "duplex_mode" , "duplex mode" , OFFSET(duplex_mode ), AV_OPT_TYPE_INT , { .i64 = 0 }, 0, 2, ENC, "duplex_mode"}, + { "unset" , NULL , 0 , AV_OPT_TYPE_CONST , { .i64 = 0 }, 0, 0, ENC, "duplex_mode"}, + { "half" , NULL , 0 , AV_OPT_TYPE_CONST , { .i64 = 1 }, 0, 0, ENC, "duplex_mode"}, + { "full" , NULL , 0 , AV_OPT_TYPE_CONST , { .i64 = 2 }, 0, 0, ENC, "duplex_mode"}, { NULL }, }; diff --git a/libavdevice/version.h b/libavdevice/version.h index 99041492887..c10081461d9 100644 --- a/libavdevice/version.h +++ b/libavdevice/version.h @@ -29,7 +29,7 @@ #define LIBAVDEVICE_VERSION_MAJOR 58 #define LIBAVDEVICE_VERSION_MINOR 4 -#define LIBAVDEVICE_VERSION_MICRO 101 +#define LIBAVDEVICE_VERSION_MICRO 102 #define LIBAVDEVICE_VERSION_INT AV_VERSION_INT(LIBAVDEVICE_VERSION_MAJOR, \ LIBAVDEVICE_VERSION_MINOR, \ -- GitLab