From patchwork Tue Jun 16 06:41:36 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Dan Scally X-Patchwork-Id: 26893 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 9A6F6BF415 for ; Tue, 16 Jun 2026 06:41:59 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id 93BAC6259D; Tue, 16 Jun 2026 08:41:52 +0200 (CEST) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (1024-bit key; unprotected) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="pMsQ5sV4"; dkim-atps=neutral Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [213.167.242.64]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id 2BD89623F6 for ; Tue, 16 Jun 2026 08:41:49 +0200 (CEST) Received: from [127.0.1.1] (chfd-03-b2-v4wan-176392-cust229.vm15.cable.virginm.net [82.19.20.230]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id CF961166C; Tue, 16 Jun 2026 08:41:15 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1781592076; bh=B4LLEhhdkdJIICFVgHPDR1WTHODgJhmo34hBtf3m+z8=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=pMsQ5sV487thOvbtKtfDdfZIG+C5zD/Ybe5bwxSQPTYTGbWqQN4IIcPaUez1/Qp1j kyVfxkBk8pBc0ceQXq/fPAj0hb60NiH6qZzh62FSsl+kGkdcUnkwZnOgRakKspyuSA 9JMkmR4O+hEJ9jdUUG2F+QFRD/3NNEdT85R6Y43c= From: Daniel Scally Date: Tue, 16 Jun 2026 07:41:36 +0100 Subject: [PATCH 02/10] ipu3: awb: Remove CCM settings from Awb algorithm MIME-Version: 1.0 Message-Id: <20260616-ipu3-libipa-rework-v1-2-d4448b54f1d8@ideasonboard.com> References: <20260616-ipu3-libipa-rework-v1-0-d4448b54f1d8@ideasonboard.com> In-Reply-To: <20260616-ipu3-libipa-rework-v1-0-d4448b54f1d8@ideasonboard.com> To: libcamera-devel@lists.libcamera.org Cc: Daniel Scally X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1448; i=dan.scally@ideasonboard.com; h=from:subject:message-id; bh=B4LLEhhdkdJIICFVgHPDR1WTHODgJhmo34hBtf3m+z8=; b=owEBbQKS/ZANAwAKAchJV3psRXUyAcsmYgBqMPApnC9i3J5MffrJGwY2B5hlMHtgKpwXjRiyJ f1Z/7c3PXiJAjMEAAEKAB0WIQQqyuwyDnZdb+mxmm/ISVd6bEV1MgUCajDwKQAKCRDISVd6bEV1 Mn7aD/47LR3YJ7F0VHWdTcuCaO//rIQa/3OciazzOt1qoBNuQHBIEHNqwJ8bfpI8cq3zJ+mjNhX 6Qc9P6D27yH495Y/kfnxaagVbNxVv8nq39eXQWq9KGAo0rIqsWfze49PifuxJMbAEAXpvW0JFV6 71pHw4NIWtNdccTY3D9YRyQ2vq0gJEz8rnpT5mbZVzP6ZIa8i7SEXHyH06zBTrW06fZhshMYzAS C9Dj3RrUdb11AO6Btnl3mJYC6pDSZ55eCuJmoHGxe+kxcWkX55iK5EwAxVwXOJUCpgPBlnWnb3X lCYDtv9p35jQxb/wnQwjG7PXg6KbqnQT2wcEkUtmzdyIJQYbO+OzcIBLORTdzjW6Cn6tUOiFM7J EteVS6eZs7aXzh6Oa/qban1+E0YhsMU9jT1Aik6fBvqovp7iuHMB4r6/djXkn1cobfYzjOHOCnt dKZsyQctqk0BsMTehRZJnYLObsWVCziKe00I1+13DTOQrPidFTO0lj+sQPJdI5DsBTFIO39DX2n 9HlOaJU2fs+RL07YHr8lbJGqo70t8c4cH0zMvJ+uKVPPfhffwmnlXEXsY4+gWLICE8ordXaMdQZ wOmJCywCFH1PvIaYajoZ3H4jv9VmvgAh9NYEKoU19TwKMaxtyIE6NTRvC6ZcjNf4A/xvqkPo4Tj 8e+ZojPmEpAQkDQ== X-Developer-Key: i=dan.scally@ideasonboard.com; a=openpgp; fpr=EEC699ACA1B7CB5D31330C0BBD501C2A3546CCF6 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" The IPU3 AWB algorithm currently defines a CCM matrix that is just a no-op. Remove the settings entirely; they need really to go in to a dedicated CCM algorithm. Signed-off-by: Daniel Scally Reviewed-by: Barnabás Pőcze --- src/ipa/ipu3/algorithms/awb.cpp | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/src/ipa/ipu3/algorithms/awb.cpp b/src/ipa/ipu3/algorithms/awb.cpp index 6b4418aa6f3add0a41cae77000c1f5f67897111a..613bdbbf51cd127e03906571813260a6857067dc 100644 --- a/src/ipa/ipu3/algorithms/awb.cpp +++ b/src/ipa/ipu3/algorithms/awb.cpp @@ -112,13 +112,6 @@ static const struct ipu3_uapi_bnr_static_config imguCssBnrDefaults = { .opt_center_sqr = { 419904, 133956 }, }; -/* Default color correction matrix defined as an identity matrix */ -static const struct ipu3_uapi_ccm_mat_config imguCssCcmDefault = { - 8191, 0, 0, 0, - 0, 8191, 0, 0, - 0, 0, 8191, 0 -}; - /** * \class Awb * \brief A Grey world white balance correction algorithm @@ -293,12 +286,9 @@ void Awb::prepare(IPAContext &context, LOG(IPU3Awb, Debug) << "Color temperature estimated: " << asyncResults_.temperatureK; - /* The CCM matrix may change when color temperature will be used */ - params->acc_param.ccm = imguCssCcmDefault; params->use.acc_awb = 1; params->use.acc_bnr = 1; - params->use.acc_ccm = 1; } /* Generate an RGB vector with the average values for each zone */