| Message ID | 20260115163318.1339354-7-rui.wang@ideasonboard.com |
|---|---|
| State | Superseded |
| Headers | show |
| Series |
|
| Related | show |
Hi Rui, Quoting Rui Wang (2026-01-15 17:33:17) > Update the RkISP1 denoise pre-filter (DPF) for the imx219/ov5640 > sensor tuning config by adding the required DPF tuning block. > > Signed-off-by: Rui Wang <rui.wang@ideasonboard.com> > > --- > changelog since v5: No change > > changelog since v6: > add ov5647 as strong noise sensor for verification > > changelog since v7: > - move ov5647 yaml out this commit and will add brand new commit > - Update dpf tuning paras format , delete base config following > parseConfig code change > --- > src/ipa/rkisp1/data/imx219.yaml | 24 ++++++++++++++ > src/ipa/rkisp1/data/ov5640.yaml | 59 +++++++++++++++++++++++++-------- > 2 files changed, 69 insertions(+), 14 deletions(-) > > diff --git a/src/ipa/rkisp1/data/imx219.yaml b/src/ipa/rkisp1/data/imx219.yaml > index 0d99cb52..54a8ae2d 100644 > --- a/src/ipa/rkisp1/data/imx219.yaml > +++ b/src/ipa/rkisp1/data/imx219.yaml > @@ -111,4 +111,28 @@ algorithms: > 1438, 1226, 1059, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1025, 1054, 1185, > 1326, 1334, 1334, > ] > + - 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 Looking at these changes, they look structurally quite different from other places where we have multiple modes. E.g. Agc has Agc: AeMeteringMode: MeteringCentreWeighted: ... MeteringSpot: ... MeteringMatrix: ... AeExposureMode: ExposureNormal: ... ExposureShort: ... Similar on Awb. Should Dpf be designed similarly? Something like: Dpf: NoiseReductionModes: ReductionMinimal: ReductionFast: as these are also the names used in the modes map. We could then either add a NoiseReductionModeNormal, or add a defaultMode property to the Dpf node, to solve the question Jacopo brought up. What do you think? Best regards, Stefan > ... > diff --git a/src/ipa/rkisp1/data/ov5640.yaml b/src/ipa/rkisp1/data/ov5640.yaml > index 4b21d412..4d5e7053 100644 > --- a/src/ipa/rkisp1/data/ov5640.yaml > +++ b/src/ipa/rkisp1/data/ov5640.yaml > @@ -232,19 +232,50 @@ algorithms: > green: 2 > red-blue: 2 > - Dpf: > - DomainFilter: > - g: [ 16, 16, 16, 16, 16, 16 ] > - rb: [ 16, 16, 16, 16, 16, 16 ] > - NoiseLevelFunction: > - coeff: [ > - 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, > - 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, > - 1023 > - ] > - scale-mode: "linear" > - FilterStrength: > - r: 64 > - g: 64 > - b: 64 > + 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 > - Filter: > ... > -- > 2.43.0 >
Hi Stefan On Fri, Jan 16, 2026 at 02:52:31PM +0100, Stefan Klug wrote: > Hi Rui, > > Quoting Rui Wang (2026-01-15 17:33:17) > > Update the RkISP1 denoise pre-filter (DPF) for the imx219/ov5640 > > sensor tuning config by adding the required DPF tuning block. > > > > Signed-off-by: Rui Wang <rui.wang@ideasonboard.com> > > > > --- > > changelog since v5: No change > > > > changelog since v6: > > add ov5647 as strong noise sensor for verification > > > > changelog since v7: > > - move ov5647 yaml out this commit and will add brand new commit > > - Update dpf tuning paras format , delete base config following > > parseConfig code change > > --- > > src/ipa/rkisp1/data/imx219.yaml | 24 ++++++++++++++ > > src/ipa/rkisp1/data/ov5640.yaml | 59 +++++++++++++++++++++++++-------- > > 2 files changed, 69 insertions(+), 14 deletions(-) > > > > diff --git a/src/ipa/rkisp1/data/imx219.yaml b/src/ipa/rkisp1/data/imx219.yaml > > index 0d99cb52..54a8ae2d 100644 > > --- a/src/ipa/rkisp1/data/imx219.yaml > > +++ b/src/ipa/rkisp1/data/imx219.yaml > > @@ -111,4 +111,28 @@ algorithms: > > 1438, 1226, 1059, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1025, 1054, 1185, > > 1326, 1334, 1334, > > ] > > + - 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 > > Looking at these changes, they look structurally quite different from > other places where we have multiple modes. E.g. Agc has > > Agc: > AeMeteringMode: > MeteringCentreWeighted: ... > MeteringSpot: ... > MeteringMatrix: ... > AeExposureMode: > ExposureNormal: ... > ExposureShort: ... > > Similar on Awb. Should Dpf be designed similarly? > Something like: > > Dpf: > NoiseReductionModes: > ReductionMinimal: > ReductionFast: > > as these are also the names used in the modes map. > > We could then either add a NoiseReductionModeNormal, or add a > defaultMode property to the Dpf node, to solve the question Jacopo Ah, see, I called it "enabledMode" in my reply to the previous patch, but I think the concept is the same! > brought up. > > What do you think? > > Best regards, > Stefan > > > ... > > diff --git a/src/ipa/rkisp1/data/ov5640.yaml b/src/ipa/rkisp1/data/ov5640.yaml > > index 4b21d412..4d5e7053 100644 > > --- a/src/ipa/rkisp1/data/ov5640.yaml > > +++ b/src/ipa/rkisp1/data/ov5640.yaml > > @@ -232,19 +232,50 @@ algorithms: > > green: 2 > > red-blue: 2 > > - Dpf: > > - DomainFilter: > > - g: [ 16, 16, 16, 16, 16, 16 ] > > - rb: [ 16, 16, 16, 16, 16, 16 ] > > - NoiseLevelFunction: > > - coeff: [ > > - 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, > > - 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, > > - 1023 > > - ] > > - scale-mode: "linear" > > - FilterStrength: > > - r: 64 > > - g: 64 > > - b: 64 > > + 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 > > - Filter: > > ... > > -- > > 2.43.0 > >
On 2026-01-16 08:52, Stefan Klug wrote: > Hi Rui, > > Quoting Rui Wang (2026-01-15 17:33:17) >> Update the RkISP1 denoise pre-filter (DPF) for the imx219/ov5640 >> sensor tuning config by adding the required DPF tuning block. >> >> Signed-off-by: Rui Wang <rui.wang@ideasonboard.com> >> >> --- >> changelog since v5: No change >> >> changelog since v6: >> add ov5647 as strong noise sensor for verification >> >> changelog since v7: >> - move ov5647 yaml out this commit and will add brand new commit >> - Update dpf tuning paras format , delete base config following >> parseConfig code change >> --- >> src/ipa/rkisp1/data/imx219.yaml | 24 ++++++++++++++ >> src/ipa/rkisp1/data/ov5640.yaml | 59 +++++++++++++++++++++++++-------- >> 2 files changed, 69 insertions(+), 14 deletions(-) >> >> diff --git a/src/ipa/rkisp1/data/imx219.yaml b/src/ipa/rkisp1/data/imx219.yaml >> index 0d99cb52..54a8ae2d 100644 >> --- a/src/ipa/rkisp1/data/imx219.yaml >> +++ b/src/ipa/rkisp1/data/imx219.yaml >> @@ -111,4 +111,28 @@ algorithms: >> 1438, 1226, 1059, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1025, 1054, 1185, >> 1326, 1334, 1334, >> ] >> + - 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 > Looking at these changes, they look structurally quite different from > other places where we have multiple modes. E.g. Agc has > > Agc: > AeMeteringMode: > MeteringCentreWeighted: ... > MeteringSpot: ... > MeteringMatrix: ... > AeExposureMode: > ExposureNormal: ... > ExposureShort: ... > > Similar on Awb. Should Dpf be designed similarly? > Something like: > > Dpf: > NoiseReductionModes: > ReductionMinimal: > ReductionFast: > > as these are also the names used in the modes map. > > We could then either add a NoiseReductionModeNormal, or add a > defaultMode property to the Dpf node, to solve the question Jacopo > brought up. > > What do you think? > > Best regards, > Stefan Thanks for your information, Dpf: NoiseReductionModes: ReductionMinimal: ReductionFast: those naming rules looks more consistent as aec/awb, I will adopt in version 9 patch. Rui >> ... >> diff --git a/src/ipa/rkisp1/data/ov5640.yaml b/src/ipa/rkisp1/data/ov5640.yaml >> index 4b21d412..4d5e7053 100644 >> --- a/src/ipa/rkisp1/data/ov5640.yaml >> +++ b/src/ipa/rkisp1/data/ov5640.yaml >> @@ -232,19 +232,50 @@ algorithms: >> green: 2 >> red-blue: 2 >> - Dpf: >> - DomainFilter: >> - g: [ 16, 16, 16, 16, 16, 16 ] >> - rb: [ 16, 16, 16, 16, 16, 16 ] >> - NoiseLevelFunction: >> - coeff: [ >> - 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, >> - 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, >> - 1023 >> - ] >> - scale-mode: "linear" >> - FilterStrength: >> - r: 64 >> - g: 64 >> - b: 64 >> + 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 >> - Filter: >> ... >> -- >> 2.43.0 >>
diff --git a/src/ipa/rkisp1/data/imx219.yaml b/src/ipa/rkisp1/data/imx219.yaml index 0d99cb52..54a8ae2d 100644 --- a/src/ipa/rkisp1/data/imx219.yaml +++ b/src/ipa/rkisp1/data/imx219.yaml @@ -111,4 +111,28 @@ algorithms: 1438, 1226, 1059, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1025, 1054, 1185, 1326, 1334, 1334, ] + - 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 ... diff --git a/src/ipa/rkisp1/data/ov5640.yaml b/src/ipa/rkisp1/data/ov5640.yaml index 4b21d412..4d5e7053 100644 --- a/src/ipa/rkisp1/data/ov5640.yaml +++ b/src/ipa/rkisp1/data/ov5640.yaml @@ -232,19 +232,50 @@ algorithms: green: 2 red-blue: 2 - Dpf: - DomainFilter: - g: [ 16, 16, 16, 16, 16, 16 ] - rb: [ 16, 16, 16, 16, 16, 16 ] - NoiseLevelFunction: - coeff: [ - 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, - 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, - 1023 - ] - scale-mode: "linear" - FilterStrength: - r: 64 - g: 64 - b: 64 + 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 - Filter: ...
Update the RkISP1 denoise pre-filter (DPF) for the imx219/ov5640 sensor tuning config by adding the required DPF tuning block. Signed-off-by: Rui Wang <rui.wang@ideasonboard.com> --- changelog since v5: No change changelog since v6: add ov5647 as strong noise sensor for verification changelog since v7: - move ov5647 yaml out this commit and will add brand new commit - Update dpf tuning paras format , delete base config following parseConfig code change --- src/ipa/rkisp1/data/imx219.yaml | 24 ++++++++++++++ src/ipa/rkisp1/data/ov5640.yaml | 59 +++++++++++++++++++++++++-------- 2 files changed, 69 insertions(+), 14 deletions(-)