Message ID | 20220617115802.396442-3-benjamin.gaignard@collabora.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Enable 10bits bitstream for Hantro/G2 HEVC codec | expand |
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@collabora.com> Reviewed-by: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar> 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 >
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);
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@collabora.com> --- drivers/staging/media/hantro/hantro_hevc.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)