From patchwork Mon Jun 10 14:19:37 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paul Elder X-Patchwork-Id: 20245 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 0D6A6BD87C for ; Mon, 10 Jun 2024 14:19:57 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id 16B5E65462; Mon, 10 Jun 2024 16:19:56 +0200 (CEST) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (1024-bit key; unprotected) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="LWdCx5EW"; dkim-atps=neutral Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [213.167.242.64]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id 0222D634D5 for ; Mon, 10 Jun 2024 16:19:54 +0200 (CEST) Received: from neptunite.hamster-moth.ts.net (h175-177-049-156.catv02.itscom.jp [175.177.49.156]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id D7EDA397; Mon, 10 Jun 2024 16:19:41 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1718029182; bh=w9OAqZlZH6JdGQJm3o/L0h6nq3QUxBsRb6I0aULsmEk=; h=From:To:Cc:Subject:Date:From; b=LWdCx5EW/9PnQR3RUIGn3YnYxHkoHsG2cZX7Hl2fIAAzcABk21Isp4v2b9MX7buRz q/mbcKdd6oCUdr890rApBTfZ/snEMUqivF3Zf3PcZDvmq2tFdPJXvWdsJU6dCFC1FV Q7sgns5Yg4mik8enU7xYaHSvUKfDPBhME3K0uAh8= From: Paul Elder To: libcamera-devel@lists.libcamera.org Cc: Paul Elder Subject: [PATCH v7 0/4] ipa: Move Pwl from Raspberry Pi to libipa Date: Mon, 10 Jun 2024 23:19:37 +0900 Message-Id: <20240610141941.2947785-1-paul.elder@ideasonboard.com> X-Mailer: git-send-email 2.39.2 MIME-Version: 1.0 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" This patch series moves the piecewise linear function class from the Rasberry Pi IPA to libipa so that all IPAs can use it. First an addition to the geometry header is needed, to add a floating-point version of the Point class, then the pwl is copied over, and the Raspberry Pi IPA is converted to use the libipa Pwl class. The main changes in v2 are s/FPoint/PointF/g and improving the documentation. v3 has almost no change... v4 adds/fixes documentation. v5 mainly replaces the public API PointF with an libipa-internal Vector class, which is then typedefed to PointF to be used in Pwl. Documentation is also improved/fixed. v6 fixes the order of adding pwl to meson. v7 mainly fixes documentation and license in the Vector class. Paul Elder (4): ipa: libipa: Add Vector class ipa: libipa: Copy pwl from rpi ipa: libipa: pwl: Clean up Pwl class to match libcamera ipa: rpi: controller: Use libipa's Pwl class src/ipa/libipa/meson.build | 2 + src/ipa/libipa/pwl.cpp | 490 +++++++++++++++++++++ src/ipa/libipa/pwl.h | 102 +++++ src/ipa/libipa/vector.cpp | 145 ++++++ src/ipa/libipa/vector.h | 199 +++++++++ src/ipa/rpi/controller/cac_status.h | 2 - src/ipa/rpi/controller/contrast_status.h | 4 +- src/ipa/rpi/controller/meson.build | 2 +- src/ipa/rpi/controller/pwl.cpp | 269 ----------- src/ipa/rpi/controller/pwl.h | 127 ------ src/ipa/rpi/controller/rpi/af.cpp | 4 +- src/ipa/rpi/controller/rpi/af.h | 5 +- src/ipa/rpi/controller/rpi/agc_channel.cpp | 8 +- src/ipa/rpi/controller/rpi/agc_channel.h | 7 +- src/ipa/rpi/controller/rpi/awb.cpp | 76 ++-- src/ipa/rpi/controller/rpi/awb.h | 23 +- src/ipa/rpi/controller/rpi/ccm.cpp | 4 +- src/ipa/rpi/controller/rpi/ccm.h | 5 +- src/ipa/rpi/controller/rpi/contrast.cpp | 14 +- src/ipa/rpi/controller/rpi/contrast.h | 5 +- src/ipa/rpi/controller/rpi/geq.cpp | 5 +- src/ipa/rpi/controller/rpi/geq.h | 4 +- src/ipa/rpi/controller/rpi/hdr.cpp | 8 +- src/ipa/rpi/controller/rpi/hdr.h | 9 +- src/ipa/rpi/controller/rpi/tonemap.cpp | 2 +- src/ipa/rpi/controller/rpi/tonemap.h | 5 +- src/ipa/rpi/controller/tonemap_status.h | 4 +- 27 files changed, 1040 insertions(+), 490 deletions(-) create mode 100644 src/ipa/libipa/pwl.cpp create mode 100644 src/ipa/libipa/pwl.h create mode 100644 src/ipa/libipa/vector.cpp create mode 100644 src/ipa/libipa/vector.h delete mode 100644 src/ipa/rpi/controller/pwl.cpp delete mode 100644 src/ipa/rpi/controller/pwl.h