|
|
|
@ -1148,6 +1148,7 @@ av_cold int ff_decklink_read_header(AVFormatContext *avctx) |
|
|
|
|
ctx->video_pts_source = cctx->video_pts_source; |
|
|
|
|
ctx->draw_bars = cctx->draw_bars; |
|
|
|
|
ctx->audio_depth = cctx->audio_depth; |
|
|
|
|
ctx->raw_format = (BMDPixelFormat)cctx->raw_format; |
|
|
|
|
cctx->ctx = ctx; |
|
|
|
|
|
|
|
|
|
/* Check audio channel option for valid values: 2, 8 or 16 */ |
|
|
|
@ -1270,7 +1271,7 @@ av_cold int ff_decklink_read_header(AVFormatContext *avctx) |
|
|
|
|
st->time_base.num = ctx->bmd_tb_num; |
|
|
|
|
st->r_frame_rate = av_make_q(st->time_base.den, st->time_base.num); |
|
|
|
|
|
|
|
|
|
switch((BMDPixelFormat)cctx->raw_format) { |
|
|
|
|
switch(ctx->raw_format) { |
|
|
|
|
case bmdFormat8BitYUV: |
|
|
|
|
st->codecpar->codec_id = AV_CODEC_ID_RAWVIDEO; |
|
|
|
|
st->codecpar->codec_tag = MKTAG('U', 'Y', 'V', 'Y'); |
|
|
|
@ -1303,7 +1304,9 @@ av_cold int ff_decklink_read_header(AVFormatContext *avctx) |
|
|
|
|
st->codecpar->bits_per_coded_sample = 10; |
|
|
|
|
break; |
|
|
|
|
default: |
|
|
|
|
av_log(avctx, AV_LOG_ERROR, "Raw Format %.4s not supported\n", (char*) &cctx->raw_format); |
|
|
|
|
char fourcc_str[AV_FOURCC_MAX_STRING_SIZE] = {0}; |
|
|
|
|
av_fourcc_make_string(fourcc_str, ctx->raw_format); |
|
|
|
|
av_log(avctx, AV_LOG_ERROR, "Raw Format %s not supported\n", fourcc_str); |
|
|
|
|
ret = AVERROR(EINVAL); |
|
|
|
|
goto error; |
|
|
|
|
} |
|
|
|
@ -1364,7 +1367,7 @@ av_cold int ff_decklink_read_header(AVFormatContext *avctx) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
result = ctx->dli->EnableVideoInput(ctx->bmd_mode, |
|
|
|
|
(BMDPixelFormat) cctx->raw_format, |
|
|
|
|
ctx->raw_format, |
|
|
|
|
bmdVideoInputFlagDefault); |
|
|
|
|
|
|
|
|
|
if (result != S_OK) { |
|
|
|
|