media: v4l: Add definitions for HEVC stateless decoding
authorPaul Kocialkowski <paul.kocialkowski@bootlin.com>
Tue, 22 Oct 2019 15:26:52 +0000 (12:26 -0300)
committerpopcornmix <popcornmix@gmail.com>
Wed, 1 Jul 2020 15:33:30 +0000 (16:33 +0100)
commit741673293b38690adb269840ea5d99da20a1b6fb
tree43f6aa628b6c2abf8aa95bcb2f0ab0182dfdbe5f
parenteee6b9bfcf77d1f090e9e2084750269a194b1f7f
media: v4l: Add definitions for HEVC stateless decoding

This introduces the required definitions for HEVC decoding support with
stateless VPUs. The controls associated to the HEVC slice format provide
the required meta-data for decoding slices extracted from the bitstream.

They are not exported to the public V4L2 API since reworking this API
will likely be needed for covering various use-cases and new hardware.

Multi-slice decoding is exposed as a valid decoding mode to match current
H.264 support but it is not yet implemented.

The interface comes with the following limitations:
* No custom quantization matrices (scaling lists);
* Support for a single temporal layer only;
* No slice entry point offsets support;
* No conformance window support;
* No VUI parameters support;
* No support for SPS extensions: range, multilayer, 3d, scc, 4 bits;
* No support for PPS extensions: range, multilayer, 3d, scc, 4 bits.

Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com>
[hverkuil-cisco@xs4all.nl: use 1ULL in flags defines in hevc-ctrls.h]
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
Documentation/media/uapi/v4l/biblio.rst
Documentation/media/uapi/v4l/ext-ctrls-codec.rst
Documentation/media/uapi/v4l/vidioc-queryctrl.rst
Documentation/media/videodev2.h.rst.exceptions
drivers/media/v4l2-core/v4l2-ctrls.c
drivers/media/v4l2-core/v4l2-ioctl.c
include/media/hevc-ctrls.h [new file with mode: 0644]
include/media/v4l2-ctrls.h