Re: [PATCH 2/7] media: hantro: HEVC: Fix auxilary buffer size calculation
From: Ezequiel Garcia
Date: Thu Jun 30 2022 - 13:33:24 EST
Hi Benjamin,
On Fri, Jun 17, 2022 at 01:57:57PM +0200, Benjamin Gaignard wrote:
> SAO and FILTER buffers size depend of the bit depth.
> Make sure we have enough space for 10bit bitstreams.
>
> Signed-off-by: Benjamin Gaignard <benjamin.gaignard@xxxxxxxxxxxxx>
Reviewed-by: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx>
Thanks,
Ezequiel
> ---
> drivers/staging/media/hantro/hantro_hevc.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/staging/media/hantro/hantro_hevc.c b/drivers/staging/media/hantro/hantro_hevc.c
> index dcb5c8703b6e..e06837108a09 100644
> --- a/drivers/staging/media/hantro/hantro_hevc.c
> +++ b/drivers/staging/media/hantro/hantro_hevc.c
> @@ -104,7 +104,7 @@ static int tile_buffer_reallocate(struct hantro_ctx *ctx)
> hevc_dec->tile_bsd.cpu = NULL;
> }
>
> - size = VERT_FILTER_RAM_SIZE * height64 * (num_tile_cols - 1);
> + size = (VERT_FILTER_RAM_SIZE * height64 * (num_tile_cols - 1) * ctx->bit_depth) / 8;
> hevc_dec->tile_filter.cpu = dma_alloc_coherent(vpu->dev, size,
> &hevc_dec->tile_filter.dma,
> GFP_KERNEL);
> @@ -112,7 +112,7 @@ static int tile_buffer_reallocate(struct hantro_ctx *ctx)
> goto err_free_tile_buffers;
> hevc_dec->tile_filter.size = size;
>
> - size = VERT_SAO_RAM_SIZE * height64 * (num_tile_cols - 1);
> + size = (VERT_SAO_RAM_SIZE * height64 * (num_tile_cols - 1) * ctx->bit_depth) / 8;
> hevc_dec->tile_sao.cpu = dma_alloc_coherent(vpu->dev, size,
> &hevc_dec->tile_sao.dma,
> GFP_KERNEL);
> --
> 2.32.0
>