| Message ID | 20251208004808.1274417-8-rui.wang@ideasonboard.com |
|---|---|
| State | New |
| Headers | show |
| Series |
|
| Related | show |
Hi Rui On Sun, Dec 07, 2025 at 07:48:08PM -0500, Rui Wang wrote: > Enable the RkISP1 denoise pre-filter (DPF) for the IMX219 sensor by > adding the required DPF tuning block to imx219.yaml. > > Signed-off-by: Rui Wang <rui.wang@ideasonboard.com> > --- > > changelog: > - Yaml file only support dpf conifg and dpf strength config > > src/ipa/rkisp1/data/imx219.yaml | 60 +++++++++++++++++++++++++++++++++ > 1 file changed, 60 insertions(+) > > diff --git a/src/ipa/rkisp1/data/imx219.yaml b/src/ipa/rkisp1/data/imx219.yaml > index 0d99cb52..736b0bdb 100644 > --- a/src/ipa/rkisp1/data/imx219.yaml > +++ b/src/ipa/rkisp1/data/imx219.yaml > @@ -111,4 +111,64 @@ algorithms: > 1438, 1226, 1059, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1025, 1054, 1185, > 1326, 1334, 1334, > ] > + - Dpf: > + filter: > + g: [ 18, 13, 9, 5, 3, 1 ] > + rb: [ 18, 15, 12, 8, 5, 2 ] > + nll: > + coeff: [ > + 0, 14, 28, 42, 58, 76, 96, 120, > + 148, 180, 216, 256, 300, 348, 400, 456, > + 520 > + ] > + scale-mode: "linear" > + strength: > + r: 80 > + g: 80 > + b: 80 This is what confuses me about Dpf. We don't have an "enable DPF" control but rather only "use this DPF mode". What 'mode' does this outer configuration represents ? > + modes: > + - type: "minimal" > + filter: > + g: [ 14, 10, 7, 4, 2, 1 ] > + rb: [ 14, 11, 8, 4, 2, 1 ] > + nll: > + coeff: [ 0, 26, 52, 78, 106, 138, 172, 208, 248, 292, 340, 392, 448, 508, 572, 640, 712 ] > + scale-mode: "linear" > + strength: > + r: 60 > + g: 60 > + b: 60 > + - type: "highquality" > + filter: > + g: [ 22, 18, 13, 8, 5, 2 ] > + rb: [ 20, 18, 16, 11, 7, 3 ] > + nll: > + coeff: [ 0, 26, 52, 78, 106, 138, 172, 208, 248, 292, 340, 392, 448, 508, 572, 640, 712 ] > + scale-mode: "linear" > + strength: > + r: 130 > + g: 130 > + b: 130 > + - type: "fast" > + filter: > + g: [ 16, 12, 9, 5, 3, 1 ] > + rb: [ 16, 13, 10, 6, 4, 2 ] > + nll: > + coeff: [ 0, 16, 32, 48, 66, 86, 108, 132, 160, 192, 228, 268, 312, 360, 412, 468, 528 ] > + scale-mode: "linear" > + strength: > + r: 90 > + g: 90 > + b: 90 > + - type: "zsl" > + filter: > + g: [ 18, 14, 10, 6, 3, 1 ] > + rb: [ 18, 16, 13, 9, 5, 3 ] > + nll: > + coeff: [ 0, 20, 40, 60, 82, 106, 132, 160, 192, 228, 268, 312, 360, 412, 468, 528, 592 ] > + scale-mode: "linear" > + strength: > + r: 110 > + g: 110 > + b: 110 > ... > -- > 2.43.0 >
Jacopo Mondi wrote: > Hi Rui > > On Sun, Dec 07, 2025 at 07:48:08PM -0500, Rui Wang wrote: > > Enable the RkISP1 denoise pre-filter (DPF) for the IMX219 sensor by > > adding the required DPF tuning block to imx219.yaml. > > > > Signed-off-by: Rui Wang <rui.wang@ideasonboard.com> > > --- > > > > changelog: > > - Yaml file only support dpf conifg and dpf strength config > > > > src/ipa/rkisp1/data/imx219.yaml | 60 +++++++++++++++++++++++++++++++++ > > 1 file changed, 60 insertions(+) > > > > diff --git a/src/ipa/rkisp1/data/imx219.yaml b/src/ipa/rkisp1/data/imx219.yaml > > index 0d99cb52..736b0bdb 100644 > > --- a/src/ipa/rkisp1/data/imx219.yaml > > +++ b/src/ipa/rkisp1/data/imx219.yaml > > @@ -111,4 +111,64 @@ algorithms: > > 1438, 1226, 1059, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1025, 1054, 1185, > > 1326, 1334, 1334, > > ] > > + - Dpf: > > + filter: > > + g: [ 18, 13, 9, 5, 3, 1 ] > > + rb: [ 18, 15, 12, 8, 5, 2 ] > > + nll: > > + coeff: [ > > + 0, 14, 28, 42, 58, 76, 96, 120, > > + 148, 180, 216, 256, 300, 348, 400, 456, > > + 520 > > + ] > > + scale-mode: "linear" > > + strength: > > + r: 80 > > + g: 80 > > + b: 80 > > This is what confuses me about Dpf. > > We don't have an "enable DPF" control but rather only "use this DPF > mode". What 'mode' does this outer configuration represents ? > this modes map to reductionmodecontrol : NoiseReductionModeMinimal/NoiseReductionModeHighQuality /NoiseReductionModeFast/NoiseReductionModeZSL each mode would own its specific config in tuning file. and NoiseReductionModeOff equal to disable DPF > > + modes: > > + - type: "minimal" > > + filter: > > + g: [ 14, 10, 7, 4, 2, 1 ] > > + rb: [ 14, 11, 8, 4, 2, 1 ] > > + nll: > > + coeff: [ 0, 26, 52, 78, 106, 138, 172, 208, 248, 292, 340, 392, 448, 508, 572, 640, 712 ] > > + scale-mode: "linear" > > + strength: > > + r: 60 > > + g: 60 > > + b: 60 > > + - type: "highquality" > > + filter: > > + g: [ 22, 18, 13, 8, 5, 2 ] > > + rb: [ 20, 18, 16, 11, 7, 3 ] > > + nll: > > + coeff: [ 0, 26, 52, 78, 106, 138, 172, 208, 248, 292, 340, 392, 448, 508, 572, 640, 712 ] > > + scale-mode: "linear" > > + strength: > > + r: 130 > > + g: 130 > > + b: 130 > > + - type: "fast" > > + filter: > > + g: [ 16, 12, 9, 5, 3, 1 ] > > + rb: [ 16, 13, 10, 6, 4, 2 ] > > + nll: > > + coeff: [ 0, 16, 32, 48, 66, 86, 108, 132, 160, 192, 228, 268, 312, 360, 412, 468, 528 ] > > + scale-mode: "linear" > > + strength: > > + r: 90 > > + g: 90 > > + b: 90 > > + - type: "zsl" > > + filter: > > + g: [ 18, 14, 10, 6, 3, 1 ] > > + rb: [ 18, 16, 13, 9, 5, 3 ] > > + nll: > > + coeff: [ 0, 20, 40, 60, 82, 106, 132, 160, 192, 228, 268, 312, 360, 412, 468, 528, 592 ] > > + scale-mode: "linear" > > + strength: > > + r: 110 > > + g: 110 > > + b: 110 > > ... > > -- > > 2.43.0 > >
i Rui On Fri, Dec 12, 2025 at 07:11:32PM -0500, Rui Wang wrote: > Jacopo Mondi wrote: > > Hi Rui > > > > On Sun, Dec 07, 2025 at 07:48:08PM -0500, Rui Wang wrote: > > > Enable the RkISP1 denoise pre-filter (DPF) for the IMX219 sensor by > > > adding the required DPF tuning block to imx219.yaml. > > > > > > Signed-off-by: Rui Wang <rui.wang@ideasonboard.com> > > > --- > > > > > > changelog: > > > - Yaml file only support dpf conifg and dpf strength config > > > > > > src/ipa/rkisp1/data/imx219.yaml | 60 +++++++++++++++++++++++++++++++++ > > > 1 file changed, 60 insertions(+) > > > > > > diff --git a/src/ipa/rkisp1/data/imx219.yaml b/src/ipa/rkisp1/data/imx219.yaml > > > index 0d99cb52..736b0bdb 100644 > > > --- a/src/ipa/rkisp1/data/imx219.yaml > > > +++ b/src/ipa/rkisp1/data/imx219.yaml > > > @@ -111,4 +111,64 @@ algorithms: > > > 1438, 1226, 1059, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1025, 1054, 1185, > > > 1326, 1334, 1334, > > > ] > > > + - Dpf: > > > + filter: > > > + g: [ 18, 13, 9, 5, 3, 1 ] > > > + rb: [ 18, 15, 12, 8, 5, 2 ] > > > + nll: > > > + coeff: [ > > > + 0, 14, 28, 42, 58, 76, 96, 120, > > > + 148, 180, 216, 256, 300, 348, 400, 456, > > > + 520 > > > + ] > > > + scale-mode: "linear" > > > + strength: > > > + r: 80 > > > + g: 80 > > > + b: 80 > > > > This is what confuses me about Dpf. > > > > We don't have an "enable DPF" control but rather only "use this DPF > > mode". What 'mode' does this outer configuration represents ? > > > this modes map to reductionmodecontrol : > NoiseReductionModeMinimal/NoiseReductionModeHighQuality > /NoiseReductionModeFast/NoiseReductionModeZSL > each mode would own its specific config in tuning file. > and NoiseReductionModeOff equal to disable DPF This was not my question, sorry if it wasn't clear The tuning file layout is the following one - Dpf: filter: nll: strength: modes: - type: "minimal" filter: nll: strength: - type: "highquality" filter: nll: strength: - type: "fast" filter: nll: strength: - type: "zsl" filter: nll: strength: Each entry in "modes" is .. a mode, with it's own configuration. BUT: what do the outer configuration refers to ? What is its purpose ? It is not associated to any "mode", how can user select it ? - Dpf: filter: \ nll: | -> This one ?? strength: / modes: - type: ... Also, as I'm not sure if my reply to [v4 2/7] was clear, for each "mode" in "modes" you should register a value for controls::draft::NoiseReductionMode (*) and use can select which of those to use. - Dpf: modes: - type: "minimal" - type: "highquality" Means you should register: { &controls::draft::NoiseReductionMode, ControlInfo(NoiseReductionModeMinimal, NoiseReductionModeHighQuality)) }; so that applications can only select between modes described in the tuning file. > > > > + modes: > > > + - type: "minimal" > > > + filter: > > > + g: [ 14, 10, 7, 4, 2, 1 ] > > > + rb: [ 14, 11, 8, 4, 2, 1 ] > > > + nll: > > > + coeff: [ 0, 26, 52, 78, 106, 138, 172, 208, 248, 292, 340, 392, 448, 508, 572, 640, 712 ] > > > + scale-mode: "linear" > > > + strength: > > > + r: 60 > > > + g: 60 > > > + b: 60 > > > + - type: "highquality" > > > + filter: > > > + g: [ 22, 18, 13, 8, 5, 2 ] > > > + rb: [ 20, 18, 16, 11, 7, 3 ] > > > + nll: > > > + coeff: [ 0, 26, 52, 78, 106, 138, 172, 208, 248, 292, 340, 392, 448, 508, 572, 640, 712 ] > > > + scale-mode: "linear" > > > + strength: > > > + r: 130 > > > + g: 130 > > > + b: 130 > > > + - type: "fast" > > > + filter: > > > + g: [ 16, 12, 9, 5, 3, 1 ] > > > + rb: [ 16, 13, 10, 6, 4, 2 ] > > > + nll: > > > + coeff: [ 0, 16, 32, 48, 66, 86, 108, 132, 160, 192, 228, 268, 312, 360, 412, 468, 528 ] > > > + scale-mode: "linear" > > > + strength: > > > + r: 90 > > > + g: 90 > > > + b: 90 > > > + - type: "zsl" > > > + filter: > > > + g: [ 18, 14, 10, 6, 3, 1 ] > > > + rb: [ 18, 16, 13, 9, 5, 3 ] > > > + nll: > > > + coeff: [ 0, 20, 40, 60, 82, 106, 132, 160, 192, 228, 268, 312, 360, 412, 468, 528, 592 ] > > > + scale-mode: "linear" > > > + strength: > > > + r: 110 > > > + g: 110 > > > + b: 110 > > > ... > > > -- > > > 2.43.0 > > > > > >
diff --git a/src/ipa/rkisp1/data/imx219.yaml b/src/ipa/rkisp1/data/imx219.yaml index 0d99cb52..736b0bdb 100644 --- a/src/ipa/rkisp1/data/imx219.yaml +++ b/src/ipa/rkisp1/data/imx219.yaml @@ -111,4 +111,64 @@ algorithms: 1438, 1226, 1059, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1025, 1054, 1185, 1326, 1334, 1334, ] + - Dpf: + filter: + g: [ 18, 13, 9, 5, 3, 1 ] + rb: [ 18, 15, 12, 8, 5, 2 ] + nll: + coeff: [ + 0, 14, 28, 42, 58, 76, 96, 120, + 148, 180, 216, 256, 300, 348, 400, 456, + 520 + ] + scale-mode: "linear" + strength: + r: 80 + g: 80 + b: 80 + modes: + - type: "minimal" + filter: + g: [ 14, 10, 7, 4, 2, 1 ] + rb: [ 14, 11, 8, 4, 2, 1 ] + nll: + coeff: [ 0, 26, 52, 78, 106, 138, 172, 208, 248, 292, 340, 392, 448, 508, 572, 640, 712 ] + scale-mode: "linear" + strength: + r: 60 + g: 60 + b: 60 + - type: "highquality" + filter: + g: [ 22, 18, 13, 8, 5, 2 ] + rb: [ 20, 18, 16, 11, 7, 3 ] + nll: + coeff: [ 0, 26, 52, 78, 106, 138, 172, 208, 248, 292, 340, 392, 448, 508, 572, 640, 712 ] + scale-mode: "linear" + strength: + r: 130 + g: 130 + b: 130 + - type: "fast" + filter: + g: [ 16, 12, 9, 5, 3, 1 ] + rb: [ 16, 13, 10, 6, 4, 2 ] + nll: + coeff: [ 0, 16, 32, 48, 66, 86, 108, 132, 160, 192, 228, 268, 312, 360, 412, 468, 528 ] + scale-mode: "linear" + strength: + r: 90 + g: 90 + b: 90 + - type: "zsl" + filter: + g: [ 18, 14, 10, 6, 3, 1 ] + rb: [ 18, 16, 13, 9, 5, 3 ] + nll: + coeff: [ 0, 20, 40, 60, 82, 106, 132, 160, 192, 228, 268, 312, 360, 412, 468, 528, 592 ] + scale-mode: "linear" + strength: + r: 110 + g: 110 + b: 110 ...
Enable the RkISP1 denoise pre-filter (DPF) for the IMX219 sensor by adding the required DPF tuning block to imx219.yaml. Signed-off-by: Rui Wang <rui.wang@ideasonboard.com> --- changelog: - Yaml file only support dpf conifg and dpf strength config src/ipa/rkisp1/data/imx219.yaml | 60 +++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+)