[{"id":37406,"web_url":"https://patchwork.libcamera.org/comment/37406/","msgid":"<176587909270.1098171.6804188019599072887@ping.linuxembedded.co.uk>","date":"2025-12-16T09:58:12","subject":"Re: [PATCH v3 0/4] Raspberry Pi AWB using neural networks","submitter":{"id":4,"url":"https://patchwork.libcamera.org/api/people/4/","name":"Kieran Bingham","email":"kieran.bingham@ideasonboard.com"},"content":"Hi David,\n\nQuoting David Plowman (2025-12-12 10:23:49)\n> Hi again\n> \n> Here's v3 of this patch set.\n> \n> v3 changes over v2:\n> \n> * Missing Reviewed-by tags added.\n> * Fixed finger trouble in the 'rpi-awb-nn' meson option.\n> \n> v2 changes over v1:\n> \n> * Minor tidies.\n> * Use \"enabled\" option in algorithms rather than \"disable\" in the\n>   algorithm name.\n> * Add 'rpi-awb-nn'meson option.\n> \n> Thanks!\n> David\n> \n> Peter Bailey (4):\n>   ipa: rpi: controller: awb: Separate Bayesian AWB into AwbBayes\n>   ipa: rpi: controller: awb: Add Neural Network AWB\n>   ipa: rpi: controller: Ignore algorithms that are not enabled\n>   ipa: rpi: pisp: vc4: Update tuning files for new AWB\n\nI've tried pushing this series through CI, but it doesn't apply on\nmaster.\n\nI think there's a conflict/change in either meson_options or meson_build\nsomewhere and more crucially:\n\n\n>  meson_options.txt                            |   5 +\n>  src/ipa/rpi/controller/controller.cpp        |  18 +\n>  src/ipa/rpi/controller/meson.build           |  10 +\n>  src/ipa/rpi/controller/rpi/awb.cpp           | 409 ++---------------\n>  src/ipa/rpi/controller/rpi/awb.h             |  99 ++--\n>  src/ipa/rpi/controller/rpi/awb_bayes.cpp     | 444 ++++++++++++++++++\n>  src/ipa/rpi/controller/rpi/awb_nn.cpp        | 446 +++++++++++++++++++\n>  src/ipa/rpi/pisp/data/imx219.json            |  67 ++-\n>  src/ipa/rpi/pisp/data/imx296.json            |  66 ++-\n>  src/ipa/rpi/pisp/data/imx296_16mm.json       |  66 ++-\n>  src/ipa/rpi/pisp/data/imx296_6mm.json        |  66 ++-\n>  src/ipa/rpi/pisp/data/imx477.json            |  65 +++\n>  src/ipa/rpi/pisp/data/imx477_16mm.json       |  67 ++-\n>  src/ipa/rpi/pisp/data/imx477_6mm.json        |  67 ++-\n>  src/ipa/rpi/pisp/data/imx477_scientific.json |  81 +++-\n>  src/ipa/rpi/pisp/data/imx500.json            |  69 +++\n>  src/ipa/rpi/pisp/data/imx708.json            |  66 ++-\n>  src/ipa/rpi/pisp/data/imx708_wide.json       |  64 +++\n>  src/ipa/rpi/pisp/data/ov5647.json            |  65 +++\n>  src/ipa/rpi/vc4/data/imx219.json             |  66 +++\n>  src/ipa/rpi/vc4/data/imx296.json             |  66 +++\n>  src/ipa/rpi/vc4/data/imx477.json             |  71 +++\n>  src/ipa/rpi/vc4/data/imx500.json             |  69 +++\n\nWe don't have the IMX500 upstream.\n\nI've manually applied the patches to push for tests:\n\nhttps://gitlab.freedesktop.org/camera/libcamera/-/pipelines/1568027\n\nwhich look fine otherwise.\n\nThe only thing I'll look for is an acceptance on the new meson option -\nbut all of the rest is src/ipa/rpi so can already go in.\n\nWill you be ok merging without IMX500 ? I presume that can be tracked on\ntop on the RPi tree for now?\n--\nKieran\n\n\n>  src/ipa/rpi/vc4/data/imx708.json             |  74 +++\n>  src/ipa/rpi/vc4/data/imx708_wide.json        |  64 +++\n>  src/ipa/rpi/vc4/data/ov5647.json             |  66 +++\n>  26 files changed, 2288 insertions(+), 428 deletions(-)\n>  create mode 100644 src/ipa/rpi/controller/rpi/awb_bayes.cpp\n>  create mode 100644 src/ipa/rpi/controller/rpi/awb_nn.cpp\n> \n> -- \n> 2.47.3\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 F191FBD7D8\n\tfor <parsemail@patchwork.libcamera.org>;\n\tTue, 16 Dec 2025 09:58:18 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id C4BDA61A07;\n\tTue, 16 Dec 2025 10:58:17 +0100 (CET)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 0D2CB61603\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 16 Dec 2025 10:58:16 +0100 (CET)","from pendragon.ideasonboard.com\n\t(cpc89244-aztw30-2-0-cust6594.18-1.cable.virginm.net [86.31.185.195])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 560DD7CE;\n\tTue, 16 Dec 2025 10:58:10 +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=\"PsfwIp7Q\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1765879090;\n\tbh=ECKV/+MdySH4D3P4rASaiVD8HVu9LQqpfwboyFwm5ug=;\n\th=In-Reply-To:References:Subject:From:Cc:To:Date:From;\n\tb=PsfwIp7QqlXLYSm6mS7e7KjFGsADYoQxKJ0E/7jUPqBTx16XPpOL+TbpUPTkAI3QP\n\tt3rnMSRF3yrhtQJb/A61k2DrYpwm78XxDro8Gfh5DtAmtNGn+d6edA58duKvNI4jTU\n\tCA5jctvLzxWW6JZPPdJqndMzwi8oJoryveUo3xlY=","Content-Type":"text/plain; charset=\"utf-8\"","MIME-Version":"1.0","Content-Transfer-Encoding":"quoted-printable","In-Reply-To":"<20251212103401.3776-1-david.plowman@raspberrypi.com>","References":"<20251212103401.3776-1-david.plowman@raspberrypi.com>","Subject":"Re: [PATCH v3 0/4] Raspberry Pi AWB using neural networks","From":"Kieran Bingham <kieran.bingham@ideasonboard.com>","Cc":"David Plowman <david.plowman@raspberrypi.com>","To":"David Plowman <david.plowman@raspberrypi.com>,\n\tlibcamera-devel@lists.libcamera.org","Date":"Tue, 16 Dec 2025 09:58:12 +0000","Message-ID":"<176587909270.1098171.6804188019599072887@ping.linuxembedded.co.uk>","User-Agent":"alot/0.9.1","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":37407,"web_url":"https://patchwork.libcamera.org/comment/37407/","msgid":"<CAHW6GYK2Lpkd5YN17FpJaCbhAaWsH5GOM8rC9OEM2KYRc4dTng@mail.gmail.com>","date":"2025-12-16T10:22:06","subject":"Re: [PATCH v3 0/4] Raspberry Pi AWB using neural networks","submitter":{"id":42,"url":"https://patchwork.libcamera.org/api/people/42/","name":"David Plowman","email":"david.plowman@raspberrypi.com"},"content":"Hi Kieran\n\nAh yes, the IMX500. Sigh. Sorry about that. Let me do a version\nwithout that, and which will apply cleanly\n\nThanks for trying it out!\n\nDavid\n\nOn Tue, 16 Dec 2025 at 09:58, Kieran Bingham\n<kieran.bingham@ideasonboard.com> wrote:\n>\n> Hi David,\n>\n> Quoting David Plowman (2025-12-12 10:23:49)\n> > Hi again\n> >\n> > Here's v3 of this patch set.\n> >\n> > v3 changes over v2:\n> >\n> > * Missing Reviewed-by tags added.\n> > * Fixed finger trouble in the 'rpi-awb-nn' meson option.\n> >\n> > v2 changes over v1:\n> >\n> > * Minor tidies.\n> > * Use \"enabled\" option in algorithms rather than \"disable\" in the\n> >   algorithm name.\n> > * Add 'rpi-awb-nn'meson option.\n> >\n> > Thanks!\n> > David\n> >\n> > Peter Bailey (4):\n> >   ipa: rpi: controller: awb: Separate Bayesian AWB into AwbBayes\n> >   ipa: rpi: controller: awb: Add Neural Network AWB\n> >   ipa: rpi: controller: Ignore algorithms that are not enabled\n> >   ipa: rpi: pisp: vc4: Update tuning files for new AWB\n>\n> I've tried pushing this series through CI, but it doesn't apply on\n> master.\n>\n> I think there's a conflict/change in either meson_options or meson_build\n> somewhere and more crucially:\n>\n>\n> >  meson_options.txt                            |   5 +\n> >  src/ipa/rpi/controller/controller.cpp        |  18 +\n> >  src/ipa/rpi/controller/meson.build           |  10 +\n> >  src/ipa/rpi/controller/rpi/awb.cpp           | 409 ++---------------\n> >  src/ipa/rpi/controller/rpi/awb.h             |  99 ++--\n> >  src/ipa/rpi/controller/rpi/awb_bayes.cpp     | 444 ++++++++++++++++++\n> >  src/ipa/rpi/controller/rpi/awb_nn.cpp        | 446 +++++++++++++++++++\n> >  src/ipa/rpi/pisp/data/imx219.json            |  67 ++-\n> >  src/ipa/rpi/pisp/data/imx296.json            |  66 ++-\n> >  src/ipa/rpi/pisp/data/imx296_16mm.json       |  66 ++-\n> >  src/ipa/rpi/pisp/data/imx296_6mm.json        |  66 ++-\n> >  src/ipa/rpi/pisp/data/imx477.json            |  65 +++\n> >  src/ipa/rpi/pisp/data/imx477_16mm.json       |  67 ++-\n> >  src/ipa/rpi/pisp/data/imx477_6mm.json        |  67 ++-\n> >  src/ipa/rpi/pisp/data/imx477_scientific.json |  81 +++-\n> >  src/ipa/rpi/pisp/data/imx500.json            |  69 +++\n> >  src/ipa/rpi/pisp/data/imx708.json            |  66 ++-\n> >  src/ipa/rpi/pisp/data/imx708_wide.json       |  64 +++\n> >  src/ipa/rpi/pisp/data/ov5647.json            |  65 +++\n> >  src/ipa/rpi/vc4/data/imx219.json             |  66 +++\n> >  src/ipa/rpi/vc4/data/imx296.json             |  66 +++\n> >  src/ipa/rpi/vc4/data/imx477.json             |  71 +++\n> >  src/ipa/rpi/vc4/data/imx500.json             |  69 +++\n>\n> We don't have the IMX500 upstream.\n>\n> I've manually applied the patches to push for tests:\n>\n> https://gitlab.freedesktop.org/camera/libcamera/-/pipelines/1568027\n>\n> which look fine otherwise.\n>\n> The only thing I'll look for is an acceptance on the new meson option -\n> but all of the rest is src/ipa/rpi so can already go in.\n>\n> Will you be ok merging without IMX500 ? I presume that can be tracked on\n> top on the RPi tree for now?\n> --\n> Kieran\n>\n>\n> >  src/ipa/rpi/vc4/data/imx708.json             |  74 +++\n> >  src/ipa/rpi/vc4/data/imx708_wide.json        |  64 +++\n> >  src/ipa/rpi/vc4/data/ov5647.json             |  66 +++\n> >  26 files changed, 2288 insertions(+), 428 deletions(-)\n> >  create mode 100644 src/ipa/rpi/controller/rpi/awb_bayes.cpp\n> >  create mode 100644 src/ipa/rpi/controller/rpi/awb_nn.cpp\n> >\n> > --\n> > 2.47.3\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 9BB64C3257\n\tfor <parsemail@patchwork.libcamera.org>;\n\tTue, 16 Dec 2025 10:22:21 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 834B461A09;\n\tTue, 16 Dec 2025 11:22:20 +0100 (CET)","from mail-qt1-x82e.google.com (mail-qt1-x82e.google.com\n\t[IPv6:2607:f8b0:4864:20::82e])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id A028161603\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 16 Dec 2025 11:22:18 +0100 (CET)","by mail-qt1-x82e.google.com with SMTP id\n\td75a77b69052e-4ee2293e6a2so37001771cf.0\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 16 Dec 2025 02:22:18 -0800 (PST)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (2048-bit key;\n\tunprotected) header.d=raspberrypi.com header.i=@raspberrypi.com\n\theader.b=\"UcC/ktsR\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=raspberrypi.com; s=google; t=1765880537; x=1766485337;\n\tdarn=lists.libcamera.org; \n\th=cc:to:subject:message-id:date:from:in-reply-to:references\n\t:mime-version:from:to:cc:subject:date:message-id:reply-to;\n\tbh=hzBR9LmUKEyz9kz1Q90TPI/QI/gRVG0YLSARJL7OgcI=;\n\tb=UcC/ktsR1I9q9U2b5e6YJERh9w8kJoYPrhah9DjAH2rF1d0YhxvX/ageGRaHwcWFMb\n\to8BzeJjs+fjmBEUqFHuGmPNHzn1kijpEQdK5YuMPKmMwb0DvvI1j33oTfpoGxAniHNJA\n\th3c/qGJvHS8CESEQH4gVSJov0JzETMm6cLX4z1LGxWivr9/z2CoVKfr+QJdqkJkn8vrd\n\tFGH7Ox3qA5Rjn+gBpYF9dbYcs8OHCl8t2yMaTlvmyDi6vWd12DopxND65k719aTdD2Rb\n\txjBcPHgqvEQMjiVF3bneH26No0fKdDcC4MO8PXNBcnN7p2wpykcQJhc2V06LeGrpBzqB\n\tPnRQ==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20230601; t=1765880537; x=1766485337;\n\th=cc:to:subject:message-id:date:from:in-reply-to:references\n\t:mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date\n\t:message-id:reply-to;\n\tbh=hzBR9LmUKEyz9kz1Q90TPI/QI/gRVG0YLSARJL7OgcI=;\n\tb=pL/UnanfRifIyyIUIGixDzZ/yqk5zLFC3ZJkQh57TVe2gv47qTiGQyah/GrlUNcFAJ\n\t2j2Hc+KzcU2U/mFRHAfaEG5p5CnliFjN4gjxN/VkR74g+DCl5wUnePuiZUwBMUtZ5zL8\n\t7aqfvMPrpiR0/YTfz//3izaFQQP2nokv9iYIuoaSJGufOMw1Zx0BigmfeOC10ZM9PHC8\n\t/BzM1nR1oIKUGX2I+6KSuh9k1Hd3K8Gh4dqiaS6PpxcgkDYAcXbhDKtbvSHIGIdDCukH\n\t3O7XhHj3GABwzNU+fqR7i1bsjHmCDhTn7M+gKWEqR3FqSE5sx/lX4RbwpKLDRQM7oTZY\n\tZSFw==","X-Gm-Message-State":"AOJu0YyBQsIUOLtsJ+Sn3CBNALsO4OhRYVLZOoZmesw2zXHgur+nltYv\n\tqcyuGrqL4JNnpEg3UFg1lP2LDMD4ffHI9PB/TydAHNyFREXqvvNRHI56VOtUZ5CHwZpCLAHj1E+\n\tYiBHDWjusOvgEK5h2ACP8l2KtGFjBx/6FfaOHA7G2PudP7FrI3aGW","X-Gm-Gg":"AY/fxX6S18rYa90ynxQdY27sT6DB3fDA/3NfstIT9SNsWLeN+Jd/HvqprkicB+kGjWy\n\tzw84PydBIMECLtJTJgwn2zoj1uF74lLmuMBbgHNz5J9rfxCSHn0l5XS4ZVg1GcNyeqcJwHgeENU\n\tvsj1WhezfyZqjd4uVaqgMPXNI+gXFYUbmrCHrx1c1svn9B7kSqERuEIjjOVB8S4sDZn40XcpxvW\n\tdMtx4+/5blCVbMDKd/ucTQdiv4C7wrK6aeGF3ZhyavirHR0sfWX4E6DNUjqyCkDV9muVvBYdonP\n\tDp03TBshkv7aLjdgocOFpksJwiW5vXdERWKqLXZV3bp/3KtQicKm3zMo6b+sJh2CYaWUOv37SRn\n\tVUfyOoErDoQU=","X-Google-Smtp-Source":"AGHT+IGxuHD/Be8t9KYnF/4fhxfQ0lH+jLmuIOZT+Ns8mtIOCEthLZdkvsHKf1u4SIsa6kAUGJ6QQ1tOLnlNZmx/Lxk=","X-Received":"by 2002:ac8:7f8c:0:b0:4ee:2721:9ec5 with SMTP id\n\td75a77b69052e-4f1d05d6647mr171902281cf.42.1765880537226;\n\tTue, 16 Dec 2025 02:22:17 -0800 (PST)","MIME-Version":"1.0","References":"<20251212103401.3776-1-david.plowman@raspberrypi.com>\n\t<176587909270.1098171.6804188019599072887@ping.linuxembedded.co.uk>","In-Reply-To":"<176587909270.1098171.6804188019599072887@ping.linuxembedded.co.uk>","From":"David Plowman <david.plowman@raspberrypi.com>","Date":"Tue, 16 Dec 2025 10:22:06 +0000","X-Gm-Features":"AQt7F2q56TAM09aAi4sokMyA_Mef_KvTYMv_6sJnPXMCwJpTZ-PsHw-84p-qtXw","Message-ID":"<CAHW6GYK2Lpkd5YN17FpJaCbhAaWsH5GOM8rC9OEM2KYRc4dTng@mail.gmail.com>","Subject":"Re: [PATCH v3 0/4] Raspberry Pi AWB using neural networks","To":"Kieran Bingham <kieran.bingham@ideasonboard.com>","Cc":"libcamera-devel@lists.libcamera.org","Content-Type":"text/plain; charset=\"UTF-8\"","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>"}}]