[PATCH] media: v4l2-ctrls: set AV1 sequence flags for testing

Pavan Bobba posted 1 patch 3 months, 1 week ago
drivers/media/v4l2-core/v4l2-ctrls-core.c | 6 ++++++
1 file changed, 6 insertions(+)
[PATCH] media: v4l2-ctrls: set AV1 sequence flags for testing
Posted by Pavan Bobba 3 months, 1 week ago
Initialize additional AV1 sequence parameters in std_init_compound()
to make the default AV1 sequence control compatible with compliance
and userspace testing tools.

Specifically, set:
 - enable both SUBSAMPLING_X and SUBSAMPLING_Y flags

These defaults help ensure that V4L2_CID_AV1_SEQUENCE behaves
consistently during validation and v4l2-compliance tests.

Signed-off-by: Pavan Bobba <opensource206@gmail.com>
---
 drivers/media/v4l2-core/v4l2-ctrls-core.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/drivers/media/v4l2-core/v4l2-ctrls-core.c b/drivers/media/v4l2-core/v4l2-ctrls-core.c
index fa03341588e4..8809912797d2 100644
--- a/drivers/media/v4l2-core/v4l2-ctrls-core.c
+++ b/drivers/media/v4l2-core/v4l2-ctrls-core.c
@@ -160,7 +160,13 @@ static void std_init_compound(const struct v4l2_ctrl *ctrl, u32 idx,
 		break;
 	case V4L2_CTRL_TYPE_AV1_SEQUENCE:
 		p_av1_sequence = p;
+		/*
+		 *setting below parameters to make AV1 sequence compatible
+		 *for the testing
+		 */
 		p_av1_sequence->bit_depth = 8;
+		p_av1_sequence->flags |= V4L2_AV1_SEQUENCE_FLAG_SUBSAMPLING_X |
+			V4L2_AV1_SEQUENCE_FLAG_SUBSAMPLING_Y;
 		break;
 	case V4L2_CTRL_TYPE_FWHT_PARAMS:
 		p_fwht_params = p;
-- 
2.43.0
Re: [PATCH] media: v4l2-ctrls: set AV1 sequence flags for testing
Posted by Nicolas Dufresne 3 months, 1 week ago
Hi,

Le mardi 28 octobre 2025 à 11:56 +0530, Pavan Bobba a écrit :
> Initialize additional AV1 sequence parameters in std_init_compound()
> to make the default AV1 sequence control compatible with compliance
> and userspace testing tools.
> 
> Specifically, set:
>  - enable both SUBSAMPLING_X and SUBSAMPLING_Y flags
> 
> These defaults help ensure that V4L2_CID_AV1_SEQUENCE behaves
> consistently during validation and v4l2-compliance tests.
> 
> Signed-off-by: Pavan Bobba <opensource206@gmail.com>
> ---
>  drivers/media/v4l2-core/v4l2-ctrls-core.c | 6 ++++++
>  1 file changed, 6 insertions(+)
> 
> diff --git a/drivers/media/v4l2-core/v4l2-ctrls-core.c b/drivers/media/v4l2-core/v4l2-ctrls-core.c
> index fa03341588e4..8809912797d2 100644
> --- a/drivers/media/v4l2-core/v4l2-ctrls-core.c
> +++ b/drivers/media/v4l2-core/v4l2-ctrls-core.c
> @@ -160,7 +160,13 @@ static void std_init_compound(const struct v4l2_ctrl *ctrl, u32 idx,
>  		break;
>  	case V4L2_CTRL_TYPE_AV1_SEQUENCE:
>  		p_av1_sequence = p;
> +		/*
> +		 *setting below parameters to make AV1 sequence compatible
> +		 *for the testing
> +		 */
>  		p_av1_sequence->bit_depth = 8;
> +		p_av1_sequence->flags |= V4L2_AV1_SEQUENCE_FLAG_SUBSAMPLING_X |
> +			V4L2_AV1_SEQUENCE_FLAG_SUBSAMPLING_Y;

There is a bit of a lack of clarity upon why we do this. I would comment on
that.

/**
 * The initial profile is 0 which only allows YUV 420 subsampled data. Set the  
 * subsampling flags accordingly.
 */

With the correction:
Reviewed-by: Nicolas Dufresne <nicolas.dufresne@collabora.com>

cheers,
Nicolas

>  		break;
>  	case V4L2_CTRL_TYPE_FWHT_PARAMS:
>  		p_fwht_params = p;
Re: [PATCH] media: v4l2-ctrls: set AV1 sequence flags for testing
Posted by Hans Verkuil 3 months, 1 week ago
On 10/28/25 10:47, Nicolas Dufresne wrote:
> Hi,
> 
> Le mardi 28 octobre 2025 à 11:56 +0530, Pavan Bobba a écrit :
>> Initialize additional AV1 sequence parameters in std_init_compound()
>> to make the default AV1 sequence control compatible with compliance
>> and userspace testing tools.
>>
>> Specifically, set:
>>  - enable both SUBSAMPLING_X and SUBSAMPLING_Y flags
>>
>> These defaults help ensure that V4L2_CID_AV1_SEQUENCE behaves
>> consistently during validation and v4l2-compliance tests.
>>
>> Signed-off-by: Pavan Bobba <opensource206@gmail.com>
>> ---
>>  drivers/media/v4l2-core/v4l2-ctrls-core.c | 6 ++++++
>>  1 file changed, 6 insertions(+)
>>
>> diff --git a/drivers/media/v4l2-core/v4l2-ctrls-core.c b/drivers/media/v4l2-core/v4l2-ctrls-core.c
>> index fa03341588e4..8809912797d2 100644
>> --- a/drivers/media/v4l2-core/v4l2-ctrls-core.c
>> +++ b/drivers/media/v4l2-core/v4l2-ctrls-core.c
>> @@ -160,7 +160,13 @@ static void std_init_compound(const struct v4l2_ctrl *ctrl, u32 idx,
>>  		break;
>>  	case V4L2_CTRL_TYPE_AV1_SEQUENCE:
>>  		p_av1_sequence = p;
>> +		/*
>> +		 *setting below parameters to make AV1 sequence compatible
>> +		 *for the testing
>> +		 */
>>  		p_av1_sequence->bit_depth = 8;
>> +		p_av1_sequence->flags |= V4L2_AV1_SEQUENCE_FLAG_SUBSAMPLING_X |
>> +			V4L2_AV1_SEQUENCE_FLAG_SUBSAMPLING_Y;
> 
> There is a bit of a lack of clarity upon why we do this. I would comment on
> that.
> 
> /**
>  * The initial profile is 0 which only allows YUV 420 subsampled data. Set the  
>  * subsampling flags accordingly.
>  */
> 
> With the correction:
> Reviewed-by: Nicolas Dufresne <nicolas.dufresne@collabora.com>

I'll add that and fast-track this patch so the virtme CI regression tests work
again.

Thank you!

	Hans

> 
> cheers,
> Nicolas
> 
>>  		break;
>>  	case V4L2_CTRL_TYPE_FWHT_PARAMS:
>>  		p_fwht_params = p;