From ecd057b5856ebdc1a9a10f3f4a8fe445bc29623f Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 2 May 2019 14:30:24 +0100 Subject: [PATCH] staging: bcm2835-codec: Correct port width calc for truncation The calculation converting from V4L2 bytesperline to MMAL width had an operator ordering issue that lead to Bayer raw 10 (and 12 and 14) setting an incorrect stride for the buffer. Correct this operation ordering issue. Signed-off-by: Dave Stevenson --- .../staging/vc04_services/bcm2835-codec/bcm2835-v4l2-codec.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) --- a/drivers/staging/vc04_services/bcm2835-codec/bcm2835-v4l2-codec.c +++ b/drivers/staging/vc04_services/bcm2835-codec/bcm2835-v4l2-codec.c @@ -605,8 +605,8 @@ static void setup_mmal_port_format(struc if (!(q_data->fmt->flags & V4L2_FMT_FLAG_COMPRESSED)) { /* Raw image format - set width/height */ - port->es.video.width = q_data->bytesperline / - (q_data->fmt->depth >> 3); + port->es.video.width = (q_data->bytesperline << 3) / + q_data->fmt->depth; port->es.video.height = q_data->height; port->es.video.crop.width = q_data->crop_width; port->es.video.crop.height = q_data->crop_height;