media: verisilicon: Fix auxiliary buffer allocation size
authorBenjamin Gaignard <benjamin.gaignard@collabora.com>
Thu, 28 Mar 2024 09:34:39 +0000 (10:34 +0100)
committerHans Verkuil <hverkuil-cisco@xs4all.nl>
Sun, 25 Aug 2024 06:15:24 +0000 (08:15 +0200)
Use v4l2_av1_tile_info->tile_cols to get the number of columns
in the frame and make auxiliary buffer memory size computation
more accurate.

Fixes: 727a400686a2 ("media: verisilicon: Add Rockchip AV1 decoder")
Signed-off-by: Benjamin Gaignard <benjamin.gaignard@collabora.com>
Reviewed-by: Nicolas Dufresne <nicolas.dufresne@collabora.com>
Signed-off-by: Sebastian Fricke <sebastian.fricke@collabora.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
drivers/media/platform/verisilicon/rockchip_vpu981_hw_av1_dec.c

index cc4483857489c50257b75cb3dd99a09c2a3bbef8..65e8f2d074005c03a7677280f80456cc01485d0e 100644 (file)
@@ -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;