Commit 6a9abe9e authored by Devin Heitmueller's avatar Devin Heitmueller Committed by Marton Balint

avcodec/v210enc: Pass through A53 CC data

When encoding to V210, make sure the CC side data makes it through
in the resulting AVPacket.  This is needed so the decklink output
module can put out captions when in 10-bit mode.
Signed-off-by: 's avatarDevin Heitmueller <dheitmueller@ltnglobal.com>
Signed-off-by: 's avatarMarton Balint <cus@passwd.hu>
parent edafb9f5
......@@ -123,6 +123,7 @@ static int encode_frame(AVCodecContext *avctx, AVPacket *pkt,
int aligned_width = ((avctx->width + 47) / 48) * 48;
int stride = aligned_width * 8 / 3;
int line_padding = stride - ((avctx->width * 8 + 11) / 12) * 4;
AVFrameSideData *side_data;
int h, w, ret;
uint8_t *dst;
......@@ -233,6 +234,14 @@ static int encode_frame(AVCodecContext *avctx, AVPacket *pkt,
}
}
side_data = av_frame_get_side_data(pic, AV_FRAME_DATA_A53_CC);
if (side_data && side_data->size) {
uint8_t *buf = av_packet_new_side_data(pkt, AV_PKT_DATA_A53_CC, 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;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment