summaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
authorNaushir Patuck <naush@raspberrypi.com>2021-02-08 15:07:35 +0000
committerLaurent Pinchart <laurent.pinchart@ideasonboard.com>2021-02-09 13:23:39 +0200
commit1c362b785583223526fcf2dd43e11b957e51e439 (patch)
tree0197d9ac35f8e0b9a3f35066b6ccdeba142afdd2 /include/linux
parent68b992e72e806810bcc1e580e2412f5ae404ad4a (diff)
uapi: raspberrypi: Update the bcm2835-isp header definition
Update the bcm2835-isp.h file with the latest version available in the downstream Raspberry Pi linux repo at commit: 68878170d8a98afd6d519a3a2c909080c19de4ce This change adds support for colour denoise processing, and the following downstream kernel changes must be available: https://github.com/raspberrypi/linux/pull/4069 https://github.com/raspberrypi/linux/pull/4083 The Raspberry Pi image must also be running the latest firmware, obtained by running rpi-update. Signed-off-by: Naushir Patuck <naush@raspberrypi.com> Reviewed-by: David Plowman <david.plowman@raspberrypi.com> Acked-by: Kieran Bingham <kieran.bingham@ideasonboard.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/bcm2835-isp.h32
1 files changed, 29 insertions, 3 deletions
diff --git a/include/linux/bcm2835-isp.h b/include/linux/bcm2835-isp.h
index 45abb681..94c3af94 100644
--- a/include/linux/bcm2835-isp.h
+++ b/include/linux/bcm2835-isp.h
@@ -31,7 +31,8 @@
(V4L2_CID_USER_BCM2835_ISP_BASE + 0x0007)
#define V4L2_CID_USER_BCM2835_ISP_DPC \
(V4L2_CID_USER_BCM2835_ISP_BASE + 0x0008)
-
+#define V4L2_CID_USER_BCM2835_ISP_CDN \
+ (V4L2_CID_USER_BCM2835_ISP_BASE + 0x0009)
/*
* All structs below are directly mapped onto the equivalent structs in
* drivers/staging/vc04_services/vchiq-mmal/mmal-parameters.h
@@ -46,7 +47,7 @@
*/
struct bcm2835_isp_rational {
__s32 num;
- __s32 den;
+ __u32 den;
};
/**
@@ -140,7 +141,7 @@ struct bcm2835_isp_black_level {
__u16 black_level_r;
__u16 black_level_g;
__u16 black_level_b;
- __u8 pad_[2]; /* Unused */
+ __u8 padding[2]; /* Unused */
};
/**
@@ -176,6 +177,31 @@ struct bcm2835_isp_gamma {
};
/**
+ * enum bcm2835_isp_cdn_mode - Mode of operation for colour denoise.
+ *
+ * @CDN_MODE_FAST: Fast (but lower quality) colour denoise
+ * algorithm, typically used for video recording.
+ * @CDN_HIGH_QUALITY: High quality (but slower) colour denoise
+ * algorithm, typically used for stills capture.
+ */
+enum bcm2835_isp_cdn_mode {
+ CDN_MODE_FAST = 0,
+ CDN_MODE_HIGH_QUALITY = 1,
+};
+
+/**
+ * struct bcm2835_isp_cdn - Colour denoise parameters set with the
+ * V4L2_CID_USER_BCM2835_ISP_CDN ctrl.
+ *
+ * @enabled: Enable colour denoise.
+ * @cdn_mode: Colour denoise operating mode (see enum &bcm2835_isp_cdn_mode)
+ */
+struct bcm2835_isp_cdn {
+ __u32 enabled;
+ __u32 mode;
+};
+
+/**
* struct bcm2835_isp_denoise - Denoise parameters set with the
* V4L2_CID_USER_BCM2835_ISP_DENOISE ctrl.
*