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)
committerMauro Carvalho Chehab <mchehab+samsung@kernel.org>
Thu, 24 Oct 2019 21:09:18 +0000 (18:09 -0300)
commit256fa3920874b0f1f4cb79ad6766493a22187153
tree36a8bd6a9644a68eabdfde5cc1cab88174893ff7
parentc3b32900fbf5178473c6b39260e891e19067edc2
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