]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
media: hantro: HEVC: Fix reference frames management
authorBenjamin Gaignard <benjamin.gaignard@collabora.com>
Tue, 3 May 2022 13:51:38 +0000 (15:51 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 17 Aug 2022 12:41:01 +0000 (14:41 +0200)
commit1355f7a140d7cf0ad9cd3a2cf69910674869b956
tree251ea6320c1dc1ff1c882a242771684575e0439b
parent29268afb3f23276a3efbda92bfc7f7fbe1123014
media: hantro: HEVC: Fix reference frames management

[ Upstream commit 387d1176956883635c63a7d1c91b1f45e19c1777 ]

PoC shall be int the range of -2^31 to 2^31 -1
(HEVC spec section 8.3.1 Decoding process for picture order count).
The current way to know if an entry in reference picture array is free
is to test if PoC = UNUSED_REF. Since UNUSED_REF is defined as '-1' that
could lead to decode issue if one PoC also equal '-1'.
PoC with value = '-1' exists in conformance test SLIST_B_Sony_9.

Change the way unused entries are managed in reference pictures array to
avoid using PoC to detect then.

This patch doesn't change fluster HEVC score.

Signed-off-by: Benjamin Gaignard <benjamin.gaignard@collabora.com>
Reviewed-by: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/staging/media/hantro/hantro_g2_hevc_dec.c
drivers/staging/media/hantro/hantro_hevc.c
drivers/staging/media/hantro/hantro_hw.h