Re: [PATCH] media: v4l2-ctrl: Add H264 profile and levels

From: Hans Verkuil
Date: Mon Mar 30 2020 - 07:21:04 EST


Hi Maheshwar,

The patch looks good, but you also need to update the documentation
in Documentation/media/uapi/v4l/ext-ctrls-codec.rst, adding the new
profile/levels.

You can just post a separate patch for that, and I'll take them both.

Regards,

Hans

On 3/16/20 11:42 PM, Maheshwar Ajja wrote:
> Add H264 profile "Contrained High" and H264 levels "5.2",
> "6.0", "6.1" and "6.2".
>
> Signed-off-by: Maheshwar Ajja <majja@xxxxxxxxxxxxxx>
> ---
> drivers/media/v4l2-core/v4l2-ctrls.c | 5 +++++
> include/uapi/linux/v4l2-controls.h | 5 +++++
> 2 files changed, 10 insertions(+)
>
> diff --git a/drivers/media/v4l2-core/v4l2-ctrls.c b/drivers/media/v4l2-core/v4l2-ctrls.c
> index 2928c5e..67ce711 100644
> --- a/drivers/media/v4l2-core/v4l2-ctrls.c
> +++ b/drivers/media/v4l2-core/v4l2-ctrls.c
> @@ -336,6 +336,10 @@ const char * const *v4l2_ctrl_get_menu(u32 id)
> "4.2",
> "5",
> "5.1",
> + "5.2",
> + "6.0",
> + "6.1",
> + "6.2",
> NULL,
> };
> static const char * const h264_loop_filter[] = {
> @@ -362,6 +366,7 @@ const char * const *v4l2_ctrl_get_menu(u32 id)
> "Scalable High Intra",
> "Stereo High",
> "Multiview High",
> + "Constrained High",
> NULL,
> };
> static const char * const vui_sar_idc[] = {
> diff --git a/include/uapi/linux/v4l2-controls.h b/include/uapi/linux/v4l2-controls.h
> index 5a7bede..fbe3f82d 100644
> --- a/include/uapi/linux/v4l2-controls.h
> +++ b/include/uapi/linux/v4l2-controls.h
> @@ -467,6 +467,10 @@ enum v4l2_mpeg_video_h264_level {
> V4L2_MPEG_VIDEO_H264_LEVEL_4_2 = 13,
> V4L2_MPEG_VIDEO_H264_LEVEL_5_0 = 14,
> V4L2_MPEG_VIDEO_H264_LEVEL_5_1 = 15,
> + V4L2_MPEG_VIDEO_H264_LEVEL_5_2 = 16,
> + V4L2_MPEG_VIDEO_H264_LEVEL_6_0 = 17,
> + V4L2_MPEG_VIDEO_H264_LEVEL_6_1 = 18,
> + V4L2_MPEG_VIDEO_H264_LEVEL_6_2 = 19,
> };
> #define V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_ALPHA (V4L2_CID_MPEG_BASE+360)
> #define V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_BETA (V4L2_CID_MPEG_BASE+361)
> @@ -495,6 +499,7 @@ enum v4l2_mpeg_video_h264_profile {
> V4L2_MPEG_VIDEO_H264_PROFILE_SCALABLE_HIGH_INTRA = 14,
> V4L2_MPEG_VIDEO_H264_PROFILE_STEREO_HIGH = 15,
> V4L2_MPEG_VIDEO_H264_PROFILE_MULTIVIEW_HIGH = 16,
> + V4L2_MPEG_VIDEO_H264_PROFILE_CONSTRAINED_HIGH = 17,
> };
> #define V4L2_CID_MPEG_VIDEO_H264_VUI_EXT_SAR_HEIGHT (V4L2_CID_MPEG_BASE+364)
> #define V4L2_CID_MPEG_VIDEO_H264_VUI_EXT_SAR_WIDTH (V4L2_CID_MPEG_BASE+365)
>