]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
media: cedrus: h265: Fix logic for not low delay flag
authorJernej Skrabec <jernej.skrabec@gmail.com>
Mon, 20 Jun 2022 17:55:12 +0000 (18:55 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 17 Aug 2022 12:41:06 +0000 (14:41 +0200)
commit66f43cb18c32f3dc792a3a58bd7841027514c5ec
tree431c78796270d5549e713da0a1b78da7f80e3a5e
parent5888ab1cc280c939a03a5edbc7d5277d7ea02603
media: cedrus: h265: Fix logic for not low delay flag

[ Upstream commit f1a413902aa71044b6ec41265e5e28ebaf29a9ce ]

Now that we know real purpose of "not low delay" flag, logic for
applying this flag should be fixed too. According to vendor and
reference implementation, low delay is signaled when POC of current
frame is lower than POC of at least one reference of a slice.

Implement mentioned logic and invert it to conform to flag meaning. Also
don't apply flag for I frames. They don't have any reference.

This fixes decoding of 3 reference bitstreams.

Fixes: 86caab29da78 ("media: cedrus: Add HEVC/H.265 decoding support")
Signed-off-by: Jernej Skrabec <jernej.skrabec@gmail.com>
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/sunxi/cedrus/cedrus_h265.c