diff mbox series

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

Message ID 1686169347-28987-7-git-send-email-dheitmueller@ltnglobal.com
State New
Headers show
Series Misc AFD improvements and support for Bar Data | expand

Checks

Context Check Description
yinshiyou/make_loongarch64 success Make finished
yinshiyou/make_fate_loongarch64 success Make fate finished
andriy/make_x86 success Make finished
andriy/make_fate_x86 success Make fate finished

Commit Message

Devin Heitmueller June 7, 2023, 8:22 p.m. UTC
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@ltnglobal.com>
---
 libavcodec/v210enc.c | 8 ++++++++
 1 file changed, 8 insertions(+)
diff mbox series

Patch

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;
 }