From fb9d4f5c3e27be34d13958325ff84fffa0dea70f Mon Sep 17 00:00:00 2001 From: Devin Heitmueller <dheitmueller@ltnglobal.com> Date: Fri, 7 Sep 2018 15:40:27 -0400 Subject: [PATCH] avcodec/v210enc: Pass through Active Format Description (AFD) data When encoding to V210, make sure the AFD side data makes it through in the resulting AVPacket. This is needed so the decklink output module can put out AFD when in 10-bit mode. Signed-off-by: Devin Heitmueller <dheitmueller@ltnglobal.com> Signed-off-by: Marton Balint <cus@passwd.hu> --- libavcodec/v210enc.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/libavcodec/v210enc.c b/libavcodec/v210enc.c index b9dcf9a6725..b024806d0b4 100644 --- a/libavcodec/v210enc.c +++ b/libavcodec/v210enc.c @@ -242,6 +242,14 @@ static int encode_frame(AVCodecContext *avctx, AVPacket *pkt, memcpy(buf, side_data->data, side_data->size); } + side_data = av_frame_get_side_data(pic, AV_FRAME_DATA_AFD); + if (side_data && side_data->size) { + uint8_t *buf = av_packet_new_side_data(pkt, AV_PKT_DATA_AFD, side_data->size); + if (!buf) + return AVERROR(ENOMEM); + memcpy(buf, side_data->data, side_data->size); + } + pkt->flags |= AV_PKT_FLAG_KEY; *got_packet = 1; return 0; -- GitLab