diff options
author | Limin Wang <lance.lmwang@gmail.com> | 2020-06-11 12:50:46 +0800 |
---|---|---|
committer | Limin Wang <lance.lmwang@gmail.com> | 2020-06-15 07:19:55 +0800 |
commit | 4b3b217e3074687f2b55a1dfb3e6942c9f261908 (patch) | |
tree | ffa158876fd22ce7c5d2975d668d250a0274dbbd /libavcodec/h264_slice.c | |
parent | 567d571b2015819abbb5de953ebb30bca69645a8 (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.c | 14 |
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; |