From patchwork Fri Apr 5 08:02:55 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paul Elder X-Patchwork-Id: 19841 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 4AAF0C0DA4 for ; Fri, 5 Apr 2024 08:03:15 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id 3629B61C2B; Fri, 5 Apr 2024 10:03:14 +0200 (CEST) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (1024-bit key; unprotected) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="bRQTMpop"; dkim-atps=neutral Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [213.167.242.64]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id 3EBCB61C20 for ; Fri, 5 Apr 2024 10:03:13 +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 E2CF963B; Fri, 5 Apr 2024 10:02:32 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1712304154; bh=NQiU6VeT6dximcQVxSfRre7S5XiIiFaQlUgTNjJNRgY=; h=From:To:Cc:Subject:Date:From; b=bRQTMpop/A6rCxo6PKsoGr6XDAy54z0Ox7kTj0hXeK+77frPYOsghaxvgUw1CJhQE /UGb4z7JZJ7pJwDGoBZKaqMbuEGyhHr6UUQwMKQnXeOJa6mN1bp+6HHGOyVxMW/puw Xuk3HxHzE3hIi2YK6DAAkdMD6MVYajYyr09j6Q3I= From: Paul Elder To: libcamera-devel@lists.libcamera.org Cc: Paul Elder Subject: [PATCH 0/4] ipa: Move Pwl from Raspberry Pi to libipa Date: Fri, 5 Apr 2024 17:02:55 +0900 Message-Id: <20240405080259.1806453-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. 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 | 50 ++++++++ src/ipa/libipa/meson.build | 2 + src/ipa/{rpi/controller => libipa}/pwl.cpp | 135 +++++++++++++++++---- 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 +- 25 files changed, 342 insertions(+), 228 deletions(-) rename src/ipa/{rpi/controller => libipa}/pwl.cpp (65%) create mode 100644 src/ipa/libipa/pwl.h delete mode 100644 src/ipa/rpi/controller/pwl.h