Signed-off-by: Marton Balint <[email protected]>
---
libavdevice/decklink_common.cpp | 17 ++++++++++++++++-
1 file changed, 16 insertions(+), 1 deletion(-)
diff --git a/libavdevice/decklink_common.cpp b/libavdevice/decklink_common.cpp
index 04c0f99edc..53b57ffe4e 100644
--- a/libavdevice/decklink_common.cpp
+++ b/libavdevice/decklink_common.cpp
@@ -269,7 +269,22 @@ int ff_decklink_set_format(AVFormatContext *avctx,
if (ctx->bmd_mode == bmdModeUnknown)
return -1;
-#if BLACKMAGIC_DECKLINK_API_VERSION >= 0x0b000000
+#if BLACKMAGIC_DECKLINK_API_VERSION >= 0x0b050000
+ if (direction == DIRECTION_IN) {
+ BMDDisplayMode actualMode = ctx->bmd_mode;
+ if (ctx->dli->DoesSupportVideoMode(ctx->video_input, ctx->bmd_mode,
(BMDPixelFormat) cctx->raw_format,
+ bmdNoVideoInputConversion,
bmdSupportedVideoModeDefault,
+ &actualMode, &support) != S_OK ||
!support || ctx->bmd_mode != actualMode)
+ return -1;
+ } else {
+ BMDDisplayMode actualMode = ctx->bmd_mode;
+ if (ctx->dlo->DoesSupportVideoMode(bmdVideoConnectionUnspecified,
ctx->bmd_mode, ctx->raw_format,
+ bmdNoVideoOutputConversion,
bmdSupportedVideoModeDefault,
+ &actualMode, &support) != S_OK ||
!support || ctx->bmd_mode != actualMode)
+ return -1;
+ }
+ return 0;
+#elif BLACKMAGIC_DECKLINK_API_VERSION >= 0x0b000000
if (direction == DIRECTION_IN) {
if (ctx->dli->DoesSupportVideoMode(ctx->video_input, ctx->bmd_mode,
(BMDPixelFormat) cctx->raw_format,
bmdSupportedVideoModeDefault,
--
2.16.4
_______________________________________________
ffmpeg-devel mailing list
[email protected]
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
[email protected] with subject "unsubscribe".