Document Content Light Level and Mastering Display v4l2 colorimetry
controls.
Signed-off-by: Stanimir Varbanov <[email protected]>
---
.../media/v4l/ext-ctrls-colorimetry.rst | 71 +++++++++++++++++++
.../media/videodev2.h.rst.exceptions | 2 +
2 files changed, 73 insertions(+)
diff --git a/Documentation/userspace-api/media/v4l/ext-ctrls-colorimetry.rst b/Documentation/userspace-api/media/v4l/ext-ctrls-colorimetry.rst
index 6b0cd2054e84..e7e55323651f 100644
--- a/Documentation/userspace-api/media/v4l/ext-ctrls-colorimetry.rst
+++ b/Documentation/userspace-api/media/v4l/ext-ctrls-colorimetry.rst
@@ -17,3 +17,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/m2. 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/m2.
+ When equal to 0 no such upper bound is present.
+
+``V4L2_CID_COLORIMETRY_HDR10_MASTERING_DISPLAY (struct)``
+ The mastering display defines the colour volume (the colour 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 colour
+ primary component c of the mastering display in increments of 0.00002.
+ For describing the mastering display that uses Red, Green and Blue
+ colour 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 colour primary.
+ * - __u16
+ - ``display_primaries_y[3]``
+ - Specifies the normalized y chromaticity coordinate of the colour
+ primary component c of the mastering display in increments of 0.00002.
+ For describing the mastering display that uses Red, Green and Blue
+ colour 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 colour primary.
+ * - __u16
+ - ``white_point_x``
+ - Specifies the normalized x chromaticity coordinate of the white
+ point of the mastering display in increments of 0.00002.
+ * - __u16
+ - ``white_point_y``
+ - Specifies the normalized y chromaticity coordinate of the white
+ point of the mastering display in increments of 0.00002.
+ * - __u32
+ - ``max_luminance``
+ - Specifies the nominal maximum display luminance of the mastering
+ display in units of 0.0001 cd/m2.
+ * - __u32
+ - ``min_luminance``
+ - specifies the nominal minimum display luminance of the mastering
+ display in units of 0.0001 cd/m2.
diff --git a/Documentation/userspace-api/media/videodev2.h.rst.exceptions b/Documentation/userspace-api/media/videodev2.h.rst.exceptions
index 0ed170c6e720..af4b8b87c5d7 100644
--- a/Documentation/userspace-api/media/videodev2.h.rst.exceptions
+++ b/Documentation/userspace-api/media/videodev2.h.rst.exceptions
@@ -147,6 +147,8 @@ replace symbol V4L2_CTRL_TYPE_HEVC_PPS :c:type:`v4l2_ctrl_type`
replace symbol V4L2_CTRL_TYPE_HEVC_SLICE_PARAMS :c:type:`v4l2_ctrl_type`
replace symbol V4L2_CTRL_TYPE_AREA :c:type:`v4l2_ctrl_type`
replace symbol V4L2_CTRL_TYPE_FWHT_PARAMS :c:type:`v4l2_ctrl_type`
+replace symbol V4L2_CTRL_TYPE_HDR10_CLL_INFO :c:type:`v4l2_ctrl_hdr10_cll_info`
+replace symbol V4L2_CTRL_TYPE_HDR10_MASTERING_DISPLAY :c:type:`v4l2_ctrl_hdr10_mastering_display`
# V4L2 capability defines
replace define V4L2_CAP_VIDEO_CAPTURE device-capabilities
--
2.25.1
On 20/01/2021 10:26, Stanimir Varbanov wrote:
> Document Content Light Level and Mastering Display v4l2 colorimetry
> controls.
>
> Signed-off-by: Stanimir Varbanov <[email protected]>
> ---
> .../media/v4l/ext-ctrls-colorimetry.rst | 71 +++++++++++++++++++
> .../media/videodev2.h.rst.exceptions | 2 +
> 2 files changed, 73 insertions(+)
>
> diff --git a/Documentation/userspace-api/media/v4l/ext-ctrls-colorimetry.rst b/Documentation/userspace-api/media/v4l/ext-ctrls-colorimetry.rst
> index 6b0cd2054e84..e7e55323651f 100644
> --- a/Documentation/userspace-api/media/v4l/ext-ctrls-colorimetry.rst
> +++ b/Documentation/userspace-api/media/v4l/ext-ctrls-colorimetry.rst
> @@ -17,3 +17,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/m2. When
For this document:
cd/m2 -> cd/m\ :sup:`2`
> + 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/m2.
> + When equal to 0 no such upper bound is present.
> +
> +``V4L2_CID_COLORIMETRY_HDR10_MASTERING_DISPLAY (struct)``
> + The mastering display defines the colour volume (the colour primaries,
For this document: colour -> color
(The US spelling is used)
> + 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 colour
> + primary component c of the mastering display in increments of 0.00002.
> + For describing the mastering display that uses Red, Green and Blue
> + colour 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 colour primary.
> + * - __u16
> + - ``display_primaries_y[3]``
> + - Specifies the normalized y chromaticity coordinate of the colour
> + primary component c of the mastering display in increments of 0.00002.
> + For describing the mastering display that uses Red, Green and Blue
> + colour 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 colour primary.
> + * - __u16
> + - ``white_point_x``
> + - Specifies the normalized x chromaticity coordinate of the white
> + point of the mastering display in increments of 0.00002.
> + * - __u16
> + - ``white_point_y``
> + - Specifies the normalized y chromaticity coordinate of the white
> + point of the mastering display in increments of 0.00002.
> + * - __u32
> + - ``max_luminance``
> + - Specifies the nominal maximum display luminance of the mastering
> + display in units of 0.0001 cd/m2.
> + * - __u32
> + - ``min_luminance``
> + - specifies the nominal minimum display luminance of the mastering
> + display in units of 0.0001 cd/m2.
> diff --git a/Documentation/userspace-api/media/videodev2.h.rst.exceptions b/Documentation/userspace-api/media/videodev2.h.rst.exceptions
> index 0ed170c6e720..af4b8b87c5d7 100644
> --- a/Documentation/userspace-api/media/videodev2.h.rst.exceptions
> +++ b/Documentation/userspace-api/media/videodev2.h.rst.exceptions
> @@ -147,6 +147,8 @@ replace symbol V4L2_CTRL_TYPE_HEVC_PPS :c:type:`v4l2_ctrl_type`
> replace symbol V4L2_CTRL_TYPE_HEVC_SLICE_PARAMS :c:type:`v4l2_ctrl_type`
> replace symbol V4L2_CTRL_TYPE_AREA :c:type:`v4l2_ctrl_type`
> replace symbol V4L2_CTRL_TYPE_FWHT_PARAMS :c:type:`v4l2_ctrl_type`
> +replace symbol V4L2_CTRL_TYPE_HDR10_CLL_INFO :c:type:`v4l2_ctrl_hdr10_cll_info`
> +replace symbol V4L2_CTRL_TYPE_HDR10_MASTERING_DISPLAY :c:type:`v4l2_ctrl_hdr10_mastering_display`
No, these two should be :c:type:`v4l2_ctrl_type` like the others.
>
> # V4L2 capability defines
> replace define V4L2_CAP_VIDEO_CAPTURE device-capabilities
>
You also need to document the new p_hdr10_cll and p_hdr10_mastering
fields in Documentation/userspace-api/media/v4l/vidioc-g-ext-ctrls.rst.
Regards,
Hans