[v11,7/7] ipa: rkisp1: algorithms: data: Add OV5647/IMX219 tuning file
diff mbox series

Message ID 20260122234709.2061370-8-rui.wang@ideasonboard.com
State Superseded
Headers show
Series
  • refactor DPF parsing and initialization
Related show

Commit Message

Rui Wang Jan. 22, 2026, 11:47 p.m. UTC
Add a new tuning configuration file for the OmniVision OV5647 sensor.
This includes initial settings for DPF algorithms.

Register the new tuning file in the build system.

Add Dpf tuning config into Imx219

Signed-off-by: Rui Wang <rui.wang@ideasonboard.com>

---
 changelog since v7 :
  - move imx219 dpf tuning config
  - update tuning parameters since "key" update

 changelog since v9:
  - Update dpf tuning config regarding reduction mode format
    from  list to dictionary
  - add ActiveMode for dpf default mode

 changelog since v10:
  - Modify ReductionMinimal - > NoiseReductionModeMinimal
  since parser code update
---
 src/ipa/rkisp1/data/imx219.yaml | 25 ++++++++++++++++++++++++
 src/ipa/rkisp1/data/meson.build |  1 +
 src/ipa/rkisp1/data/ov5647.yaml | 34 +++++++++++++++++++++++++++++++++
 3 files changed, 60 insertions(+)
 create mode 100644 src/ipa/rkisp1/data/ov5647.yaml

Comments

Jacopo Mondi Feb. 3, 2026, 2:15 p.m. UTC | #1
Hi Rui

On Thu, Jan 22, 2026 at 06:47:09PM -0500, Rui Wang wrote:
> Add a new tuning configuration file for the OmniVision OV5647 sensor.

This introduces a new tuning file (ov5647). It shouldn't be done in
the same commit that adds DPF tunings for an existing tuning file
(imx219)

Please, split the two changes


> This includes initial settings for DPF algorithms.
>
> Register the new tuning file in the build system.
>
> Add Dpf tuning config into Imx219
>
> Signed-off-by: Rui Wang <rui.wang@ideasonboard.com>
>
> ---
>  changelog since v7 :
>   - move imx219 dpf tuning config
>   - update tuning parameters since "key" update
>
>  changelog since v9:
>   - Update dpf tuning config regarding reduction mode format
>     from  list to dictionary
>   - add ActiveMode for dpf default mode
>
>  changelog since v10:
>   - Modify ReductionMinimal - > NoiseReductionModeMinimal
>   since parser code update
> ---
>  src/ipa/rkisp1/data/imx219.yaml | 25 ++++++++++++++++++++++++
>  src/ipa/rkisp1/data/meson.build |  1 +
>  src/ipa/rkisp1/data/ov5647.yaml | 34 +++++++++++++++++++++++++++++++++
>  3 files changed, 60 insertions(+)
>  create mode 100644 src/ipa/rkisp1/data/ov5647.yaml
>
> diff --git a/src/ipa/rkisp1/data/imx219.yaml b/src/ipa/rkisp1/data/imx219.yaml
> index 0d99cb52..ef3468a1 100644
> --- a/src/ipa/rkisp1/data/imx219.yaml
> +++ b/src/ipa/rkisp1/data/imx219.yaml
> @@ -111,4 +111,29 @@ algorithms:
>                 1438, 1226, 1059, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1025, 1054, 1185,
>                 1326, 1334, 1334,
>               ]
> +  - Dpf:
> +      NoiseReductionModes:
> +        NoiseReductionModeMinimal:
> +          DomainFilter:
> +            g:  [ 14, 10,  7,  4,  2,  1 ]
> +            rb: [ 14, 11,  8,  4,  2,  1 ]
> +          NoiseLevelFunction:
> +            coeff: [ 0, 26, 52, 78, 106, 138, 172, 208, 248, 292, 340, 392, 448, 508, 572, 640, 712 ]
> +            scale-mode: "linear"
> +          FilterStrength:
> +            r: 60
> +            g: 60
> +            b: 60
> +        NoiseReductionModeHighQuality:
> +          DomainFilter:
> +            g:  [ 22, 18, 13,  8,  5,  2 ]
> +            rb: [ 20, 18, 16, 11,  7,  3 ]
> +          NoiseLevelFunction:
> +            coeff: [ 0, 26, 52, 78, 106, 138, 172, 208, 248, 292, 340, 392, 448, 508, 572, 640, 712 ]
> +            scale-mode: "linear"
> +          FilterStrength:
> +            r: 130
> +            g: 130
> +            b: 130
> +      ActiveMode: "NoiseReductionModeHighQuality"
>  ...
> diff --git a/src/ipa/rkisp1/data/meson.build b/src/ipa/rkisp1/data/meson.build
> index 1e3522b2..6388a8be 100644
> --- a/src/ipa/rkisp1/data/meson.build
> +++ b/src/ipa/rkisp1/data/meson.build
> @@ -6,6 +6,7 @@ conf_files = files([
>      'ov2685.yaml',
>      'ov4689.yaml',
>      'ov5640.yaml',
> +    'ov5647.yaml',
>      'ov5695.yaml',
>      'ov8858.yaml',
>      'uncalibrated.yaml',
> diff --git a/src/ipa/rkisp1/data/ov5647.yaml b/src/ipa/rkisp1/data/ov5647.yaml
> new file mode 100644
> index 00000000..1fc5e6d4
> --- /dev/null
> +++ b/src/ipa/rkisp1/data/ov5647.yaml
> @@ -0,0 +1,34 @@
> +# SPDX-License-Identifier: CC0-1.0
> +%YAML 1.1
> +---
> +version: 1
> +algorithms:
> +  - Agc:
> +  - Awb:
> +  - Dpf:
> +      NoiseReductionModes:
> +        NoiseReductionModeFast:
> +          DomainFilter:
> +            g:  [ 16, 12,  9,  5,  3,  1 ]
> +            rb: [ 16, 13, 10,  6,  4,  2 ]
> +          NoiseLevelFunction:
> +            coeff: [ 0, 16, 32, 48, 66, 86, 108, 132, 160, 192, 228, 268, 312, 360, 412, 468, 528 ]
> +            scale-mode: "linear"
> +          FilterStrength:
> +            r: 90
> +            g: 90
> +            b: 90
> +        NoiseReductionModeZsl:
> +          DomainFilter:
> +            g:  [ 18, 14, 10,  6,  3,  1 ]
> +            rb: [ 18, 16, 13,  9,  5,  3 ]
> +          NoiseLevelFunction:
> +            coeff: [ 0, 20, 40, 60, 82, 106, 132, 160, 192, 228, 268, 312, 360, 412, 468, 528, 592 ]
> +            scale-mode: "linear"
> +          FilterStrength:
> +            r: 110
> +            g: 110
> +            b: 110
> +      ActiveMode: "NoiseReductionModeHighQuality"
> +  - Filter:
> +...
> --
> 2.43.0
>
Jacopo Mondi Feb. 3, 2026, 3:41 p.m. UTC | #2
For some reason I replied to v11 and not v12, sorry, but if I'm not
mistaken the same comment applies there too ?

On Tue, Feb 03, 2026 at 03:15:05PM +0100, Jacopo Mondi wrote:
> Hi Rui
>
> On Thu, Jan 22, 2026 at 06:47:09PM -0500, Rui Wang wrote:
> > Add a new tuning configuration file for the OmniVision OV5647 sensor.
>
> This introduces a new tuning file (ov5647). It shouldn't be done in
> the same commit that adds DPF tunings for an existing tuning file
> (imx219)
>
> Please, split the two changes
>
>
> > This includes initial settings for DPF algorithms.
> >
> > Register the new tuning file in the build system.
> >
> > Add Dpf tuning config into Imx219
> >
> > Signed-off-by: Rui Wang <rui.wang@ideasonboard.com>
> >
> > ---
> >  changelog since v7 :
> >   - move imx219 dpf tuning config
> >   - update tuning parameters since "key" update
> >
> >  changelog since v9:
> >   - Update dpf tuning config regarding reduction mode format
> >     from  list to dictionary
> >   - add ActiveMode for dpf default mode
> >
> >  changelog since v10:
> >   - Modify ReductionMinimal - > NoiseReductionModeMinimal
> >   since parser code update
> > ---
> >  src/ipa/rkisp1/data/imx219.yaml | 25 ++++++++++++++++++++++++
> >  src/ipa/rkisp1/data/meson.build |  1 +
> >  src/ipa/rkisp1/data/ov5647.yaml | 34 +++++++++++++++++++++++++++++++++
> >  3 files changed, 60 insertions(+)
> >  create mode 100644 src/ipa/rkisp1/data/ov5647.yaml
> >
> > diff --git a/src/ipa/rkisp1/data/imx219.yaml b/src/ipa/rkisp1/data/imx219.yaml
> > index 0d99cb52..ef3468a1 100644
> > --- a/src/ipa/rkisp1/data/imx219.yaml
> > +++ b/src/ipa/rkisp1/data/imx219.yaml
> > @@ -111,4 +111,29 @@ algorithms:
> >                 1438, 1226, 1059, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1025, 1054, 1185,
> >                 1326, 1334, 1334,
> >               ]
> > +  - Dpf:
> > +      NoiseReductionModes:
> > +        NoiseReductionModeMinimal:
> > +          DomainFilter:
> > +            g:  [ 14, 10,  7,  4,  2,  1 ]
> > +            rb: [ 14, 11,  8,  4,  2,  1 ]
> > +          NoiseLevelFunction:
> > +            coeff: [ 0, 26, 52, 78, 106, 138, 172, 208, 248, 292, 340, 392, 448, 508, 572, 640, 712 ]
> > +            scale-mode: "linear"
> > +          FilterStrength:
> > +            r: 60
> > +            g: 60
> > +            b: 60
> > +        NoiseReductionModeHighQuality:
> > +          DomainFilter:
> > +            g:  [ 22, 18, 13,  8,  5,  2 ]
> > +            rb: [ 20, 18, 16, 11,  7,  3 ]
> > +          NoiseLevelFunction:
> > +            coeff: [ 0, 26, 52, 78, 106, 138, 172, 208, 248, 292, 340, 392, 448, 508, 572, 640, 712 ]
> > +            scale-mode: "linear"
> > +          FilterStrength:
> > +            r: 130
> > +            g: 130
> > +            b: 130
> > +      ActiveMode: "NoiseReductionModeHighQuality"
> >  ...
> > diff --git a/src/ipa/rkisp1/data/meson.build b/src/ipa/rkisp1/data/meson.build
> > index 1e3522b2..6388a8be 100644
> > --- a/src/ipa/rkisp1/data/meson.build
> > +++ b/src/ipa/rkisp1/data/meson.build
> > @@ -6,6 +6,7 @@ conf_files = files([
> >      'ov2685.yaml',
> >      'ov4689.yaml',
> >      'ov5640.yaml',
> > +    'ov5647.yaml',
> >      'ov5695.yaml',
> >      'ov8858.yaml',
> >      'uncalibrated.yaml',
> > diff --git a/src/ipa/rkisp1/data/ov5647.yaml b/src/ipa/rkisp1/data/ov5647.yaml
> > new file mode 100644
> > index 00000000..1fc5e6d4
> > --- /dev/null
> > +++ b/src/ipa/rkisp1/data/ov5647.yaml
> > @@ -0,0 +1,34 @@
> > +# SPDX-License-Identifier: CC0-1.0
> > +%YAML 1.1
> > +---
> > +version: 1
> > +algorithms:
> > +  - Agc:
> > +  - Awb:
> > +  - Dpf:
> > +      NoiseReductionModes:
> > +        NoiseReductionModeFast:
> > +          DomainFilter:
> > +            g:  [ 16, 12,  9,  5,  3,  1 ]
> > +            rb: [ 16, 13, 10,  6,  4,  2 ]
> > +          NoiseLevelFunction:
> > +            coeff: [ 0, 16, 32, 48, 66, 86, 108, 132, 160, 192, 228, 268, 312, 360, 412, 468, 528 ]
> > +            scale-mode: "linear"
> > +          FilterStrength:
> > +            r: 90
> > +            g: 90
> > +            b: 90
> > +        NoiseReductionModeZsl:
> > +          DomainFilter:
> > +            g:  [ 18, 14, 10,  6,  3,  1 ]
> > +            rb: [ 18, 16, 13,  9,  5,  3 ]
> > +          NoiseLevelFunction:
> > +            coeff: [ 0, 20, 40, 60, 82, 106, 132, 160, 192, 228, 268, 312, 360, 412, 468, 528, 592 ]
> > +            scale-mode: "linear"
> > +          FilterStrength:
> > +            r: 110
> > +            g: 110
> > +            b: 110
> > +      ActiveMode: "NoiseReductionModeHighQuality"
> > +  - Filter:
> > +...
> > --
> > 2.43.0
> >
Rui Wang Feb. 3, 2026, 6:35 p.m. UTC | #3
On 2026-02-03 10:41, Jacopo Mondi wrote:
> For some reason I replied to v11 and not v12, sorry, but if I'm not
> mistaken the same comment applies there too ?
>
> On Tue, Feb 03, 2026 at 03:15:05PM +0100, Jacopo Mondi wrote:
>> Hi Rui
>>
>> On Thu, Jan 22, 2026 at 06:47:09PM -0500, Rui Wang wrote:
>>> Add a new tuning configuration file for the OmniVision OV5647 sensor.
>> This introduces a new tuning file (ov5647). It shouldn't be done in
>> the same commit that adds DPF tunings for an existing tuning file
>> (imx219)
>>
>> Please, split the two changes

Sure , will split two patches.

1. Add OV5647 tuning file for rkisp1

2.Add Dpf tuning config into IMX219

>>
>>> This includes initial settings for DPF algorithms.
>>>
>>> Register the new tuning file in the build system.
>>>
>>> Add Dpf tuning config into Imx219
>>>
>>> Signed-off-by: Rui Wang <rui.wang@ideasonboard.com>
>>>
>>> ---
>>>   changelog since v7 :
>>>    - move imx219 dpf tuning config
>>>    - update tuning parameters since "key" update
>>>
>>>   changelog since v9:
>>>    - Update dpf tuning config regarding reduction mode format
>>>      from  list to dictionary
>>>    - add ActiveMode for dpf default mode
>>>
>>>   changelog since v10:
>>>    - Modify ReductionMinimal - > NoiseReductionModeMinimal
>>>    since parser code update
>>> ---
>>>   src/ipa/rkisp1/data/imx219.yaml | 25 ++++++++++++++++++++++++
>>>   src/ipa/rkisp1/data/meson.build |  1 +
>>>   src/ipa/rkisp1/data/ov5647.yaml | 34 +++++++++++++++++++++++++++++++++
>>>   3 files changed, 60 insertions(+)
>>>   create mode 100644 src/ipa/rkisp1/data/ov5647.yaml
>>>
>>> diff --git a/src/ipa/rkisp1/data/imx219.yaml b/src/ipa/rkisp1/data/imx219.yaml
>>> index 0d99cb52..ef3468a1 100644
>>> --- a/src/ipa/rkisp1/data/imx219.yaml
>>> +++ b/src/ipa/rkisp1/data/imx219.yaml
>>> @@ -111,4 +111,29 @@ algorithms:
>>>                  1438, 1226, 1059, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1025, 1054, 1185,
>>>                  1326, 1334, 1334,
>>>                ]
>>> +  - Dpf:
>>> +      NoiseReductionModes:
>>> +        NoiseReductionModeMinimal:
>>> +          DomainFilter:
>>> +            g:  [ 14, 10,  7,  4,  2,  1 ]
>>> +            rb: [ 14, 11,  8,  4,  2,  1 ]
>>> +          NoiseLevelFunction:
>>> +            coeff: [ 0, 26, 52, 78, 106, 138, 172, 208, 248, 292, 340, 392, 448, 508, 572, 640, 712 ]
>>> +            scale-mode: "linear"
>>> +          FilterStrength:
>>> +            r: 60
>>> +            g: 60
>>> +            b: 60
>>> +        NoiseReductionModeHighQuality:
>>> +          DomainFilter:
>>> +            g:  [ 22, 18, 13,  8,  5,  2 ]
>>> +            rb: [ 20, 18, 16, 11,  7,  3 ]
>>> +          NoiseLevelFunction:
>>> +            coeff: [ 0, 26, 52, 78, 106, 138, 172, 208, 248, 292, 340, 392, 448, 508, 572, 640, 712 ]
>>> +            scale-mode: "linear"
>>> +          FilterStrength:
>>> +            r: 130
>>> +            g: 130
>>> +            b: 130
>>> +      ActiveMode: "NoiseReductionModeHighQuality"
>>>   ...
>>> diff --git a/src/ipa/rkisp1/data/meson.build b/src/ipa/rkisp1/data/meson.build
>>> index 1e3522b2..6388a8be 100644
>>> --- a/src/ipa/rkisp1/data/meson.build
>>> +++ b/src/ipa/rkisp1/data/meson.build
>>> @@ -6,6 +6,7 @@ conf_files = files([
>>>       'ov2685.yaml',
>>>       'ov4689.yaml',
>>>       'ov5640.yaml',
>>> +    'ov5647.yaml',
>>>       'ov5695.yaml',
>>>       'ov8858.yaml',
>>>       'uncalibrated.yaml',
>>> diff --git a/src/ipa/rkisp1/data/ov5647.yaml b/src/ipa/rkisp1/data/ov5647.yaml
>>> new file mode 100644
>>> index 00000000..1fc5e6d4
>>> --- /dev/null
>>> +++ b/src/ipa/rkisp1/data/ov5647.yaml
>>> @@ -0,0 +1,34 @@
>>> +# SPDX-License-Identifier: CC0-1.0
>>> +%YAML 1.1
>>> +---
>>> +version: 1
>>> +algorithms:
>>> +  - Agc:
>>> +  - Awb:
>>> +  - Dpf:
>>> +      NoiseReductionModes:
>>> +        NoiseReductionModeFast:
>>> +          DomainFilter:
>>> +            g:  [ 16, 12,  9,  5,  3,  1 ]
>>> +            rb: [ 16, 13, 10,  6,  4,  2 ]
>>> +          NoiseLevelFunction:
>>> +            coeff: [ 0, 16, 32, 48, 66, 86, 108, 132, 160, 192, 228, 268, 312, 360, 412, 468, 528 ]
>>> +            scale-mode: "linear"
>>> +          FilterStrength:
>>> +            r: 90
>>> +            g: 90
>>> +            b: 90
>>> +        NoiseReductionModeZsl:
>>> +          DomainFilter:
>>> +            g:  [ 18, 14, 10,  6,  3,  1 ]
>>> +            rb: [ 18, 16, 13,  9,  5,  3 ]
>>> +          NoiseLevelFunction:
>>> +            coeff: [ 0, 20, 40, 60, 82, 106, 132, 160, 192, 228, 268, 312, 360, 412, 468, 528, 592 ]
>>> +            scale-mode: "linear"
>>> +          FilterStrength:
>>> +            r: 110
>>> +            g: 110
>>> +            b: 110
>>> +      ActiveMode: "NoiseReductionModeHighQuality"
>>> +  - Filter:
>>> +...
>>> --
>>> 2.43.0
>>>

Patch
diff mbox series

diff --git a/src/ipa/rkisp1/data/imx219.yaml b/src/ipa/rkisp1/data/imx219.yaml
index 0d99cb52..ef3468a1 100644
--- a/src/ipa/rkisp1/data/imx219.yaml
+++ b/src/ipa/rkisp1/data/imx219.yaml
@@ -111,4 +111,29 @@  algorithms:
                1438, 1226, 1059, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1025, 1054, 1185,
                1326, 1334, 1334,
              ]
+  - Dpf:
+      NoiseReductionModes:
+        NoiseReductionModeMinimal:
+          DomainFilter:
+            g:  [ 14, 10,  7,  4,  2,  1 ]
+            rb: [ 14, 11,  8,  4,  2,  1 ]
+          NoiseLevelFunction:
+            coeff: [ 0, 26, 52, 78, 106, 138, 172, 208, 248, 292, 340, 392, 448, 508, 572, 640, 712 ]
+            scale-mode: "linear"
+          FilterStrength:
+            r: 60
+            g: 60
+            b: 60
+        NoiseReductionModeHighQuality:
+          DomainFilter:
+            g:  [ 22, 18, 13,  8,  5,  2 ]
+            rb: [ 20, 18, 16, 11,  7,  3 ]
+          NoiseLevelFunction:
+            coeff: [ 0, 26, 52, 78, 106, 138, 172, 208, 248, 292, 340, 392, 448, 508, 572, 640, 712 ]
+            scale-mode: "linear"
+          FilterStrength:
+            r: 130
+            g: 130
+            b: 130
+      ActiveMode: "NoiseReductionModeHighQuality"
 ...
diff --git a/src/ipa/rkisp1/data/meson.build b/src/ipa/rkisp1/data/meson.build
index 1e3522b2..6388a8be 100644
--- a/src/ipa/rkisp1/data/meson.build
+++ b/src/ipa/rkisp1/data/meson.build
@@ -6,6 +6,7 @@  conf_files = files([
     'ov2685.yaml',
     'ov4689.yaml',
     'ov5640.yaml',
+    'ov5647.yaml',
     'ov5695.yaml',
     'ov8858.yaml',
     'uncalibrated.yaml',
diff --git a/src/ipa/rkisp1/data/ov5647.yaml b/src/ipa/rkisp1/data/ov5647.yaml
new file mode 100644
index 00000000..1fc5e6d4
--- /dev/null
+++ b/src/ipa/rkisp1/data/ov5647.yaml
@@ -0,0 +1,34 @@ 
+# SPDX-License-Identifier: CC0-1.0
+%YAML 1.1
+---
+version: 1
+algorithms:
+  - Agc:
+  - Awb:
+  - Dpf:
+      NoiseReductionModes:
+        NoiseReductionModeFast:
+          DomainFilter:
+            g:  [ 16, 12,  9,  5,  3,  1 ]
+            rb: [ 16, 13, 10,  6,  4,  2 ]
+          NoiseLevelFunction:
+            coeff: [ 0, 16, 32, 48, 66, 86, 108, 132, 160, 192, 228, 268, 312, 360, 412, 468, 528 ]
+            scale-mode: "linear"
+          FilterStrength:
+            r: 90
+            g: 90
+            b: 90
+        NoiseReductionModeZsl:
+          DomainFilter:
+            g:  [ 18, 14, 10,  6,  3,  1 ]
+            rb: [ 18, 16, 13,  9,  5,  3 ]
+          NoiseLevelFunction:
+            coeff: [ 0, 20, 40, 60, 82, 106, 132, 160, 192, 228, 268, 312, 360, 412, 468, 528, 592 ]
+            scale-mode: "linear"
+          FilterStrength:
+            r: 110
+            g: 110
+            b: 110
+      ActiveMode: "NoiseReductionModeHighQuality"
+  - Filter:
+...