[PATCH] media: verisilicon: Fix auxiliary buffers allocation size
Benjamin Gaignard
benjamin.gaignard at collabora.com
Fri Apr 5 01:13:32 PDT 2024
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.
Benjamin
>
> Nicolas
>
>> Signed-off-by: Benjamin Gaignard <benjamin.gaignard at collabora.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;
>
More information about the Linux-rockchip
mailing list