mirror of
https://git.openwrt.org/openwrt/openwrt.git
synced 2024-06-18 13:13:55 +02:00
![Álvaro Fernández Rojas](/assets/img/avatar_default.png)
bcm2708: boot tested on RPi B+ v1.2 bcm2709: boot tested on RPi 3B v1.2 and RPi 4B v1.1 4G bcm2710: boot tested on RPi 3B v1.2 bcm2711: boot tested on RPi 4B v1.1 4G Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
76 lines
2.5 KiB
Diff
76 lines
2.5 KiB
Diff
From 29ec709794ac2aae569c8d486dd19a7d731cfeeb Mon Sep 17 00:00:00 2001
|
|
From: Naushir Patuck <naush@raspberrypi.com>
|
|
Date: Thu, 14 Jan 2021 09:20:52 +0000
|
|
Subject: [PATCH] staging: vc04_services: ISP: Add colour denoise
|
|
control
|
|
|
|
Add colour denoise control to the bcm2835 driver through a new v4l2
|
|
control: V4L2_CID_USER_BCM2835_ISP_CDN.
|
|
|
|
Add the accompanying MMAL configuration structure definitions as well.
|
|
|
|
Signed-off-by: Naushir Patuck <naush@raspberrypi.com>
|
|
---
|
|
.../vc04_services/bcm2835-isp/bcm2835-v4l2-isp.c | 5 +++++
|
|
.../vc04_services/bcm2835-isp/bcm2835_isp_ctrls.h | 5 +++++
|
|
.../vc04_services/vchiq-mmal/mmal-parameters.h | 13 +++++++++++++
|
|
3 files changed, 23 insertions(+)
|
|
|
|
--- a/drivers/staging/vc04_services/bcm2835-isp/bcm2835-v4l2-isp.c
|
|
+++ b/drivers/staging/vc04_services/bcm2835-isp/bcm2835-v4l2-isp.c
|
|
@@ -776,6 +776,11 @@ static int bcm2835_isp_s_ctrl(struct v4l
|
|
ctrl->p_new.p_u8,
|
|
sizeof(struct bcm2835_isp_denoise));
|
|
break;
|
|
+ case V4L2_CID_USER_BCM2835_ISP_CDN:
|
|
+ ret = set_isp_param(node, MMAL_PARAMETER_CDN,
|
|
+ ctrl->p_new.p_u8,
|
|
+ sizeof(struct bcm2835_isp_cdn));
|
|
+ break;
|
|
case V4L2_CID_USER_BCM2835_ISP_SHARPEN:
|
|
ret = set_isp_param(node, MMAL_PARAMETER_SHARPEN,
|
|
ctrl->p_new.p_u8,
|
|
--- a/drivers/staging/vc04_services/bcm2835-isp/bcm2835_isp_ctrls.h
|
|
+++ b/drivers/staging/vc04_services/bcm2835-isp/bcm2835_isp_ctrls.h
|
|
@@ -57,6 +57,11 @@ static const struct bcm2835_isp_custom_c
|
|
.size = sizeof(struct bcm2835_isp_denoise),
|
|
.flags = 0
|
|
}, {
|
|
+ .name = "Colour Denoise",
|
|
+ .id = V4L2_CID_USER_BCM2835_ISP_CDN,
|
|
+ .size = sizeof(struct bcm2835_isp_cdn),
|
|
+ .flags = 0
|
|
+ }, {
|
|
.name = "Defective Pixel Correction",
|
|
.id = V4L2_CID_USER_BCM2835_ISP_DPC,
|
|
.size = sizeof(struct bcm2835_isp_dpc),
|
|
--- a/drivers/staging/vc04_services/vchiq-mmal/mmal-parameters.h
|
|
+++ b/drivers/staging/vc04_services/vchiq-mmal/mmal-parameters.h
|
|
@@ -277,6 +277,8 @@ enum mmal_parameter_camera_type {
|
|
MMAL_PARAMETER_DPC,
|
|
/**< Tales a @ref MMAP_PARAMETER_GAMMA_T */
|
|
MMAL_PARAMETER_GAMMA,
|
|
+ /**< Takes a @ref MMAL_PARAMETER_CDN_T */
|
|
+ MMAL_PARAMETER_CDN,
|
|
};
|
|
|
|
struct mmal_parameter_rational {
|
|
@@ -910,6 +912,17 @@ struct mmal_parameter_gamma {
|
|
u16 y[MMAL_NUM_GAMMA_PTS];
|
|
};
|
|
|
|
+enum mmal_parameter_cdn_mode {
|
|
+ MMAL_PARAM_CDN_FAST = 0,
|
|
+ MMAL_PARAM_CDN_HIGH_QUALITY = 1,
|
|
+ MMAL_PARAM_CDN_DUMMY = 0x7FFFFFFF
|
|
+};
|
|
+
|
|
+struct mmal_parameter_colour_denoise {
|
|
+ u32 enabled;
|
|
+ enum mmal_parameter_cdn_mode mode;
|
|
+};
|
|
+
|
|
struct mmal_parameter_denoise {
|
|
u32 enabled;
|
|
u32 constant;
|