brcm2708: organize kernel patches
[openwrt/staging/wigyori.git] / target / linux / brcm2708 / patches-4.19 / 950-0436-staging-bcm2835-codec-Correct-port-width-calc-for-tr.patch
diff --git a/target/linux/brcm2708/patches-4.19/950-0436-staging-bcm2835-codec-Correct-port-width-calc-for-tr.patch b/target/linux/brcm2708/patches-4.19/950-0436-staging-bcm2835-codec-Correct-port-width-calc-for-tr.patch
new file mode 100644 (file)
index 0000000..9e25fe1
--- /dev/null
@@ -0,0 +1,29 @@
+From 453caa19909edf2de1add80b369fb30570a440ed Mon Sep 17 00:00:00 2001
+From: Dave Stevenson <dave.stevenson@raspberrypi.org>
+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 <dave.stevenson@raspberrypi.org>
+---
+ .../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;