Re: [PATCH v4 1/5] v4l: Add new Colorimetry Class

From: Hans Verkuil
Date: Mon Jan 25 2021 - 05:24:49 EST


On 20/01/2021 10:26, Stanimir Varbanov wrote:
> Add Colorimetry control class for colorimetry controls
>
> Signed-off-by: Stanimir Varbanov <stanimir.varbanov@xxxxxxxxxx>
> ---
> drivers/media/v4l2-core/v4l2-ctrls.c | 5 +++++
> include/uapi/linux/v4l2-controls.h | 4 ++++
> 2 files changed, 9 insertions(+)
>
> diff --git a/drivers/media/v4l2-core/v4l2-ctrls.c b/drivers/media/v4l2-core/v4l2-ctrls.c
> index f7b310240af2..a5137a867411 100644
> --- a/drivers/media/v4l2-core/v4l2-ctrls.c
> +++ b/drivers/media/v4l2-core/v4l2-ctrls.c
> @@ -1201,6 +1201,10 @@ const char *v4l2_ctrl_get_name(u32 id)
> case V4L2_CID_STATELESS_H264_SLICE_PARAMS: return "H264 Slice Parameters";
> case V4L2_CID_STATELESS_H264_DECODE_PARAMS: return "H264 Decode Parameters";
> case V4L2_CID_STATELESS_FWHT_PARAMS: return "FWHT Stateless Parameters";
> +
> + /* Colorimetry controls */
> + /* Keep the order of the 'case's the same as in v4l2-controls.h! */
> + case V4L2_CID_COLORIMETRY_CLASS: return "Colorimetry Controls";
> default:
> return NULL;
> }
> @@ -1389,6 +1393,7 @@ void v4l2_ctrl_fill(u32 id, const char **name, enum v4l2_ctrl_type *type,
> case V4L2_CID_RF_TUNER_CLASS:
> case V4L2_CID_DETECT_CLASS:
> case V4L2_CID_CODEC_STATELESS_CLASS:
> + case V4L2_CID_COLORIMETRY_CLASS:
> *type = V4L2_CTRL_TYPE_CTRL_CLASS;
> /* You can neither read not write these */

I wouldn't have bothered with this, but since a v5 will be needed in any case:
can you fix the typo in this comment? not -> nor

No need to create a separate patch for this. Just mention in the commit message
that you fixed this typo as well.

Regards,

Hans

> *flags |= V4L2_CTRL_FLAG_READ_ONLY | V4L2_CTRL_FLAG_WRITE_ONLY;
> diff --git a/include/uapi/linux/v4l2-controls.h b/include/uapi/linux/v4l2-controls.h
> index 039c0d7add1b..a41039559193 100644
> --- a/include/uapi/linux/v4l2-controls.h
> +++ b/include/uapi/linux/v4l2-controls.h
> @@ -66,6 +66,7 @@
> #define V4L2_CTRL_CLASS_RF_TUNER 0x00a20000 /* RF tuner controls */
> #define V4L2_CTRL_CLASS_DETECT 0x00a30000 /* Detection controls */
> #define V4L2_CTRL_CLASS_CODEC_STATELESS 0x00a40000 /* Stateless codecs controls */
> +#define V4L2_CTRL_CLASS_COLORIMETRY 0x00a50000 /* Colorimetry controls */
>
> /* User-class control IDs */
>
> @@ -1657,6 +1658,9 @@ struct v4l2_ctrl_fwht_params {
> __u32 quantization;
> };
>
> +#define V4L2_CID_COLORIMETRY_CLASS_BASE (V4L2_CTRL_CLASS_COLORIMETRY | 0x900)
> +#define V4L2_CID_COLORIMETRY_CLASS (V4L2_CTRL_CLASS_COLORIMETRY | 1)
> +
> /* MPEG-compression definitions kept for backwards compatibility */
> #ifndef __KERNEL__
> #define V4L2_CTRL_CLASS_MPEG V4L2_CTRL_CLASS_CODEC
>