Re: [PATCH v5 4/5] docs: Document CLL and Mastering display colorimetry controls

2021-03-16 Thread Hans Verkuil
On 09/02/2021 17:24, Stanimir Varbanov wrote:
> Document Content Light Level and Mastering Display v4l2 colorimetry
> controls.
> 
> Signed-off-by: Stanimir Varbanov 
> ---
>  .../media/v4l/ext-ctrls-colorimetry.rst   | 71 +++
>  .../media/v4l/vidioc-g-ext-ctrls.rst  |  8 +++
>  .../media/videodev2.h.rst.exceptions  |  2 +
>  3 files changed, 81 insertions(+)
> 
> diff --git a/Documentation/userspace-api/media/v4l/ext-ctrls-colorimetry.rst 
> b/Documentation/userspace-api/media/v4l/ext-ctrls-colorimetry.rst
> index 862f78b41b32..a9f206a46175 100644
> --- a/Documentation/userspace-api/media/v4l/ext-ctrls-colorimetry.rst
> +++ b/Documentation/userspace-api/media/v4l/ext-ctrls-colorimetry.rst
> @@ -20,3 +20,74 @@ Colorimetry Control IDs
>  The Colorimetry class descriptor. Calling
>  :ref:`VIDIOC_QUERYCTRL` for this control will
>  return a description of this control class.
> +
> +``V4L2_CID_COLORIMETRY_HDR10_CLL_INFO (struct)``
> +The Content Light Level defines upper bounds for the nominal target
> +brightness light level of the pictures.
> +
> +.. c:type:: v4l2_ctrl_hdr10_cll_info
> +
> +.. cssclass:: longtable
> +
> +.. flat-table:: struct v4l2_ctrl_hdr10_cll_info
> +:header-rows:  0
> +:stub-columns: 0
> +:widths:   1 1 2
> +
> +* - __u16
> +  - ``max_content_light_level``
> +  - The upper bound for the maximum light level among all individual
> +samples for the pictures of a coded video sequence, cd/m\ :sup:`2`.

I think 'coded' should be removed. This is equally valid when receiving
uncoded HDMI video, after all.

> +When equal to 0 no such upper bound is present.
> +* - __u16
> +  - ``max_pic_average_light_level``
> +  - The upper bound for the maximum average light level among the
> +samples for any individual picture of a coded video sequence,

ditto.

> +cd/m\ :sup:`2`. When equal to 0 no such upper bound is present.
> +
> +``V4L2_CID_COLORIMETRY_HDR10_MASTERING_DISPLAY (struct)``
> +The mastering display defines the color volume (the color primaries,
> +white point and luminance range) of a display considered to be the
> +mastering display for the current video content.
> +
> +.. c:type:: v4l2_ctrl_hdr10_mastering_display
> +
> +.. cssclass:: longtable
> +
> +.. flat-table:: struct v4l2_ctrl_hdr10_mastering_display
> +:header-rows:  0
> +:stub-columns: 0
> +:widths:   1 1 2
> +
> +* - __u16
> +  - ``display_primaries_x[3]``
> +  - Specifies the normalized x chromaticity coordinate of the color
> +primary component c of the mastering display in increments of 
> 0.2.
> +For describing the mastering display that uses Red, Green and Blue
> +color primaries, index value c equal to 0 corresponds to the Green
> +primary, c equal to 1 corresponds to Blue primary and c equal to 2
> +corresponds to the Red color primary.
> +* - __u16
> +  - ``display_primaries_y[3]``
> +  - Specifies the normalized y chromaticity coordinate of the color
> +primary component c of the mastering display in increments of 
> 0.2.
> +For describing the mastering display that uses Red, Green and Blue
> +color primaries, index value c equal to 0 corresponds to the Green
> +primary, c equal to 1 corresponds to Blue primary and c equal to 2
> +corresponds to Red color primary.
> +* - __u16
> +  - ``white_point_x``
> +  - Specifies the normalized x chromaticity coordinate of the white
> +point of the mastering display in increments of 0.2.
> +* - __u16
> +  - ``white_point_y``
> +  - Specifies the normalized y chromaticity coordinate of the white
> +point of the mastering display in increments of 0.2.
> +* - __u32
> +  - ``max_luminance``
> +  - Specifies the nominal maximum display luminance of the mastering
> +display in units of 0.0001 cd/m\ :sup:`2`.
> +* - __u32
> +  - ``min_luminance``
> +  - specifies the nominal minimum display luminance of the mastering
> +display in units of 0.0001 cd/m\ :sup:`2`.
> diff --git a/Documentation/userspace-api/media/v4l/vidioc-g-ext-ctrls.rst 
> b/Documentation/userspace-api/media/v4l/vidioc-g-ext-ctrls.rst
> index 8a95ebdd499a..2f6d0539fb93 100644
> --- a/Documentation/userspace-api/media/v4l/vidioc-g-ext-ctrls.rst
> +++ b/Documentation/userspace-api/media/v4l/vidioc-g-ext-ctrls.rst
> @@ -212,6 +212,14 @@ still cause this situation.
>- ``p_fwht_params``
>- A pointer to a struct :c:type:`v4l2_ctrl_fwht_params`. Valid if this 
> control is
>  of type ``V4L2_CTRL_TYPE_FWHT_PARAMS``.
> +* - struct :c:type:`v4l2_ctrl_hdr10_cll_info` *
> +  - ``p_hdr10_cll``
> +  - A pointer to a struct :c:type:`v4l2_ctrl_hdr10_cll_info`. Valid if 
> this control is
> +of type ``V4L2_CTRL_TYPE_HDR10_CLL_INFO``.
> +* - 

[PATCH v5 4/5] docs: Document CLL and Mastering display colorimetry controls

2021-02-09 Thread Stanimir Varbanov
Document Content Light Level and Mastering Display v4l2 colorimetry
controls.

Signed-off-by: Stanimir Varbanov 
---
 .../media/v4l/ext-ctrls-colorimetry.rst   | 71 +++
 .../media/v4l/vidioc-g-ext-ctrls.rst  |  8 +++
 .../media/videodev2.h.rst.exceptions  |  2 +
 3 files changed, 81 insertions(+)

diff --git a/Documentation/userspace-api/media/v4l/ext-ctrls-colorimetry.rst 
b/Documentation/userspace-api/media/v4l/ext-ctrls-colorimetry.rst
index 862f78b41b32..a9f206a46175 100644
--- a/Documentation/userspace-api/media/v4l/ext-ctrls-colorimetry.rst
+++ b/Documentation/userspace-api/media/v4l/ext-ctrls-colorimetry.rst
@@ -20,3 +20,74 @@ Colorimetry Control IDs
 The Colorimetry class descriptor. Calling
 :ref:`VIDIOC_QUERYCTRL` for this control will
 return a description of this control class.
+
+``V4L2_CID_COLORIMETRY_HDR10_CLL_INFO (struct)``
+The Content Light Level defines upper bounds for the nominal target
+brightness light level of the pictures.
+
+.. c:type:: v4l2_ctrl_hdr10_cll_info
+
+.. cssclass:: longtable
+
+.. flat-table:: struct v4l2_ctrl_hdr10_cll_info
+:header-rows:  0
+:stub-columns: 0
+:widths:   1 1 2
+
+* - __u16
+  - ``max_content_light_level``
+  - The upper bound for the maximum light level among all individual
+samples for the pictures of a coded video sequence, cd/m\ :sup:`2`.
+When equal to 0 no such upper bound is present.
+* - __u16
+  - ``max_pic_average_light_level``
+  - The upper bound for the maximum average light level among the
+samples for any individual picture of a coded video sequence,
+cd/m\ :sup:`2`. When equal to 0 no such upper bound is present.
+
+``V4L2_CID_COLORIMETRY_HDR10_MASTERING_DISPLAY (struct)``
+The mastering display defines the color volume (the color primaries,
+white point and luminance range) of a display considered to be the
+mastering display for the current video content.
+
+.. c:type:: v4l2_ctrl_hdr10_mastering_display
+
+.. cssclass:: longtable
+
+.. flat-table:: struct v4l2_ctrl_hdr10_mastering_display
+:header-rows:  0
+:stub-columns: 0
+:widths:   1 1 2
+
+* - __u16
+  - ``display_primaries_x[3]``
+  - Specifies the normalized x chromaticity coordinate of the color
+primary component c of the mastering display in increments of 0.2.
+For describing the mastering display that uses Red, Green and Blue
+color primaries, index value c equal to 0 corresponds to the Green
+primary, c equal to 1 corresponds to Blue primary and c equal to 2
+corresponds to the Red color primary.
+* - __u16
+  - ``display_primaries_y[3]``
+  - Specifies the normalized y chromaticity coordinate of the color
+primary component c of the mastering display in increments of 0.2.
+For describing the mastering display that uses Red, Green and Blue
+color primaries, index value c equal to 0 corresponds to the Green
+primary, c equal to 1 corresponds to Blue primary and c equal to 2
+corresponds to Red color primary.
+* - __u16
+  - ``white_point_x``
+  - Specifies the normalized x chromaticity coordinate of the white
+point of the mastering display in increments of 0.2.
+* - __u16
+  - ``white_point_y``
+  - Specifies the normalized y chromaticity coordinate of the white
+point of the mastering display in increments of 0.2.
+* - __u32
+  - ``max_luminance``
+  - Specifies the nominal maximum display luminance of the mastering
+display in units of 0.0001 cd/m\ :sup:`2`.
+* - __u32
+  - ``min_luminance``
+  - specifies the nominal minimum display luminance of the mastering
+display in units of 0.0001 cd/m\ :sup:`2`.
diff --git a/Documentation/userspace-api/media/v4l/vidioc-g-ext-ctrls.rst 
b/Documentation/userspace-api/media/v4l/vidioc-g-ext-ctrls.rst
index 8a95ebdd499a..2f6d0539fb93 100644
--- a/Documentation/userspace-api/media/v4l/vidioc-g-ext-ctrls.rst
+++ b/Documentation/userspace-api/media/v4l/vidioc-g-ext-ctrls.rst
@@ -212,6 +212,14 @@ still cause this situation.
   - ``p_fwht_params``
   - A pointer to a struct :c:type:`v4l2_ctrl_fwht_params`. Valid if this 
control is
 of type ``V4L2_CTRL_TYPE_FWHT_PARAMS``.
+* - struct :c:type:`v4l2_ctrl_hdr10_cll_info` *
+  - ``p_hdr10_cll``
+  - A pointer to a struct :c:type:`v4l2_ctrl_hdr10_cll_info`. Valid if 
this control is
+of type ``V4L2_CTRL_TYPE_HDR10_CLL_INFO``.
+* - struct :c:type:`v4l2_ctrl_hdr10_mastering_display` *
+  - ``p_hdr10_mastering``
+  - A pointer to a struct :c:type:`v4l2_ctrl_hdr10_mastering_display`. 
Valid if this control is
+of type ``V4L2_CTRL_TYPE_HDR10_MASTERING_DISPLAY``.
 * - void *
   - ``ptr``
   - A pointer to a compound type which can be an N-dimensional array
diff --git