From patchwork Tue Jun 11 13:24:26 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paul Elder X-Patchwork-Id: 20255 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 775D2C31E9 for ; Tue, 11 Jun 2024 13:24:46 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id 7709465456; Tue, 11 Jun 2024 15:24:45 +0200 (CEST) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (1024-bit key; unprotected) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="r/l/XpIT"; dkim-atps=neutral Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id 4C5E161A26 for ; Tue, 11 Jun 2024 15:24:44 +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 B14DA183; Tue, 11 Jun 2024 15:24:29 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1718112271; bh=h6Xz1ysUtX8YHlly+Ck9AKA4/wNYvaKErsVX3BlBjfE=; h=From:To:Cc:Subject:Date:From; b=r/l/XpITw4fyVpq1P2dVqMarSVP84Js+vWXZVlKcSkKj6U2KxZVZ2clNh5LfoQkcb YpolPdUj38PE/HOjvketfh7yatSFZTTUL1OeCDWgBgqXpf/8+YufAlJIibj5F3WDxr kC8pGKNv6/aGpuRg/inscvLRBkpkRYvN0s1kmOkY= From: Paul Elder To: libcamera-devel@lists.libcamera.org Cc: Paul Elder Subject: [PATCH v8 0/4] ipa: Move Pwl from Raspberry Pi to libipa Date: Tue, 11 Jun 2024 22:24:26 +0900 Message-Id: <20240611132430.404814-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. v8 is more fixes and cleanups 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 | 4 + src/ipa/libipa/pwl.cpp | 421 +++++++++++++++++++++ src/ipa/libipa/pwl.h | 88 +++++ src/ipa/libipa/vector.cpp | 150 ++++++++ src/ipa/libipa/vector.h | 203 ++++++++++ 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 | 84 ++-- 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, 972 insertions(+), 494 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