media: verisilicon: av1: Fix reference video buffer pointer assignment
commit 672f24ed6ebcd986688c6674a6d994a265fefc25 upstream.
Always get new destination buffer for reference frame because nothing
garantees the one set previously is still valid or unused.
Fixes this chromium test suite:
https://chromium.googlesource.com/chromium/src/media/+/refs/heads/main/test/data/test-25fps.av1.ivf
Fixes: 727a400686 ("media: verisilicon: Add Rockchip AV1 decoder")
Cc: <stable@vger.kernel.org>
Signed-off-by: Benjamin Gaignard <benjamin.gaignard@collabora.com>
Reviewed-by: Nicolas Dufresne <nicolas.dufresne@collabora.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
[hverkuil: fix typo and add link to chromium test suite]
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
4f0904a175
commit
ff1c45c865
@@ -161,8 +161,7 @@ static int rockchip_vpu981_av1_dec_frame_ref(struct hantro_ctx *ctx,
|
||||
av1_dec->frame_refs[i].timestamp = timestamp;
|
||||
av1_dec->frame_refs[i].frame_type = frame->frame_type;
|
||||
av1_dec->frame_refs[i].order_hint = frame->order_hint;
|
||||
if (!av1_dec->frame_refs[i].vb2_ref)
|
||||
av1_dec->frame_refs[i].vb2_ref = hantro_get_dst_buf(ctx);
|
||||
av1_dec->frame_refs[i].vb2_ref = hantro_get_dst_buf(ctx);
|
||||
|
||||
for (j = 0; j < V4L2_AV1_TOTAL_REFS_PER_FRAME; j++)
|
||||
av1_dec->frame_refs[i].order_hints[j] = frame->order_hints[j];
|
||||
|
||||
Reference in New Issue
Block a user