From patchwork Sun Nov 24 19:29:49 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: 22063 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 20661C3310 for ; Sun, 24 Nov 2024 19:30:05 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id 6BED666002; Sun, 24 Nov 2024 20:30:04 +0100 (CET) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="EJ5dys7/"; 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 718B665FF5 for ; Sun, 24 Nov 2024 20:29:59 +0100 (CET) Received: by mail-wm1-x329.google.com with SMTP id 5b1f17b1804b1-43158625112so34496195e9.3 for ; Sun, 24 Nov 2024 11:29:59 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1732476598; x=1733081398; 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=ZG2GSk7+CCdJ4zn/ut+Gv8axrdcAKPK0JCn5iFrNT5o=; b=EJ5dys7/mrLb+uD7TOtuXB4+SBNRGYxYpUPef2aSorhfFRFwan+FwpBiczWItSGtxc NrgQ8M4BfKx8PuUxdXjN0By1wD5Zf03e6rC2ucvqy83PGO3e3Uydcxip3K71lbBvZ3Mi VNJjvdo+bnqPJ30rKlD0EEvo9rH95ryExScvUsE1J1MbG1j+YvsdaSs3kwF1GQO3camD 8ZDGi6+jCc1OGcfVYvxaR42wiqKCb/D+BDERhQ4qxkWQjI0FiRyy/0nNe5pPS8GB567K 3380EwZ3DBGVlwTlTjtaen6lmNn7Sov0/AApG9q8SItQQR3tJizZKZ/r43dsEV1kDTZ0 NmUA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1732476598; x=1733081398; 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=ZG2GSk7+CCdJ4zn/ut+Gv8axrdcAKPK0JCn5iFrNT5o=; b=DJa+ErQ1F5vZ4on9pxyj+PXzzJmoW2hsoMcko0BEyPNvhR5JdPqgK0pd16EM1+aULQ ygCFOcmE7d5xVh4iSA6EWI8JcuHwgKDYmyjjXsZMeZxA27hAD2TlZ/hsjYfz5VA8ZEHM opmrSKlOZS2eZMJm4+cBzyR/xcDZj6ykZ8iQyDCzY6KxOa2/ppMSSzvj4Kk1oBqdFneF TpTaoYzJpEYWHwQSsKupS/bMF60FKg5Qv3zBUx3wnf1JRMLInhwpI8hYkELZolVgKi7c yRfRteS8d/2wVwaVULFXVIsaqtA3GesdtIgbZuAPkYQ/+JcZa4HeID3jekNa3Q/EyWDV w5IA== X-Gm-Message-State: AOJu0YxqsqeN6QUwKnIGqVtEvPC4g4OQ2pycCr8GvKIiULNZ/ewyVo7A xXZWYi7f0OvvIRDEX6qxPnZLXpJsayROQnVuK6SJw+BVfrC4IdawSP9LUQ== X-Gm-Gg: ASbGncukmdxyXxyYTpPp7s9cXFjlvNwXITLfSyTR0VVv7OcwtSBTYAKPkhgZe97MTLJ JVLqlyU9oAFgvqSAGuj3m3dwN9M+HTxuDVgpVXDmW5Qio4JEqTntz1kXEljqC5sSMWbsavqK4sq 0AlzpbzkMP4HP118Hif2onYm7SP44kqAxVKAaZrApUMZ7YwSMPUwltcC9nGH87lE/0eJFFw+Uba 7oPYoUeilF3xgn7kosXVX7JTwyUYae2SybI/xXLkFxm5dLeeThXI6QzJKl4aY5vM5/m6hhvVzwW ciBO9WFi36gDXHc+WkbWLhb5Z4m4wOcuyrjSOusjXl4SzZit+bVwsSg= X-Google-Smtp-Source: AGHT+IEZ68yv6vzOFxN1GOb77XQNSftmrkF+hZt+lnEF3SlnWz1Wn4GQlfBqkVyrip448lKPGZ8WhA== X-Received: by 2002:a05:600c:6c85:b0:434:9da3:602b with SMTP id 5b1f17b1804b1-4349da3610dmr19521825e9.5.1732476598240; Sun, 24 Nov 2024 11:29:58 -0800 (PST) Received: from localhost.localdomain (ptr-gh3gmp9ck9bx99mg7lb.18120a2.ip6.access.telenet.be. [2a02:1812:2512:400:400a:4d18:885b:f46f]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-433b463ab6csm169691645e9.35.2024.11.24.11.29.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 24 Nov 2024 11:29:57 -0800 (PST) From: Geoffrey Van Landeghem To: libcamera-devel@lists.libcamera.org Cc: Geoffrey Van Landeghem Subject: [PATCH v3 4/5] ipa: raspberrypi: Add tuning file for IMX327 sensor Date: Sun, 24 Nov 2024 20:29:49 +0100 Message-ID: <20241124192950.542686-5-geoffrey.vl@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20241124192950.542686-1-geoffrey.vl@gmail.com> References: <20241124192950.542686-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" Add a default tuning file for Sony IMX327 sensor. This tuning file is a copy of the IMX290 and is added to make the IMX327 sensor just work without hassle. Note the extra description field to clarify this is just an interim tuning file untill someone provides a proper one. Signed-off-by: Geoffrey Van Landeghem Reviewed-by: Jacopo Mondi --- 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',