[FFmpeg-devel] [PATCH 6/7] avcodec/v210enc: Pass through bar data

Devin Heitmueller devin.heitmueller at ltnglobal.com
Wed Jun 7 23:22:26 EEST 2023


When encoding to V210, make sure the bar side data makes it through
in the resulting AVPacket.  This is needed so the decklink output
module can put out bar data as VANC when in 10-bit mode.

Signed-off-by: Devin Heitmueller <dheitmueller at ltnglobal.com>
---
 libavcodec/v210enc.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/libavcodec/v210enc.c b/libavcodec/v210enc.c
index 2a30ed7..69a2d72 100644
--- a/libavcodec/v210enc.c
+++ b/libavcodec/v210enc.c
@@ -103,6 +103,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_BARDATA);
+    if (side_data && side_data->size) {
+        uint8_t *buf = av_packet_new_side_data(pkt, AV_PKT_DATA_BARDATA, side_data->size);
+        if (!buf)
+            return AVERROR(ENOMEM);
+        memcpy(buf, side_data->data, side_data->size);
+    }
+
     *got_packet = 1;
     return 0;
 }
-- 
1.8.3.1



More information about the ffmpeg-devel mailing list