From patchwork Fri Apr 26 07:36:08 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paul Elder X-Patchwork-Id: 19955 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 87573C3220 for ; Fri, 26 Apr 2024 07:36:27 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id DEC2C6340A; Fri, 26 Apr 2024 09:36:25 +0200 (CEST) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (1024-bit key; unprotected) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="G97BXjFx"; 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 0A5D4633EA for ; Fri, 26 Apr 2024 09:36:24 +0200 (CEST) Received: from pyrite.hamster-moth.ts.net (h175-177-049-156.catv02.itscom.jp [175.177.49.156]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 8053766B; Fri, 26 Apr 2024 09:35:29 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1714116930; bh=/VU5QSEN9mkwSOSYx9o2YZ96qH12rowE99nEnXNArQI=; h=From:To:Cc:Subject:Date:From; b=G97BXjFxiOAEwFMlLbOffrhbXI9F7P/e991/QCJpa306onWQK4TUeu+lm+8NUz/2X hsQUoTyfcNYb2EM5FKx5aV4AL4VLMfbETb9BcMvUPmqnM0SQSca8g/7uY6dTeGklAV LSmSjrHcNxYetEy3Zd+juxD0YVjMpix6xlN4Ahps= From: Paul Elder To: libcamera-devel@lists.libcamera.org Cc: Paul Elder Subject: [PATCH v2 0/4] ipa: Move Pwl from Raspberry Pi to libipa Date: Fri, 26 Apr 2024 16:36:08 +0900 Message-Id: <20240426073612.1230283-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. Paul Elder (4): libcamera: geometry: Add floating-point version of Point 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 include/libcamera/geometry.h | 65 ++++ src/ipa/libipa/meson.build | 2 + src/ipa/{rpi/controller => libipa}/pwl.cpp | 156 +++++++-- src/ipa/libipa/pwl.h | 98 ++++++ 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.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 | 40 +-- 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 | 6 +- 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 +- src/libcamera/geometry.cpp | 123 ++++++- test/geometry.cpp | 355 +++++++++++++++++++++ 27 files changed, 854 insertions(+), 230 deletions(-) rename src/ipa/{rpi/controller => libipa}/pwl.cpp (60%) create mode 100644 src/ipa/libipa/pwl.h delete mode 100644 src/ipa/rpi/controller/pwl.h