{"id":22063,"url":"https://patchwork.libcamera.org/api/patches/22063/?format=json","web_url":"https://patchwork.libcamera.org/patch/22063/","project":{"id":1,"url":"https://patchwork.libcamera.org/api/projects/1/?format=json","name":"libcamera","link_name":"libcamera","list_id":"libcamera_core","list_email":"libcamera-devel@lists.libcamera.org","web_url":"","scm_url":"","webscm_url":""},"msgid":"<20241124192950.542686-5-geoffrey.vl@gmail.com>","date":"2024-11-24T19:29:49","name":"[v3,4/5] ipa: raspberrypi: Add tuning file for IMX327 sensor","commit_ref":null,"pull_url":null,"state":"accepted","archived":false,"hash":"6014f3e27faf2800d1d7e9d7a40de2c9c15a0c58","submitter":{"id":214,"url":"https://patchwork.libcamera.org/api/people/214/?format=json","name":"Geoffrey Van Landeghem","email":"geoffrey.vl@gmail.com"},"delegate":null,"mbox":"https://patchwork.libcamera.org/patch/22063/mbox/","series":[{"id":4815,"url":"https://patchwork.libcamera.org/api/series/4815/?format=json","web_url":"https://patchwork.libcamera.org/project/libcamera/list/?series=4815","date":"2024-11-24T19:29:45","name":"Add support for Sony IMX327 and IMX462 sensors","version":3,"mbox":"https://patchwork.libcamera.org/series/4815/mbox/"}],"comments":"https://patchwork.libcamera.org/api/patches/22063/comments/","check":"pending","checks":"https://patchwork.libcamera.org/api/patches/22063/checks/","tags":{},"headers":{"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\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id 20661C3310\n\tfor <parsemail@patchwork.libcamera.org>;\n\tSun, 24 Nov 2024 19:30:05 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 6BED666002;\n\tSun, 24 Nov 2024 20:30:04 +0100 (CET)","from mail-wm1-x329.google.com (mail-wm1-x329.google.com\n\t[IPv6:2a00:1450:4864:20::329])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 718B665FF5\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tSun, 24 Nov 2024 20:29:59 +0100 (CET)","by mail-wm1-x329.google.com with SMTP id\n\t5b1f17b1804b1-43158625112so34496195e9.3\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tSun, 24 Nov 2024 11:29:59 -0800 (PST)","from localhost.localdomain\n\t(ptr-gh3gmp9ck9bx99mg7lb.18120a2.ip6.access.telenet.be.\n\t[2a02:1812:2512:400:400a:4d18:885b:f46f])\n\tby smtp.gmail.com with ESMTPSA id\n\t5b1f17b1804b1-433b463ab6csm169691645e9.35.2024.11.24.11.29.56\n\t(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n\tSun, 24 Nov 2024 11:29:57 -0800 (PST)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (2048-bit key;\n\tunprotected) header.d=gmail.com header.i=@gmail.com\n\theader.b=\"EJ5dys7/\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=gmail.com; s=20230601; t=1732476598; x=1733081398;\n\tdarn=lists.libcamera.org; \n\th=content-transfer-encoding:mime-version:references:in-reply-to\n\t:message-id:date:subject:cc:to:from:from:to:cc:subject:date\n\t:message-id:reply-to;\n\tbh=ZG2GSk7+CCdJ4zn/ut+Gv8axrdcAKPK0JCn5iFrNT5o=;\n\tb=EJ5dys7/mrLb+uD7TOtuXB4+SBNRGYxYpUPef2aSorhfFRFwan+FwpBiczWItSGtxc\n\tNrgQ8M4BfKx8PuUxdXjN0By1wD5Zf03e6rC2ucvqy83PGO3e3Uydcxip3K71lbBvZ3Mi\n\tVNJjvdo+bnqPJ30rKlD0EEvo9rH95ryExScvUsE1J1MbG1j+YvsdaSs3kwF1GQO3camD\n\t8ZDGi6+jCc1OGcfVYvxaR42wiqKCb/D+BDERhQ4qxkWQjI0FiRyy/0nNe5pPS8GB567K\n\t3380EwZ3DBGVlwTlTjtaen6lmNn7Sov0/AApG9q8SItQQR3tJizZKZ/r43dsEV1kDTZ0\n\tNmUA==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20230601; t=1732476598; x=1733081398;\n\th=content-transfer-encoding:mime-version:references:in-reply-to\n\t:message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc\n\t:subject:date:message-id:reply-to;\n\tbh=ZG2GSk7+CCdJ4zn/ut+Gv8axrdcAKPK0JCn5iFrNT5o=;\n\tb=DJa+ErQ1F5vZ4on9pxyj+PXzzJmoW2hsoMcko0BEyPNvhR5JdPqgK0pd16EM1+aULQ\n\tygCFOcmE7d5xVh4iSA6EWI8JcuHwgKDYmyjjXsZMeZxA27hAD2TlZ/hsjYfz5VA8ZEHM\n\topmrSKlOZS2eZMJm4+cBzyR/xcDZj6ykZ8iQyDCzY6KxOa2/ppMSSzvj4Kk1oBqdFneF\n\tTpTaoYzJpEYWHwQSsKupS/bMF60FKg5Qv3zBUx3wnf1JRMLInhwpI8hYkELZolVgKi7c\n\tyRfRteS8d/2wVwaVULFXVIsaqtA3GesdtIgbZuAPkYQ/+JcZa4HeID3jekNa3Q/EyWDV\n\tw5IA==","X-Gm-Message-State":"AOJu0YxqsqeN6QUwKnIGqVtEvPC4g4OQ2pycCr8GvKIiULNZ/ewyVo7A\n\txXZWYi7f0OvvIRDEX6qxPnZLXpJsayROQnVuK6SJw+BVfrC4IdawSP9LUQ==","X-Gm-Gg":"ASbGncukmdxyXxyYTpPp7s9cXFjlvNwXITLfSyTR0VVv7OcwtSBTYAKPkhgZe97MTLJ\n\tJVLqlyU9oAFgvqSAGuj3m3dwN9M+HTxuDVgpVXDmW5Qio4JEqTntz1kXEljqC5sSMWbsavqK4sq\n\t0AlzpbzkMP4HP118Hif2onYm7SP44kqAxVKAaZrApUMZ7YwSMPUwltcC9nGH87lE/0eJFFw+Uba\n\t7oPYoUeilF3xgn7kosXVX7JTwyUYae2SybI/xXLkFxm5dLeeThXI6QzJKl4aY5vM5/m6hhvVzwW\n\tciBO9WFi36gDXHc+WkbWLhb5Z4m4wOcuyrjSOusjXl4SzZit+bVwsSg=","X-Google-Smtp-Source":"AGHT+IEZ68yv6vzOFxN1GOb77XQNSftmrkF+hZt+lnEF3SlnWz1Wn4GQlfBqkVyrip448lKPGZ8WhA==","X-Received":"by 2002:a05:600c:6c85:b0:434:9da3:602b with SMTP id\n\t5b1f17b1804b1-4349da3610dmr19521825e9.5.1732476598240; \n\tSun, 24 Nov 2024 11:29:58 -0800 (PST)","From":"Geoffrey Van Landeghem <geoffrey.vl@gmail.com>","To":"libcamera-devel@lists.libcamera.org","Cc":"Geoffrey Van Landeghem <geoffrey.vl@gmail.com>","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","Content-Transfer-Encoding":"8bit","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>,\n\t<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>,\n\t<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>"},"content":"Add a default tuning file for Sony IMX327 sensor. This tuning file\nis a copy of the IMX290 and is added to make the IMX327 sensor\njust work without hassle. Note the extra description field to\nclarify this is just an interim tuning file untill someone\nprovides a proper one.\n\nSigned-off-by: Geoffrey Van Landeghem <geoffrey.vl@gmail.com>\n---\n src/ipa/rpi/vc4/data/imx327.json | 215 +++++++++++++++++++++++++++++++\n src/ipa/rpi/vc4/data/meson.build |   1 +\n 2 files changed, 216 insertions(+)\n create mode 100644 src/ipa/rpi/vc4/data/imx327.json","diff":"diff --git a/src/ipa/rpi/vc4/data/imx327.json b/src/ipa/rpi/vc4/data/imx327.json\nnew file mode 100644\nindex 00000000..40a56842\n--- /dev/null\n+++ b/src/ipa/rpi/vc4/data/imx327.json\n@@ -0,0 +1,215 @@\n+{\n+    \"version\": 2.0,\n+    \"target\": \"bcm2835\",\n+    \"description\": \"This is an interim tuning only. Please consider doing a more formal tuning for your application.\",\n+    \"algorithms\": [\n+        {\n+            \"rpi.black_level\":\n+            {\n+                \"black_level\": 3840\n+            }\n+        },\n+        {\n+            \"rpi.dpc\": { }\n+        },\n+        {\n+            \"rpi.lux\":\n+            {\n+                \"reference_shutter_speed\": 6813,\n+                \"reference_gain\": 1.0,\n+                \"reference_aperture\": 1.0,\n+                \"reference_lux\": 890,\n+                \"reference_Y\": 12900\n+            }\n+        },\n+        {\n+            \"rpi.noise\":\n+            {\n+                \"reference_constant\": 0,\n+                \"reference_slope\": 2.67\n+            }\n+        },\n+        {\n+            \"rpi.geq\":\n+            {\n+                \"offset\": 187,\n+                \"slope\": 0.00842\n+            }\n+        },\n+        {\n+            \"rpi.sdn\": { }\n+        },\n+        {\n+            \"rpi.awb\":\n+            {\n+                \"bayes\": 0\n+            }\n+        },\n+        {\n+            \"rpi.agc\":\n+            {\n+                \"speed\": 0.2,\n+                \"metering_modes\":\n+                {\n+                    \"matrix\":\n+                    {\n+                        \"weights\":\n+                        [\n+                            1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1\n+                        ]\n+                    },\n+                    \"centre-weighted\":\n+                    {\n+                        \"weights\":\n+                        [\n+                            3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 0, 0, 0, 0\n+                        ]\n+                    },\n+                    \"spot\":\n+                    {\n+                        \"weights\":\n+                        [\n+                            2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0\n+                        ]\n+                    }\n+                },\n+                \"exposure_modes\":\n+                {\n+                    \"normal\":\n+                    {\n+                        \"shutter\": [ 10, 30000, 60000 ],\n+                        \"gain\": [ 1.0, 2.0, 8.0 ]\n+                    },\n+                    \"short\":\n+                    {\n+                        \"shutter\": [ 10, 5000, 10000, 20000, 120000 ],\n+                        \"gain\": [ 1.0, 2.0, 4.0, 6.0, 8.0 ]\n+                    },\n+                    \"long\":\n+                    {\n+                        \"shutter\": [ 1000, 30000, 60000, 90000, 120000 ],\n+                        \"gain\": [ 1.0, 2.0, 4.0, 6.0, 12.0 ]\n+                    }\n+                },\n+                \"constraint_modes\":\n+                {\n+                    \"normal\": [  ],\n+                    \"highlight\": [\n+                        {\n+                            \"bound\": \"LOWER\",\n+                            \"q_lo\": 0.98,\n+                            \"q_hi\": 1.0,\n+                            \"y_target\":\n+                            [\n+                                0, 0.5,\n+                                1000, 0.5\n+                            ]\n+                        },\n+                        {\n+                            \"bound\": \"UPPER\",\n+                            \"q_lo\": 0.98,\n+                            \"q_hi\": 1.0,\n+                            \"y_target\":\n+                            [\n+                                0, 0.8,\n+                                1000, 0.8\n+                            ]\n+                        }\n+                    ]\n+                },\n+                \"y_target\":\n+                [\n+                    0, 0.16,\n+                    1000, 0.16,\n+                    10000, 0.16\n+                ]\n+            }\n+        },\n+        {\n+            \"rpi.alsc\":\n+            {\n+                \"omega\": 1.3,\n+                \"n_iter\": 100,\n+                \"luminance_strength\": 0.7,\n+                \"luminance_lut\":\n+                [\n+                    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,\n+                    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,\n+                    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,\n+                    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,\n+                    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,\n+                    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,\n+                    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,\n+                    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,\n+                    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,\n+                    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,\n+                    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,\n+                    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\n+                ],\n+                \"sigma\": 0.005,\n+                \"sigma_Cb\": 0.005\n+            }\n+        },\n+        {\n+            \"rpi.contrast\":\n+            {\n+                \"ce_enable\": 1,\n+                \"gamma_curve\":\n+                [\n+                    0, 0,\n+                    1024, 5040,\n+                    2048, 9338,\n+                    3072, 12356,\n+                    4096, 15312,\n+                    5120, 18051,\n+                    6144, 20790,\n+                    7168, 23193,\n+                    8192, 25744,\n+                    9216, 27942,\n+                    10240, 30035,\n+                    11264, 32005,\n+                    12288, 33975,\n+                    13312, 35815,\n+                    14336, 37600,\n+                    15360, 39168,\n+                    16384, 40642,\n+                    18432, 43379,\n+                    20480, 45749,\n+                    22528, 47753,\n+                    24576, 49621,\n+                    26624, 51253,\n+                    28672, 52698,\n+                    30720, 53796,\n+                    32768, 54876,\n+                    36864, 57012,\n+                    40960, 58656,\n+                    45056, 59954,\n+                    49152, 61183,\n+                    53248, 62355,\n+                    57344, 63419,\n+                    61440, 64476,\n+                    65535, 65535\n+                ]\n+            }\n+        },\n+        {\n+            \"rpi.sharpen\": { }\n+        },\n+        {\n+            \"rpi.ccm\":\n+            {\n+                \"ccms\": [\n+                    {\n+                        \"ct\": 3900,\n+                        \"ccm\":\n+                        [\n+                            1.54659, -0.17707, -0.36953,\n+                            -0.51471, 1.72733, -0.21262,\n+                            0.06667, -0.92279, 1.85612\n+                        ]\n+                    }\n+                ]\n+            }\n+        }\n+    ]\n+}\n\\ No newline at end of file\ndiff --git a/src/ipa/rpi/vc4/data/meson.build b/src/ipa/rpi/vc4/data/meson.build\nindex 6b4d443f..94c0ee6e 100644\n--- a/src/ipa/rpi/vc4/data/meson.build\n+++ b/src/ipa/rpi/vc4/data/meson.build\n@@ -7,6 +7,7 @@ conf_files = files([\n     'imx290.json',\n     'imx296.json',\n     'imx296_mono.json',\n+    'imx327.json',\n     'imx378.json',\n     'imx462.json',\n     'imx477.json',\n","prefixes":["v3","4/5"]}