staging: bcm2835-codec: Correct bytesperline on format changed
authorDave Stevenson <dave.stevenson@raspberrypi.org>
Thu, 11 Jul 2019 13:58:35 +0000 (14:58 +0100)
committerPhil Elwell <pelwell@users.noreply.github.com>
Tue, 6 Aug 2019 16:42:50 +0000 (17:42 +0100)
The handling of format changed events incorrectly set bytesperline
to the cropped width, which ignored padding and formats with
more than 8bpp.
Fix these.

Reported by: zillevdr <zillevdr@gmx.de>
Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
drivers/staging/vc04_services/bcm2835-codec/bcm2835-v4l2-codec.c

index a6ef889..66edec1 100644 (file)
@@ -759,7 +759,9 @@ static void handle_fmt_changed(struct bcm2835_codec_ctx *ctx,
 
        q_data->crop_width = format->es.video.crop.width;
        q_data->crop_height = format->es.video.crop.height;
-       q_data->bytesperline = format->es.video.crop.width;
+       q_data->bytesperline = get_bytesperline(format->es.video.width,
+                                               q_data->fmt);
+
        q_data->height = format->es.video.height;
        q_data->sizeimage = format->buffer_size_min;
        if (format->es.video.color_space)