Re: [PATCH v4 13/13] media: docs: Move the H264 stateless codec uAPI

Hans Verkuil
2020-11-25T10:38:36Z

On 23/11/2020 15:40, Ezequiel Garcia wrote:
> Now that we've destaged the H264 stateless codec controls,
> and with all the pieces in place, update the documentation
> and move it to its own section.
>
> Signed-off-by: Ezequiel Garcia <ezequiel@collabora.com>
> ---
> .../userspace-api/media/v4l/common.rst | 1 +
> .../media/v4l/ext-ctrls-codec-stateless.rst | 674 +++++++++++++++++
> .../media/v4l/ext-ctrls-codec.rst | 692 ------------------
> .../media/v4l/extended-controls.rst | 3 +-
> .../media/v4l/pixfmt-compressed.rst | 21 +-
> 5 files changed, 685 insertions(+), 706 deletions(-)
> create mode 100644 Documentation/userspace-api/media/v4l/ext-ctrls-codec-stateless.rst
>

<snip>

> diff --git a/Documentation/userspace-api/media/v4l/extended-controls.rst b/Documentation/userspace-api/media/v4l/extended-controls.rst
> index 44fcd67f20bf..866bd787eef0 100644
> --- a/Documentation/userspace-api/media/v4l/extended-controls.rst
> +++ b/Documentation/userspace-api/media/v4l/extended-controls.rst
> @@ -56,7 +56,8 @@ group similar controls into a single class. For example, control class
> ``V4L2_CTRL_CLASS_USER`` contains all user controls (i. e. all controls
> that can also be set using the old :ref:`VIDIOC_S_CTRL <VIDIOC_G_CTRL>`
> ioctl). Control class ``V4L2_CTRL_CLASS_CODEC`` contains controls
> -relating to codecs.
> +relating to codecs. See :ref:`codec-stateless-controls` for controls
> +specific to stateless codecs.

Drop this change. This text just gives an example about how control classes
work, it's not codec documentation as such.

Regards,

Hans

>
> All controls in the control array must belong to the specified control
> class. An error is returned if this is not the case.
> diff --git a/Documentation/userspace-api/media/v4l/pixfmt-compressed.rst b/Documentation/userspace-api/media/v4l/pixfmt-compressed.rst
> index d585909bc4e2..e28749ebf8d8 100644
> --- a/Documentation/userspace-api/media/v4l/pixfmt-compressed.rst
> +++ b/Documentation/userspace-api/media/v4l/pixfmt-compressed.rst
> @@ -57,16 +57,16 @@ Compressed Formats
> - H264 parsed slice data, including slice headers, either with or
> without the start code, as extracted from the H264 bitstream.
> This format is adapted for stateless video decoders that implement an
> - H264 pipeline (using the :ref:`mem2mem` and :ref:`media-request-api`).
> + H264 pipeline with the :ref:`stateless_decoder`.
> This pixelformat has two modifiers that must be set at least once
> - through the ``V4L2_CID_MPEG_VIDEO_H264_DECODE_MODE``
> - and ``V4L2_CID_MPEG_VIDEO_H264_START_CODE`` controls.
> + through the ``V4L2_CID_STATELESS_H264_DECODE_MODE``
> + and ``V4L2_CID_STATELESS_H264_START_CODE`` controls.
> In addition, metadata associated with the frame to decode are
> - required to be passed through the ``V4L2_CID_MPEG_VIDEO_H264_SPS``,
> - ``V4L2_CID_MPEG_VIDEO_H264_PPS``,
> - ``V4L2_CID_MPEG_VIDEO_H264_SCALING_MATRIX``,
> - ``V4L2_CID_MPEG_VIDEO_H264_SLICE_PARAMS`` and
> - ``V4L2_CID_MPEG_VIDEO_H264_DECODE_PARAMS`` controls. See the
> + required to be passed through the ``V4L2_CID_STATELESS_H264_SPS``,
> + ``V4L2_CID_STATELESS_H264_PPS``,
> + ``V4L2_CID_STATELESS_H264_SCALING_MATRIX``,
> + ``V4L2_CID_STATELESS_H264_SLICE_PARAMS`` and
> + ``V4L2_CID_STATELESS_H264_DECODE_PARAMS`` controls. See the
> :ref:`associated Codec Control IDs <v4l2-mpeg-h264>`. Exactly
> one output and one capture buffer must be provided for use
> with this pixel format. The output buffer must contain the
> @@ -77,11 +77,6 @@ Compressed Formats
> 7.3.2.8 "Slice layer without partitioning RBSP syntax" and the following
> sections.
>
> - .. note::
> -
> - This format is not yet part of the public kernel API and it
> - is expected to change.
> -
> * .. _V4L2-PIX-FMT-H263:
>
> - ``V4L2_PIX_FMT_H263``
>