From 3aeeee1597abd6c12308fbc2f4087d7c943166df Mon Sep 17 00:00:00 2001 From: James Almer Date: Tue, 8 Mar 2022 10:55:00 -0300 Subject: [PATCH] avcodec/hevc_refs: don't use the frame's AVBufferRef sizes when initializing planes Use the actual plane sizes instead. Reviewed-by: Anton Khirnov Signed-off-by: James Almer --- libavcodec/hevc_refs.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/libavcodec/hevc_refs.c b/libavcodec/hevc_refs.c index 35b8e5e696..fe18ca2b1d 100644 --- a/libavcodec/hevc_refs.c +++ b/libavcodec/hevc_refs.c @@ -401,9 +401,9 @@ static HEVCFrame *generate_missing_ref(HEVCContext *s, int poc) if (!s->avctx->hwaccel) { if (!s->ps.sps->pixel_shift) { - for (i = 0; frame->frame->buf[i]; i++) - memset(frame->frame->buf[i]->data, 1 << (s->ps.sps->bit_depth - 1), - frame->frame->buf[i]->size); + for (i = 0; frame->frame->data[i]; i++) + memset(frame->frame->data[i], 1 << (s->ps.sps->bit_depth - 1), + frame->frame->linesize[i] * AV_CEIL_RSHIFT(s->ps.sps->height, s->ps.sps->vshift[i])); } else { for (i = 0; frame->frame->data[i]; i++) for (y = 0; y < (s->ps.sps->height >> s->ps.sps->vshift[i]); y++) {