| Message ID | 20260914-ipu3-libipa-rework-v4-0-ff8ee2d3dd24@ideasonboard.com |
|---|---|
| Headers | show
Return-Path: <libcamera-devel-bounces@lists.libcamera.org> 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 40AD5C3200 for <parsemail@patchwork.libcamera.org>; Mon, 14 Sep 2026 14:53:59 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id D0E7E686A9; Mon, 14 Sep 2026 16:53:56 +0200 (CEST) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (1024-bit key; unprotected) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="E3VcAllk"; dkim-atps=neutral Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [213.167.242.64]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id 9426968670 for <libcamera-devel@lists.libcamera.org>; Mon, 14 Sep 2026 16:53:55 +0200 (CEST) Received: from [127.0.1.1] (chfd-03-b2-v4wan-176392-cust229.vm15.cable.virginm.net [82.19.20.230]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 39BF3929; Mon, 14 Sep 2026 16:52:15 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1789397535; bh=SHZLYAn5Puzh22AwNRXWAZ7npHbdvnpXvNTgMyXHluo=; h=From:Subject:Date:To:Cc:From; b=E3VcAllkPicq4pP0iCvWUJ5MrE5aAk3GcKcXVGBzhb9wZse+Po+F2UsbUOuuQasxr ArN28//7WdFFKZdIE7l9JGRvR8/OepdUbkleHo2H0lF9sG0VP3ke6GsJQvsNXhttlL Y2sE/rgFQ7YSic4kXd/2482sL5XxDbGaVkVROTMA= From: Daniel Scally <dan.scally@ideasonboard.com> Subject: [PATCH v4 00/10] libipa: Re-work IPU3 IPA to use libipa algorithms Date: Mon, 14 Sep 2026 15:53:40 +0100 Message-Id: <20260914-ipu3-libipa-rework-v4-0-ff8ee2d3dd24@ideasonboard.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit X-B4-Tracking: v=1; b=H4sIAHQKqGoC/33NzQ7CIBAE4FcxnMWUZcWfk+9hPEDZ6kYtFbRqm r67qAc9VI8zyXzTiUSRKYnlqBORWk4c6hxwPBLlztZbkuxzFlCAKYwykpuLlgd23FgZ6RriXla gDaI2HsGJPGwiVXx7oevNO0c6XbJ9/pQ7TucQ76/jVj3bvx+tkoX0iDh3U6yUn6/Yk02hdsFGP ynDUTzVFr4kGJYgS6imaAi0J00/JP2RFgUMSjpLbubtwuUzDWZA6vv+AXe6NvxkAQAA X-Change-ID: 20260616-ipu3-libipa-rework-f2364436d42b To: libcamera-devel@lists.libcamera.org Cc: Daniel Scally <dan.scally@ideasonboard.com>, =?utf-8?q?Barnab=C3=A1s_?= =?utf-8?b?UMWRY3pl?= <barnabas.pocze@ideasonboard.com>, Kieran Bingham <kieran.bingham@ideasonboard.com>, Jacopo Mondi <jacopo.mondi@ideasonboard.com> X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=3539; i=dan.scally@ideasonboard.com; h=from:subject:message-id; bh=SHZLYAn5Puzh22AwNRXWAZ7npHbdvnpXvNTgMyXHluo=; b=owEBbQKS/ZANAwAKAchJV3psRXUyAcsmYgBqqAqAn5pPB8xLHQPGbBaSUZwl5rJPuMbyp5glu K03Rg0u2siJAjMEAAEKAB0WIQQqyuwyDnZdb+mxmm/ISVd6bEV1MgUCaqgKgAAKCRDISVd6bEV1 Mr9kD/4qdDuzD60VAbIBmvu9l+ZYaluFivBU1APAHIFvYw91IcWviI8qylQmVUP2Lr0xpi1G+D5 CXQ1y7bEzFtW9LkixyzQsf5jIZrer5IWx1FJK2FrYnWY+8Fh1AaGtBUVcj7jFwinE+SnVpSQl0E z5lH6wg8PzO2aJQxlC1a0sPNGPa5pYDFWA3mV9lY6czp/tOxc0YJWt1DYe3sJkY/9ombVd/aX88 p9VGCYaZXuV9iKD4bLx/DNm2L+Gt23VIN4LJIgVZUeIAk6fUU5OpHf9b6WQeckPXuIuNejm2saI 0b5M1KdPH68HGyul49/E27X7FPicqYd/fHOwkyoDMxUnqnSJzkxQwqoPHwQgYdo2YGwygv4sA3W uggx8LE70j72SraavxXfIIuwbc2jMQAzL0eRTO67RKIHoXRCCGd4R6kRWZXSX7b5rBsGy+4A8k7 DpzeUZE5ajBb3egkI6IPB1e/q72M07re6BjksOZ1mSSfQ6PUqXY0dmdElOWU/zwlbjVDCJGgSUO xW0s5ME8dL4GJ23Tpe32kXApEvhzR1oRNKQW1c1GY5VRSj3hb5zfoHe4wsTGX1QKBHPd90ow14h mn8OLB4MwBbVvZqwK5t0oXUjsrbR1bWHSyTemFwaeSNZwEYl//JxH/B8l9vYBeeA/qsJmbbzSqD M5/UuKV3mSaIJMQ== X-Developer-Key: i=dan.scally@ideasonboard.com; a=openpgp; fpr=EEC699ACA1B7CB5D31330C0BBD501C2A3546CCF6 X-BeenThere: libcamera-devel@lists.libcamera.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: <libcamera-devel.lists.libcamera.org> List-Unsubscribe: <https://lists.libcamera.org/options/libcamera-devel>, <mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe> List-Archive: <https://lists.libcamera.org/pipermail/libcamera-devel/> List-Post: <mailto:libcamera-devel@lists.libcamera.org> List-Help: <mailto:libcamera-devel-request@lists.libcamera.org?subject=help> List-Subscribe: <https://lists.libcamera.org/listinfo/libcamera-devel>, <mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe> Errors-To: libcamera-devel-bounces@lists.libcamera.org Sender: "libcamera-devel" <libcamera-devel-bounces@lists.libcamera.org> |
| Series |
|
| Related |
show
|
Hello all This series builds on top of the recent work adding libipa implementations of the AGC, AWB, CCM and LSC algorithms by adapting the IPU3 IPA to use them. As CCM and LSC were not present for this IPA previously, this series adds them. I also introduce the Gamma Correction algorithm to libipa following the theme of the earlier work and update the IPU3 and RkISP1 IPAs to use it. Tested on the IPU3 via the Surface Go2 with OV5693 and on RkISP1 via the Debix A with an imx708. Dan Signed-off-by: Daniel Scally <dan.scally@ideasonboard.com> --- Changes in v4: - No series-level changes. Patch-level changelogs are on each commit. - Link to v3: https://lore.kernel.org/r/20260902-ipu3-libipa-rework-v3-0-b7da9b062326@ideasonboard.com Changes in v3: - Dropped three patches who's contents were superseded by the merged work from Barnabas: - ipa: ipu3: Convert from separate gains to RGB<double> in AGC - ipa: ipu3: Don't pass sensorInfo to updateControls() - ipa: ipu3: Add IPACameraSensorInfo to IPAContext - New patch to correct an error in AwbGrey - Link to v2: https://patchwork.libcamera.org/project/libcamera/list/?series=6022 Changes in v2: - Added a patch converting the AGC from using separate class members for each colour channel's gain to a single RGB member - Added a patch that drops the sensorInfo parameter from IPAIPU3::updateControls() - Link to v1: https://patchwork.libcamera.org/project/libcamera/list/?series=5995 --- Daniel Scally (10): libipa: awb_grey: Correct minimum gain clamping ipa: ipu3: Remove ~Awb() from source and header ipu3: awb: Remove CCM settings from Awb algorithm ipa: ipu3: awb: Port to the new libipa AwbAlgorithm ipa: ipu3: ccm: Add a Colour Correction Matrix algorithm ipa: libipa: Add GammaAlgorithm class ipa: ipu3: ToneMapping: Convert to use GammaAlgorithm ipa: ipu3: Add Ccm to uncalibrated.yaml ipa: rkisp1: goc: Re-work to use GammaAlgorithm class ipa: ipu3: Add Lens Shading Correction algorithm src/ipa/ipu3/algorithms/agc.cpp | 16 +- src/ipa/ipu3/algorithms/awb.cpp | 243 ++++++++++++------------- src/ipa/ipu3/algorithms/awb.h | 22 ++- src/ipa/ipu3/algorithms/ccm.cpp | 116 ++++++++++++ src/ipa/ipu3/algorithms/ccm.h | 48 +++++ src/ipa/ipu3/algorithms/lsc.cpp | 295 +++++++++++++++++++++++++++++++ src/ipa/ipu3/algorithms/lsc.h | 60 +++++++ src/ipa/ipu3/algorithms/meson.build | 2 + src/ipa/ipu3/algorithms/tone_mapping.cpp | 72 ++++---- src/ipa/ipu3/algorithms/tone_mapping.h | 12 +- src/ipa/ipu3/data/uncalibrated.yaml | 1 + src/ipa/ipu3/ipa_context.cpp | 60 ++++--- src/ipa/ipu3/ipa_context.h | 27 ++- src/ipa/libipa/awb.cpp | 5 - src/ipa/libipa/awb_grey.cpp | 6 +- src/ipa/libipa/gamma.cpp | 259 +++++++++++++++++++++++++++ src/ipa/libipa/gamma.h | 87 +++++++++ src/ipa/libipa/meson.build | 2 + src/ipa/rkisp1/algorithms/goc.cpp | 65 ++----- src/ipa/rkisp1/algorithms/goc.h | 7 +- src/ipa/rkisp1/ipa_context.h | 10 +- 21 files changed, 1135 insertions(+), 280 deletions(-) --- base-commit: 87c7285663aaad7608fdc18d5216ec6811c685c7 change-id: 20260616-ipu3-libipa-rework-f2364436d42b Best regards,