[{"id":32193,"web_url":"https://patchwork.libcamera.org/comment/32193/","msgid":"<CAHW6GYLD0JVWkeqvfzFGP1VZpuLWZD7nagOsQS7qLo=oE1n5nQ@mail.gmail.com>","date":"2024-11-15T13:47:10","subject":"Re: [PATCH 3/4] ipa: raspberrypi: Add tuning file for IMX462 sensor","submitter":{"id":42,"url":"https://patchwork.libcamera.org/api/people/42/","name":"David Plowman","email":"david.plowman@raspberrypi.com"},"content":"Hi Geoffrey\n\nThanks for sending this, always pleased to get support for new\ncameras! Just a few questions...\n\nThere isn't much in the way of colour tuning - can you say if this is\nperhaps a mono sensor, or is it the case that someone might need to do\nmore colour tuning in future?\n\nGenerally we like to support the same sensors on Pi 5 as Pi 4, but I'm\nguessing it's not possible for you to make a Pi 5 tuning as well, is\nthat right?\n\nThanks\nDavid\n\nOn Wed, 13 Nov 2024 at 22:44, Geoffrey Van Landeghem\n<geoffrey.vl@gmail.com> wrote:\n>\n> Signed-off-by: Geoffrey Van Landeghem <geoffrey.vl@gmail.com>\n> ---\n>  src/ipa/rpi/vc4/data/imx462.json | 214 +++++++++++++++++++++++++++++++\n>  src/ipa/rpi/vc4/data/meson.build |   1 +\n>  2 files changed, 215 insertions(+)\n>  create mode 100644 src/ipa/rpi/vc4/data/imx462.json\n>\n> diff --git a/src/ipa/rpi/vc4/data/imx462.json b/src/ipa/rpi/vc4/data/imx462.json\n> new file mode 100644\n> index 00000000..8f41bf51\n> --- /dev/null\n> +++ b/src/ipa/rpi/vc4/data/imx462.json\n> @@ -0,0 +1,214 @@\n> +{\n> +    \"version\": 2.0,\n> +    \"target\": \"bcm2835\",\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\n> diff --git a/src/ipa/rpi/vc4/data/meson.build b/src/ipa/rpi/vc4/data/meson.build\n> index 8c34a1a5..6b4d443f 100644\n> --- a/src/ipa/rpi/vc4/data/meson.build\n> +++ b/src/ipa/rpi/vc4/data/meson.build\n> @@ -8,6 +8,7 @@ conf_files = files([\n>      'imx296.json',\n>      'imx296_mono.json',\n>      'imx378.json',\n> +    'imx462.json',\n>      'imx477.json',\n>      'imx477_noir.json',\n>      'imx477_scientific.json',\n> --\n> 2.43.0\n>","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 17F7AC3257\n\tfor <parsemail@patchwork.libcamera.org>;\n\tFri, 15 Nov 2024 13:47:25 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 2351C65892;\n\tFri, 15 Nov 2024 14:47:24 +0100 (CET)","from mail-qv1-xf2d.google.com (mail-qv1-xf2d.google.com\n\t[IPv6:2607:f8b0:4864:20::f2d])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 5E10265882\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 15 Nov 2024 14:47:22 +0100 (CET)","by mail-qv1-xf2d.google.com with SMTP id\n\t6a1803df08f44-6d402ce7aa3so1918296d6.1\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 15 Nov 2024 05:47:22 -0800 (PST)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (2048-bit key;\n\tunprotected) header.d=raspberrypi.com header.i=@raspberrypi.com\n\theader.b=\"WuUfb9Qx\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=raspberrypi.com; s=google; t=1731678441; x=1732283241;\n\tdarn=lists.libcamera.org; \n\th=cc:to:subject:message-id:date:from:in-reply-to:references\n\t:mime-version:from:to:cc:subject:date:message-id:reply-to;\n\tbh=g9Y10BrULaBj7uxHr8v2LIZs5MeYGGq9dgSx3UygNec=;\n\tb=WuUfb9Qx3k9AQYgMfcSwjqcXGsdja++wqDJM1ZMbwBH02BJSjB2yIcE5xeCVdhZM+u\n\trKwTPnGKW732BsP8FFO1kgGYRWLuaj8iYpX7DOLpX8ra8FIi76TESx5Fac7c3RSlfPgV\n\tsjPKfHGaX+Pmc39A3YU2RB2eu81KyiwF6Ua6kjegJFMpgmXXCAK2WXYB4Us17ab0EAyb\n\tx0ed2ZhTFiO1C3OhfD9EjtDHQex41sLhnqVYmE+GQ2u3DQqPjLEHwt20FZK/5qigjgJ9\n\t9peL9+K1J27Ypqd03ekyD9m+crhupIr38ANvd6QZT4BYHb00jsupTi2zAn5gDdMkRP8p\n\tPZkA==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20230601; t=1731678441; x=1732283241;\n\th=cc:to:subject:message-id:date:from:in-reply-to:references\n\t:mime-version:x-gm-message-state:from:to:cc:subject:date:message-id\n\t:reply-to;\n\tbh=g9Y10BrULaBj7uxHr8v2LIZs5MeYGGq9dgSx3UygNec=;\n\tb=mNsh6JscFzoLbh/PiiVGvFAdZkepQEY/9zroPIXWxAgHYkqrTVCFIl5pUfjusqDyin\n\tCrE0hMDIGkaJkRzVy+kUIlDwev9C9uLrUzGS9K3V1rGcLytg+rrh/ZQrBChAvJByBU87\n\tzA1ohG+kQ3xIWJxRrbVCKR7AHnVdz4lWj/s5MdiP+cV51DlOc0lL94E7v/c5THSM3KwW\n\tu2NQ4H967ynQvYXMu8nZh4+6A2YjQeUEYWEO1EkHb6GuFDyCeaBoa2J6YQ/3hWLKtybJ\n\tXs1Et53EmroKpM0ucfM6vUw/UalI1B94HJ1p2HQ4b4cvxXQru5CJdT8lK+ZlqrcRbfWQ\n\ttDYw==","X-Gm-Message-State":"AOJu0YzoxqJWwwCd5bAU9ZnjGVW8i1bLa3q08J2lb83QWUsw8tu27zw/\n\tXMm2iOfmsUbHj5kbuJ0zppW5z297FvZlWrtWnrl8m1Rm+ECdXcik6csIRMHKzKLpP2e0zzSHwK0\n\tmWModIyuyCunP70H77dGx8tyvMIWVcYdWyIhw1yUniMIbZ8yK","X-Google-Smtp-Source":"AGHT+IFPM+O8eGt1SW8JHtBwrtBXOA01e09B2lkDebsT+cXMDt2FZYKlcnzsMPLIBQNv9t4WD/qnHArs86tPoyexM7E=","X-Received":"by 2002:a05:6214:5f06:b0:6cb:3a7b:96b9 with SMTP id\n\t6a1803df08f44-6d3fb7693b7mr28572926d6.15.1731678441249;\n\tFri, 15 Nov 2024 05:47:21 -0800 (PST)","MIME-Version":"1.0","References":"<20241113223556.413637-2-geoffrey.vl@gmail.com>\n\t<20241113223556.413637-4-geoffrey.vl@gmail.com>","In-Reply-To":"<20241113223556.413637-4-geoffrey.vl@gmail.com>","From":"David Plowman <david.plowman@raspberrypi.com>","Date":"Fri, 15 Nov 2024 13:47:10 +0000","Message-ID":"<CAHW6GYLD0JVWkeqvfzFGP1VZpuLWZD7nagOsQS7qLo=oE1n5nQ@mail.gmail.com>","Subject":"Re: [PATCH 3/4] ipa: raspberrypi: Add tuning file for IMX462 sensor","To":"Geoffrey Van Landeghem <geoffrey.vl@gmail.com>","Cc":"libcamera-devel@lists.libcamera.org","Content-Type":"text/plain; charset=\"UTF-8\"","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>"}},{"id":32199,"web_url":"https://patchwork.libcamera.org/comment/32199/","msgid":"<CABX3Wh7qtMzf=XsQYWyp+B+OfQFZ=KSYfVRj531ADUuZxfqmow@mail.gmail.com>","date":"2024-11-15T14:29:58","subject":"Re: [PATCH 3/4] ipa: raspberrypi: Add tuning file for IMX462 sensor","submitter":{"id":214,"url":"https://patchwork.libcamera.org/api/people/214/","name":"Geoffrey Van Landeghem","email":"geoffrey.vl@gmail.com"},"content":"Hi David,\n\nNeither the IMX327, nor the IMX426 tuning files actually present good\ncamera calibration. They're just a copy of IMX290 (color). I've been\nhesitating to add those copies because of that, as without them it\nwould be obvious that customers need to bring their own tuning. On the\nother hand, adding them makes it more of a plug and play solution, and\nif someone is not pleased with the output they can always start tuning\nthe camera themselves. In the end, as discussed in the libcamera fork\nfor RPI, we decided on adding the plain copies. Unfortunately I don't\nown the equipment to perform good camera tuning, otherwise I would\nhave done the job. I don't even own the IMX327, I only own the\nInno-maker IMX426 (which is of questionable quality).\nThe approach for Pi5 would be similar, in that we copy the IMX290\ntuning just to get it going, and see if someone in the future is\ninterested in providing a better tune. Actually, regarding those\ncopies, there is already my PR for that on the Raspberry Pi fork for\nlibcamera. I hope that's good enough.\n\nKind regards,\nGeoffrey Van Landeghem\n\nOp vr 15 nov 2024 om 14:47 schreef David Plowman\n<david.plowman@raspberrypi.com>:\n>\n> Hi Geoffrey\n>\n> Thanks for sending this, always pleased to get support for new\n> cameras! Just a few questions...\n>\n> There isn't much in the way of colour tuning - can you say if this is\n> perhaps a mono sensor, or is it the case that someone might need to do\n> more colour tuning in future?\n>\n> Generally we like to support the same sensors on Pi 5 as Pi 4, but I'm\n> guessing it's not possible for you to make a Pi 5 tuning as well, is\n> that right?\n>\n> Thanks\n> David\n>\n> On Wed, 13 Nov 2024 at 22:44, Geoffrey Van Landeghem\n> <geoffrey.vl@gmail.com> wrote:\n> >\n> > Signed-off-by: Geoffrey Van Landeghem <geoffrey.vl@gmail.com>\n> > ---\n> >  src/ipa/rpi/vc4/data/imx462.json | 214 +++++++++++++++++++++++++++++++\n> >  src/ipa/rpi/vc4/data/meson.build |   1 +\n> >  2 files changed, 215 insertions(+)\n> >  create mode 100644 src/ipa/rpi/vc4/data/imx462.json\n> >\n> > diff --git a/src/ipa/rpi/vc4/data/imx462.json b/src/ipa/rpi/vc4/data/imx462.json\n> > new file mode 100644\n> > index 00000000..8f41bf51\n> > --- /dev/null\n> > +++ b/src/ipa/rpi/vc4/data/imx462.json\n> > @@ -0,0 +1,214 @@\n> > +{\n> > +    \"version\": 2.0,\n> > +    \"target\": \"bcm2835\",\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\n> > diff --git a/src/ipa/rpi/vc4/data/meson.build b/src/ipa/rpi/vc4/data/meson.build\n> > index 8c34a1a5..6b4d443f 100644\n> > --- a/src/ipa/rpi/vc4/data/meson.build\n> > +++ b/src/ipa/rpi/vc4/data/meson.build\n> > @@ -8,6 +8,7 @@ conf_files = files([\n> >      'imx296.json',\n> >      'imx296_mono.json',\n> >      'imx378.json',\n> > +    'imx462.json',\n> >      'imx477.json',\n> >      'imx477_noir.json',\n> >      'imx477_scientific.json',\n> > --\n> > 2.43.0\n> >","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 32EB9C3257\n\tfor <parsemail@patchwork.libcamera.org>;\n\tFri, 15 Nov 2024 14:30:12 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 6EE3465894;\n\tFri, 15 Nov 2024 15:30:11 +0100 (CET)","from mail-ed1-x52b.google.com (mail-ed1-x52b.google.com\n\t[IPv6:2a00:1450:4864:20::52b])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 81B276580A\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 15 Nov 2024 15:30:10 +0100 (CET)","by mail-ed1-x52b.google.com with SMTP id\n\t4fb4d7f45d1cf-5cece886771so3103947a12.0\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 15 Nov 2024 06:30:10 -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=\"GAuTk2T/\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=gmail.com; s=20230601; t=1731681010; x=1732285810;\n\tdarn=lists.libcamera.org; \n\th=cc:to:subject:message-id:date:from:in-reply-to:references\n\t:mime-version:from:to:cc:subject:date:message-id:reply-to;\n\tbh=36YMU09Cl0TEAHc15KkA4zgvlsYb1Y8wqhZgbaEs2XI=;\n\tb=GAuTk2T/DTcvTSDuzFwR4v/i4C877vPRtrXQIeVb5jDvYg+hgVtvbrY2wCp7LOAqQ5\n\tgDyYs/wIskXvK7DUzaVs69OVHSJn0CiKQELTASTNu8pQ5+epl2hjJ6GXLtRX1Yw008MM\n\tWoB6VqCjW24k2M5yDNZAXcYnsAsjLafRXfze4cSRZaEUV86UkOmjr6opj1WDLOswpB00\n\tIo6Y/YTB6i+dagVrB2nlnLFJDgbd3fF+4n8ZBH6UX0DswpKxjNBEhs8RpEHaG7uXxMrv\n\tLE6wLhyP8TJNCtrVk922fIZl45JmQ24WbQx4CiqoDBjYPVIg8f591d7z08kAQLGB57NZ\n\tDWvQ==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20230601; t=1731681010; x=1732285810;\n\th=cc:to:subject:message-id:date:from:in-reply-to:references\n\t:mime-version:x-gm-message-state:from:to:cc:subject:date:message-id\n\t:reply-to;\n\tbh=36YMU09Cl0TEAHc15KkA4zgvlsYb1Y8wqhZgbaEs2XI=;\n\tb=YT4FtIERmp2VlQXY8CoUa3a3T4FtKJ0aKIvbRajEM6vcIncrMyGzjz/eLq8Wp3yXc3\n\tmP37vjcWnBp4d0d4xL1SMVS8no4N2wqjFunkLZoITozY0nO4MQBGpORD4UpRRQ9e4He5\n\t/S8zAN4xPkXc67wD00tgRHO6U+WR+YcI7WmtzmixeF7WDZehFdx3BFSg3ijwexX7WjMG\n\t3DZy0+WTZWvtq0I1DaRdjyIzSfDnWZX7DhEMOkR2gqKe70gCCl1TcQBI3Zm9OlKUrhuS\n\tvkaMWXi0gi1HBB99+ROSwLGsyoM1as8pb0+X1ndUx+X2TaD/gjfdcAaaovSn8LU9dnHA\n\tZeyw==","X-Gm-Message-State":"AOJu0YwcKodXOBEHIeCri3RvcBJJzILHRX4QQS51hFJbQR2dg/R1Fy1u\n\tDRdzhRrUAu9qbbei1L0McBPDEE1ipwraxpJoZTB6/tG22rG16x8qsCT1+BKpNKc3CB5nGnAQCMw\n\t4XKuyIlKnAI9VLzB8j2mW0CLW3rY=","X-Google-Smtp-Source":"AGHT+IEbnIBTAp2jTfrdzWh4nSRwOv28KTn7QME0oJidmBb3an7VAlt+pFOtpyKA27CTEr9Ti/kWVk3Q3aJMLWdFRk4=","X-Received":"by 2002:a05:6402:430c:b0:5cf:457b:d427 with SMTP id\n\t4fb4d7f45d1cf-5cf8de68cf9mr3065659a12.9.1731681009608;\n\tFri, 15 Nov 2024 06:30:09 -0800 (PST)","MIME-Version":"1.0","References":"<20241113223556.413637-2-geoffrey.vl@gmail.com>\n\t<20241113223556.413637-4-geoffrey.vl@gmail.com>\n\t<CAHW6GYLD0JVWkeqvfzFGP1VZpuLWZD7nagOsQS7qLo=oE1n5nQ@mail.gmail.com>","In-Reply-To":"<CAHW6GYLD0JVWkeqvfzFGP1VZpuLWZD7nagOsQS7qLo=oE1n5nQ@mail.gmail.com>","From":"Geoffrey Van Landeghem <geoffrey.vl@gmail.com>","Date":"Fri, 15 Nov 2024 15:29:58 +0100","Message-ID":"<CABX3Wh7qtMzf=XsQYWyp+B+OfQFZ=KSYfVRj531ADUuZxfqmow@mail.gmail.com>","Subject":"Re: [PATCH 3/4] ipa: raspberrypi: Add tuning file for IMX462 sensor","To":"David Plowman <david.plowman@raspberrypi.com>","Cc":"libcamera-devel@lists.libcamera.org","Content-Type":"text/plain; charset=\"UTF-8\"","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>"}},{"id":32200,"web_url":"https://patchwork.libcamera.org/comment/32200/","msgid":"<CAHW6GYK=+nQBWqzDaPjPe5nXLVFnikf0812pRpOZdgUtJ--TLw@mail.gmail.com>","date":"2024-11-15T15:31:50","subject":"Re: [PATCH 3/4] ipa: raspberrypi: Add tuning file for IMX462 sensor","submitter":{"id":42,"url":"https://patchwork.libcamera.org/api/people/42/","name":"David Plowman","email":"david.plowman@raspberrypi.com"},"content":"Hi Geoffrey\n\nThanks for the reply!\n\nOn Fri, 15 Nov 2024 at 14:30, Geoffrey Van Landeghem\n<geoffrey.vl@gmail.com> wrote:\n>\n> Hi David,\n>\n> Neither the IMX327, nor the IMX426 tuning files actually present good\n> camera calibration. They're just a copy of IMX290 (color). I've been\n> hesitating to add those copies because of that, as without them it\n> would be obvious that customers need to bring their own tuning. On the\n> other hand, adding them makes it more of a plug and play solution, and\n> if someone is not pleased with the output they can always start tuning\n> the camera themselves. In the end, as discussed in the libcamera fork\n> for RPI, we decided on adding the plain copies. Unfortunately I don't\n> own the equipment to perform good camera tuning, otherwise I would\n> have done the job. I don't even own the IMX327, I only own the\n> Inno-maker IMX426 (which is of questionable quality).\n> The approach for Pi5 would be similar, in that we copy the IMX290\n> tuning just to get it going, and see if someone in the future is\n> interested in providing a better tune. Actually, regarding those\n> copies, there is already my PR for that on the Raspberry Pi fork for\n> libcamera. I hope that's good enough.\n\nGreat, thanks for the clarification. I certainly don't want to stop us\nfrom accepting changes that make life easier for other developers, so\nI think this is fine.\n\nI wonder if we might add a comment to the file to the effect that this\nis an interim tuning. That would at least clarify the status for folks\n(like me) who aren't familiar with the file's provenance.\nUnfortunately JSON doesn't (strictly speaking) allow comments, so\nperhaps we could add\n\n\"comment\": \"This is an interim tuning only. Please consider doing a\nmore formal tuning for your application.\",\n\njust below \"target\". I think the parser ignores fields it's not\nexpecting, so this should be fine (better double-check, though!).\n\nWith that change I'd be happy to add my tag to both these files.\n\n@Naush, would you be OK with that too?\n\nThanks again!\nDavid\n\n>\n> Kind regards,\n> Geoffrey Van Landeghem\n>\n> Op vr 15 nov 2024 om 14:47 schreef David Plowman\n> <david.plowman@raspberrypi.com>:\n> >\n> > Hi Geoffrey\n> >\n> > Thanks for sending this, always pleased to get support for new\n> > cameras! Just a few questions...\n> >\n> > There isn't much in the way of colour tuning - can you say if this is\n> > perhaps a mono sensor, or is it the case that someone might need to do\n> > more colour tuning in future?\n> >\n> > Generally we like to support the same sensors on Pi 5 as Pi 4, but I'm\n> > guessing it's not possible for you to make a Pi 5 tuning as well, is\n> > that right?\n> >\n> > Thanks\n> > David\n> >\n> > On Wed, 13 Nov 2024 at 22:44, Geoffrey Van Landeghem\n> > <geoffrey.vl@gmail.com> wrote:\n> > >\n> > > Signed-off-by: Geoffrey Van Landeghem <geoffrey.vl@gmail.com>\n> > > ---\n> > >  src/ipa/rpi/vc4/data/imx462.json | 214 +++++++++++++++++++++++++++++++\n> > >  src/ipa/rpi/vc4/data/meson.build |   1 +\n> > >  2 files changed, 215 insertions(+)\n> > >  create mode 100644 src/ipa/rpi/vc4/data/imx462.json\n> > >\n> > > diff --git a/src/ipa/rpi/vc4/data/imx462.json b/src/ipa/rpi/vc4/data/imx462.json\n> > > new file mode 100644\n> > > index 00000000..8f41bf51\n> > > --- /dev/null\n> > > +++ b/src/ipa/rpi/vc4/data/imx462.json\n> > > @@ -0,0 +1,214 @@\n> > > +{\n> > > +    \"version\": 2.0,\n> > > +    \"target\": \"bcm2835\",\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\n> > > diff --git a/src/ipa/rpi/vc4/data/meson.build b/src/ipa/rpi/vc4/data/meson.build\n> > > index 8c34a1a5..6b4d443f 100644\n> > > --- a/src/ipa/rpi/vc4/data/meson.build\n> > > +++ b/src/ipa/rpi/vc4/data/meson.build\n> > > @@ -8,6 +8,7 @@ conf_files = files([\n> > >      'imx296.json',\n> > >      'imx296_mono.json',\n> > >      'imx378.json',\n> > > +    'imx462.json',\n> > >      'imx477.json',\n> > >      'imx477_noir.json',\n> > >      'imx477_scientific.json',\n> > > --\n> > > 2.43.0\n> > >","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 0783CC3257\n\tfor <parsemail@patchwork.libcamera.org>;\n\tFri, 15 Nov 2024 15:32:06 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 29F2D65898;\n\tFri, 15 Nov 2024 16:32:05 +0100 (CET)","from mail-qv1-xf36.google.com (mail-qv1-xf36.google.com\n\t[IPv6:2607:f8b0:4864:20::f36])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 1A12C6580A\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 15 Nov 2024 16:32:03 +0100 (CET)","by mail-qv1-xf36.google.com with SMTP id\n\t6a1803df08f44-6d3e9e854b8so17469466d6.1\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 15 Nov 2024 07:32:03 -0800 (PST)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (2048-bit key;\n\tunprotected) header.d=raspberrypi.com header.i=@raspberrypi.com\n\theader.b=\"P5SbYjXG\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=raspberrypi.com; s=google; t=1731684722; x=1732289522;\n\tdarn=lists.libcamera.org; \n\th=cc:to:subject:message-id:date:from:in-reply-to:references\n\t:mime-version:from:to:cc:subject:date:message-id:reply-to;\n\tbh=EtkrfwmqfIocGOGY5iSPH2NbzNZoKQ8Q1muW9NQ+2eY=;\n\tb=P5SbYjXGV0CL3PlLMmYQ6XtO82LH/yr3uDeDg8+CWe+8+g4r50YaXYQrRQ2m9HWPYX\n\tpg69VKsOetRfe+PzKuLNif81QcOBlL/z65aSEbqADRxEhQj7UMnBDZCE5yl2rASbSvaE\n\toPUhC9XFhjq9XNr5kzVk/VVtOPgyTKU/cPVwr/JrpMYEWMIzF8Y47BiGhu31R/D+E0lr\n\tb2o8Rv4F1VXFSmBGn6zj1IlXls2b1YS7ZUh3hdd5TjmP3iLzBjMwxs0VF8EVxYbuHveX\n\ty1frNUeGpR0oaMJmceR1+A/5OH8GIDkLgJKnHT4Yhbg1dGsRW45/jEXqZv+exoUbnHXf\n\tlMZQ==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20230601; t=1731684722; x=1732289522;\n\th=cc:to:subject:message-id:date:from:in-reply-to:references\n\t:mime-version:x-gm-message-state:from:to:cc:subject:date:message-id\n\t:reply-to;\n\tbh=EtkrfwmqfIocGOGY5iSPH2NbzNZoKQ8Q1muW9NQ+2eY=;\n\tb=UZu3DeOmG43sYHzh1zHkWYDTpPeeh1fzkgm3UPWL2QYUqRmuNDRseaZnS50FYIuGWR\n\tiJyJscSwW9lgRNCZmOo0UwTuPgoSQhZTHQUFX+oglOhY/mo/Lkul0ZXviCZqSz35g9pR\n\tkT7B3OECsPctUx4WQZYZOjF+pJoGa/KA/sjm0plqI97pXYl33KmWSKhbZFZOAgqAelpz\n\tREQlhNcmMZ47v7Yc0cWwXbtAzHwnIl+VjV3cCwIDiSHUm7zV/FYDsVbOaVEhXK88TAJ3\n\tcNpWVUJYUxkcpRxps+qj5vqP8CL3FBa3ridizeFjDz3wnfMoinPyYXq1Gra0Nni+YchL\n\t5Cyw==","X-Gm-Message-State":"AOJu0YyutxCqxrOlsAmgHmJuSmRYOP1r+R3QzfnoNIURjHxuuK1iXfor\n\tIKgRuz8GUSUnDhBFGbf6s2OjbWhRup0AQOgmPCtIGKKKb23+ytRG9kLnt4hGASA+8MeaZoDSnpe\n\tUKMR4bFeShrC+RPLWVAbN+rqPeyRUxicC1OJGcw==","X-Google-Smtp-Source":"AGHT+IFpMrI/E5qTQW7cT0NOm6EPKLukiwCcmFZZTlb2C0p0r4eghJbQ3qo8oT3QTrVEG2Czx7v9JnnJsoN1pQSCOBI=","X-Received":"by 2002:a05:6214:419a:b0:6d3:f8da:889d with SMTP id\n\t6a1803df08f44-6d3fac3063dmr45356666d6.12.1731684721920;\n\tFri, 15 Nov 2024 07:32:01 -0800 (PST)","MIME-Version":"1.0","References":"<20241113223556.413637-2-geoffrey.vl@gmail.com>\n\t<20241113223556.413637-4-geoffrey.vl@gmail.com>\n\t<CAHW6GYLD0JVWkeqvfzFGP1VZpuLWZD7nagOsQS7qLo=oE1n5nQ@mail.gmail.com>\n\t<CABX3Wh7qtMzf=XsQYWyp+B+OfQFZ=KSYfVRj531ADUuZxfqmow@mail.gmail.com>","In-Reply-To":"<CABX3Wh7qtMzf=XsQYWyp+B+OfQFZ=KSYfVRj531ADUuZxfqmow@mail.gmail.com>","From":"David Plowman <david.plowman@raspberrypi.com>","Date":"Fri, 15 Nov 2024 15:31:50 +0000","Message-ID":"<CAHW6GYK=+nQBWqzDaPjPe5nXLVFnikf0812pRpOZdgUtJ--TLw@mail.gmail.com>","Subject":"Re: [PATCH 3/4] ipa: raspberrypi: Add tuning file for IMX462 sensor","To":"Geoffrey Van Landeghem <geoffrey.vl@gmail.com>","Cc":"libcamera-devel@lists.libcamera.org, \n\tNaushir Patuck <naush@raspberrypi.com>","Content-Type":"text/plain; charset=\"UTF-8\"","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>"}},{"id":32201,"web_url":"https://patchwork.libcamera.org/comment/32201/","msgid":"<20241115170518.GD30787@pendragon.ideasonboard.com>","date":"2024-11-15T17:05:18","subject":"Re: [PATCH 3/4] ipa: raspberrypi: Add tuning file for IMX462 sensor","submitter":{"id":2,"url":"https://patchwork.libcamera.org/api/people/2/","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"content":"On Fri, Nov 15, 2024 at 03:31:50PM +0000, David Plowman wrote:\n> Hi Geoffrey\n> \n> Thanks for the reply!\n> \n> On Fri, 15 Nov 2024 at 14:30, Geoffrey Van Landeghem\n> <geoffrey.vl@gmail.com> wrote:\n> >\n> > Hi David,\n> >\n> > Neither the IMX327, nor the IMX426 tuning files actually present good\n> > camera calibration. They're just a copy of IMX290 (color). I've been\n> > hesitating to add those copies because of that, as without them it\n> > would be obvious that customers need to bring their own tuning. On the\n> > other hand, adding them makes it more of a plug and play solution, and\n> > if someone is not pleased with the output they can always start tuning\n> > the camera themselves. In the end, as discussed in the libcamera fork\n> > for RPI, we decided on adding the plain copies. Unfortunately I don't\n> > own the equipment to perform good camera tuning, otherwise I would\n> > have done the job. I don't even own the IMX327, I only own the\n> > Inno-maker IMX426 (which is of questionable quality).\n> > The approach for Pi5 would be similar, in that we copy the IMX290\n> > tuning just to get it going, and see if someone in the future is\n> > interested in providing a better tune. Actually, regarding those\n> > copies, there is already my PR for that on the Raspberry Pi fork for\n> > libcamera. I hope that's good enough.\n> \n> Great, thanks for the clarification. I certainly don't want to stop us\n> from accepting changes that make life easier for other developers, so\n> I think this is fine.\n> \n> I wonder if we might add a comment to the file to the effect that this\n> is an interim tuning. That would at least clarify the status for folks\n> (like me) who aren't familiar with the file's provenance.\n> Unfortunately JSON doesn't (strictly speaking) allow comments, so\n\nWe parse JSON files as YAML, so comments shouldn't make the parser\nchoke. It depends if you want to keep compatibility with JSON parsers.\n\n> perhaps we could add\n> \n> \"comment\": \"This is an interim tuning only. Please consider doing a\n> more formal tuning for your application.\",\n\nOr maybe \"description\" instead of \"comment\" ? Maybe I'm too influenced\nby DT bindings :-)\n\n> just below \"target\". I think the parser ignores fields it's not\n> expecting, so this should be fine (better double-check, though!).\n> \n> With that change I'd be happy to add my tag to both these files.\n> \n> @Naush, would you be OK with that too?\n> \n> Thanks again!\n> David\n> \n> >\n> > Kind regards,\n> > Geoffrey Van Landeghem\n> >\n> > Op vr 15 nov 2024 om 14:47 schreef David Plowman\n> > <david.plowman@raspberrypi.com>:\n> > >\n> > > Hi Geoffrey\n> > >\n> > > Thanks for sending this, always pleased to get support for new\n> > > cameras! Just a few questions...\n> > >\n> > > There isn't much in the way of colour tuning - can you say if this is\n> > > perhaps a mono sensor, or is it the case that someone might need to do\n> > > more colour tuning in future?\n> > >\n> > > Generally we like to support the same sensors on Pi 5 as Pi 4, but I'm\n> > > guessing it's not possible for you to make a Pi 5 tuning as well, is\n> > > that right?\n> > >\n> > > Thanks\n> > > David\n> > >\n> > > On Wed, 13 Nov 2024 at 22:44, Geoffrey Van Landeghem\n> > > <geoffrey.vl@gmail.com> wrote:\n> > > >\n> > > > Signed-off-by: Geoffrey Van Landeghem <geoffrey.vl@gmail.com>\n> > > > ---\n> > > >  src/ipa/rpi/vc4/data/imx462.json | 214 +++++++++++++++++++++++++++++++\n> > > >  src/ipa/rpi/vc4/data/meson.build |   1 +\n> > > >  2 files changed, 215 insertions(+)\n> > > >  create mode 100644 src/ipa/rpi/vc4/data/imx462.json\n> > > >\n> > > > diff --git a/src/ipa/rpi/vc4/data/imx462.json b/src/ipa/rpi/vc4/data/imx462.json\n> > > > new file mode 100644\n> > > > index 00000000..8f41bf51\n> > > > --- /dev/null\n> > > > +++ b/src/ipa/rpi/vc4/data/imx462.json\n> > > > @@ -0,0 +1,214 @@\n> > > > +{\n> > > > +    \"version\": 2.0,\n> > > > +    \"target\": \"bcm2835\",\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\n> > > > diff --git a/src/ipa/rpi/vc4/data/meson.build b/src/ipa/rpi/vc4/data/meson.build\n> > > > index 8c34a1a5..6b4d443f 100644\n> > > > --- a/src/ipa/rpi/vc4/data/meson.build\n> > > > +++ b/src/ipa/rpi/vc4/data/meson.build\n> > > > @@ -8,6 +8,7 @@ conf_files = files([\n> > > >      'imx296.json',\n> > > >      'imx296_mono.json',\n> > > >      'imx378.json',\n> > > > +    'imx462.json',\n> > > >      'imx477.json',\n> > > >      'imx477_noir.json',\n> > > >      'imx477_scientific.json',\n> > > > --\n> > > > 2.43.0\n> > > >","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 0BA1BC0F1B\n\tfor <parsemail@patchwork.libcamera.org>;\n\tFri, 15 Nov 2024 17:05:30 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 1A09465898;\n\tFri, 15 Nov 2024 18:05:29 +0100 (CET)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 447B16580A\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 15 Nov 2024 18:05:27 +0100 (CET)","from pendragon.ideasonboard.com (81-175-209-231.bb.dnainternet.fi\n\t[81.175.209.231])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 3B7DB291;\n\tFri, 15 Nov 2024 18:05:12 +0100 (CET)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"FpxNRb3p\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1731690312;\n\tbh=vJyv4eBp7Dg5Xt4nbbQhYaayBTSFSyPNJVmuCfmmcgg=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=FpxNRb3pLEE8dKeswncBtahThv1ETsKgTLARZa2jvTmH2dvssTGVWWY/1dwCro1ND\n\tozACf8Usk/lPPoyE5mWSHdcRgSq8FbCMZPJp4qeyArGGeQ0PbmkUx1hX+WuL2MXmR5\n\tpBOBXhRJ5IjNS+4f1bDUSCCV6NbIbYPlvDtfsn2c=","Date":"Fri, 15 Nov 2024 19:05:18 +0200","From":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","To":"David Plowman <david.plowman@raspberrypi.com>","Cc":"Geoffrey Van Landeghem <geoffrey.vl@gmail.com>,\n\tlibcamera-devel@lists.libcamera.org,\n\tNaushir Patuck <naush@raspberrypi.com>","Subject":"Re: [PATCH 3/4] ipa: raspberrypi: Add tuning file for IMX462 sensor","Message-ID":"<20241115170518.GD30787@pendragon.ideasonboard.com>","References":"<20241113223556.413637-2-geoffrey.vl@gmail.com>\n\t<20241113223556.413637-4-geoffrey.vl@gmail.com>\n\t<CAHW6GYLD0JVWkeqvfzFGP1VZpuLWZD7nagOsQS7qLo=oE1n5nQ@mail.gmail.com>\n\t<CABX3Wh7qtMzf=XsQYWyp+B+OfQFZ=KSYfVRj531ADUuZxfqmow@mail.gmail.com>\n\t<CAHW6GYK=+nQBWqzDaPjPe5nXLVFnikf0812pRpOZdgUtJ--TLw@mail.gmail.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","In-Reply-To":"<CAHW6GYK=+nQBWqzDaPjPe5nXLVFnikf0812pRpOZdgUtJ--TLw@mail.gmail.com>","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>"}},{"id":32202,"web_url":"https://patchwork.libcamera.org/comment/32202/","msgid":"<CAHW6GYK1+2SexxJ5BhDQGWpQgM8F_jyyrHUwR6GpWP3Dn3Hw5Q@mail.gmail.com>","date":"2024-11-15T17:24:14","subject":"Re: [PATCH 3/4] ipa: raspberrypi: Add tuning file for IMX462 sensor","submitter":{"id":42,"url":"https://patchwork.libcamera.org/api/people/42/","name":"David Plowman","email":"david.plowman@raspberrypi.com"},"content":"On Fri, 15 Nov 2024 at 17:05, Laurent Pinchart\n<laurent.pinchart@ideasonboard.com> wrote:\n>\n> On Fri, Nov 15, 2024 at 03:31:50PM +0000, David Plowman wrote:\n> > Hi Geoffrey\n> >\n> > Thanks for the reply!\n> >\n> > On Fri, 15 Nov 2024 at 14:30, Geoffrey Van Landeghem\n> > <geoffrey.vl@gmail.com> wrote:\n> > >\n> > > Hi David,\n> > >\n> > > Neither the IMX327, nor the IMX426 tuning files actually present good\n> > > camera calibration. They're just a copy of IMX290 (color). I've been\n> > > hesitating to add those copies because of that, as without them it\n> > > would be obvious that customers need to bring their own tuning. On the\n> > > other hand, adding them makes it more of a plug and play solution, and\n> > > if someone is not pleased with the output they can always start tuning\n> > > the camera themselves. In the end, as discussed in the libcamera fork\n> > > for RPI, we decided on adding the plain copies. Unfortunately I don't\n> > > own the equipment to perform good camera tuning, otherwise I would\n> > > have done the job. I don't even own the IMX327, I only own the\n> > > Inno-maker IMX426 (which is of questionable quality).\n> > > The approach for Pi5 would be similar, in that we copy the IMX290\n> > > tuning just to get it going, and see if someone in the future is\n> > > interested in providing a better tune. Actually, regarding those\n> > > copies, there is already my PR for that on the Raspberry Pi fork for\n> > > libcamera. I hope that's good enough.\n> >\n> > Great, thanks for the clarification. I certainly don't want to stop us\n> > from accepting changes that make life easier for other developers, so\n> > I think this is fine.\n> >\n> > I wonder if we might add a comment to the file to the effect that this\n> > is an interim tuning. That would at least clarify the status for folks\n> > (like me) who aren't familiar with the file's provenance.\n> > Unfortunately JSON doesn't (strictly speaking) allow comments, so\n>\n> We parse JSON files as YAML, so comments shouldn't make the parser\n> choke. It depends if you want to keep compatibility with JSON parsers.\n>\n> > perhaps we could add\n> >\n> > \"comment\": \"This is an interim tuning only. Please consider doing a\n> > more formal tuning for your application.\",\n>\n> Or maybe \"description\" instead of \"comment\" ? Maybe I'm too influenced\n> by DT bindings :-)\n\nYep, I like \"description\" too, it sounds slightly more important,\nwhich I think it actually is!\n\nDavid\n\n>\n> > just below \"target\". I think the parser ignores fields it's not\n> > expecting, so this should be fine (better double-check, though!).\n> >\n> > With that change I'd be happy to add my tag to both these files.\n> >\n> > @Naush, would you be OK with that too?\n> >\n> > Thanks again!\n> > David\n> >\n> > >\n> > > Kind regards,\n> > > Geoffrey Van Landeghem\n> > >\n> > > Op vr 15 nov 2024 om 14:47 schreef David Plowman\n> > > <david.plowman@raspberrypi.com>:\n> > > >\n> > > > Hi Geoffrey\n> > > >\n> > > > Thanks for sending this, always pleased to get support for new\n> > > > cameras! Just a few questions...\n> > > >\n> > > > There isn't much in the way of colour tuning - can you say if this is\n> > > > perhaps a mono sensor, or is it the case that someone might need to do\n> > > > more colour tuning in future?\n> > > >\n> > > > Generally we like to support the same sensors on Pi 5 as Pi 4, but I'm\n> > > > guessing it's not possible for you to make a Pi 5 tuning as well, is\n> > > > that right?\n> > > >\n> > > > Thanks\n> > > > David\n> > > >\n> > > > On Wed, 13 Nov 2024 at 22:44, Geoffrey Van Landeghem\n> > > > <geoffrey.vl@gmail.com> wrote:\n> > > > >\n> > > > > Signed-off-by: Geoffrey Van Landeghem <geoffrey.vl@gmail.com>\n> > > > > ---\n> > > > >  src/ipa/rpi/vc4/data/imx462.json | 214 +++++++++++++++++++++++++++++++\n> > > > >  src/ipa/rpi/vc4/data/meson.build |   1 +\n> > > > >  2 files changed, 215 insertions(+)\n> > > > >  create mode 100644 src/ipa/rpi/vc4/data/imx462.json\n> > > > >\n> > > > > diff --git a/src/ipa/rpi/vc4/data/imx462.json b/src/ipa/rpi/vc4/data/imx462.json\n> > > > > new file mode 100644\n> > > > > index 00000000..8f41bf51\n> > > > > --- /dev/null\n> > > > > +++ b/src/ipa/rpi/vc4/data/imx462.json\n> > > > > @@ -0,0 +1,214 @@\n> > > > > +{\n> > > > > +    \"version\": 2.0,\n> > > > > +    \"target\": \"bcm2835\",\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\n> > > > > diff --git a/src/ipa/rpi/vc4/data/meson.build b/src/ipa/rpi/vc4/data/meson.build\n> > > > > index 8c34a1a5..6b4d443f 100644\n> > > > > --- a/src/ipa/rpi/vc4/data/meson.build\n> > > > > +++ b/src/ipa/rpi/vc4/data/meson.build\n> > > > > @@ -8,6 +8,7 @@ conf_files = files([\n> > > > >      'imx296.json',\n> > > > >      'imx296_mono.json',\n> > > > >      'imx378.json',\n> > > > > +    'imx462.json',\n> > > > >      'imx477.json',\n> > > > >      'imx477_noir.json',\n> > > > >      'imx477_scientific.json',\n> > > > > --\n> > > > > 2.43.0\n> > > > >\n>\n> --\n> Regards,\n>\n> Laurent Pinchart","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 B306DC3257\n\tfor <parsemail@patchwork.libcamera.org>;\n\tFri, 15 Nov 2024 17:24:29 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id EBD8D6589D;\n\tFri, 15 Nov 2024 18:24:28 +0100 (CET)","from mail-qk1-x72c.google.com (mail-qk1-x72c.google.com\n\t[IPv6:2607:f8b0:4864:20::72c])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 98DCF6580A\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 15 Nov 2024 18:24:26 +0100 (CET)","by mail-qk1-x72c.google.com with SMTP id\n\taf79cd13be357-7b15eadee87so68048385a.2\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 15 Nov 2024 09:24:26 -0800 (PST)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (2048-bit key;\n\tunprotected) header.d=raspberrypi.com header.i=@raspberrypi.com\n\theader.b=\"Yfl+XKPv\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=raspberrypi.com; s=google; t=1731691465; x=1732296265;\n\tdarn=lists.libcamera.org; \n\th=cc:to:subject:message-id:date:from:in-reply-to:references\n\t:mime-version:from:to:cc:subject:date:message-id:reply-to;\n\tbh=dg13HNIci9rRqrlIx/fMZa2P/qkP/tPMvUdlbAn1Wys=;\n\tb=Yfl+XKPvWGTUiXPBu8B6JCsgZFXM9JsBR9hvybAqhpGbf9VIWzq2eBOCeZP1hPgUEi\n\tArmCQ+Xqd+4ulEq/bJZllG8/G42MNrTNw+6OS4/DaJHzo92gXVRXNXVkCKwm9hPd1rFv\n\trEmUPTii72SGMs7Kf67ry05XxobFq1NUMQ2ozA6s0/E0hIce1TCMLgtIV6xuhQXUlWdw\n\tDMPeRA7N91EpSJv9lyb2SPeWcmMT6YRUEL54mz3ZpOMg1RPyJbfyyZtXaz6u7QkakthV\n\tSKjKiQLNCwX0l0GywPr5dZD4Ve67PkHsWdAh1v33QnCLif0piRctUrP1Mg8T4N8ElfW1\n\thQIw==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20230601; t=1731691465; x=1732296265;\n\th=cc:to:subject:message-id:date:from:in-reply-to:references\n\t:mime-version:x-gm-message-state:from:to:cc:subject:date:message-id\n\t:reply-to;\n\tbh=dg13HNIci9rRqrlIx/fMZa2P/qkP/tPMvUdlbAn1Wys=;\n\tb=WvhgETuLw7FrX+3Ijn5J4PLkZK/f2QeANhDqVvNVHsIxNBIuyZFAA7ky+dDBaPqbei\n\trzpHqeJN3uNMclxKc/UwbA/Azw6DqPFZeG0Br+5hy3Om+SaoR+1xHWClKvB74HAALWlN\n\t1GKtCIZXQkHht8g7ftg3/ardfx++fpXL2QyjoLZ4nvMqdi8BzHxgDdy0pIhrwHMtmHQj\n\tA2XWJhm77efyMSAPFU4vIaW9OHuVK6V8QJLufW9VldkYBkvEkvm5dd5TkGAst9WuP/r+\n\t/MiRCedVuTjRX39F77cCXveyjgwdAAZ9UB94yob5qBKmG5CWnEs6f+DDfjlS9ExI5pIM\n\t0DyA==","X-Forwarded-Encrypted":"i=1;\n\tAJvYcCW0y+JSwcXuFrCMWCz8iKsUQJtaFIxyXGNxMs+PhWw0xf2LtrkIXeFMKSpRHDqx3JBWT1ll2qYzRhxrB5peKuk=@lists.libcamera.org","X-Gm-Message-State":"AOJu0Yw5ReR0wqdg9Z9kOLXIgmGV600B6L5Az5C5l4QMCXn7/PZ3KeQ4\n\tj2urLjPZ9klnZVtK5uSqLkDUiIbU6Hv0Jqjf4wyxMBkuWqRBVoMcoGmrPK5CW2Rlfy/PuCrFxaC\n\t3deA/4DQddnyELiIL4mV/H98Z5mmooO0rZhp78w==","X-Google-Smtp-Source":"AGHT+IFa7UwbBgUvPyo5ajukkQTHnbW/J7JmYXRNa9C85H+qRGGnvX84fbXeB6yjzptGLjyIBA4ge8gaxUXpAc79o/E=","X-Received":"by 2002:a05:6214:4a04:b0:6ce:2f4e:40f1 with SMTP id\n\t6a1803df08f44-6d3fb81040dmr40819586d6.26.1731691465270;\n\tFri, 15 Nov 2024 09:24:25 -0800 (PST)","MIME-Version":"1.0","References":"<20241113223556.413637-2-geoffrey.vl@gmail.com>\n\t<20241113223556.413637-4-geoffrey.vl@gmail.com>\n\t<CAHW6GYLD0JVWkeqvfzFGP1VZpuLWZD7nagOsQS7qLo=oE1n5nQ@mail.gmail.com>\n\t<CABX3Wh7qtMzf=XsQYWyp+B+OfQFZ=KSYfVRj531ADUuZxfqmow@mail.gmail.com>\n\t<CAHW6GYK=+nQBWqzDaPjPe5nXLVFnikf0812pRpOZdgUtJ--TLw@mail.gmail.com>\n\t<20241115170518.GD30787@pendragon.ideasonboard.com>","In-Reply-To":"<20241115170518.GD30787@pendragon.ideasonboard.com>","From":"David Plowman <david.plowman@raspberrypi.com>","Date":"Fri, 15 Nov 2024 17:24:14 +0000","Message-ID":"<CAHW6GYK1+2SexxJ5BhDQGWpQgM8F_jyyrHUwR6GpWP3Dn3Hw5Q@mail.gmail.com>","Subject":"Re: [PATCH 3/4] ipa: raspberrypi: Add tuning file for IMX462 sensor","To":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","Cc":"Geoffrey Van Landeghem <geoffrey.vl@gmail.com>,\n\tlibcamera-devel@lists.libcamera.org, \n\tNaushir Patuck <naush@raspberrypi.com>","Content-Type":"text/plain; charset=\"UTF-8\"","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>"}}]