From patchwork Mon Feb 2 19:25:04 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kieran Bingham X-Patchwork-Id: 26077 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 57DC0C328F for ; Mon, 2 Feb 2026 19:25:14 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id C239462000; Mon, 2 Feb 2026 20:25:11 +0100 (CET) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (1024-bit key; unprotected) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="vpLS7BFn"; dkim-atps=neutral Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [213.167.242.64]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id E1E7661FF1 for ; Mon, 2 Feb 2026 20:25:07 +0100 (CET) Received: from [192.168.0.240] (cpc89244-aztw30-2-0-cust6594.18-1.cable.virginm.net [86.31.185.195]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 141AAC59; Mon, 2 Feb 2026 20:24:27 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1770060267; bh=hwq5lbvYnZaQEFDjhjJkryxq8zCDzxrMsrzRIAxBmBY=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=vpLS7BFnohKJ3hiZylIKpTGEzh08WVQ2IvTY8T4wFJK8lp/MKyl+ZvR7X9wowfqIg iq0WlGxSY5LlOZzDpjqPfQ098kpFAhB50bkPpvTtrgo/3ltFt3vvnn+Q+/UcsnTOA6 mVpUlnntPHHlziCwiUGYZjOVxEKmig40oAl7HTi4= From: Kieran Bingham Date: Mon, 02 Feb 2026 19:25:04 +0000 Subject: [PATCH 2/3] ipa: simple: Fix Ccm matrix multiplication MIME-Version: 1.0 Message-Id: <20260202-kbingham-fixups-v1-2-7d7dd4b2a27b@ideasonboard.com> References: <20260202-kbingham-fixups-v1-0-7d7dd4b2a27b@ideasonboard.com> In-Reply-To: <20260202-kbingham-fixups-v1-0-7d7dd4b2a27b@ideasonboard.com> To: libcamera-devel@lists.libcamera.org Cc: Kieran Bingham X-Mailer: b4 0.14.2 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 CCM should be applied to the current combined Matrix. Fix the multiplication ordering. Fixes: 82ed6c19c2b3 ("libcamera: ipa: simple: Initialise the general correction matrix") Signed-off-by: Kieran Bingham --- src/ipa/simple/algorithms/ccm.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ipa/simple/algorithms/ccm.cpp b/src/ipa/simple/algorithms/ccm.cpp index 911a5af2c90b55187f0d98519f3c29b8e0804567..90ea97b7f37ec78c747d355d7ba7ab517970b29d 100644 --- a/src/ipa/simple/algorithms/ccm.cpp +++ b/src/ipa/simple/algorithms/ccm.cpp @@ -54,7 +54,7 @@ void Ccm::prepare(IPAContext &context, [[maybe_unused]] const uint32_t frame, } context.activeState.combinedMatrix = - currentCcm_.value() * context.activeState.combinedMatrix; + context.activeState.combinedMatrix * currentCcm_.value(); frameContext.ccm = currentCcm_.value(); }