[{"id":37694,"web_url":"https://patchwork.libcamera.org/comment/37694/","msgid":"<176857155156.216397.5426800705957916029@localhost>","date":"2026-01-16T13:52:31","subject":"Re: [PATCH v8 6/7] ipa: rkisp1: algorithms: data: enable DPF tuning\n\tfor sensors","submitter":{"id":184,"url":"https://patchwork.libcamera.org/api/people/184/","name":"Stefan Klug","email":"stefan.klug@ideasonboard.com"},"content":"Hi Rui,\n\nQuoting Rui Wang (2026-01-15 17:33:17)\n> Update the RkISP1 denoise pre-filter (DPF) for the imx219/ov5640\n> sensor tuning config by adding the required DPF tuning block.\n> \n> Signed-off-by: Rui Wang <rui.wang@ideasonboard.com>\n> \n> ---\n> changelog since v5:   No change\n> \n> changelog since v6:\n>  add ov5647 as strong noise sensor for verification\n> \n> changelog since v7:\n>  - move ov5647 yaml out this commit and will add brand new commit\n>  - Update dpf tuning paras format , delete base config following\n>    parseConfig code change\n> ---\n>  src/ipa/rkisp1/data/imx219.yaml | 24 ++++++++++++++\n>  src/ipa/rkisp1/data/ov5640.yaml | 59 +++++++++++++++++++++++++--------\n>  2 files changed, 69 insertions(+), 14 deletions(-)\n> \n> diff --git a/src/ipa/rkisp1/data/imx219.yaml b/src/ipa/rkisp1/data/imx219.yaml\n> index 0d99cb52..54a8ae2d 100644\n> --- a/src/ipa/rkisp1/data/imx219.yaml\n> +++ b/src/ipa/rkisp1/data/imx219.yaml\n> @@ -111,4 +111,28 @@ algorithms:\n>                 1438, 1226, 1059, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1025, 1054, 1185,\n>                 1326, 1334, 1334,\n>               ]\n> +  - Dpf:\n> +      modes:\n> +        - type: \"minimal\"\n> +          filter:\n> +            g:  [ 14, 10,  7,  4,  2,  1 ]\n> +            rb: [ 14, 11,  8,  4,  2,  1 ]\n> +          nll:\n> +            coeff: [ 0, 26, 52, 78, 106, 138, 172, 208, 248, 292, 340, 392, 448, 508, 572, 640, 712 ]\n> +            scale-mode: \"linear\"\n> +          strength:\n> +            r: 60\n> +            g: 60\n> +            b: 60\n> +        - type: \"highquality\"\n> +          filter:\n> +            g:  [ 22, 18, 13,  8,  5,  2 ]\n> +            rb: [ 20, 18, 16, 11,  7,  3 ]\n> +          nll:\n> +            coeff: [ 0, 26, 52, 78, 106, 138, 172, 208, 248, 292, 340, 392, 448, 508, 572, 640, 712 ]\n> +            scale-mode: \"linear\"\n> +          strength:\n> +            r: 130\n> +            g: 130\n> +            b: 130\n\nLooking at these changes, they look structurally quite different from\nother places where we have multiple modes. E.g. Agc has\n\nAgc:\n  AeMeteringMode:\n    MeteringCentreWeighted: ...\n    MeteringSpot: ...\n    MeteringMatrix: ...\n  AeExposureMode:\n    ExposureNormal: ...\n    ExposureShort: ...\n\nSimilar on Awb. Should Dpf be designed similarly?\nSomething like:\n\nDpf:\n  NoiseReductionModes:\n    ReductionMinimal:\n    ReductionFast:\n\nas these are also the names used in the modes map.\n\nWe could then either add a NoiseReductionModeNormal, or add a\ndefaultMode property to the Dpf node, to solve the question Jacopo\nbrought up.\n\nWhat do you think?\n\nBest regards,\nStefan\n\n>  ...\n> diff --git a/src/ipa/rkisp1/data/ov5640.yaml b/src/ipa/rkisp1/data/ov5640.yaml\n> index 4b21d412..4d5e7053 100644\n> --- a/src/ipa/rkisp1/data/ov5640.yaml\n> +++ b/src/ipa/rkisp1/data/ov5640.yaml\n> @@ -232,19 +232,50 @@ algorithms:\n>              green: 2\n>              red-blue: 2\n>    - Dpf:\n> -      DomainFilter:\n> -        g: [ 16, 16, 16, 16, 16, 16 ]\n> -        rb: [ 16, 16, 16, 16, 16, 16 ]\n> -      NoiseLevelFunction:\n> -        coeff: [\n> -          1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023,\n> -          1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023,\n> -          1023\n> -        ]\n> -        scale-mode: \"linear\"\n> -      FilterStrength:\n> -        r: 64\n> -        g: 64\n> -        b: 64\n> +      modes:\n> +      - type: \"minimal\"\n> +        filter:\n> +          g:  [ 14, 10,  7,  4,  2,  1 ]\n> +          rb: [ 14, 11,  8,  4,  2,  1 ]\n> +        nll:\n> +          coeff: [ 0, 26, 52, 78, 106, 138, 172, 208, 248, 292, 340, 392, 448, 508, 572, 640, 712 ]\n> +          scale-mode: \"linear\"\n> +        strength:\n> +          r: 60\n> +          g: 60\n> +          b: 60\n> +      - type: \"highquality\"\n> +        filter:\n> +          g:  [ 22, 18, 13,  8,  5,  2 ]\n> +          rb: [ 20, 18, 16, 11,  7,  3 ]\n> +        nll:\n> +          coeff: [ 0, 26, 52, 78, 106, 138, 172, 208, 248, 292, 340, 392, 448, 508, 572, 640, 712 ]\n> +          scale-mode: \"linear\"\n> +        strength:\n> +          r: 130\n> +          g: 130\n> +          b: 130\n> +      - type: \"fast\"\n> +        filter:\n> +          g:  [ 16, 12,  9,  5,  3,  1 ]\n> +          rb: [ 16, 13, 10,  6,  4,  2 ]\n> +        nll:\n> +          coeff: [ 0, 16, 32, 48, 66, 86, 108, 132, 160, 192, 228, 268, 312, 360, 412, 468, 528 ]\n> +          scale-mode: \"linear\"\n> +        strength:\n> +          r: 90\n> +          g: 90\n> +          b: 90\n> +      - type: \"zsl\"\n> +        filter:\n> +          g:  [ 18, 14, 10,  6,  3,  1 ]\n> +          rb: [ 18, 16, 13,  9,  5,  3 ]\n> +        nll:\n> +          coeff: [ 0, 20, 40, 60, 82, 106, 132, 160, 192, 228, 268, 312, 360, 412, 468, 528, 592 ]\n> +          scale-mode: \"linear\"\n> +        strength:\n> +          r: 110\n> +          g: 110\n> +          b: 110\n>    - Filter:\n>  ...\n> -- \n> 2.43.0\n>","headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id BC400BDCBF\n\tfor <parsemail@patchwork.libcamera.org>;\n\tFri, 16 Jan 2026 13:52:36 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id DDD2061FA3;\n\tFri, 16 Jan 2026 14:52:35 +0100 (CET)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 9C8EB615B2\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 16 Jan 2026 14:52:34 +0100 (CET)","from ideasonboard.com (unknown\n\t[IPv6:2a00:6020:448c:6c00:cc1c:cb5b:bc84:204])\n\tby perceval.ideasonboard.com (Postfix) with UTF8SMTPSA id 04719594;\n\tFri, 16 Jan 2026 14:52:05 +0100 (CET)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"GG4D4RoZ\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1768571526;\n\tbh=a5mSosw1i8QUcRH9lapWwJ+BO0OEh81HuinnU/O64JU=;\n\th=In-Reply-To:References:Subject:From:Cc:To:Date:From;\n\tb=GG4D4RoZ2v1LuB7JzfXYjs71TgMgtUy6SxAi/+mKIbUUIgZohUsdA/VmdgaPNSbJQ\n\t0+yINbA7P8hklOAI2kZ78RUQj7iKazy+9mLccihDdyugHMV2OG/Lb6V35MabAXfyed\n\tezDrRjXtpFh9J5l2dp1rtx7u34aCiawdbU/g3Q08=","Content-Type":"text/plain; charset=\"utf-8\"","MIME-Version":"1.0","Content-Transfer-Encoding":"quoted-printable","In-Reply-To":"<20260115163318.1339354-7-rui.wang@ideasonboard.com>","References":"<20260115163318.1339354-1-rui.wang@ideasonboard.com>\n\t<20260115163318.1339354-7-rui.wang@ideasonboard.com>","Subject":"Re: [PATCH v8 6/7] ipa: rkisp1: algorithms: data: enable DPF tuning\n\tfor sensors","From":"Stefan Klug <stefan.klug@ideasonboard.com>","Cc":"Rui Wang <rui.wang@ideasonboard.com>","To":"Rui Wang <rui.wang@ideasonboard.com>, libcamera-devel@lists.libcamera.org","Date":"Fri, 16 Jan 2026 14:52:31 +0100","Message-ID":"<176857155156.216397.5426800705957916029@localhost>","User-Agent":"alot/0.12.dev8+g2c003385c862.d20250602","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":37697,"web_url":"https://patchwork.libcamera.org/comment/37697/","msgid":"<aWpLF3k3PiclzdRa@zed>","date":"2026-01-16T14:38:36","subject":"Re: [PATCH v8 6/7] ipa: rkisp1: algorithms: data: enable DPF tuning\n\tfor sensors","submitter":{"id":143,"url":"https://patchwork.libcamera.org/api/people/143/","name":"Jacopo Mondi","email":"jacopo.mondi@ideasonboard.com"},"content":"Hi Stefan\n\nOn Fri, Jan 16, 2026 at 02:52:31PM +0100, Stefan Klug wrote:\n> Hi Rui,\n>\n> Quoting Rui Wang (2026-01-15 17:33:17)\n> > Update the RkISP1 denoise pre-filter (DPF) for the imx219/ov5640\n> > sensor tuning config by adding the required DPF tuning block.\n> >\n> > Signed-off-by: Rui Wang <rui.wang@ideasonboard.com>\n> >\n> > ---\n> > changelog since v5:   No change\n> >\n> > changelog since v6:\n> >  add ov5647 as strong noise sensor for verification\n> >\n> > changelog since v7:\n> >  - move ov5647 yaml out this commit and will add brand new commit\n> >  - Update dpf tuning paras format , delete base config following\n> >    parseConfig code change\n> > ---\n> >  src/ipa/rkisp1/data/imx219.yaml | 24 ++++++++++++++\n> >  src/ipa/rkisp1/data/ov5640.yaml | 59 +++++++++++++++++++++++++--------\n> >  2 files changed, 69 insertions(+), 14 deletions(-)\n> >\n> > diff --git a/src/ipa/rkisp1/data/imx219.yaml b/src/ipa/rkisp1/data/imx219.yaml\n> > index 0d99cb52..54a8ae2d 100644\n> > --- a/src/ipa/rkisp1/data/imx219.yaml\n> > +++ b/src/ipa/rkisp1/data/imx219.yaml\n> > @@ -111,4 +111,28 @@ algorithms:\n> >                 1438, 1226, 1059, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1025, 1054, 1185,\n> >                 1326, 1334, 1334,\n> >               ]\n> > +  - Dpf:\n> > +      modes:\n> > +        - type: \"minimal\"\n> > +          filter:\n> > +            g:  [ 14, 10,  7,  4,  2,  1 ]\n> > +            rb: [ 14, 11,  8,  4,  2,  1 ]\n> > +          nll:\n> > +            coeff: [ 0, 26, 52, 78, 106, 138, 172, 208, 248, 292, 340, 392, 448, 508, 572, 640, 712 ]\n> > +            scale-mode: \"linear\"\n> > +          strength:\n> > +            r: 60\n> > +            g: 60\n> > +            b: 60\n> > +        - type: \"highquality\"\n> > +          filter:\n> > +            g:  [ 22, 18, 13,  8,  5,  2 ]\n> > +            rb: [ 20, 18, 16, 11,  7,  3 ]\n> > +          nll:\n> > +            coeff: [ 0, 26, 52, 78, 106, 138, 172, 208, 248, 292, 340, 392, 448, 508, 572, 640, 712 ]\n> > +            scale-mode: \"linear\"\n> > +          strength:\n> > +            r: 130\n> > +            g: 130\n> > +            b: 130\n>\n> Looking at these changes, they look structurally quite different from\n> other places where we have multiple modes. E.g. Agc has\n>\n> Agc:\n>   AeMeteringMode:\n>     MeteringCentreWeighted: ...\n>     MeteringSpot: ...\n>     MeteringMatrix: ...\n>   AeExposureMode:\n>     ExposureNormal: ...\n>     ExposureShort: ...\n>\n> Similar on Awb. Should Dpf be designed similarly?\n> Something like:\n>\n> Dpf:\n>   NoiseReductionModes:\n>     ReductionMinimal:\n>     ReductionFast:\n>\n> as these are also the names used in the modes map.\n>\n> We could then either add a NoiseReductionModeNormal, or add a\n> defaultMode property to the Dpf node, to solve the question Jacopo\n\nAh, see, I called it \"enabledMode\" in my reply to the previous patch,\nbut I think the concept is the same!\n\n> brought up.\n>\n> What do you think?\n>\n> Best regards,\n> Stefan\n>\n> >  ...\n> > diff --git a/src/ipa/rkisp1/data/ov5640.yaml b/src/ipa/rkisp1/data/ov5640.yaml\n> > index 4b21d412..4d5e7053 100644\n> > --- a/src/ipa/rkisp1/data/ov5640.yaml\n> > +++ b/src/ipa/rkisp1/data/ov5640.yaml\n> > @@ -232,19 +232,50 @@ algorithms:\n> >              green: 2\n> >              red-blue: 2\n> >    - Dpf:\n> > -      DomainFilter:\n> > -        g: [ 16, 16, 16, 16, 16, 16 ]\n> > -        rb: [ 16, 16, 16, 16, 16, 16 ]\n> > -      NoiseLevelFunction:\n> > -        coeff: [\n> > -          1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023,\n> > -          1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023,\n> > -          1023\n> > -        ]\n> > -        scale-mode: \"linear\"\n> > -      FilterStrength:\n> > -        r: 64\n> > -        g: 64\n> > -        b: 64\n> > +      modes:\n> > +      - type: \"minimal\"\n> > +        filter:\n> > +          g:  [ 14, 10,  7,  4,  2,  1 ]\n> > +          rb: [ 14, 11,  8,  4,  2,  1 ]\n> > +        nll:\n> > +          coeff: [ 0, 26, 52, 78, 106, 138, 172, 208, 248, 292, 340, 392, 448, 508, 572, 640, 712 ]\n> > +          scale-mode: \"linear\"\n> > +        strength:\n> > +          r: 60\n> > +          g: 60\n> > +          b: 60\n> > +      - type: \"highquality\"\n> > +        filter:\n> > +          g:  [ 22, 18, 13,  8,  5,  2 ]\n> > +          rb: [ 20, 18, 16, 11,  7,  3 ]\n> > +        nll:\n> > +          coeff: [ 0, 26, 52, 78, 106, 138, 172, 208, 248, 292, 340, 392, 448, 508, 572, 640, 712 ]\n> > +          scale-mode: \"linear\"\n> > +        strength:\n> > +          r: 130\n> > +          g: 130\n> > +          b: 130\n> > +      - type: \"fast\"\n> > +        filter:\n> > +          g:  [ 16, 12,  9,  5,  3,  1 ]\n> > +          rb: [ 16, 13, 10,  6,  4,  2 ]\n> > +        nll:\n> > +          coeff: [ 0, 16, 32, 48, 66, 86, 108, 132, 160, 192, 228, 268, 312, 360, 412, 468, 528 ]\n> > +          scale-mode: \"linear\"\n> > +        strength:\n> > +          r: 90\n> > +          g: 90\n> > +          b: 90\n> > +      - type: \"zsl\"\n> > +        filter:\n> > +          g:  [ 18, 14, 10,  6,  3,  1 ]\n> > +          rb: [ 18, 16, 13,  9,  5,  3 ]\n> > +        nll:\n> > +          coeff: [ 0, 20, 40, 60, 82, 106, 132, 160, 192, 228, 268, 312, 360, 412, 468, 528, 592 ]\n> > +          scale-mode: \"linear\"\n> > +        strength:\n> > +          r: 110\n> > +          g: 110\n> > +          b: 110\n> >    - Filter:\n> >  ...\n> > --\n> > 2.43.0\n> >","headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id E6B80C3226\n\tfor <parsemail@patchwork.libcamera.org>;\n\tFri, 16 Jan 2026 14:38:41 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 0867D61FBC;\n\tFri, 16 Jan 2026 15:38:41 +0100 (CET)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id A5196615B2\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 16 Jan 2026 15:38:39 +0100 (CET)","from ideasonboard.com (static.170.20.224.46.clients.your-server.de\n\t[46.224.20.170])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 2DE754B3;\n\tFri, 16 Jan 2026 15:38:11 +0100 (CET)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"qSmBqLeu\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1768574291;\n\tbh=qOclCltt+HWNnZbXYpQoXcMK0aoRnC1q+W7l8Ui9L9U=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=qSmBqLeugJ9yqKP4MqVARRR1wrEDAEYt/txJDjBCUoR1hDiye1h+A4Nr5OdNs2Fa0\n\t1YuoqMmIRUxbj2XwttLkqvuf/8q/MesNRAt9aKZSoxQcfs0Lgbph1fceps1lxeHXTG\n\tA/NAXJ0e1qaRUgsil3CnIEqz1qCDoVcqw7CiVGYY=","Date":"Fri, 16 Jan 2026 15:38:36 +0100","From":"Jacopo Mondi <jacopo.mondi@ideasonboard.com>","To":"Stefan Klug <stefan.klug@ideasonboard.com>","Cc":"Rui Wang <rui.wang@ideasonboard.com>, libcamera-devel@lists.libcamera.org","Subject":"Re: [PATCH v8 6/7] ipa: rkisp1: algorithms: data: enable DPF tuning\n\tfor sensors","Message-ID":"<aWpLF3k3PiclzdRa@zed>","References":"<20260115163318.1339354-1-rui.wang@ideasonboard.com>\n\t<20260115163318.1339354-7-rui.wang@ideasonboard.com>\n\t<176857155156.216397.5426800705957916029@localhost>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","In-Reply-To":"<176857155156.216397.5426800705957916029@localhost>","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":37699,"web_url":"https://patchwork.libcamera.org/comment/37699/","msgid":"<f27b087b-f1df-4ce2-ac9c-0e143a2ce783@ideasonboard.com>","date":"2026-01-16T15:01:03","subject":"Re: [PATCH v8 6/7] ipa: rkisp1: algorithms: data: enable DPF tuning\n\tfor sensors","submitter":{"id":241,"url":"https://patchwork.libcamera.org/api/people/241/","name":"Rui Wang","email":"rui.wang@ideasonboard.com"},"content":"On 2026-01-16 08:52, Stefan Klug wrote:\n> Hi Rui,\n>\n> Quoting Rui Wang (2026-01-15 17:33:17)\n>> Update the RkISP1 denoise pre-filter (DPF) for the imx219/ov5640\n>> sensor tuning config by adding the required DPF tuning block.\n>>\n>> Signed-off-by: Rui Wang <rui.wang@ideasonboard.com>\n>>\n>> ---\n>> changelog since v5:   No change\n>>\n>> changelog since v6:\n>>   add ov5647 as strong noise sensor for verification\n>>\n>> changelog since v7:\n>>   - move ov5647 yaml out this commit and will add brand new commit\n>>   - Update dpf tuning paras format , delete base config following\n>>     parseConfig code change\n>> ---\n>>   src/ipa/rkisp1/data/imx219.yaml | 24 ++++++++++++++\n>>   src/ipa/rkisp1/data/ov5640.yaml | 59 +++++++++++++++++++++++++--------\n>>   2 files changed, 69 insertions(+), 14 deletions(-)\n>>\n>> diff --git a/src/ipa/rkisp1/data/imx219.yaml b/src/ipa/rkisp1/data/imx219.yaml\n>> index 0d99cb52..54a8ae2d 100644\n>> --- a/src/ipa/rkisp1/data/imx219.yaml\n>> +++ b/src/ipa/rkisp1/data/imx219.yaml\n>> @@ -111,4 +111,28 @@ algorithms:\n>>                  1438, 1226, 1059, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1025, 1054, 1185,\n>>                  1326, 1334, 1334,\n>>                ]\n>> +  - Dpf:\n>> +      modes:\n>> +        - type: \"minimal\"\n>> +          filter:\n>> +            g:  [ 14, 10,  7,  4,  2,  1 ]\n>> +            rb: [ 14, 11,  8,  4,  2,  1 ]\n>> +          nll:\n>> +            coeff: [ 0, 26, 52, 78, 106, 138, 172, 208, 248, 292, 340, 392, 448, 508, 572, 640, 712 ]\n>> +            scale-mode: \"linear\"\n>> +          strength:\n>> +            r: 60\n>> +            g: 60\n>> +            b: 60\n>> +        - type: \"highquality\"\n>> +          filter:\n>> +            g:  [ 22, 18, 13,  8,  5,  2 ]\n>> +            rb: [ 20, 18, 16, 11,  7,  3 ]\n>> +          nll:\n>> +            coeff: [ 0, 26, 52, 78, 106, 138, 172, 208, 248, 292, 340, 392, 448, 508, 572, 640, 712 ]\n>> +            scale-mode: \"linear\"\n>> +          strength:\n>> +            r: 130\n>> +            g: 130\n>> +            b: 130\n> Looking at these changes, they look structurally quite different from\n> other places where we have multiple modes. E.g. Agc has\n>\n> Agc:\n>    AeMeteringMode:\n>      MeteringCentreWeighted: ...\n>      MeteringSpot: ...\n>      MeteringMatrix: ...\n>    AeExposureMode:\n>      ExposureNormal: ...\n>      ExposureShort: ...\n>\n> Similar on Awb. Should Dpf be designed similarly?\n> Something like:\n>\n> Dpf:\n>    NoiseReductionModes:\n>      ReductionMinimal:\n>      ReductionFast:\n>\n> as these are also the names used in the modes map.\n>\n> We could then either add a NoiseReductionModeNormal, or add a\n> defaultMode property to the Dpf node, to solve the question Jacopo\n> brought up.\n>\n> What do you think?\n>\n> Best regards,\n> Stefan\n\nThanks for your information,\n\nDpf:\n   NoiseReductionModes:\n     ReductionMinimal:\n     ReductionFast:\n\nthose naming rules looks more consistent as aec/awb,  I will adopt in \nversion 9 patch.\n\nRui\n\n>>   ...\n>> diff --git a/src/ipa/rkisp1/data/ov5640.yaml b/src/ipa/rkisp1/data/ov5640.yaml\n>> index 4b21d412..4d5e7053 100644\n>> --- a/src/ipa/rkisp1/data/ov5640.yaml\n>> +++ b/src/ipa/rkisp1/data/ov5640.yaml\n>> @@ -232,19 +232,50 @@ algorithms:\n>>               green: 2\n>>               red-blue: 2\n>>     - Dpf:\n>> -      DomainFilter:\n>> -        g: [ 16, 16, 16, 16, 16, 16 ]\n>> -        rb: [ 16, 16, 16, 16, 16, 16 ]\n>> -      NoiseLevelFunction:\n>> -        coeff: [\n>> -          1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023,\n>> -          1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023,\n>> -          1023\n>> -        ]\n>> -        scale-mode: \"linear\"\n>> -      FilterStrength:\n>> -        r: 64\n>> -        g: 64\n>> -        b: 64\n>> +      modes:\n>> +      - type: \"minimal\"\n>> +        filter:\n>> +          g:  [ 14, 10,  7,  4,  2,  1 ]\n>> +          rb: [ 14, 11,  8,  4,  2,  1 ]\n>> +        nll:\n>> +          coeff: [ 0, 26, 52, 78, 106, 138, 172, 208, 248, 292, 340, 392, 448, 508, 572, 640, 712 ]\n>> +          scale-mode: \"linear\"\n>> +        strength:\n>> +          r: 60\n>> +          g: 60\n>> +          b: 60\n>> +      - type: \"highquality\"\n>> +        filter:\n>> +          g:  [ 22, 18, 13,  8,  5,  2 ]\n>> +          rb: [ 20, 18, 16, 11,  7,  3 ]\n>> +        nll:\n>> +          coeff: [ 0, 26, 52, 78, 106, 138, 172, 208, 248, 292, 340, 392, 448, 508, 572, 640, 712 ]\n>> +          scale-mode: \"linear\"\n>> +        strength:\n>> +          r: 130\n>> +          g: 130\n>> +          b: 130\n>> +      - type: \"fast\"\n>> +        filter:\n>> +          g:  [ 16, 12,  9,  5,  3,  1 ]\n>> +          rb: [ 16, 13, 10,  6,  4,  2 ]\n>> +        nll:\n>> +          coeff: [ 0, 16, 32, 48, 66, 86, 108, 132, 160, 192, 228, 268, 312, 360, 412, 468, 528 ]\n>> +          scale-mode: \"linear\"\n>> +        strength:\n>> +          r: 90\n>> +          g: 90\n>> +          b: 90\n>> +      - type: \"zsl\"\n>> +        filter:\n>> +          g:  [ 18, 14, 10,  6,  3,  1 ]\n>> +          rb: [ 18, 16, 13,  9,  5,  3 ]\n>> +        nll:\n>> +          coeff: [ 0, 20, 40, 60, 82, 106, 132, 160, 192, 228, 268, 312, 360, 412, 468, 528, 592 ]\n>> +          scale-mode: \"linear\"\n>> +        strength:\n>> +          r: 110\n>> +          g: 110\n>> +          b: 110\n>>     - Filter:\n>>   ...\n>> -- \n>> 2.43.0\n>>","headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id 07D63BDCBF\n\tfor <parsemail@patchwork.libcamera.org>;\n\tFri, 16 Jan 2026 15:01:19 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 1FB8861FC3;\n\tFri, 16 Jan 2026 16:01:18 +0100 (CET)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 449D6615B2\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 16 Jan 2026 16:01:16 +0100 (CET)","from [192.168.31.114] (unknown [209.216.103.65])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 9E3104B3;\n\tFri, 16 Jan 2026 16:00:47 +0100 (CET)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"sjKaZHFD\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1768575647;\n\tbh=D+JCArgmSR6rUJavxp4NJBaqgAHLk9eZiXjhFVPWPb8=;\n\th=Date:Subject:To:References:From:In-Reply-To:From;\n\tb=sjKaZHFDzQoHc3JicmlEETkQMhJnrPqo/y0hbAZPwZduaeE/QqO1lsfCOlXdlH8IL\n\tjRAcym0r5z2sfKs0TdHVh7NHVKgdscwSWVxuaI5yxjvSZvBeWmUHA6WnAiIcuPBzWI\n\tQrj00NJhb7lieJT2lgs6JrJVSy1J0jvtCuHgZgCQ=","Message-ID":"<f27b087b-f1df-4ce2-ac9c-0e143a2ce783@ideasonboard.com>","Date":"Fri, 16 Jan 2026 10:01:03 -0500","MIME-Version":"1.0","User-Agent":"Mozilla Thunderbird","Subject":"Re: [PATCH v8 6/7] ipa: rkisp1: algorithms: data: enable DPF tuning\n\tfor sensors","To":"Stefan Klug <stefan.klug@ideasonboard.com>,\n\tlibcamera-devel@lists.libcamera.org","References":"<20260115163318.1339354-1-rui.wang@ideasonboard.com>\n\t<20260115163318.1339354-7-rui.wang@ideasonboard.com>\n\t<176857155156.216397.5426800705957916029@localhost>","Content-Language":"en-US","From":"rui wang <rui.wang@ideasonboard.com>","In-Reply-To":"<176857155156.216397.5426800705957916029@localhost>","Content-Type":"text/plain; charset=UTF-8; format=flowed","Content-Transfer-Encoding":"8bit","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}}]