aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/bcm27xx/patches-5.15/950-0541-vc04_services-isp-Report-input-node-as-wanting-full-.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/bcm27xx/patches-5.15/950-0541-vc04_services-isp-Report-input-node-as-wanting-full-.patch')
-rw-r--r--target/linux/bcm27xx/patches-5.15/950-0541-vc04_services-isp-Report-input-node-as-wanting-full-.patch29
1 files changed, 29 insertions, 0 deletions
diff --git a/target/linux/bcm27xx/patches-5.15/950-0541-vc04_services-isp-Report-input-node-as-wanting-full-.patch b/target/linux/bcm27xx/patches-5.15/950-0541-vc04_services-isp-Report-input-node-as-wanting-full-.patch
new file mode 100644
index 0000000000..b09cf0cdd7
--- /dev/null
+++ b/target/linux/bcm27xx/patches-5.15/950-0541-vc04_services-isp-Report-input-node-as-wanting-full-.patch
@@ -0,0 +1,29 @@
+From a51b310cccaeac9b0971323dc6fe641fa632c63c Mon Sep 17 00:00:00 2001
+From: David Plowman <david.plowman@raspberrypi.com>
+Date: Thu, 21 Oct 2021 14:49:15 +0100
+Subject: [PATCH] vc04_services: isp: Report input node as wanting full
+ range RAW color space
+
+RAW color spaces are more usually reported as having full range
+quantization.
+
+Tested using libcamera.
+
+Signed-off-by: David Plowman <david.plowman@raspberrypi.com>
+---
+ drivers/staging/vc04_services/bcm2835-isp/bcm2835-v4l2-isp.c | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+--- a/drivers/staging/vc04_services/bcm2835-isp/bcm2835-v4l2-isp.c
++++ b/drivers/staging/vc04_services/bcm2835-isp/bcm2835-v4l2-isp.c
+@@ -1032,7 +1032,9 @@ static int bcm2835_isp_node_try_fmt(stru
+ /* In all cases, we only support the defaults for these: */
+ f->fmt.pix.ycbcr_enc = V4L2_MAP_YCBCR_ENC_DEFAULT(f->fmt.pix.colorspace);
+ f->fmt.pix.xfer_func = V4L2_MAP_XFER_FUNC_DEFAULT(f->fmt.pix.colorspace);
+- is_rgb = f->fmt.pix.colorspace == V4L2_COLORSPACE_SRGB;
++ /* RAW counts as sRGB here so that we get full range. */
++ is_rgb = f->fmt.pix.colorspace == V4L2_COLORSPACE_SRGB ||
++ f->fmt.pix.colorspace == V4L2_COLORSPACE_RAW;
+ f->fmt.pix.quantization = V4L2_MAP_QUANTIZATION_DEFAULT(is_rgb, f->fmt.pix.colorspace,
+ f->fmt.pix.ycbcr_enc);
+