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.
This commit is contained in:
@@ -648,10 +648,6 @@ static int hls_slice_header(HEVCContext *s, GetBitContext *gb)
|
|||||||
s->max_ra = INT_MAX;
|
s->max_ra = INT_MAX;
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = export_stream_params_from_sei(s);
|
|
||||||
if (ret < 0)
|
|
||||||
return ret;
|
|
||||||
|
|
||||||
sh->dependent_slice_segment_flag = 0;
|
sh->dependent_slice_segment_flag = 0;
|
||||||
if (!sh->first_slice_in_pic_flag) {
|
if (!sh->first_slice_in_pic_flag) {
|
||||||
int slice_address_length;
|
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->export_side_data & AV_CODEC_EXPORT_DATA_FILM_GRAIN) &&
|
||||||
!s->avctx->hwaccel;
|
!s->avctx->hwaccel;
|
||||||
|
|
||||||
|
ret = export_stream_params_from_sei(s);
|
||||||
|
if (ret < 0)
|
||||||
|
return ret;
|
||||||
|
|
||||||
ret = set_side_data(s);
|
ret = set_side_data(s);
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
goto fail;
|
goto fail;
|
||||||
|
Reference in New Issue
Block a user