[FFmpeg-cvslog] avcodec/v210enc: Pass through Active Format Description (AFD) data

Devin Heitmueller git at videolan.org
Sun Sep 9 23:52:09 EEST 2018


ffmpeg | branch: master | Devin Heitmueller <dheitmueller at ltnglobal.com> | Fri Sep  7 15:40:27 2018 -0400| [fb9d4f5c3e27be34d13958325ff84fffa0dea70f] | committer: Marton Balint

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 at ltnglobal.com>
Signed-off-by: Marton Balint <cus at passwd.hu>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=fb9d4f5c3e27be34d13958325ff84fffa0dea70f
---

 libavcodec/v210enc.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/libavcodec/v210enc.c b/libavcodec/v210enc.c
index b9dcf9a672..b024806d0b 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;



More information about the ffmpeg-cvslog mailing list