From c8d9d15f5e8194bfde538481387383918dda6ebc Mon Sep 17 00:00:00 2001 From: Andreas Rheinhardt Date: Wed, 29 Jun 2022 15:20:45 +0200 Subject: avcodec/hevcdec: Don't initialize HEVCContexts twice The slicethread contexts need to be initialized for every frame, not only the first one, so one can remove the initialization when allocating these contexts, because the ordinary per-frame initialization will initialize them again just a few lines below. Signed-off-by: Andreas Rheinhardt --- libavcodec/hevcdec.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) (limited to 'libavcodec') diff --git a/libavcodec/hevcdec.c b/libavcodec/hevcdec.c index 3c95398b96..79e4c36d86 100644 --- a/libavcodec/hevcdec.c +++ b/libavcodec/hevcdec.c @@ -2662,8 +2662,6 @@ static int hls_slice_data_wpp(HEVCContext *s, const H2645NAL *nal) res = AVERROR(ENOMEM); goto error; } - memcpy(s->sList[i], s, sizeof(HEVCContext)); - s->sList[i]->HEVClc = s->HEVClcList[i]; } offset = (lc->gb.index >> 3); @@ -2702,10 +2700,10 @@ static int hls_slice_data_wpp(HEVCContext *s, const H2645NAL *nal) s->data = data; for (i = 1; i < s->threads_number; i++) { - s->sList[i]->HEVClc->first_qp_group = 1; - s->sList[i]->HEVClc->qp_y = s->sList[0]->HEVClc->qp_y; memcpy(s->sList[i], s, sizeof(HEVCContext)); s->sList[i]->HEVClc = s->HEVClcList[i]; + s->sList[i]->HEVClc->first_qp_group = 1; + s->sList[i]->HEVClc->qp_y = s->sList[0]->HEVClc->qp_y; } atomic_store(&s->wpp_err, 0); -- cgit v1.2.3