diff mbox series

[FFmpeg-devel,18/39] lavc/hevcdec: only call export_stream_params_from_sei() once per frame

Message ID 20240607130135.9088-18-anton@khirnov.net
State New
Headers show
Series [FFmpeg-devel,01/39] lavc/hevcdec: do not free SliceHeader arrays in pic_arrays_free() | expand

Commit Message

Anton Khirnov June 7, 2024, 1:01 p.m. UTC
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 mbox series

Patch

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;