Re: Venus v4l2-compliance failures

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Nicolas,

On 18/02/2022 03:24, Nícolas F. R. A. Prado wrote:
> Hi Hans,
> 
> On Thu, Feb 17, 2022 at 03:34:51PM +0100, Hans Verkuil wrote:
>> On 17/02/2022 15:12, Stanimir Varbanov wrote:
>>> Failure #2 is related to a commit [1] which add checks for
>>> MEDIA_ENT_F_PROC_VIDEO_ENCODER, I think this entity flag is applicable
>>> for stateless encoders (Request API) but Venus driver has no use of
>>> media-controller API. Did I miss something?
>>
>> For item 2, can you try the patch below?
> 
> I faced the same issue with the mtk-vcodec-enc driver on mt8173-elm-hana. The
> patch below does fix the test for me, so
> 
> Tested-by: Nícolas F. R. A. Prado <nfraprado@xxxxxxxxxxxxx>

Thank you. But I've posted a v2 that is a bit smarter (i.e. it only skips the
test for stateful codecs without an MC).

If you can give it a quick spin, then that would be great.

Regards,

	Hans

> 
> Thanks,
> Nícolas
> 
>>
>> Regards,
>>
>> 	Hans
>>
>> -----------------------------------------------------------------------
>>
>> Signed-off-by: Hans Verkuil <hverkuil-cisco@xxxxxxxxx>
>> ---
>> diff --git a/utils/v4l2-compliance/v4l2-test-codecs.cpp b/utils/v4l2-compliance/v4l2-test-codecs.cpp
>> index 22175eef..3f06070f 100644
>> --- a/utils/v4l2-compliance/v4l2-test-codecs.cpp
>> +++ b/utils/v4l2-compliance/v4l2-test-codecs.cpp
>> @@ -29,9 +29,10 @@ int testEncoder(struct node *node)
>>  {
>>  	struct v4l2_encoder_cmd cmd;
>>  	bool is_encoder = node->codec_mask & (STATEFUL_ENCODER | JPEG_ENCODER);
>> +	bool is_stateless_encoder = node->codec_mask & STATELESS_ENCODER;
>>  	int ret;
>>
>> -	if (IS_ENCODER(node))
>> +	if (is_stateless_encoder)
>>  		fail_on_test(node->function != MEDIA_ENT_F_PROC_VIDEO_ENCODER);
>>  	memset(&cmd, 0xff, sizeof(cmd));
>>  	memset(&cmd.raw, 0, sizeof(cmd.raw));
>> @@ -98,9 +99,10 @@ int testDecoder(struct node *node)
>>  {
>>  	struct v4l2_decoder_cmd cmd;
>>  	bool is_decoder = node->codec_mask & (STATEFUL_DECODER | JPEG_DECODER);
>> +	bool is_stateless_decoder = node->codec_mask & STATELESS_DECODER;
>>  	int ret;
>>
>> -	if (IS_DECODER(node))
>> +	if (is_stateless_decoder)
>>  		fail_on_test(node->function != MEDIA_ENT_F_PROC_VIDEO_DECODER);
>>  	memset(&cmd, 0xff, sizeof(cmd));
>>  	memset(&cmd.raw, 0, sizeof(cmd.raw));
>>




[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux