uapi: bcm2835-isp: Add colour denoise configuration
authorNaushir Patuck <naush@raspberrypi.com>
Thu, 14 Jan 2021 09:18:42 +0000 (09:18 +0000)
committerDom Cobley <popcornmix@gmail.com>
Mon, 19 Feb 2024 11:33:08 +0000 (11:33 +0000)
Add a configuration structure for colour denoise to the bcm2835_isp
driver.

Signed-off-by: Naushir Patuck <naush@raspberrypi.com>
include/uapi/linux/bcm2835-isp.h

index cf8c043..c50e3ca 100644 (file)
@@ -31,6 +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
@@ -176,6 +178,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.
+ * @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.
  *