From patchwork Wed Nov 12 08:27:08 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Milan Zamazal X-Patchwork-Id: 24998 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 D49FCC3241 for ; Wed, 12 Nov 2025 08:27:26 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id DFA5A60A80; Wed, 12 Nov 2025 09:27:25 +0100 (CET) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (1024-bit key; unprotected) header.d=redhat.com header.i=@redhat.com header.b="OkWHHtKw"; dkim-atps=neutral Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id 5CBCF606E6 for ; Wed, 12 Nov 2025 09:27:23 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1762936042; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bvHulpJQpfmajSGj/7Y0pm7yVss4iS4mTKvbI3OVGoM=; b=OkWHHtKwgmbxPneYapfxq2ZRoHgJqt+hzkqSh0yNSKHtZJ3xpO7mbOCptaW4HM5h59AZBy AV572cQUL54lJWdd/Gb4L/yDItoi0byn+LlmMwRgtV6GshA/ig2JBBGIs0TL4Vt5350xpk A/6jLQJXnKUESXsn6n1uQXGW8uG2Um0= Received: from mx-prod-mc-03.mail-002.prod.us-west-2.aws.redhat.com (ec2-54-186-198-63.us-west-2.compute.amazonaws.com [54.186.198.63]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-213-481Z_0R_MFmvdP5en4m_cQ-1; Wed, 12 Nov 2025 03:27:20 -0500 X-MC-Unique: 481Z_0R_MFmvdP5en4m_cQ-1 X-Mimecast-MFC-AGG-ID: 481Z_0R_MFmvdP5en4m_cQ_1762936040 Received: from mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.93]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-03.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id E696819560B5 for ; Wed, 12 Nov 2025 08:27:19 +0000 (UTC) Received: from mzamazal-thinkpadp1gen7.tpbc.com (unknown [10.44.33.149]) by mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id C87051800367; Wed, 12 Nov 2025 08:27:18 +0000 (UTC) From: Milan Zamazal To: libcamera-devel@lists.libcamera.org Cc: Milan Zamazal Subject: [RFC PATCH 0/7] Simple pipeline IPA cleanup Date: Wed, 12 Nov 2025 09:27:08 +0100 Message-ID: <20251112082715.17823-1-mzamazal@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.93 X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: FNBEMuoDjXY1e7O8AqGt0akL-e9BR6miZv4aOG7KKlI_1762936040 X-Mimecast-Originator: redhat.com content-type: text/plain; charset="US-ASCII"; x-default=true 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 simple pipeline IPA algorithms mix contrast and saturation processing with CCM and LUT processing. This patch series moves some parts of contrast and saturation processing to a separate algorithm. This is currently RFC because it conflicts with the changes in GPU ISP. It should be rebased on top of GPU ISP once it is merged. Milan Zamazal (7): libcamera: ipa: simple: Remove an unused include from awb.cpp libcamera: ipa: simple: Unwrap IPAFrameContext::ccm libcamera: ipa: simple: Generalise tracking matrix changes libcamera: ipa: simple: Rename "ccm" identifiers not specific to CCM libcamera: ipa: simple: Introduce a general correction matrix libcamera: ipa: simple: Separate saturation from CCM libcamera: ipa: simple: Move contrast settings to adjust.cpp src/ipa/simple/algorithms/adjust.cpp | 125 ++++++++++++++++++++++++++ src/ipa/simple/algorithms/adjust.h | 52 +++++++++++ src/ipa/simple/algorithms/awb.cpp | 1 - src/ipa/simple/algorithms/ccm.cpp | 70 ++------------- src/ipa/simple/algorithms/ccm.h | 10 +-- src/ipa/simple/algorithms/lut.cpp | 67 ++++---------- src/ipa/simple/algorithms/lut.h | 13 +-- src/ipa/simple/algorithms/meson.build | 1 + src/ipa/simple/data/uncalibrated.yaml | 1 + src/ipa/simple/ipa_context.h | 11 +-- 10 files changed, 212 insertions(+), 139 deletions(-) create mode 100644 src/ipa/simple/algorithms/adjust.cpp create mode 100644 src/ipa/simple/algorithms/adjust.h