From patchwork Fri Apr 5 08:40:47 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paul Elder X-Patchwork-Id: 19846 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 EE4EBBD16B for ; Fri, 5 Apr 2024 08:41:02 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id C985961C2F; Fri, 5 Apr 2024 10:41:01 +0200 (CEST) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (1024-bit key; unprotected) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="pd0QucVm"; 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 E75E561C20 for ; Fri, 5 Apr 2024 10:40:59 +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 4D23422A; Fri, 5 Apr 2024 10:40:20 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1712306421; bh=nS/6C72Ekm92JLSvFnEpIOxio0fIOmM7qBLyiSFcuTA=; h=From:To:Cc:Subject:Date:From; b=pd0QucVmFVMB4MSyQE3BUTavd5TWR4Cjteh+EOPWxKTBGkaXFchlDyacSqJ8hLQm+ fdeH0EAWNwK0yRn7LfNT8gLPzJB3CWZOrKDniBE/6P1+QUYoRss9wZdNcaTn0YvdzG oSgmb5aQl6fZsbuvPm8vIh1lH8rPrqCGRUpVlTDU= From: Paul Elder To: libcamera-devel@lists.libcamera.org Cc: Paul Elder Subject: [PATCH 0/3] ipa: rkisp1: Add crosstalk algorithm Date: Fri, 5 Apr 2024 17:40:47 +0900 Message-Id: <20240405084050.1919105-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 adds the crosstalk / color correction algorithm to the rkisp1 IPA. Interpolating matrices is likely to be a common functionaily, as lens shading correction also does it, and other IPAs will will want to do both color correction and lens shading correction. Because of this, the crosstalk is implemented using a generic matrix interpolator, which is added to libipa, in addition to a Matrix class. Paul Elder (3): ipa: libipa: Add Matrix class ipa: libipa: Add MatrixInterpolator class ipa: rkisp1: algorithms: Add crosstalk algorithm src/ipa/libipa/matrix.cpp | 17 ++++ src/ipa/libipa/matrix.h | 136 +++++++++++++++++++++++++ src/ipa/libipa/matrix_interpolator.cpp | 54 ++++++++++ src/ipa/libipa/matrix_interpolator.h | 94 +++++++++++++++++ src/ipa/libipa/meson.build | 4 + src/ipa/rkisp1/algorithms/ctk.cpp | 98 ++++++++++++++++++ src/ipa/rkisp1/algorithms/ctk.h | 41 ++++++++ src/ipa/rkisp1/algorithms/meson.build | 1 + 8 files changed, 445 insertions(+) create mode 100644 src/ipa/libipa/matrix.cpp create mode 100644 src/ipa/libipa/matrix.h create mode 100644 src/ipa/libipa/matrix_interpolator.cpp create mode 100644 src/ipa/libipa/matrix_interpolator.h create mode 100644 src/ipa/rkisp1/algorithms/ctk.cpp create mode 100644 src/ipa/rkisp1/algorithms/ctk.h