diff options
Diffstat (limited to 'target/linux/bcm27xx/patches-4.19/950-0414-staging-bcm2835-codec-Correct-port-width-calc-for-tr.patch')
-rw-r--r-- | target/linux/bcm27xx/patches-4.19/950-0414-staging-bcm2835-codec-Correct-port-width-calc-for-tr.patch | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/target/linux/bcm27xx/patches-4.19/950-0414-staging-bcm2835-codec-Correct-port-width-calc-for-tr.patch b/target/linux/bcm27xx/patches-4.19/950-0414-staging-bcm2835-codec-Correct-port-width-calc-for-tr.patch new file mode 100644 index 0000000000..9e25fe1016 --- /dev/null +++ b/target/linux/bcm27xx/patches-4.19/950-0414-staging-bcm2835-codec-Correct-port-width-calc-for-tr.patch @@ -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; |