Re: [PATCH 1/3] media: qcom: venus: drop extra padding in NV12 raw size calculation

From: Dikshita Agarwal

Date: Mon Apr 06 2026 - 02:00:56 EST




On 3/31/2026 10:07 AM, Renjiang Han wrote:
> get_framesize_raw_nv12() currently adds SZ_4K to the UV plane size and an
> additional SZ_8K to the total buffer size. This inflates the calculated
> sizeimage and leads userspace to over-allocate buffers without a clear
> requirement.
>
> Remove the extra SZ_4K/SZ_8K padding and compute the NV12 size as the sum
> of Y and UV planes, keeping the final ALIGN(size, SZ_4K) intact.
>
> Fixes: e1cb72de702ad ("media: venus: helpers: move frame size calculations on common place")
> Signed-off-by: Renjiang Han <renjiang.han@xxxxxxxxxxxxxxxx>
> ---
> drivers/media/platform/qcom/venus/helpers.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/media/platform/qcom/venus/helpers.c b/drivers/media/platform/qcom/venus/helpers.c
> index 747c388fe25fa30770ac2e81d42f4daf83d74ddf..59eee3dd9e06c27165f29fc034d151eb13cd2349 100644
> --- a/drivers/media/platform/qcom/venus/helpers.c
> +++ b/drivers/media/platform/qcom/venus/helpers.c
> @@ -954,8 +954,8 @@ static u32 get_framesize_raw_nv12(u32 width, u32 height)
> uv_sclines = ALIGN(((height + 1) >> 1), 16);
>
> y_plane = y_stride * y_sclines;
> - uv_plane = uv_stride * uv_sclines + SZ_4K;
> - size = y_plane + uv_plane + SZ_8K;
> + uv_plane = uv_stride * uv_sclines;
> + size = y_plane + uv_plane;
>
> return ALIGN(size, SZ_4K);
> }
>

Reviewed-by: Dikshita Agarwal <dikshita.agarwal@xxxxxxxxxxxxxxxx>

Thanks,
Dikshita