You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
openwrt/target/linux/bcm27xx/patches-5.4/950-0293-staging-bcm2835-co...

31 lines
1.2 KiB
Diff

From eb4cbf0e6893397f00aff0f90dc9d3df75e98b52 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Thu, 11 Jul 2019 14:58:35 +0100
Subject: [PATCH] staging: bcm2835-codec: Correct bytesperline on
format changed
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>
---
.../staging/vc04_services/bcm2835-codec/bcm2835-v4l2-codec.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
--- a/drivers/staging/vc04_services/bcm2835-codec/bcm2835-v4l2-codec.c
+++ b/drivers/staging/vc04_services/bcm2835-codec/bcm2835-v4l2-codec.c
@@ -759,7 +759,9 @@ static void handle_fmt_changed(struct bc
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)