From patchwork Tue Jan 27 17:13:15 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: David Plowman X-Patchwork-Id: 25978 Return-Path: X-Original-To: parsemail@patchwork.libcamera.org Delivered-To: parsemail@patchwork.libcamera.org Received: from lancelot.ideasonboard.com (lancelot.ideasonboard.com [92.243.16.209]) by patchwork.libcamera.org (Postfix) with ESMTPS id C26D3C3220 for ; Tue, 27 Jan 2026 17:15:13 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id B1B2261FC8; Tue, 27 Jan 2026 18:15:12 +0100 (CET) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (2048-bit key; unprotected) header.d=raspberrypi.com header.i=@raspberrypi.com header.b="JrVnxxT6"; dkim-atps=neutral Received: from mail-wm1-x334.google.com (mail-wm1-x334.google.com [IPv6:2a00:1450:4864:20::334]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id D49FB61FBF for ; Tue, 27 Jan 2026 18:15:11 +0100 (CET) Received: by mail-wm1-x334.google.com with SMTP id 5b1f17b1804b1-47ee807a4c5so62226045e9.2 for ; Tue, 27 Jan 2026 09:15:11 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=raspberrypi.com; s=google; t=1769534111; x=1770138911; darn=lists.libcamera.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=8jBAOUyNnZOeqezdlIGI1dSUhWCt1r/1IwVPV9/FkgY=; b=JrVnxxT6zpQ5D7UkzWAUYX48AgcBXTbMK+VTSmrFCk3dJLHWCsW0I7mYO4R/kBcSOK e6nYph3GbWrFFVObc9ctHrsFeu+tu14nD1l0gE2BA0XFkJzCo5tO63altiFoQnfQJ0S9 +j0OErcN80bwINt1//ox60SruY/7HOdwGh7mVsX9I+nnOJ1c8xE4qDiwnlb+F0lX4A5X kv1av3KMcDriKVS2dW/uDuI+cWjMYAMQ1A7zkcaMZIKBcf1CZfYYwlOEQ62HLVjVhBX/ Lx+Lbo3hHVWI11Mj+WcsFNcfPxQzEAu69tqjskd4RcWdDBpOvBA6x6I4WPrdPvOrv7Bf ppaA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1769534111; x=1770138911; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=8jBAOUyNnZOeqezdlIGI1dSUhWCt1r/1IwVPV9/FkgY=; b=eY8I9vh/KEr0tBWMySsVqlxsQmYNA5RvbSiKcd5B62KYCXVgqvkGIbx2VEr6/WeBGo afJQ7KffaGnrIsjh8/hVZTAZIxrfVNV6ICCN9vdF1cjVXdUfHvsILpNhaVch11fkR8Pq zrXaX+EGo6bDY93qGtAflsoCmLn8YBDAHR9RrUSTe3OMVlpHX1GBK7ft8Pbx2n+1uOpi FWu/GI8nYvwURQ8MGHJHzch6ghhcGgmwG2P9sMnUL3RtsteRhML1ISu/4IuOATcbZFs0 nPGwhl5jZt5rPkk6MQH4jrS/Yl7inO2wGs9hgVjINlV5/c20zGsWoTjCFdkSLcRIGMys Oj7g== X-Gm-Message-State: AOJu0Yy5OyoIHUWgayFQNb7CQAka9Z0jZZ7q6dQ7poyL7hgYqvtq4N4+ sD8HtqwITS4q7O3sY03rtLPPqIys0O8D7POPDQoyJz4HmPfiaCGaxDjkBgO/bIN1gjQDQddKJTt Eix2l X-Gm-Gg: AZuq6aLc94q63/5XMc8YDHSRlXuOwlyR7TYdJXvISGGbUoe5b/OQLZ9XfmqxH/zxGsr D8KxdkOCEmey7KAqNh6FznTdIhlimcho3yzMrElHrAZ7kXG8BYi3J/HLtQfKI1M0bqhcizJ5jqp 0+HcjY7EU3/LeEaOZYGymt917moEFttBuAZH1vaY0KJA0wBqhBLq1rdfA1aq0UmmTeFoJ+O8a2t GxW9jq2GxtzaBCazI1FQkB2MSevyv5R+uT929L+gbUoGSNFkph7ioauotrcZD0oIAlKVKRsn+0T D4wFg6fc1Mu80WOZQUs2EU8NXsuQf3M9+7TtWEMTgDR7Ef7ewcwINF596NNzf4013dLJf+l3h59 dWCST5od4aE0qTJy+IM+JuxCtFaC2QmNfLfbqJDgZY5YDtve5RodC5zrUWyViEI0SnHYloiEOsa r0beQT7TsQ7jnt/BlyjXU7mDg/GnwVCxSCQD/2A+SiToLCFCCKFjP+U0Ve4G07yAnJk/k+OTsBx L4dUjLgxBAuW7z/+jKd3WwIrenKI2JjkGK7rKMc X-Received: by 2002:a05:600c:8b24:b0:47e:e807:a042 with SMTP id 5b1f17b1804b1-48069c1c009mr35484795e9.15.1769534110606; Tue, 27 Jan 2026 09:15:10 -0800 (PST) Received: from davidp-pi5.pitowers.org ([2a00:1098:3142:1f:88ea:c658:5b20:5e46]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4806cddffe9sm12267865e9.4.2026.01.27.09.15.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 27 Jan 2026 09:15:10 -0800 (PST) From: David Plowman To: libcamera-devel@lists.libcamera.org Cc: David Plowman Subject: [PATCH v6 0/4] Raspberry Pi AWB using neural networks Date: Tue, 27 Jan 2026 17:13:15 +0000 Message-ID: <20260127171506.17480-1-david.plowman@raspberrypi.com> X-Mailer: git-send-email 2.47.3 MIME-Version: 1.0 X-BeenThere: libcamera-devel@lists.libcamera.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libcamera-devel-bounces@lists.libcamera.org Sender: "libcamera-devel" Hi Here's v6 with only the changes suggested by Barnabas. Thanks! David Peter Bailey (4): ipa: rpi: controller: awb: Separate Bayesian AWB into AwbBayes ipa: rpi: controller: awb: Add Neural Network AWB ipa: rpi: controller: Ignore algorithms that are not enabled ipa: rpi: pisp: vc4: Update tuning files for new AWB meson_options.txt | 5 + src/ipa/rpi/controller/controller.cpp | 18 + src/ipa/rpi/controller/meson.build | 10 + src/ipa/rpi/controller/rpi/awb.cpp | 409 ++--------------- src/ipa/rpi/controller/rpi/awb.h | 101 ++--- src/ipa/rpi/controller/rpi/awb_bayes.cpp | 444 +++++++++++++++++++ src/ipa/rpi/controller/rpi/awb_nn.cpp | 437 ++++++++++++++++++ src/ipa/rpi/pisp/data/imx219.json | 65 +++ src/ipa/rpi/pisp/data/imx296.json | 64 +++ src/ipa/rpi/pisp/data/imx296_16mm.json | 64 +++ src/ipa/rpi/pisp/data/imx296_6mm.json | 64 +++ src/ipa/rpi/pisp/data/imx477.json | 65 +++ src/ipa/rpi/pisp/data/imx477_16mm.json | 65 +++ src/ipa/rpi/pisp/data/imx477_6mm.json | 65 +++ src/ipa/rpi/pisp/data/imx477_scientific.json | 79 ++++ src/ipa/rpi/pisp/data/imx708.json | 64 +++ src/ipa/rpi/pisp/data/imx708_wide.json | 64 +++ src/ipa/rpi/pisp/data/ov5647.json | 65 +++ src/ipa/rpi/vc4/data/imx219.json | 66 +++ src/ipa/rpi/vc4/data/imx296.json | 66 +++ src/ipa/rpi/vc4/data/imx477.json | 71 +++ src/ipa/rpi/vc4/data/imx708.json | 74 ++++ src/ipa/rpi/vc4/data/imx708_wide.json | 64 +++ src/ipa/rpi/vc4/data/ov5647.json | 66 +++ 24 files changed, 2134 insertions(+), 421 deletions(-) create mode 100644 src/ipa/rpi/controller/rpi/awb_bayes.cpp create mode 100644 src/ipa/rpi/controller/rpi/awb_nn.cpp