From patchwork Tue Aug 25 16:44:47 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jacopo Mondi X-Patchwork-Id: 28093 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 30187C0F1B for ; Tue, 25 Aug 2026 16:45:05 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id 9793A68434; Tue, 25 Aug 2026 18:45:03 +0200 (CEST) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (1024-bit key; unprotected) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="auwjicz9"; dkim-atps=neutral Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [213.167.242.64]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id BF6E268418 for ; Tue, 25 Aug 2026 18:44:56 +0200 (CEST) Received: from [192.168.1.182] (93-46-82-201.ip106.fastwebnet.it [93.46.82.201]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 77715C3B; Tue, 25 Aug 2026 18:43:31 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1787676211; bh=ycoBcCGE9Hw3HiSEHPIv/cRLz9oFBjk8jlbqivxSxDM=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=auwjicz9MAWHHBlCDMOikDFsZbXb5Dr8MhDdOy2RHH+pAz3VcGpW7GuAGAKiyAXbZ d32MwjQ7p3nCwI5hhk+OuRx7gfXpORF4kKY0iKJzM26fkKNxU485AzQxNMJm9c248z i31zZ4sW8zgSjHWgfW80GmYLOYo6B+fp5MdaJqHI= From: Jacopo Mondi Date: Tue, 25 Aug 2026 18:44:47 +0200 Subject: [PATCH v3 4/5] libipa: camera_sensor_helper: Add Mira220 MIME-Version: 1.0 Message-Id: <20260825-mira220-v3-4-7dad83521699@ideasonboard.com> References: <20260825-mira220-v3-0-7dad83521699@ideasonboard.com> In-Reply-To: <20260825-mira220-v3-0-7dad83521699@ideasonboard.com> To: libcamera-devel@lists.libcamera.org Cc: Jacopo Mondi , Kieran Bingham X-Mailer: b4 0.16.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=1101; i=jacopo.mondi@ideasonboard.com; h=from:subject:message-id; bh=ycoBcCGE9Hw3HiSEHPIv/cRLz9oFBjk8jlbqivxSxDM=; b=owEBbQKS/ZANAwAKAXI0Bo8WoVY8AcsmYgBqjcaGhdTDzfAoBUXTp7nBQQNwaFIJDh30xUp2Q rMkOUKxBBiJAjMEAAEKAB0WIQS1xD1IgJogio9YOMByNAaPFqFWPAUCao3GhgAKCRByNAaPFqFW PEe8D/4j/Fzt3h59SZ6pPUUPkdhtRXGupgdLFSM/2WXdsVG4Mv2fuil6JKDGZVNFq4ofXs7DK2F 7uyEubo+PCu9RppYtUKxejOfH4hWg+bYnanWqXf+BVx/mpVv2a17OYy0/KZ2tvxv9+whLyt5ocL l3+z+D26VeecoqOHPGNXgso6JalQCgoBrhVvyannZn4taof6HRvi1ry5CG1/n/vO2QTeYJCtcSy gZwS2iamyqq1RwAGHVwqcM4opcHNBOJVaTt7CdEC+F9sD9XqHozEeHu1DyIqsco97z+aUnwZfBD 9U9rSMLJCovzYV9rnLdoaRLD4hWZbsP7k0oiu0M4MPex5kr56jqDAkCl+iXlETO5TYfYR7yMlkq iAMEIcqYxCs1jbL5yl03eXHUKzl8UdDaYC0FQnoetiWNoZjet7n1AC1VSk+hwS69Er86K5kTPxO pu7POS5tFkenbgYIXQeetOGews9nkWVhicTh+z+OVV/ONNP0lFXnMRfr1ozaRwrwAGK0X+Mv3CW IzIlVhFOswZnE7d2GcANW/D76Hfea468kv7SChMXzdofV4iVtRFw26EimczFcmrpbUGZTmtpEyB 5t27ZijjGvGUMxWGwm79BgrTZPKbI021y7TW+QmADN7k+DN5/GyGcWMrTAX76B1A0QEI4YiZA5W HZDfZPpEyQtFl5A== X-Developer-Key: i=jacopo.mondi@ideasonboard.com; a=openpgp; fpr=72392EDC88144A65C701EA9BA5826A2587AD026B 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" Add a camera sensor helper for the AMS-OSRAM Mira220 sensor. The black level and gain model have been extracted from the corresponding helpers for the RaspberryPi IPA. Signed-off-by: Jacopo Mondi Reviewed-by: Kieran Bingham --- src/ipa/libipa/camera_sensor_helper.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/ipa/libipa/camera_sensor_helper.cpp b/src/ipa/libipa/camera_sensor_helper.cpp index 82bf255d28b1..e4da06dd85f2 100644 --- a/src/ipa/libipa/camera_sensor_helper.cpp +++ b/src/ipa/libipa/camera_sensor_helper.cpp @@ -737,6 +737,17 @@ public: }; REGISTER_CAMERA_SENSOR_HELPER("ov08x40", CameraSensorHelperOv08x40) +class CameraSensorHelperMira220 : public CameraSensorHelper +{ +public: + CameraSensorHelperMira220() + { + blackLevel_ = 3600; + gain_ = AnalogueGainLinear{ 0, 2048, -1, 2048 }; + } +}; +REGISTER_CAMERA_SENSOR_HELPER("mira220", CameraSensorHelperMira220) + class CameraSensorHelperOv2685 : public CameraSensorHelper { public: