You've already forked FFmpeg
mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-08-10 06:10:52 +02:00
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 <andreas.rheinhardt@outlook.com>
This commit is contained in:
@@ -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);
|
||||
|
Reference in New Issue
Block a user