From patchwork Wed Nov 13 22:35:54 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Geoffrey Van Landeghem X-Patchwork-Id: 21892 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 68EE6C324C for ; Wed, 13 Nov 2024 22:44:29 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id 819A56582B; Wed, 13 Nov 2024 23:44:28 +0100 (CET) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="jT24gwpU"; dkim-atps=neutral Received: from mail-wr1-x431.google.com (mail-wr1-x431.google.com [IPv6:2a00:1450:4864:20::431]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id B05E0657CF for ; Wed, 13 Nov 2024 23:36:39 +0100 (CET) Received: by mail-wr1-x431.google.com with SMTP id ffacd0b85a97d-37d5aedd177so6419f8f.1 for ; Wed, 13 Nov 2024 14:36:39 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1731537399; x=1732142199; darn=lists.libcamera.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=Tlr1dXLdnam0CPN4niYvxQcdsM7HjCpJo8kuQcSScms=; b=jT24gwpUHG/74itdTSaxaDuIu5ls4bM1PHkPmqT0JuISMgSOc+jwattbqVaTbDdpb8 0CcSKeMYO3e+ogVDq6WZdP/5NVKF9/Igk3Ez9ShqIanZ4p4dvJ13Kq7BtH5xAnZyaF8d INWGCum51AzGPT4wHInseNLwoSD5PuLKmiCTpclRytghMNNTc5OYfiPBftGGQZp1WmQU N4dnf/ZOHGMviw2i4F3Q825pLbbMo48kuhMl4XnpFwTFMKzJ+sWCa3Fa8zX/WbZLaKgq sn9w6CxaZAQx5h2Gs19TTaS3qmMddrI9u6W2InvOBfx7UC5eTd7ofQb2+LKI2L0xgkKQ ss5Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1731537399; x=1732142199; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=Tlr1dXLdnam0CPN4niYvxQcdsM7HjCpJo8kuQcSScms=; b=i5SJU/+8OR87SPtsKAN56BhJ6yEaYW94Rq34uXAacbg1RHp/cumRpYU63xQ4spHYOG d2ud52IM15XuTyi5BH9VGSQJRCaY4PQuCeTAmgU3O5C8gZufLC49xNOY5ngrgEotmagV JDSjIygQmXGvfxAKxX0B/YHFSMm+mdHMwyqi2BBIrjcMVFpH47X/NFJl822ln3sq55Vp kbxx5qSwb2DiidQTbW2gCaFn4Y7UtjcPPZ2CsuGVMZErJfgVxpW6vOAxZFOo9YG5D3wL rtzVhLXqd1poYeqsIbVGD998KX6X/+A9z4yQMKo5pCuDeQ98ULDHc953PzAcyy3B1W3o WmvQ== X-Gm-Message-State: AOJu0YzmjpEk7IQmypc5gTGMLrAOMdCUrsuOG+wD1bB1cRCKxqVJkqpF w8Eeqwn5MH++uLmjt8/NUNLw9aQahUBSKdlJyl2dfXnlpNTjeheVQNtHew== X-Google-Smtp-Source: AGHT+IFXVRZHZNmuMrPp+dwnw8uyJH3fMDm+dT7CQ1dM8ou5SGF/CeUeGcuwumTcnKBt7hb1iPnstQ== X-Received: by 2002:a05:6000:1845:b0:37c:d4ba:1127 with SMTP id ffacd0b85a97d-3820df6117emr4398071f8f.16.1731537398839; Wed, 13 Nov 2024 14:36:38 -0800 (PST) Received: from localhost.localdomain (ptr-gh3gmpabk3m2xfsbzez.18120a2.ip6.access.telenet.be. [2a02:1812:2512:400:7ff6:bc6d:a745:500b]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-381eda04b52sm19268695f8f.101.2024.11.13.14.36.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 13 Nov 2024 14:36:38 -0800 (PST) From: Geoffrey Van Landeghem To: libcamera-devel@lists.libcamera.org Cc: Geoffrey Van Landeghem Subject: [PATCH 1/4] libcamera: libipa: camera_sensor: Add Sony IMX462 sensor properties Date: Wed, 13 Nov 2024 23:35:54 +0100 Message-ID: <20241113223556.413637-2-geoffrey.vl@gmail.com> X-Mailer: git-send-email 2.43.0 MIME-Version: 1.0 X-Mailman-Approved-At: Wed, 13 Nov 2024 23:44:26 +0100 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" Hi, This patch-set comes as part of an ongoing effort to support Sony IMX327 and IMX462 sensors better in the linux kernel. For the kernel following changes are proposed: https://github.com/raspberrypi/linux/pull/5859 After those changes have been applied, the 2 Starvis sensors will no longer be identied by libcamera as a IMX290 and therefore require this patch-set to work correctly. Signed-off-by: Geoffrey Van Landeghem --- src/ipa/libipa/camera_sensor_helper.cpp | 5 +++++ src/ipa/rpi/cam_helper/cam_helper_imx290.cpp | 1 + src/libcamera/sensor/camera_sensor_properties.cpp | 4 ++++ 3 files changed, 10 insertions(+) diff --git a/src/ipa/libipa/camera_sensor_helper.cpp b/src/ipa/libipa/camera_sensor_helper.cpp index c6169bdc..f870dc28 100644 --- a/src/ipa/libipa/camera_sensor_helper.cpp +++ b/src/ipa/libipa/camera_sensor_helper.cpp @@ -622,6 +622,11 @@ public: }; REGISTER_CAMERA_SENSOR_HELPER("imx415", CameraSensorHelperImx415) +class CameraSensorHelperImx462 : public CameraSensorHelperImx290 +{ +}; +REGISTER_CAMERA_SENSOR_HELPER("imx462", CameraSensorHelperImx462) + class CameraSensorHelperImx477 : public CameraSensorHelper { public: diff --git a/src/ipa/rpi/cam_helper/cam_helper_imx290.cpp b/src/ipa/rpi/cam_helper/cam_helper_imx290.cpp index e57ab538..0cc24a6d 100644 --- a/src/ipa/rpi/cam_helper/cam_helper_imx290.cpp +++ b/src/ipa/rpi/cam_helper/cam_helper_imx290.cpp @@ -73,3 +73,4 @@ static CamHelper *create() } static RegisterCamHelper reg("imx290", &create); +static RegisterCamHelper reg462("imx462", &create); diff --git a/src/libcamera/sensor/camera_sensor_properties.cpp b/src/libcamera/sensor/camera_sensor_properties.cpp index 6d4136d0..e2305166 100644 --- a/src/libcamera/sensor/camera_sensor_properties.cpp +++ b/src/libcamera/sensor/camera_sensor_properties.cpp @@ -142,6 +142,10 @@ const CameraSensorProperties *CameraSensorProperties::get(const std::string &sen .unitCellSize = { 1450, 1450 }, .testPatternModes = {}, } }, + { "imx462", { + .unitCellSize = { 2900, 2900 }, + .testPatternModes = {}, + } }, { "imx477", { .unitCellSize = { 1550, 1550 }, .testPatternModes = {}, From patchwork Wed Nov 13 22:35:55 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Geoffrey Van Landeghem X-Patchwork-Id: 21893 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 C4A0DC324C for ; Wed, 13 Nov 2024 22:44:31 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id 4067E65833; Wed, 13 Nov 2024 23:44:30 +0100 (CET) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="mUuDZHMi"; dkim-atps=neutral Received: from mail-wr1-x42e.google.com (mail-wr1-x42e.google.com [IPv6:2a00:1450:4864:20::42e]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id E827E6581C for ; Wed, 13 Nov 2024 23:36:45 +0100 (CET) Received: by mail-wr1-x42e.google.com with SMTP id ffacd0b85a97d-37d63a79bb6so10781f8f.0 for ; Wed, 13 Nov 2024 14:36:45 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1731537405; x=1732142205; darn=lists.libcamera.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=dtZGiNgajtzLlpqKYD8XR/kd15yL7k3XP1DcGfIWnTs=; b=mUuDZHMiHa/c2SLHowgL3mJ9N3QdwWppQck1H/TVMs2gxD3wYrgGct9lUUzOSaoaad n290c+OficYW2eszF+5ZJx2dBfXZ5Dbq/9pU4yxYiTCADCKdlcl2idE5P/kuaSqslw4B uMx4ePW3750Ixqktuji0CXRFInUX1ArQj6jsIIsCwvAjlPNq8+oSXmuj6PrGJQE+XF6A ENb/xDO/flrKoNDy/MrO28aCj6Y4JqVvMHDOkkslTgONDqudFF7a+jcuNDLikYKKmWn9 UGOoIcyoDClPXjszcgDykDVQ2OfMusb9nBbufu5mDkb1bPQzJDQ68JbJ11F+a3nqYD/q 7u5A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1731537405; x=1732142205; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=dtZGiNgajtzLlpqKYD8XR/kd15yL7k3XP1DcGfIWnTs=; b=Uma2TypiQ2KJNxzLm8XkJ9aBQIa82if5rizyesMMvA8VTWRz/KmzHWPL1+VsrRymnl VQCJkz9tGYwYBMKC71hWgTUdzglYGl0gVFlY6Zu2n7zATbPLSXGP23UC4JV5yqADGfnD cKHRKLNtASG7vF/wU085Np4wLY48eQcGbbcd7RO7ncIx26aUvOVI4KrMiILouUhkGbY+ 0pcF7JsYKcdyHpIulh49nKddkyqwhp6IbstznxJtFibVqVNHQ6c3rOBXynyK3MCUQT6A lvCR23ziUvUtu3xx1gTozuoyOdnYGO60ySmAvRBV/GcZkGdS0WwJFQpkkw0vhnm11RSX HsdA== X-Gm-Message-State: AOJu0YxzDF5HKtVpWCGDkiYrPC99/jffARqkI7k/MfPKSSPjx/A5hdy4 RTE64SC38eigWYZpqDndIYus7ap/rzePizFCRYTWKiLntTHkEzJp6o1ZKA== X-Google-Smtp-Source: AGHT+IHUG19eAMVWI3icvqR02FX8AJDgTHZvUky+52w5HpQimrd7XS6bTqF3JJp+k2qWZGzG2/zxVQ== X-Received: by 2002:a05:6000:1887:b0:37d:324f:d3a9 with SMTP id ffacd0b85a97d-3820df6a9b8mr4041877f8f.9.1731537405157; Wed, 13 Nov 2024 14:36:45 -0800 (PST) Received: from localhost.localdomain (ptr-gh3gmpabk3m2xfsbzez.18120a2.ip6.access.telenet.be. [2a02:1812:2512:400:7ff6:bc6d:a745:500b]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-381eda04b52sm19268695f8f.101.2024.11.13.14.36.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 13 Nov 2024 14:36:44 -0800 (PST) From: Geoffrey Van Landeghem To: libcamera-devel@lists.libcamera.org Cc: Geoffrey Van Landeghem Subject: [PATCH 2/4] libcamera: libipa: camera_sensor: Add Sony IMX327 cam helper Date: Wed, 13 Nov 2024 23:35:55 +0100 Message-ID: <20241113223556.413637-3-geoffrey.vl@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20241113223556.413637-2-geoffrey.vl@gmail.com> References: <20241113223556.413637-2-geoffrey.vl@gmail.com> MIME-Version: 1.0 X-Mailman-Approved-At: Wed, 13 Nov 2024 23:44:26 +0100 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" Signed-off-by: Geoffrey Van Landeghem --- src/ipa/rpi/cam_helper/cam_helper_imx290.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/ipa/rpi/cam_helper/cam_helper_imx290.cpp b/src/ipa/rpi/cam_helper/cam_helper_imx290.cpp index 0cc24a6d..3b87751e 100644 --- a/src/ipa/rpi/cam_helper/cam_helper_imx290.cpp +++ b/src/ipa/rpi/cam_helper/cam_helper_imx290.cpp @@ -73,4 +73,5 @@ static CamHelper *create() } static RegisterCamHelper reg("imx290", &create); +static RegisterCamHelper reg327("imx327", &create); static RegisterCamHelper reg462("imx462", &create); From patchwork Wed Nov 13 22:35:56 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Geoffrey Van Landeghem X-Patchwork-Id: 21894 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 94000C324C for ; Wed, 13 Nov 2024 22:44:33 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id B93D165835; Wed, 13 Nov 2024 23:44:31 +0100 (CET) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="aGQBU1dC"; dkim-atps=neutral Received: from mail-wm1-x32e.google.com (mail-wm1-x32e.google.com [IPv6:2a00:1450:4864:20::32e]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id 8CB2B65826 for ; Wed, 13 Nov 2024 23:36:53 +0100 (CET) Received: by mail-wm1-x32e.google.com with SMTP id 5b1f17b1804b1-43161c0068bso80665e9.1 for ; Wed, 13 Nov 2024 14:36:53 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1731537412; x=1732142212; darn=lists.libcamera.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=Yx7INsNdNRE86UtOzK5Db7Yd03WGVHlJlgABObquLTA=; b=aGQBU1dCdpwjUankOJ9Y3oz0buUV5tTKFhV+ta8g91ojyv83PP/sC0WUjfeno/59bf I4EFTHC4spBCQuL+/Qa3BWvd7lwG9SMK8a7K1KtbdfmB/z27bWDCn/hDz1dy7H5c9ppa RBELjuf2Apu0hCpaUK0oWeCZTr4RmCtVsyg+4d2IkIgTyiAf8Sa8zGMD5osrpasqlxPQ 07lGAHwKR/pahs8ZT5Vmz1n2eQwpt0dMvATM9hiHrvlCepBrXz5eaDtX2yecrqP1Ca6J VhvULKfy6k0HBp1IjlEggWT9bJyVe27HERYrnOrj2JxtOwtrmKrCwAY+933RaEzGsP41 jZcg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1731537412; x=1732142212; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Yx7INsNdNRE86UtOzK5Db7Yd03WGVHlJlgABObquLTA=; b=XWuPlXorhP3phsOwk7oOGGGuSFgAV0RC/96cRoV8yFCFQRtkfMYnI+49tgH5eA/yud ol74ecchG3eX6aA8aBe1wOcpYnzVIvStwd6QCpDcPrbojVvuuDH9nHzwh25kt5VQ7GPe KPt+x7iWO7XD8d5Zp5Z1o91WL/ctguHCaGQjyqBpU/7bw/JYRODBVbSDLFA+mmFFaXBO +LXYNGe+Unj+f26eo0tor05rz5gc2Cu2lBrbN9Nm6JaVQALEpvken/hZ58QB3FewXwKL rxnWEmTTOFIiwyy0U+Vmd4dSvTNBIWSCfeuPgCdC8LJtfaDhspf7LiNhKgw3afOpv6Qg pSRw== X-Gm-Message-State: AOJu0YwDMaOgjwP5qb7BsYhnysFlTwWfpHlv+vlO2LlTUoJRPP1vF2Hu ATsSj1zI35J0+HZt19eilpkZiKdKEjjay4GWvW/tMzFsKay0DF6AOGN5QA== X-Google-Smtp-Source: AGHT+IGpaokB/YPgN/P2BnN5aoh9dWgC1pOLpYTXaXEkLs3Uj0ajPjdv+eta7YQgLcw19XHqq9HMDA== X-Received: by 2002:a05:600c:5121:b0:42c:c401:6d8b with SMTP id 5b1f17b1804b1-432da767907mr79865e9.7.1731537412064; Wed, 13 Nov 2024 14:36:52 -0800 (PST) Received: from localhost.localdomain (ptr-gh3gmpabk3m2xfsbzez.18120a2.ip6.access.telenet.be. [2a02:1812:2512:400:7ff6:bc6d:a745:500b]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-381eda04b52sm19268695f8f.101.2024.11.13.14.36.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 13 Nov 2024 14:36:51 -0800 (PST) From: Geoffrey Van Landeghem To: libcamera-devel@lists.libcamera.org Cc: Geoffrey Van Landeghem Subject: [PATCH 3/4] ipa: raspberrypi: Add tuning file for IMX462 sensor Date: Wed, 13 Nov 2024 23:35:56 +0100 Message-ID: <20241113223556.413637-4-geoffrey.vl@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20241113223556.413637-2-geoffrey.vl@gmail.com> References: <20241113223556.413637-2-geoffrey.vl@gmail.com> MIME-Version: 1.0 X-Mailman-Approved-At: Wed, 13 Nov 2024 23:44:26 +0100 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" Signed-off-by: Geoffrey Van Landeghem --- src/ipa/rpi/vc4/data/imx462.json | 214 +++++++++++++++++++++++++++++++ src/ipa/rpi/vc4/data/meson.build | 1 + 2 files changed, 215 insertions(+) create mode 100644 src/ipa/rpi/vc4/data/imx462.json diff --git a/src/ipa/rpi/vc4/data/imx462.json b/src/ipa/rpi/vc4/data/imx462.json new file mode 100644 index 00000000..8f41bf51 --- /dev/null +++ b/src/ipa/rpi/vc4/data/imx462.json @@ -0,0 +1,214 @@ +{ + "version": 2.0, + "target": "bcm2835", + "algorithms": [ + { + "rpi.black_level": + { + "black_level": 3840 + } + }, + { + "rpi.dpc": { } + }, + { + "rpi.lux": + { + "reference_shutter_speed": 6813, + "reference_gain": 1.0, + "reference_aperture": 1.0, + "reference_lux": 890, + "reference_Y": 12900 + } + }, + { + "rpi.noise": + { + "reference_constant": 0, + "reference_slope": 2.67 + } + }, + { + "rpi.geq": + { + "offset": 187, + "slope": 0.00842 + } + }, + { + "rpi.sdn": { } + }, + { + "rpi.awb": + { + "bayes": 0 + } + }, + { + "rpi.agc": + { + "speed": 0.2, + "metering_modes": + { + "matrix": + { + "weights": + [ + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 + ] + }, + "centre-weighted": + { + "weights": + [ + 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 0, 0, 0, 0 + ] + }, + "spot": + { + "weights": + [ + 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + ] + } + }, + "exposure_modes": + { + "normal": + { + "shutter": [ 10, 30000, 60000 ], + "gain": [ 1.0, 2.0, 8.0 ] + }, + "short": + { + "shutter": [ 10, 5000, 10000, 20000, 120000 ], + "gain": [ 1.0, 2.0, 4.0, 6.0, 8.0 ] + }, + "long": + { + "shutter": [ 1000, 30000, 60000, 90000, 120000 ], + "gain": [ 1.0, 2.0, 4.0, 6.0, 12.0 ] + } + }, + "constraint_modes": + { + "normal": [ ], + "highlight": [ + { + "bound": "LOWER", + "q_lo": 0.98, + "q_hi": 1.0, + "y_target": + [ + 0, 0.5, + 1000, 0.5 + ] + }, + { + "bound": "UPPER", + "q_lo": 0.98, + "q_hi": 1.0, + "y_target": + [ + 0, 0.8, + 1000, 0.8 + ] + } + ] + }, + "y_target": + [ + 0, 0.16, + 1000, 0.16, + 10000, 0.16 + ] + } + }, + { + "rpi.alsc": + { + "omega": 1.3, + "n_iter": 100, + "luminance_strength": 0.7, + "luminance_lut": + [ + 2.844, 2.349, 2.018, 1.775, 1.599, 1.466, 1.371, 1.321, 1.306, 1.316, 1.357, 1.439, 1.552, 1.705, 1.915, 2.221, + 2.576, 2.151, 1.851, 1.639, 1.478, 1.358, 1.272, 1.231, 1.218, 1.226, 1.262, 1.335, 1.438, 1.571, 1.766, 2.067, + 2.381, 2.005, 1.739, 1.545, 1.389, 1.278, 1.204, 1.166, 1.153, 1.161, 1.194, 1.263, 1.356, 1.489, 1.671, 1.943, + 2.242, 1.899, 1.658, 1.481, 1.329, 1.225, 1.156, 1.113, 1.096, 1.107, 1.143, 1.201, 1.289, 1.423, 1.607, 1.861, + 2.152, 1.831, 1.602, 1.436, 1.291, 1.193, 1.121, 1.069, 1.047, 1.062, 1.107, 1.166, 1.249, 1.384, 1.562, 1.801, + 2.104, 1.795, 1.572, 1.407, 1.269, 1.174, 1.099, 1.041, 1.008, 1.029, 1.083, 1.146, 1.232, 1.364, 1.547, 1.766, + 2.104, 1.796, 1.572, 1.403, 1.264, 1.171, 1.097, 1.036, 1.001, 1.025, 1.077, 1.142, 1.231, 1.363, 1.549, 1.766, + 2.148, 1.827, 1.594, 1.413, 1.276, 1.184, 1.114, 1.062, 1.033, 1.049, 1.092, 1.153, 1.242, 1.383, 1.577, 1.795, + 2.211, 1.881, 1.636, 1.455, 1.309, 1.214, 1.149, 1.104, 1.081, 1.089, 1.125, 1.184, 1.273, 1.423, 1.622, 1.846, + 2.319, 1.958, 1.698, 1.516, 1.362, 1.262, 1.203, 1.156, 1.137, 1.142, 1.171, 1.229, 1.331, 1.484, 1.682, 1.933, + 2.459, 2.072, 1.789, 1.594, 1.441, 1.331, 1.261, 1.219, 1.199, 1.205, 1.232, 1.301, 1.414, 1.571, 1.773, 2.052, + 2.645, 2.206, 1.928, 1.728, 1.559, 1.451, 1.352, 1.301, 1.282, 1.289, 1.319, 1.395, 1.519, 1.685, 1.904, 2.227 + ], + "sigma": 0.005, + "sigma_Cb": 0.005 + } + }, + { + "rpi.contrast": + { + "ce_enable": 1, + "gamma_curve": + [ + 0, 0, + 1024, 5040, + 2048, 9338, + 3072, 12356, + 4096, 15312, + 5120, 18051, + 6144, 20790, + 7168, 23193, + 8192, 25744, + 9216, 27942, + 10240, 30035, + 11264, 32005, + 12288, 33975, + 13312, 35815, + 14336, 37600, + 15360, 39168, + 16384, 40642, + 18432, 43379, + 20480, 45749, + 22528, 47753, + 24576, 49621, + 26624, 51253, + 28672, 52698, + 30720, 53796, + 32768, 54876, + 36864, 57012, + 40960, 58656, + 45056, 59954, + 49152, 61183, + 53248, 62355, + 57344, 63419, + 61440, 64476, + 65535, 65535 + ] + } + }, + { + "rpi.sharpen": { } + }, + { + "rpi.ccm": + { + "ccms": [ + { + "ct": 3900, + "ccm": + [ + 1.54659, -0.17707, -0.36953, + -0.51471, 1.72733, -0.21262, + 0.06667, -0.92279, 1.85612 + ] + } + ] + } + } + ] +} \ No newline at end of file diff --git a/src/ipa/rpi/vc4/data/meson.build b/src/ipa/rpi/vc4/data/meson.build index 8c34a1a5..6b4d443f 100644 --- a/src/ipa/rpi/vc4/data/meson.build +++ b/src/ipa/rpi/vc4/data/meson.build @@ -8,6 +8,7 @@ conf_files = files([ 'imx296.json', 'imx296_mono.json', 'imx378.json', + 'imx462.json', 'imx477.json', 'imx477_noir.json', 'imx477_scientific.json', From patchwork Wed Nov 13 22:35:57 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Geoffrey Van Landeghem X-Patchwork-Id: 21895 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 9C593C3259 for ; Wed, 13 Nov 2024 22:44:34 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id A7A8565836; Wed, 13 Nov 2024 23:44:32 +0100 (CET) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="aaGbwuch"; dkim-atps=neutral Received: from mail-wm1-x332.google.com (mail-wm1-x332.google.com [IPv6:2a00:1450:4864:20::332]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id E54B965826 for ; Wed, 13 Nov 2024 23:36:57 +0100 (CET) Received: by mail-wm1-x332.google.com with SMTP id 5b1f17b1804b1-432d86a3085so25185e9.2 for ; Wed, 13 Nov 2024 14:36:57 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1731537417; x=1732142217; darn=lists.libcamera.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=lnOBtv1EpJ0ptM9TvSgg3QF2MKE+WvbOgqDO9wanntY=; b=aaGbwuchBEn7y9+XEtI8p+E3gwRGL4USSbGECTLpI7Kw5VvVnA3ZL5UCoZya3r7lR/ g4jWuNNRrCgRZOzPXv7SSw70jrvT4OOU4zIQ4d9OMbseDI8mEASB/7I/uiaBhqBQdY2M 0wilUzeFjlblTlGxzodq0WM5LMID02OM5PelmOR6HD1G8TVfqPVpi5Lmfrf7zV4wt1ru xk3DawufjWkuKcwnPh1FoGUcrXkgY5du6z/HCkmXGbqxfGgqCGfB/NUjI+/8CX/ksWLT hhQmhlJ21ZIYOt9K9r4gnLubOpG7cnHNROx2OskDFVfIwHb3YbU6TBGBaQJjjtuTgJm1 Ma+A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1731537417; x=1732142217; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=lnOBtv1EpJ0ptM9TvSgg3QF2MKE+WvbOgqDO9wanntY=; b=klL5NUzJVdE3PJNPuLF+HqACPZxIXh0SbMjytjLOtN6e1Mvxch40c4CxqpIi5uMZ+y PGoZbJXzIpXTICyz/ML0LeJ1FeAC9tNrNRef1VxYuYXFxqzkAwIalx6dHErKHUVRN85r 0aHPlVGBxRWjq4+VuYFGPqxXGAbDbWbfZIA3K4CxGnn0jmqocRchuhcTKewBh5OEx2/8 wU5TCyPDKRMgJFWeAVRSL1Otmy4TVqYvB1Rc5LEoS2SFlwIvjRpHfI0JrAY964bknk9Z swJEn4kv6hzizQYnHgkVnsKvyifGFJ415M+cTMeigEFyoMgnTLCuB9YzFHcIefCyer3t lu1w== X-Gm-Message-State: AOJu0Yy0hd4s1eA48rKka3HB//MMXVpXZxIRoZlGdLG8a5wz0mranVJ8 c8pt1UmVCLMffVda4SzXg1+2dVYb2TP3mNFi/YbjndkkXjoQcjXeKAir6w== X-Google-Smtp-Source: AGHT+IEI+9Dymg6dPBehOpdD4jfG0ALFSXwlFYZY+rRA/U1NObrUGsRStpGUMiDexLPI/TmaUmrm/A== X-Received: by 2002:a05:600c:1d0e:b0:42d:a024:d6bb with SMTP id 5b1f17b1804b1-432b7517ac2mr174100755e9.20.1731537417047; Wed, 13 Nov 2024 14:36:57 -0800 (PST) Received: from localhost.localdomain (ptr-gh3gmpabk3m2xfsbzez.18120a2.ip6.access.telenet.be. [2a02:1812:2512:400:7ff6:bc6d:a745:500b]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-381eda04b52sm19268695f8f.101.2024.11.13.14.36.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 13 Nov 2024 14:36:56 -0800 (PST) From: Geoffrey Van Landeghem To: libcamera-devel@lists.libcamera.org Cc: Geoffrey Van Landeghem Subject: [PATCH 4/4] ipa: raspberrypi: Add tuning file for IMX327 sensor Date: Wed, 13 Nov 2024 23:35:57 +0100 Message-ID: <20241113223556.413637-5-geoffrey.vl@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20241113223556.413637-2-geoffrey.vl@gmail.com> References: <20241113223556.413637-2-geoffrey.vl@gmail.com> MIME-Version: 1.0 X-Mailman-Approved-At: Wed, 13 Nov 2024 23:44:26 +0100 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" Signed-off-by: Geoffrey Van Landeghem --- src/ipa/rpi/vc4/data/imx327.json | 214 +++++++++++++++++++++++++++++++ src/ipa/rpi/vc4/data/meson.build | 1 + 2 files changed, 215 insertions(+) create mode 100644 src/ipa/rpi/vc4/data/imx327.json diff --git a/src/ipa/rpi/vc4/data/imx327.json b/src/ipa/rpi/vc4/data/imx327.json new file mode 100644 index 00000000..8f41bf51 --- /dev/null +++ b/src/ipa/rpi/vc4/data/imx327.json @@ -0,0 +1,214 @@ +{ + "version": 2.0, + "target": "bcm2835", + "algorithms": [ + { + "rpi.black_level": + { + "black_level": 3840 + } + }, + { + "rpi.dpc": { } + }, + { + "rpi.lux": + { + "reference_shutter_speed": 6813, + "reference_gain": 1.0, + "reference_aperture": 1.0, + "reference_lux": 890, + "reference_Y": 12900 + } + }, + { + "rpi.noise": + { + "reference_constant": 0, + "reference_slope": 2.67 + } + }, + { + "rpi.geq": + { + "offset": 187, + "slope": 0.00842 + } + }, + { + "rpi.sdn": { } + }, + { + "rpi.awb": + { + "bayes": 0 + } + }, + { + "rpi.agc": + { + "speed": 0.2, + "metering_modes": + { + "matrix": + { + "weights": + [ + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 + ] + }, + "centre-weighted": + { + "weights": + [ + 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 0, 0, 0, 0 + ] + }, + "spot": + { + "weights": + [ + 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + ] + } + }, + "exposure_modes": + { + "normal": + { + "shutter": [ 10, 30000, 60000 ], + "gain": [ 1.0, 2.0, 8.0 ] + }, + "short": + { + "shutter": [ 10, 5000, 10000, 20000, 120000 ], + "gain": [ 1.0, 2.0, 4.0, 6.0, 8.0 ] + }, + "long": + { + "shutter": [ 1000, 30000, 60000, 90000, 120000 ], + "gain": [ 1.0, 2.0, 4.0, 6.0, 12.0 ] + } + }, + "constraint_modes": + { + "normal": [ ], + "highlight": [ + { + "bound": "LOWER", + "q_lo": 0.98, + "q_hi": 1.0, + "y_target": + [ + 0, 0.5, + 1000, 0.5 + ] + }, + { + "bound": "UPPER", + "q_lo": 0.98, + "q_hi": 1.0, + "y_target": + [ + 0, 0.8, + 1000, 0.8 + ] + } + ] + }, + "y_target": + [ + 0, 0.16, + 1000, 0.16, + 10000, 0.16 + ] + } + }, + { + "rpi.alsc": + { + "omega": 1.3, + "n_iter": 100, + "luminance_strength": 0.7, + "luminance_lut": + [ + 2.844, 2.349, 2.018, 1.775, 1.599, 1.466, 1.371, 1.321, 1.306, 1.316, 1.357, 1.439, 1.552, 1.705, 1.915, 2.221, + 2.576, 2.151, 1.851, 1.639, 1.478, 1.358, 1.272, 1.231, 1.218, 1.226, 1.262, 1.335, 1.438, 1.571, 1.766, 2.067, + 2.381, 2.005, 1.739, 1.545, 1.389, 1.278, 1.204, 1.166, 1.153, 1.161, 1.194, 1.263, 1.356, 1.489, 1.671, 1.943, + 2.242, 1.899, 1.658, 1.481, 1.329, 1.225, 1.156, 1.113, 1.096, 1.107, 1.143, 1.201, 1.289, 1.423, 1.607, 1.861, + 2.152, 1.831, 1.602, 1.436, 1.291, 1.193, 1.121, 1.069, 1.047, 1.062, 1.107, 1.166, 1.249, 1.384, 1.562, 1.801, + 2.104, 1.795, 1.572, 1.407, 1.269, 1.174, 1.099, 1.041, 1.008, 1.029, 1.083, 1.146, 1.232, 1.364, 1.547, 1.766, + 2.104, 1.796, 1.572, 1.403, 1.264, 1.171, 1.097, 1.036, 1.001, 1.025, 1.077, 1.142, 1.231, 1.363, 1.549, 1.766, + 2.148, 1.827, 1.594, 1.413, 1.276, 1.184, 1.114, 1.062, 1.033, 1.049, 1.092, 1.153, 1.242, 1.383, 1.577, 1.795, + 2.211, 1.881, 1.636, 1.455, 1.309, 1.214, 1.149, 1.104, 1.081, 1.089, 1.125, 1.184, 1.273, 1.423, 1.622, 1.846, + 2.319, 1.958, 1.698, 1.516, 1.362, 1.262, 1.203, 1.156, 1.137, 1.142, 1.171, 1.229, 1.331, 1.484, 1.682, 1.933, + 2.459, 2.072, 1.789, 1.594, 1.441, 1.331, 1.261, 1.219, 1.199, 1.205, 1.232, 1.301, 1.414, 1.571, 1.773, 2.052, + 2.645, 2.206, 1.928, 1.728, 1.559, 1.451, 1.352, 1.301, 1.282, 1.289, 1.319, 1.395, 1.519, 1.685, 1.904, 2.227 + ], + "sigma": 0.005, + "sigma_Cb": 0.005 + } + }, + { + "rpi.contrast": + { + "ce_enable": 1, + "gamma_curve": + [ + 0, 0, + 1024, 5040, + 2048, 9338, + 3072, 12356, + 4096, 15312, + 5120, 18051, + 6144, 20790, + 7168, 23193, + 8192, 25744, + 9216, 27942, + 10240, 30035, + 11264, 32005, + 12288, 33975, + 13312, 35815, + 14336, 37600, + 15360, 39168, + 16384, 40642, + 18432, 43379, + 20480, 45749, + 22528, 47753, + 24576, 49621, + 26624, 51253, + 28672, 52698, + 30720, 53796, + 32768, 54876, + 36864, 57012, + 40960, 58656, + 45056, 59954, + 49152, 61183, + 53248, 62355, + 57344, 63419, + 61440, 64476, + 65535, 65535 + ] + } + }, + { + "rpi.sharpen": { } + }, + { + "rpi.ccm": + { + "ccms": [ + { + "ct": 3900, + "ccm": + [ + 1.54659, -0.17707, -0.36953, + -0.51471, 1.72733, -0.21262, + 0.06667, -0.92279, 1.85612 + ] + } + ] + } + } + ] +} \ No newline at end of file diff --git a/src/ipa/rpi/vc4/data/meson.build b/src/ipa/rpi/vc4/data/meson.build index 6b4d443f..94c0ee6e 100644 --- a/src/ipa/rpi/vc4/data/meson.build +++ b/src/ipa/rpi/vc4/data/meson.build @@ -7,6 +7,7 @@ conf_files = files([ 'imx290.json', 'imx296.json', 'imx296_mono.json', + 'imx327.json', 'imx378.json', 'imx462.json', 'imx477.json',