From patchwork Mon Nov 18 22:53:07 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: 21979 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 0B253C3260 for ; Mon, 18 Nov 2024 22:53:22 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id AA54165904; Mon, 18 Nov 2024 23:53:21 +0100 (CET) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="PWdrQ41O"; dkim-atps=neutral Received: from mail-wm1-x333.google.com (mail-wm1-x333.google.com [IPv6:2a00:1450:4864:20::333]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id DF504658F1 for ; Mon, 18 Nov 2024 23:53:16 +0100 (CET) Received: by mail-wm1-x333.google.com with SMTP id 5b1f17b1804b1-4315eac969aso27420125e9.1 for ; Mon, 18 Nov 2024 14:53:16 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1731970396; x=1732575196; 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=teXj3gc6g+HopFaIxFYUMApdjK8cAzC9KOk5oMwIDIE=; b=PWdrQ41O7OjggGVZ+R3n4R832icrf2OsARwOwJ68gozJnnF2QWYPfFoLbflVtc219r xNidN1uZmZLAMLzsLSolqWyS8XmuY/8LQvnrFRQ+XCi9iMwh1RIrf2kfqu6IUy48yMef /DJTYwdFhCq+IBYYjFnJDJ8zUXOFOasT3KnakP0gHXNldcGsCEIG12atEW6cfdEgyJf8 +Dvgd8qdrASZSK/vBRgHi8zr8pcjcsmg9mwzEbs69vNibAkuGW8nvb60nxkIEsqnVZvg +ggHdNZF8D4CN26UAZ9ruF3vEbzrrZgswpDh6sSVeg50tIgw3yEpFEdenSCHyZrrNtUv Bq7A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1731970396; x=1732575196; 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=teXj3gc6g+HopFaIxFYUMApdjK8cAzC9KOk5oMwIDIE=; b=cJusmnGQcR+T0yNvgYeaAZautIUQmnuqHUztdXH18uolhR7RQ1EP01rYCyfsTnH6Fu o9jXonx0qAwFjzxBkOW11YLe416O6niFGRzuWYYMd99iliHeJfWUYI6SLOb0ANkNuIoQ PPgknt93qMzm0f5rBigt4UPQFzAPS8DvXyUPy77UofsoHnvvNDfR8D56iKltYnq0kEme 45n5jBww6eImvyOuRCOzTc1szLnNuaLsfRdEZ4yfqSQ/ZlkAQIu8J0wVIHMHyPAUL8sR nhapMlM875ItZ0DyfocczF8DpJcvUEn3bFy8T5/SdR9zdpfZh7yEb+U5ur7yHOsxGvSN l1Ww== X-Gm-Message-State: AOJu0YxtzadN4nVm2qab1IjFh34C6qJnxE2cL65hr2r2A+Y3/awewmux Ho09m3H1+68WTQfA/CtJISXojLqRXEG9hTwEhHdGyQn8vgoIUhHc6NiN0PVq X-Google-Smtp-Source: AGHT+IECCgK3Ch9AEDpoHFL7V8LCgzP8/CipofU1ZZnX2lfo2zDEUkDo4CQcc2t5vAJ8hHgN2qhEiA== X-Received: by 2002:a05:600c:242:b0:42c:b67b:816b with SMTP id 5b1f17b1804b1-432f579dff8mr8540655e9.1.1731970396092; Mon, 18 Nov 2024 14:53:16 -0800 (PST) Received: from localhost.localdomain (ptr-gh3gmpb67n6nyq8fe1w.18120a2.ip6.access.telenet.be. [2a02:1812:2512:400:b7f4:fa69:c596:84e4]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-432dab807d4sm170221535e9.21.2024.11.18.14.53.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 18 Nov 2024 14:53:14 -0800 (PST) From: Geoffrey Van Landeghem To: libcamera-devel@lists.libcamera.org Cc: Geoffrey Van Landeghem Subject: [PATCH v2 1/4] libcamera: libipa: camera_sensor: Provide CameraSensorHelper and CameraSensorProperties for the Sony IMX462 image sensor. Date: Mon, 18 Nov 2024 23:53:07 +0100 Message-ID: <20241118225310.446706-2-geoffrey.vl@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20241118225310.446706-1-geoffrey.vl@gmail.com> References: <20241118225310.446706-1-geoffrey.vl@gmail.com> 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" The sensor is largely compatible with the already supported Sony IMX290 so we can reuse the same helpers for the analogue gain conversion functions. Signed-off-by: Geoffrey Van Landeghem Reviewed-by: Jacopo Mondi --- 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 Mon Nov 18 22:53:08 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: 21980 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 23F5DC3260 for ; Mon, 18 Nov 2024 22:53:24 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id DDF3B658F0; Mon, 18 Nov 2024 23:53:23 +0100 (CET) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="IcIRI6bH"; dkim-atps=neutral Received: from mail-wm1-x32a.google.com (mail-wm1-x32a.google.com [IPv6:2a00:1450:4864:20::32a]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id 1FB19658FD for ; Mon, 18 Nov 2024 23:53:18 +0100 (CET) Received: by mail-wm1-x32a.google.com with SMTP id 5b1f17b1804b1-43161e7bb25so39518305e9.2 for ; Mon, 18 Nov 2024 14:53:18 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1731970397; x=1732575197; 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=IcIRI6bHlgyfRtrjIAbijuf5YUDC2Tc3/8xJSW6LlR2YNNP2NWNn0EPwj8mzgLBAvz siUjlyoNSNipiL64OYK2a24segWOOGlXdKCsht5eRajJehPmZE5K+dapEF4SqsAuk68s 8jM2MT0dpY9bwP1PXuTIZTOjGum6734e74lWxJ8Lp+j6QMexodXDH/HUQ4ALgW52CWdI XTCfZfIvtf1qKiYo2cR71hdhdaqhEPqnBSP9jxuBmpVDt2P2ouV9hhteEfFc/dI3Q6Kz 9zrm6yK3rmXoQHFekzsYTvxxtGj62BsVvQjT8Pp0y0iMwcpYgihvylHjDY7N0rAdC7+5 oU8w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1731970397; x=1732575197; 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=TTcdu1VNhfSX+QNV7KhydxdMgkZyoU4x6KlnVa+/7z2ImSukv8H08m3CSbQHNQ+MnF aCMKSqoOZ6AKF766Qtp1K2phT69VcxH97fk33C5UK+fPpBjEeMKKBLqioFQQtTpbL1vd zLc1FRHS1FkbQUocH6rqjNZLL0EdfNYOC5XMPs9gG77xwCBO3j4BpksrE6KPBJGSV22z MZ3/dSy7y4yGxH/ccyDJL02ffPBUAfVr3IUyZaCWAd+2M1Rsv8bzvckhRs3xQW0XOb92 +D73k0pnQxQOzvSj0rK43/SEM4VJDUaDN8ZMtZ6DU6/zg/1LULO6KHtzcZw1f1La3reT TgHg== X-Gm-Message-State: AOJu0YwcFXEkvqoYws+CryhkyK+rx8gp8dZRyvcNzSkMaxsFCTl3cape 00AUrGMrgy8F2H+7jAcpquOyqI9pNfD50jiR4tBPgxTXC0JWNkMGazRK44Wu X-Google-Smtp-Source: AGHT+IGDp0mzZZmbp6dswA47TDLwEIGTX2UyESibfK9BGphhSLuhiMSMUCGeCLHv9jfKF42YeJo+Bg== X-Received: by 2002:a05:600c:1c98:b0:431:60ec:7a91 with SMTP id 5b1f17b1804b1-432df71c4bamr126252235e9.2.1731970397182; Mon, 18 Nov 2024 14:53:17 -0800 (PST) Received: from localhost.localdomain (ptr-gh3gmpb67n6nyq8fe1w.18120a2.ip6.access.telenet.be. [2a02:1812:2512:400:b7f4:fa69:c596:84e4]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-432dab807d4sm170221535e9.21.2024.11.18.14.53.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 18 Nov 2024 14:53:16 -0800 (PST) From: Geoffrey Van Landeghem To: libcamera-devel@lists.libcamera.org Cc: Geoffrey Van Landeghem Subject: [PATCH v2 2/4] ipa: rpi: cam_helper: Add Sony IMX327 Date: Mon, 18 Nov 2024 23:53:08 +0100 Message-ID: <20241118225310.446706-3-geoffrey.vl@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20241118225310.446706-1-geoffrey.vl@gmail.com> References: <20241118225310.446706-1-geoffrey.vl@gmail.com> 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" Signed-off-by: Geoffrey Van Landeghem Reviewed-by: Jacopo Mondi --- 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 Mon Nov 18 22:53:09 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: 21981 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 C04B6C3260 for ; Mon, 18 Nov 2024 22:53:25 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id F016765ED8; Mon, 18 Nov 2024 23:53:24 +0100 (CET) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="axyAm1ux"; dkim-atps=neutral Received: from mail-wm1-x32b.google.com (mail-wm1-x32b.google.com [IPv6:2a00:1450:4864:20::32b]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id A30E5658F0 for ; Mon, 18 Nov 2024 23:53:18 +0100 (CET) Received: by mail-wm1-x32b.google.com with SMTP id 5b1f17b1804b1-431695fa98bso1927705e9.3 for ; Mon, 18 Nov 2024 14:53:18 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1731970398; x=1732575198; 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=g+4MhmUqLjJ4k7EAsqVL9xtdzo/YWJknPnL3C2Oqy9E=; b=axyAm1uxdX1Zs0jF9HKZ7QPSrdLySCSnmvF61KBphtt+zRc9xA7A9xl8zDIpYRDeEs L/SSdP9xEhUHlPvd0YB2WgUfhnBkPoHKubnNHVmuOxBfY/DMI0c8I81LI2tFG0b/oLFL Mfzdtn4UW5sdYR/mUl3+V3UIlQxf0ccrBbaFni0/nBFabS8Bvr3XWaMdSPvJz9xnJZLg M6pCaYrJQ2nEczXTfVRnGvj5cBDoOQ48NoeXFNNjuXf0w+CxX6Ki0RFw4Out95Lv8DJJ 9PCMs9WIWmMnlh2Tv9RnslyuYdKDEegKiN+dpBd0685xRVwml1srxTa6ngygvbloynb0 vCfQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1731970398; x=1732575198; 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=g+4MhmUqLjJ4k7EAsqVL9xtdzo/YWJknPnL3C2Oqy9E=; b=v6+ruJ0vSYj2c5cg8b3nbryIwWqEUnY87QAj+y8iBuNLlOq2LOSo/CJffgKSo76Arj cCZV526M7l0m1gto83NSMpwbQ8Ul2bTetP0H0EQT1C6lqztK9vL5ywDOGpCTPS/fpzK5 IUVbgMQQIWLIBeTv+mepxtxp9f9IF/d1wvsdty8Uhr3QPAzkIim4CtzMxDhSkMR4TyzG cD2SqjpghL1RVPMSbUaz/ZdWho3C53a6LwHdQpajypTiN3ir7mdJx9N+8E6BNrzSbGxX jdEf7XwBL+gZ66mv/1FMWruYK6EOiacolUtyF0S0ZBLMwZLSrrUgmVE2vBY8NKP9eBwd PNRQ== X-Gm-Message-State: AOJu0YwkoCKRGbR8P4j2TcEvFdPOH7DvnzUR70SDgqDkBLzD3SDPquJD sY2G2PNveBkzLScru0R0C8QjTpuKr6nzjNnHXYPog54gq4UdQfkibwkajd3e X-Google-Smtp-Source: AGHT+IE632gJGmSSocLBWD50DOJ/glfiGEFhe6+9O00CELtGiMS2Sa37iFgNP2Bv3jIgB24PaW67oA== X-Received: by 2002:a05:600c:1e11:b0:431:52c4:1069 with SMTP id 5b1f17b1804b1-432df72a7ffmr124281625e9.8.1731970397757; Mon, 18 Nov 2024 14:53:17 -0800 (PST) Received: from localhost.localdomain (ptr-gh3gmpb67n6nyq8fe1w.18120a2.ip6.access.telenet.be. [2a02:1812:2512:400:b7f4:fa69:c596:84e4]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-432dab807d4sm170221535e9.21.2024.11.18.14.53.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 18 Nov 2024 14:53:17 -0800 (PST) From: Geoffrey Van Landeghem To: libcamera-devel@lists.libcamera.org Cc: Geoffrey Van Landeghem Subject: [PATCH v2 3/4] ipa: raspberrypi: Add tuning file for IMX462 sensor Date: Mon, 18 Nov 2024 23:53:09 +0100 Message-ID: <20241118225310.446706-4-geoffrey.vl@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20241118225310.446706-1-geoffrey.vl@gmail.com> References: <20241118225310.446706-1-geoffrey.vl@gmail.com> 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" Signed-off-by: Geoffrey Van Landeghem --- src/ipa/rpi/vc4/data/imx462.json | 215 +++++++++++++++++++++++++++++++ src/ipa/rpi/vc4/data/meson.build | 1 + 2 files changed, 216 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..40a56842 --- /dev/null +++ b/src/ipa/rpi/vc4/data/imx462.json @@ -0,0 +1,215 @@ +{ + "version": 2.0, + "target": "bcm2835", + "description": "This is an interim tuning only. Please consider doing a more formal tuning for your application.", + "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 Mon Nov 18 22:53:10 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: 21982 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 A1EAEC32F0 for ; Mon, 18 Nov 2024 22:53:27 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id DE22C658FD; Mon, 18 Nov 2024 23:53:26 +0100 (CET) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="GkPXo64K"; dkim-atps=neutral Received: from mail-wm1-x329.google.com (mail-wm1-x329.google.com [IPv6:2a00:1450:4864:20::329]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id 94657658F3 for ; Mon, 18 Nov 2024 23:53:19 +0100 (CET) Received: by mail-wm1-x329.google.com with SMTP id 5b1f17b1804b1-431ac30d379so2152255e9.1 for ; Mon, 18 Nov 2024 14:53:19 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1731970398; x=1732575198; 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=1m8KIMYOupgKq5352lkOdB0Xull6n3UQU/PzHTLoGsY=; b=GkPXo64K/Tyyy3Vrtvut/e3tek5wMWCiILvk7bg/2PakVroUZVjn0VxlLyI2txdP4C PMrCV4uifxahrqtGWR5DemDnQ34J28wVNseSPCn5JUjDDsikcF8iyIvnU7eT9LRiAs0R j2x/NZwiE36akG62r+ObgzyblLhBDkFvpTqKKUNJZkV2PlEoOFCDAl4IV9du9jkr9hnS tdEMMBBuIQHVEAF2UMqBG8YqireaaP36Ancomj/M1+A/xfkkbaCepNnZh/Gf289GGSKq RHdS+7BUsJreF2R41DdpK9gW79lp1S/fEE0q5a9pBGF9QlTiVXDq9U4QsdjlEYJy09nQ Cz6Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1731970398; x=1732575198; 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=1m8KIMYOupgKq5352lkOdB0Xull6n3UQU/PzHTLoGsY=; b=TCJKubOTjL9wJde/fb7bj0CuHW834uxUW2DZYLqiFGZMczU4zNJgbbICqOfmnnMYRK SHZ2BWcy8Sl9QoyxnRd9etfWIcl+KCLfHtMF+Dl7fF4gMxwMAKx8CvLsB4XX/hspe1dl sYUNGyHJA9ZX8qcpOYUERZih1WHnNuxy7QNnICtMDFfCaatgwHrDMRuac/KWq55ACYDc 9RbE2GREgOGyoDKNu51cnY4PQW8E5ECDLCW7JEgrH0/HZZ5BeOb3/dE9z5G7nRvXN4SW kz2PpNrAN1F/5XXXBlbUM6RDgX4xf+wpnODMtUwvNLrzHXXaCgwbxglrAPDqhgNZuiDE xWdA== X-Gm-Message-State: AOJu0YxE5omqUzK2ttuZJQZqgINdl1YcZ13ysQF7Oz/o8JSOQVqAqXC8 RIjBk8+yFa/hZnyKb3axhH9PJJD2IArQoYzPYdg5Pt1B4YMPuhl5/4kDHT3F X-Google-Smtp-Source: AGHT+IEtbCUZiWs8naBFXlvl5cMApam6uu1biHYhxzZk4b8JAjs6kfUXv9GsPEK2W4/jruhHBozPJQ== X-Received: by 2002:a05:600c:3508:b0:42c:b750:1a1e with SMTP id 5b1f17b1804b1-432df67959dmr122802835e9.0.1731970398359; Mon, 18 Nov 2024 14:53:18 -0800 (PST) Received: from localhost.localdomain (ptr-gh3gmpb67n6nyq8fe1w.18120a2.ip6.access.telenet.be. [2a02:1812:2512:400:b7f4:fa69:c596:84e4]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-432dab807d4sm170221535e9.21.2024.11.18.14.53.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 18 Nov 2024 14:53:18 -0800 (PST) From: Geoffrey Van Landeghem To: libcamera-devel@lists.libcamera.org Cc: Geoffrey Van Landeghem Subject: [PATCH v2 4/4] ipa: raspberrypi: Add tuning file for IMX327 sensor Date: Mon, 18 Nov 2024 23:53:10 +0100 Message-ID: <20241118225310.446706-5-geoffrey.vl@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20241118225310.446706-1-geoffrey.vl@gmail.com> References: <20241118225310.446706-1-geoffrey.vl@gmail.com> 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" Signed-off-by: Geoffrey Van Landeghem --- src/ipa/rpi/vc4/data/imx327.json | 215 +++++++++++++++++++++++++++++++ src/ipa/rpi/vc4/data/meson.build | 1 + 2 files changed, 216 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..40a56842 --- /dev/null +++ b/src/ipa/rpi/vc4/data/imx327.json @@ -0,0 +1,215 @@ +{ + "version": 2.0, + "target": "bcm2835", + "description": "This is an interim tuning only. Please consider doing a more formal tuning for your application.", + "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',