media: hantro: Introduce G2/HEVC decoder
authorBenjamin Gaignard <benjamin.gaignard@collabora.com>
Thu, 3 Jun 2021 11:50:03 +0000 (13:50 +0200)
committerMauro Carvalho Chehab <mchehab+huawei@kernel.org>
Tue, 8 Jun 2021 14:13:23 +0000 (16:13 +0200)
commitcb5dd5a0fa518dff14ff2b90837c3c8f98f4dd5c
tree611ffb0be8fac698748a763a60ffa27f4e2c7a7b
parentb7782b34a76615f8199daf1bce544aa73e35f44d
media: hantro: Introduce G2/HEVC decoder

Implement all the logic to get G2 hardware decoding HEVC frames.
It supports up level 5.1 HEVC stream.
It doesn't support yet 10 bits formats or the scaling feature.

Add HANTRO HEVC dedicated control to skip some bits at the beginning
of the slice header. That is very specific to this hardware so can't
go into uapi structures. Computing the needed value is complex and requires
information from the stream that only the userland knows so let it
provide the correct value to the driver.

Signed-off-by: Benjamin Gaignard <benjamin.gaignard@collabora.com>
Co-developed-by: Adrian Ratiu <adrian.ratiu@collabora.com>
Signed-off-by: Adrian Ratiu <adrian.ratiu@collabora.com>
Co-developed-by: Ezequiel Garcia <ezequiel@collabora.com>
Signed-off-by: Ezequiel Garcia <ezequiel@collabora.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
drivers/staging/media/hantro/Makefile
drivers/staging/media/hantro/hantro.h
drivers/staging/media/hantro/hantro_drv.c
drivers/staging/media/hantro/hantro_g2_hevc_dec.c [new file with mode: 0644]
drivers/staging/media/hantro/hantro_g2_regs.h [new file with mode: 0644]
drivers/staging/media/hantro/hantro_hevc.c [new file with mode: 0644]
drivers/staging/media/hantro/hantro_hw.h