On Thu, Sep 17, 2020 at 9:35 PM James Almer <jamr...@gmail.com> wrote:
> Signed-off-by: James Almer <jamr...@gmail.com> > --- > libavcodec/hevcdec.c | 19 +++++++++++++++++++ > 1 file changed, 19 insertions(+) > > diff --git a/libavcodec/hevcdec.c b/libavcodec/hevcdec.c > index 1f3ea54d39..2481730788 100644 > --- a/libavcodec/hevcdec.c > +++ b/libavcodec/hevcdec.c > @@ -3548,6 +3548,25 @@ static int > hevc_update_thread_context(AVCodecContext *dst, > return AVERROR(ENOMEM); > } > > + for (i = 0; i < s->sei.unregistered.nb_buf_ref; i++) > + av_buffer_unref(&s->sei.unregistered.buf_ref[i]); > + s->sei.unregistered.nb_buf_ref = 0; > Is it possible to define a new function ff_hevc_reset_sei_unregistered, then we can reuse the function here and in ff_hevc_reset_sei? > + > + if (s0->sei.unregistered.nb_buf_ref) { > + ret = av_reallocp_array(&s->sei.unregistered.buf_ref, > + s0->sei.unregistered.nb_buf_ref, > + sizeof(*s0->sei.unregistered.buf_ref)); > This will call copy &s->sei.unregistered.buf_ref, but it's not needed. + if (ret < 0) > + return ret; > + > + for (i = 0; i < s0->sei.unregistered.nb_buf_ref; i++) { > + s->sei.unregistered.buf_ref[i] = > av_buffer_ref(s0->sei.unregistered.buf_ref[i]); > + if (!s->sei.unregistered.buf_ref[i]) > + return AVERROR(ENOMEM); > + s->sei.unregistered.nb_buf_ref++; > + } > + } > + > s->sei.frame_packing = s0->sei.frame_packing; > s->sei.display_orientation = s0->sei.display_orientation; > s->sei.mastering_display = s0->sei.mastering_display; > -- > 2.27.0 > > _______________________________________________ > ffmpeg-devel mailing list > ffmpeg-devel@ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-devel > > To unsubscribe, visit link above, or email > ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe". _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".