From 07eb60c0da34d146b72064ec1f316d64a6ac7ebb Mon Sep 17 00:00:00 2001 From: Anton Khirnov Date: Sat, 1 Jun 2024 16:24:00 +0200 Subject: [PATCH] lavc/hevcdec: only call export_stream_params_from_sei() once per frame Not once per each slice header, as it makes no sense and may cause races with frame threading. --- libavcodec/hevc/hevcdec.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/libavcodec/hevc/hevcdec.c b/libavcodec/hevc/hevcdec.c index dd3c188418..bf6e93ba1b 100644 --- a/libavcodec/hevc/hevcdec.c +++ b/libavcodec/hevc/hevcdec.c @@ -648,10 +648,6 @@ static int hls_slice_header(HEVCContext *s, GetBitContext *gb) s->max_ra = INT_MAX; } - ret = export_stream_params_from_sei(s); - if (ret < 0) - return ret; - sh->dependent_slice_segment_flag = 0; if (!sh->first_slice_in_pic_flag) { int slice_address_length; @@ -2965,6 +2961,10 @@ static int hevc_frame_start(HEVCContext *s) !(s->avctx->export_side_data & AV_CODEC_EXPORT_DATA_FILM_GRAIN) && !s->avctx->hwaccel; + ret = export_stream_params_from_sei(s); + if (ret < 0) + return ret; + ret = set_side_data(s); if (ret < 0) goto fail;