summaryrefslogtreecommitdiff
path: root/libavcodec/h264_slice.c
diff options
context:
space:
mode:
authorLimin Wang <lance.lmwang@gmail.com>2020-06-11 12:50:46 +0800
committerLimin Wang <lance.lmwang@gmail.com>2020-06-15 07:19:55 +0800
commit4b3b217e3074687f2b55a1dfb3e6942c9f261908 (patch)
treeffa158876fd22ce7c5d2975d668d250a0274dbbd /libavcodec/h264_slice.c
parent567d571b2015819abbb5de953ebb30bca69645a8 (diff)
avcodec/h264: create user data unregistered SEI side data for H.264
Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
Diffstat (limited to 'libavcodec/h264_slice.c')
-rw-r--r--libavcodec/h264_slice.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/libavcodec/h264_slice.c b/libavcodec/h264_slice.c
index 713953778a..47f39173cb 100644
--- a/libavcodec/h264_slice.c
+++ b/libavcodec/h264_slice.c
@@ -1289,6 +1289,20 @@ static int h264_export_frame_props(H264Context *h)
h->avctx->properties |= FF_CODEC_PROPERTY_CLOSED_CAPTIONS;
}
+ for (int i = 0; i < h->sei.unregistered.nb_buf_ref; i++) {
+ H264SEIUnregistered *unreg = &h->sei.unregistered;
+
+ if (unreg->buf_ref[i]) {
+ AVFrameSideData *sd = av_frame_new_side_data_from_buf(cur->f,
+ AV_FRAME_DATA_SEI_UNREGISTERED,
+ unreg->buf_ref[i]);
+ if (!sd)
+ av_buffer_unref(&unreg->buf_ref[i]);
+ unreg->buf_ref[i] = NULL;
+ }
+ }
+ h->sei.unregistered.nb_buf_ref = 0;
+
if (h->sei.picture_timing.timecode_cnt > 0) {
uint32_t tc = 0;
uint32_t *tc_sd;