From patchwork Fri Jun 7 08:42:57 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paul Elder X-Patchwork-Id: 20238 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 8F78BBD87C for ; Fri, 7 Jun 2024 08:43:12 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id AB633633DD; Fri, 7 Jun 2024 10:43:11 +0200 (CEST) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (1024-bit key; unprotected) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="u+UFM7Ka"; dkim-atps=neutral Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [213.167.242.64]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id AF34A633DD for ; Fri, 7 Jun 2024 10:43:09 +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 EDD0A183; Fri, 7 Jun 2024 10:42:58 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1717749779; bh=eG0wN1CLrW6jQ9apb4TOIcgeTu5gcfvziMq6Pwlm0YA=; h=From:To:Cc:Subject:Date:From; b=u+UFM7KaOs5G4gVgydxVkv2MYYOxiLtbIJS5MaVgQYaGGiSc7n2ORwiRehskwAaqe ZfDvCHn2drDJUIflBqe0O752AhXrFKfWvVp7PliXP5fUGKRdEsmc7a6AQvi+pHwEBo bMleXUucS6AzyzVCqpMPMCR6/hB1AdxSIYELTHKY= From: Paul Elder To: libcamera-devel@lists.libcamera.org Cc: Paul Elder Subject: [PATCH v6 0/4] ipa: Move Pwl from Raspberry Pi to libipa Date: Fri, 7 Jun 2024 17:42:57 +0900 Message-Id: <20240607084301.2791258-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. 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 | 162 +++++++ src/ipa/libipa/vector.h | 206 +++++++++ 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, 1064 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