Patch Detail
Show a patch.
GET /api/patches/22994/?format=api
{ "id": 22994, "url": "https://patchwork.libcamera.org/api/patches/22994/?format=api", "web_url": "https://patchwork.libcamera.org/patch/22994/", "project": { "id": 1, "url": "https://patchwork.libcamera.org/api/projects/1/?format=api", "name": "libcamera", "link_name": "libcamera", "list_id": "libcamera_core", "list_email": "libcamera-devel@lists.libcamera.org", "web_url": "", "scm_url": "", "webscm_url": "" }, "msgid": "<20250319161152.63625-17-stefan.klug@ideasonboard.com>", "date": "2025-03-19T16:11:21", "name": "[v2,16/17] ipa: rkisp1: awb: Take the CCM into account for the AWB gains calculation", "commit_ref": null, "pull_url": null, "state": "superseded", "archived": false, "hash": "737906d4fefc72a92468109026d3ff9d54525e0e", "submitter": { "id": 184, "url": "https://patchwork.libcamera.org/api/people/184/?format=api", "name": "Stefan Klug", "email": "stefan.klug@ideasonboard.com" }, "delegate": null, "mbox": "https://patchwork.libcamera.org/patch/22994/mbox/", "series": [ { "id": 5071, "url": "https://patchwork.libcamera.org/api/series/5071/?format=api", "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=5071", "date": "2025-03-19T16:11:05", "name": "Some rkisp1 awb improvements", "version": 2, "mbox": "https://patchwork.libcamera.org/series/5071/mbox/" } ], "comments": "https://patchwork.libcamera.org/api/patches/22994/comments/", "check": "pending", "checks": "https://patchwork.libcamera.org/api/patches/22994/checks/", "tags": {}, "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 12DACC32FE\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed, 19 Mar 2025 16:12:46 +0000 (UTC)", "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id C454368976;\n\tWed, 19 Mar 2025 17:12:45 +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 42FFA68974\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 19 Mar 2025 17:12:44 +0100 (CET)", "from ideasonboard.com (unknown\n\t[IPv6:2a00:6020:448c:6c00:760:e5ca:4814:99c7])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 5195A8FA;\n\tWed, 19 Mar 2025 17:11:01 +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=\"VuLcKH+w\"; dkim-atps=neutral", "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1742400661;\n\tbh=SYgo4zWmdHpgF5xlz5lNmREp87ksn1IFDvh0ws3M3aE=;\n\th=From:To:Cc:Subject:Date:In-Reply-To:References:From;\n\tb=VuLcKH+wBQDHwfx4i1X2zeJdTgiDsZL7TjPij1jebuyuG/1J00xvk2oBxWDd7BeNY\n\tt0KCiKPjY2MvtxykwDeOV75JjPtqOpHqrEXHUx4Mnonkymbvw6bgeRfen/7IAaxcTp\n\tdsR67dRUvCxW4ttmnpANN3nBMsN2wigLsTa35DEw=", "From": "Stefan Klug <stefan.klug@ideasonboard.com>", "To": "libcamera-devel@lists.libcamera.org", "Cc": "Stefan Klug <stefan.klug@ideasonboard.com>", "Subject": "[PATCH v2 16/17] ipa: rkisp1: awb: Take the CCM into account for the\n\tAWB gains calculation", "Date": "Wed, 19 Mar 2025 17:11:21 +0100", "Message-ID": "<20250319161152.63625-17-stefan.klug@ideasonboard.com>", "X-Mailer": "git-send-email 2.43.0", "In-Reply-To": "<20250319161152.63625-1-stefan.klug@ideasonboard.com>", "References": "<20250319161152.63625-1-stefan.klug@ideasonboard.com>", "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": "The AWB measurements are taken after the CCM. This can be seen by\nenabling debug logging on AWB, disabling AWB (stats will still be\nprocessed) and manually chaning the CCM.\n\nThis means that the estimated colour temperature and the corresponding\nCCM also lead to changed rgbMeans which in turn leads to oscillations.\nFix that by applying the inverse transform on the rgbMeans.\n\nSigned-off-by: Stefan Klug <stefan.klug@ideasonboard.com>\n\n---\n\nChanges in v2:\n- Improved commit message\n- Added comment in the code\n---\n src/ipa/rkisp1/algorithms/awb.cpp | 6 ++++++\n 1 file changed, 6 insertions(+)", "diff": "diff --git a/src/ipa/rkisp1/algorithms/awb.cpp b/src/ipa/rkisp1/algorithms/awb.cpp\nindex 324bc14b42a0..e8b04d03748d 100644\n--- a/src/ipa/rkisp1/algorithms/awb.cpp\n+++ b/src/ipa/rkisp1/algorithms/awb.cpp\n@@ -412,6 +412,12 @@ RGB<double> Awb::calculateRgbMeans(const IPAFrameContext &frameContext, const rk\n \t\trgbMeans = rgbMeans.max(0.0);\n \t}\n \n+\t/*\n+\t * The ISP computes the AWB means after applying the ccm. Apply the\n+\t * inverse as we want to get the raw means before the colour gains.\n+\t */\n+\trgbMeans = frameContext.ccm.ccm.inverse() * rgbMeans;\n+\n \t/*\n \t * The ISP computes the AWB means after applying the colour gains,\n \t * divide by the gains that were used to get the raw means from the\n", "prefixes": [ "v2", "16/17" ] }