[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <3dde932a-1b62-4824-a9e0-722f82faaaa6@collabora.com>
Date: Mon, 6 May 2024 16:38:35 +0200
From: Benjamin Gaignard <benjamin.gaignard@...labora.com>
To: Nicolas Dufresne <nicolas@...fresne.ca>, ezequiel@...guardiasur.com.ar,
p.zabel@...gutronix.de, mchehab@...nel.org, heiko@...ech.de
Cc: linux-media@...r.kernel.org, linux-rockchip@...ts.infradead.org,
linux-arm-kernel@...ts.infradead.org, linux-kernel@...r.kernel.org,
kernel@...labora.com
Subject: Re: [PATCH] media: verisilicon: Fix auxiliary buffers allocation size
Le 05/04/2024 à 10:13, Benjamin Gaignard a écrit :
>
> Le 04/04/2024 à 20:00, Nicolas Dufresne a écrit :
>> Hi,
>>
>> Le jeudi 28 mars 2024 à 10:34 +0100, Benjamin Gaignard a écrit :
>>> Use v4l2_av1_tile_info->tile_cols to know the number of colons
>>> in the frame. This made auxiliary buffers meory size computation
>>> more accurate.
>> Seems like this is potentially going to impact some conformance
>> tests. Anything
>> to report from fluster results ?
>
> Flusters AV1 score is the same.
> Maybe we have been lucky when allocating memory until now.
> That said the test stream have 8 tile columns which is unusual but
> admitted by AV1 specifications.
Gentle ping,
Regards,
Benjamin
>
> Benjamin
>
>>
>> Nicolas
>>
>>> Signed-off-by: Benjamin Gaignard <benjamin.gaignard@...labora.com>
>>> Fixes: 727a400686a2 ("media: verisilicon: Add Rockchip AV1 decoder")
>>> ---
>>> .../media/platform/verisilicon/rockchip_vpu981_hw_av1_dec.c | 3 ++-
>>> 1 file changed, 2 insertions(+), 1 deletion(-)
>>>
>>> diff --git
>>> a/drivers/media/platform/verisilicon/rockchip_vpu981_hw_av1_dec.c
>>> b/drivers/media/platform/verisilicon/rockchip_vpu981_hw_av1_dec.c
>>> index cc4483857489..65e8f2d07400 100644
>>> --- a/drivers/media/platform/verisilicon/rockchip_vpu981_hw_av1_dec.c
>>> +++ b/drivers/media/platform/verisilicon/rockchip_vpu981_hw_av1_dec.c
>>> @@ -257,7 +257,8 @@ static int
>>> rockchip_vpu981_av1_dec_tiles_reallocate(struct hantro_ctx *ctx)
>>> struct hantro_dev *vpu = ctx->dev;
>>> struct hantro_av1_dec_hw_ctx *av1_dec = &ctx->av1_dec;
>>> struct hantro_av1_dec_ctrls *ctrls = &av1_dec->ctrls;
>>> - unsigned int num_tile_cols = 1 <<
>>> ctrls->tile_group_entry->tile_col;
>>> + const struct v4l2_av1_tile_info *tile_info =
>>> &ctrls->frame->tile_info;
>>> + unsigned int num_tile_cols = tile_info->tile_cols;
>>> unsigned int height = ALIGN(ctrls->frame->frame_height_minus_1
>>> + 1, 64);
>>> unsigned int height_in_sb = height / 64;
>>> unsigned int stripe_num = ((height + 8) + 63) / 64;
>>
Powered by blists - more mailing lists