vc04_services: isp: Report input node as wanting full range RAW color space
authorDavid Plowman <david.plowman@raspberrypi.com>
Thu, 21 Oct 2021 13:49:15 +0000 (14:49 +0100)
committerPhil Elwell <8911409+pelwell@users.noreply.github.com>
Fri, 22 Oct 2021 09:13:57 +0000 (10:13 +0100)
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

index 08dce8b..df57c2f 100644 (file)
@@ -1032,7 +1032,9 @@ static int bcm2835_isp_node_try_fmt(struct file *file, void *priv,
                /* 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);