From: Naushir Patuck Date: Tue, 29 Jun 2021 11:50:58 +0000 (+0100) Subject: staging: vc04_services: isp: Set the YUV420/YVU420 format stride to 64 bytes X-Git-Tag: accepted/tizen/unified/20240422.153132~686 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=a85852c20463b4617c52886e40f408fefc5337a4;p=platform%2Fkernel%2Flinux-rpi.git staging: vc04_services: isp: Set the YUV420/YVU420 format stride to 64 bytes The bcm2835 ISP requires the base address of all input/output planes to have 32 byte alignment. Using a Y stride of 32 bytes would not guarantee that the V plane would fulfil this, e.g. a height of 650 lines would mean the V plane buffer is not 32 byte aligned for YUV420 formats. Having a Y stride of 64 bytes would ensure both U and V planes have a 32 byte alignment, as the luma height will always be an even number of lines. Signed-off-by: Naushir Patuck --- diff --git a/drivers/staging/vc04_services/bcm2835-isp/bcm2835-isp-fmts.h b/drivers/staging/vc04_services/bcm2835-isp/bcm2835-isp-fmts.h index 7541fb3..f6d6c88 100644 --- a/drivers/staging/vc04_services/bcm2835-isp/bcm2835-isp-fmts.h +++ b/drivers/staging/vc04_services/bcm2835-isp/bcm2835-isp-fmts.h @@ -48,7 +48,7 @@ static const struct bcm2835_isp_fmt supported_formats[] = { /* YUV formats */ .fourcc = V4L2_PIX_FMT_YUV420, .depth = 8, - .bytesperline_align = 32, + .bytesperline_align = 64, .mmal_fmt = MMAL_ENCODING_I420, .size_multiplier_x2 = 3, .colorspace_mask = V4L2_COLORSPACE_MASK_YUV, @@ -57,7 +57,7 @@ static const struct bcm2835_isp_fmt supported_formats[] = { }, { .fourcc = V4L2_PIX_FMT_YVU420, .depth = 8, - .bytesperline_align = 32, + .bytesperline_align = 64, .mmal_fmt = MMAL_ENCODING_YV12, .size_multiplier_x2 = 3, .colorspace_mask = V4L2_COLORSPACE_MASK_YUV,