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