{"id":21982,"url":"https://patchwork.libcamera.org/api/1.1/patches/21982/?format=json","web_url":"https://patchwork.libcamera.org/patch/21982/","project":{"id":1,"url":"https://patchwork.libcamera.org/api/1.1/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":"<20241118225310.446706-5-geoffrey.vl@gmail.com>","date":"2024-11-18T22:53:10","name":"[v2,4/4] ipa: raspberrypi: Add tuning file for IMX327 sensor","commit_ref":"b45ff9ff3c00dd626db5d6e0fc06bcc9191e2854","pull_url":null,"state":"accepted","archived":false,"hash":"6014f3e27faf2800d1d7e9d7a40de2c9c15a0c58","submitter":{"id":214,"url":"https://patchwork.libcamera.org/api/1.1/people/214/?format=json","name":"Geoffrey Van Landeghem","email":"geoffrey.vl@gmail.com"},"delegate":null,"mbox":"https://patchwork.libcamera.org/patch/21982/mbox/","series":[{"id":4799,"url":"https://patchwork.libcamera.org/api/1.1/series/4799/?format=json","web_url":"https://patchwork.libcamera.org/project/libcamera/list/?series=4799","date":"2024-11-18T22:53:06","name":"Add support for Sony IMX327 and IMX462 sensors","version":2,"mbox":"https://patchwork.libcamera.org/series/4799/mbox/"}],"comments":"https://patchwork.libcamera.org/api/patches/21982/comments/","check":"pending","checks":"https://patchwork.libcamera.org/api/patches/21982/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 A1EAEC32F0\n\tfor <parsemail@patchwork.libcamera.org>;\n\tMon, 18 Nov 2024 22:53:27 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id DE22C658FD;\n\tMon, 18 Nov 2024 23:53:26 +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 94657658F3\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 18 Nov 2024 23:53:19 +0100 (CET)","by mail-wm1-x329.google.com with SMTP id\n\t5b1f17b1804b1-431ac30d379so2152255e9.1\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 18 Nov 2024 14:53:19 -0800 (PST)","from localhost.localdomain\n\t(ptr-gh3gmpb67n6nyq8fe1w.18120a2.ip6.access.telenet.be.\n\t[2a02:1812:2512:400:b7f4:fa69:c596:84e4])\n\tby smtp.gmail.com with ESMTPSA id\n\t5b1f17b1804b1-432dab807d4sm170221535e9.21.2024.11.18.14.53.17\n\t(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n\tMon, 18 Nov 2024 14:53:18 -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=\"GkPXo64K\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=gmail.com; s=20230601; t=1731970398; x=1732575198;\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=1m8KIMYOupgKq5352lkOdB0Xull6n3UQU/PzHTLoGsY=;\n\tb=GkPXo64K/Tyyy3Vrtvut/e3tek5wMWCiILvk7bg/2PakVroUZVjn0VxlLyI2txdP4C\n\tPMrCV4uifxahrqtGWR5DemDnQ34J28wVNseSPCn5JUjDDsikcF8iyIvnU7eT9LRiAs0R\n\tj2x/NZwiE36akG62r+ObgzyblLhBDkFvpTqKKUNJZkV2PlEoOFCDAl4IV9du9jkr9hnS\n\ttdEMMBBuIQHVEAF2UMqBG8YqireaaP36Ancomj/M1+A/xfkkbaCepNnZh/Gf289GGSKq\n\tRHdS+7BUsJreF2R41DdpK9gW79lp1S/fEE0q5a9pBGF9QlTiVXDq9U4QsdjlEYJy09nQ\n\tCz6Q==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20230601; t=1731970398; x=1732575198;\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=1m8KIMYOupgKq5352lkOdB0Xull6n3UQU/PzHTLoGsY=;\n\tb=TCJKubOTjL9wJde/fb7bj0CuHW834uxUW2DZYLqiFGZMczU4zNJgbbICqOfmnnMYRK\n\tSHZ2BWcy8Sl9QoyxnRd9etfWIcl+KCLfHtMF+Dl7fF4gMxwMAKx8CvLsB4XX/hspe1dl\n\tsYUNGyHJA9ZX8qcpOYUERZih1WHnNuxy7QNnICtMDFfCaatgwHrDMRuac/KWq55ACYDc\n\t9RbE2GREgOGyoDKNu51cnY4PQW8E5ECDLCW7JEgrH0/HZZ5BeOb3/dE9z5G7nRvXN4SW\n\tkz2PpNrAN1F/5XXXBlbUM6RDgX4xf+wpnODMtUwvNLrzHXXaCgwbxglrAPDqhgNZuiDE\n\txWdA==","X-Gm-Message-State":"AOJu0YxE5omqUzK2ttuZJQZqgINdl1YcZ13ysQF7Oz/o8JSOQVqAqXC8\n\tRIjBk8+yFa/hZnyKb3axhH9PJJD2IArQoYzPYdg5Pt1B4YMPuhl5/4kDHT3F","X-Google-Smtp-Source":"AGHT+IEtbCUZiWs8naBFXlvl5cMApam6uu1biHYhxzZk4b8JAjs6kfUXv9GsPEK2W4/jruhHBozPJQ==","X-Received":"by 2002:a05:600c:3508:b0:42c:b750:1a1e with SMTP id\n\t5b1f17b1804b1-432df67959dmr122802835e9.0.1731970398359; \n\tMon, 18 Nov 2024 14:53:18 -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 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","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":"Signed-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":["v2","4/4"]}