{"id":25543,"url":"https://patchwork.libcamera.org/api/covers/25543/?format=json","web_url":"https://patchwork.libcamera.org/cover/25543/","project":{"id":1,"url":"https://patchwork.libcamera.org/api/projects/1/?format=json","name":"libcamera","link_name":"libcamera","list_id":"libcamera_core","list_email":"libcamera-devel@lists.libcamera.org","web_url":"","scm_url":"","webscm_url":""},"msgid":"<20251212103401.3776-1-david.plowman@raspberrypi.com>","date":"2025-12-12T10:23:49","name":"[v3,0/4] Raspberry Pi AWB using neural networks","submitter":{"id":42,"url":"https://patchwork.libcamera.org/api/people/42/?format=json","name":"David Plowman","email":"david.plowman@raspberrypi.com"},"mbox":"https://patchwork.libcamera.org/cover/25543/mbox/","series":[{"id":5659,"url":"https://patchwork.libcamera.org/api/series/5659/?format=json","web_url":"https://patchwork.libcamera.org/project/libcamera/list/?series=5659","date":"2025-12-12T10:23:49","name":"Raspberry Pi AWB using neural networks","version":3,"mbox":"https://patchwork.libcamera.org/series/5659/mbox/"}],"comments":"https://patchwork.libcamera.org/api/covers/25543/comments/","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 270DAC3257\n\tfor <parsemail@patchwork.libcamera.org>;\n\tFri, 12 Dec 2025 10:34:10 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id DF21061657;\n\tFri, 12 Dec 2025 11:34:08 +0100 (CET)","from mail-wr1-x434.google.com (mail-wr1-x434.google.com\n\t[IPv6:2a00:1450:4864:20::434])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 803BC6069A\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 12 Dec 2025 11:34:06 +0100 (CET)","by mail-wr1-x434.google.com with SMTP id\n\tffacd0b85a97d-42e2e6aa22fso494358f8f.2\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 12 Dec 2025 02:34:06 -0800 (PST)","from localhost.localdomain ([2a06:61c0:f337:0:9c1f:b517:931a:3b19])\n\tby smtp.gmail.com with ESMTPSA id\n\tffacd0b85a97d-42fa8a7044csm12232495f8f.15.2025.12.12.02.34.03\n\t(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n\tFri, 12 Dec 2025 02:34:03 -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=\"b1hWMbKB\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=raspberrypi.com; s=google; t=1765535646; x=1766140446;\n\tdarn=lists.libcamera.org; \n\th=content-transfer-encoding:mime-version:message-id:date:subject:cc\n\t:to:from:from:to:cc:subject:date:message-id:reply-to;\n\tbh=Cjfaj1NJIQkqV8anTO7VXimsUmy/X3A39/jHl/HaW0E=;\n\tb=b1hWMbKBXc6QUMWiVFmfOVP59jCZUVfWVRujSQF1E4dpaW4g1S5jf3xcdhdg5OY7Y4\n\tlNp6lDEN/Q9xI40sXu1OoIe6zKTd00mVR/ianKv25CxdKmvROJdd+hHCYXJGm9TMTjhu\n\tf5faiBcztwkDukxQTkCR/Thn7UQkkugmNz2vU+dSd+wEvOgimhB4OK1GWBXO7KA8Kl/2\n\tFLGZWyBq0m6WdnLCoMebX2Iw/UU1UIcblM1+9CW6XjZovO3huJPClyR9bEBQQlUWxby1\n\teIIk1SjL38lwJkET6kzXJDWlBibXcbUFrYCBbZ+H/a/Td2yBfoV59hi1mRRiVnqH9zfT\n\tLKHA==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20230601; t=1765535646; x=1766140446;\n\th=content-transfer-encoding:mime-version:message-id:date:subject:cc\n\t:to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date\n\t:message-id:reply-to;\n\tbh=Cjfaj1NJIQkqV8anTO7VXimsUmy/X3A39/jHl/HaW0E=;\n\tb=t8Q8tNMaqVnIGo9mr3gxBm6D6VGZpdMnN67t0e9b+s0dQmSgJlTCl+0KQGNKuPudfV\n\tDhKf3t9TuuAdtuzxVA15HmnnzQ59DQOEykoT1SwD4gPxd0+R5B+DkdpoLewt1a/FJaNH\n\tCtRsKTcVGd7nPtfMH1wRi6QQexgn3Vc7S3CI9prE5NeEklmV+2adz9kAmWucri/7MbzL\n\tVSSBwoAtlpBxnDJZIQuGZbqR+lft/RRRg6i2Tqj7zQ7s/pB/+84g9NxmMAg1/ML540Nv\n\t2OlcjRFxmOkcwMHs8Yh/rxrzGFl8+vVquam9lJdwoD9em5BDI8o66t4MeC9llMX/c/bO\n\twS3A==","X-Gm-Message-State":"AOJu0Yz3dF0OzwMJiGCAO7kK4N3B8JilBpLuAoOLzHHAJ914Sclem8Q+\n\tZxrVKOlgZoxxvXH8BDr3CiLk5iYOGHNbfr++S5Y3CAyHj6PADNBM/DgjnCHxTNCMZ6NrrFv9fSq\n\tTF19e","X-Gm-Gg":"AY/fxX7oXIJjisTH5w4Plaawhzw/ACVeJ+yWTK3Zllm3X7Gx3Gr01K+BZDYkrbjejns\n\tWTZT/hIVds+cWZPrREBtqj2q0ZnydTdyrTJwEN8cg8Hs6NcSgxnGN2izZMfVdzu8lDIR4D6w4Qk\n\tDAh8vxFM7dIRjwxvmV+ty+MQtGGP/2GLfQXsSY1/GgcpIR8YrKKx2yJZ4JHSFWKRV2txz7SHeZn\n\t8o9Y1bc6D5C4y+ry94ZfBcvk42/VRCAIapkImrhNrL6fyflrX+CIqYoMNYyO28CmCvn6+WCTKgM\n\tgRqcVRtNHxB2D9aFraF6ifULRy/QX8JAHDKQ6C3LcE1mX203uoxD2+5fa60hMilp4QDdkCCnIo9\n\tMcQKM4kllAixDAN1EywRm4x/OjMr3dajDqALPtaVbvs1pg/xWO/qcx2n+W6C2g6M7RwfPJcrYmu\n\td0g056cg4ccPvbtI+c5JvL5+wf4fKEdKOTcSxmW3MrfC2z6kivi7NdphG2gSnS5qKdi+gkkTPh/\n\t8HVwE2vjWe3ZluyfhqjSe7ePQ==","X-Google-Smtp-Source":"AGHT+IGoV8WDY4Wp4BPhPxEuPEB/+IWdA5GH33pOoB99xX7GXHyCwsbYCAWBLTDX/3GfQLEhk1YB7A==","X-Received":"by 2002:a05:6000:604:b0:42f:b0ab:7b25 with SMTP id\n\tffacd0b85a97d-42fb44a2910mr1238934f8f.7.1765535645598; \n\tFri, 12 Dec 2025 02:34:05 -0800 (PST)","From":"David Plowman <david.plowman@raspberrypi.com>","To":"libcamera-devel@lists.libcamera.org","Cc":"David Plowman <david.plowman@raspberrypi.com>","Subject":"[PATCH v3 0/4] Raspberry Pi AWB using neural networks","Date":"Fri, 12 Dec 2025 10:23:49 +0000","Message-ID":"<20251212103401.3776-1-david.plowman@raspberrypi.com>","X-Mailer":"git-send-email 2.47.3","MIME-Version":"1.0","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>"},"content":"Hi again\n\nHere's v3 of this patch set.\n\nv3 changes over v2:\n\n* Missing Reviewed-by tags added.\n* Fixed finger trouble in the 'rpi-awb-nn' meson option.\n\nv2 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\nThanks!\nDavid\n\nPeter 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 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 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"}