staging: bcm2835-codec: Correct port width calc for truncation
authorDave Stevenson <dave.stevenson@raspberrypi.org>
Thu, 2 May 2019 13:30:24 +0000 (14:30 +0100)
committerpopcornmix <popcornmix@gmail.com>
Mon, 13 May 2019 23:08:32 +0000 (00:08 +0100)
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 <dave.stevenson@raspberrypi.org>
drivers/staging/vc04_services/bcm2835-codec/bcm2835-v4l2-codec.c

index 4b67c9e..97b1f2b 100644 (file)
@@ -605,8 +605,8 @@ static void setup_mmal_port_format(struct bcm2835_codec_ctx *ctx,
 
        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;