[{"id":27297,"web_url":"https://patchwork.libcamera.org/comment/27297/","msgid":"<168613670865.2889415.18389609299300164572@Monstersaurus>","date":"2023-06-07T11:18:28","subject":"Re: [libcamera-devel] [PATCH v1 1/3] ipa: rpi: tunings: Add missing\n\tshort and long exposure profiles","submitter":{"id":4,"url":"https://patchwork.libcamera.org/api/people/4/","name":"Kieran Bingham","email":"kieran.bingham@ideasonboard.com"},"content":"Hi Naush,\n\nQuoting Naushir Patuck via libcamera-devel (2023-06-07 11:00:52)\n> Some sensor tuning files were missing the short and/or long exposure\n> mode profiles. Add the missing items to the relevant files.\n> \n> Signed-off-by: Naushir Patuck <naush@raspberrypi.com>\n> ---\n>  src/ipa/rpi/vc4/data/imx290.json           |  5 +++++\n>  src/ipa/rpi/vc4/data/imx296.json           |  5 +++++\n>  src/ipa/rpi/vc4/data/imx296_mono.json      |  5 +++++\n>  src/ipa/rpi/vc4/data/imx378.json           |  5 +++++\n>  src/ipa/rpi/vc4/data/imx519.json           |  5 +++++\n>  src/ipa/rpi/vc4/data/imx708.json           |  5 +++++\n>  src/ipa/rpi/vc4/data/imx708_noir.json      |  5 +++++\n>  src/ipa/rpi/vc4/data/imx708_wide.json      |  5 +++++\n>  src/ipa/rpi/vc4/data/imx708_wide_noir.json |  5 +++++\n>  src/ipa/rpi/vc4/data/ov9281_mono.json      | 10 ++++++++++\n>  src/ipa/rpi/vc4/data/se327m12.json         |  5 +++++\n>  src/ipa/rpi/vc4/data/uncalibrated.json     | 10 ++++++++++\n>  12 files changed, 70 insertions(+)\n> \n> diff --git a/src/ipa/rpi/vc4/data/imx290.json b/src/ipa/rpi/vc4/data/imx290.json\n> index ace68d0ebf1c..bcf9189b0008 100644\n> --- a/src/ipa/rpi/vc4/data/imx290.json\n> +++ b/src/ipa/rpi/vc4/data/imx290.json\n> @@ -74,6 +74,11 @@\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> diff --git a/src/ipa/rpi/vc4/data/imx296.json b/src/ipa/rpi/vc4/data/imx296.json\n> index ae8722c46a85..9330d0a9c81f 100644\n> --- a/src/ipa/rpi/vc4/data/imx296.json\n> +++ b/src/ipa/rpi/vc4/data/imx296.json\n> @@ -157,6 +157,11 @@\n>                      {\n>                          \"shutter\": [ 100, 5000, 10000, 20000, 30000 ],\n>                          \"gain\": [ 1.0, 2.0, 4.0, 8.0, 16.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> diff --git a/src/ipa/rpi/vc4/data/imx296_mono.json b/src/ipa/rpi/vc4/data/imx296_mono.json\n> index db020550d70e..955af43cccff 100644\n> --- a/src/ipa/rpi/vc4/data/imx296_mono.json\n> +++ b/src/ipa/rpi/vc4/data/imx296_mono.json\n> @@ -60,6 +60,11 @@\n>                      {\n>                          \"shutter\": [ 100, 5000, 10000, 20000, 120000 ],\n>                          \"gain\": [ 1.0, 2.0, 4.0, 6.0, 6.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> diff --git a/src/ipa/rpi/vc4/data/imx378.json b/src/ipa/rpi/vc4/data/imx378.json\n> index 8b4ed22504b5..f7b68011b634 100644\n> --- a/src/ipa/rpi/vc4/data/imx378.json\n> +++ b/src/ipa/rpi/vc4/data/imx378.json\n> @@ -155,6 +155,11 @@\n>                      {\n>                          \"shutter\": [ 100, 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> diff --git a/src/ipa/rpi/vc4/data/imx519.json b/src/ipa/rpi/vc4/data/imx519.json\n> index 8ccfd3a631ff..1b0a77476aab 100644\n> --- a/src/ipa/rpi/vc4/data/imx519.json\n> +++ b/src/ipa/rpi/vc4/data/imx519.json\n> @@ -155,6 +155,11 @@\n>                      {\n>                          \"shutter\": [ 100, 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> diff --git a/src/ipa/rpi/vc4/data/imx708.json b/src/ipa/rpi/vc4/data/imx708.json\n> index b9830a3bf692..6b26d0a19609 100644\n> --- a/src/ipa/rpi/vc4/data/imx708.json\n> +++ b/src/ipa/rpi/vc4/data/imx708.json\n> @@ -165,6 +165,11 @@\n>                      {\n>                          \"shutter\": [ 100, 5000, 10000, 20000, 120000 ],\n>                          \"gain\": [ 1.0, 2.0, 4.0, 6.0, 6.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> diff --git a/src/ipa/rpi/vc4/data/imx708_noir.json b/src/ipa/rpi/vc4/data/imx708_noir.json\n> index 075f70355cec..8d498153833b 100644\n> --- a/src/ipa/rpi/vc4/data/imx708_noir.json\n> +++ b/src/ipa/rpi/vc4/data/imx708_noir.json\n> @@ -165,6 +165,11 @@\n>                      {\n>                          \"shutter\": [ 100, 5000, 10000, 20000, 120000 ],\n>                          \"gain\": [ 1.0, 2.0, 4.0, 6.0, 6.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> diff --git a/src/ipa/rpi/vc4/data/imx708_wide.json b/src/ipa/rpi/vc4/data/imx708_wide.json\n> index b772efee3b96..14bc918e7823 100644\n> --- a/src/ipa/rpi/vc4/data/imx708_wide.json\n> +++ b/src/ipa/rpi/vc4/data/imx708_wide.json\n> @@ -155,6 +155,11 @@\n>                      {\n>                          \"shutter\": [ 100, 5000, 10000, 20000, 120000 ],\n>                          \"gain\": [ 1.0, 2.0, 4.0, 6.0, 6.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> diff --git a/src/ipa/rpi/vc4/data/imx708_wide_noir.json b/src/ipa/rpi/vc4/data/imx708_wide_noir.json\n> index c5f6b53dca7a..49442c0f9d81 100644\n> --- a/src/ipa/rpi/vc4/data/imx708_wide_noir.json\n> +++ b/src/ipa/rpi/vc4/data/imx708_wide_noir.json\n> @@ -155,6 +155,11 @@\n>                      {\n>                          \"shutter\": [ 100, 5000, 10000, 20000, 120000 ],\n>                          \"gain\": [ 1.0, 2.0, 4.0, 6.0, 6.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> diff --git a/src/ipa/rpi/vc4/data/ov9281_mono.json b/src/ipa/rpi/vc4/data/ov9281_mono.json\n> index 37944c63ad92..2b7292ec7e20 100644\n> --- a/src/ipa/rpi/vc4/data/ov9281_mono.json\n> +++ b/src/ipa/rpi/vc4/data/ov9281_mono.json\n> @@ -44,6 +44,16 @@\n>                      {\n>                          \"shutter\": [ 100, 15000, 30000, 60000, 120000 ],\n>                          \"gain\": [ 1.0, 2.0, 3.0, 4.0, 8.0 ]\n> +                    },\n> +                    \"short\":\n> +                    {\n> +                        \"shutter\": [ 100, 5000, 10000, 20000, 30000 ],\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> diff --git a/src/ipa/rpi/vc4/data/se327m12.json b/src/ipa/rpi/vc4/data/se327m12.json\n> index ee69caea50c0..8552ed92bce6 100644\n> --- a/src/ipa/rpi/vc4/data/se327m12.json\n> +++ b/src/ipa/rpi/vc4/data/se327m12.json\n> @@ -155,6 +155,11 @@\n>                      {\n>                          \"shutter\": [ 100, 5000, 10000, 20000, 120000 ],\n\nI know this isn't added by your patch ... but ...\n\n(Most?) other short modes have \n \t100, 5000, 10000, 20000, 30000\n\nIs this a sensor specific anomoly, or an error?\n\nThough in fact, I see a few other files have this same short\nconfiguration so perhaps I need to compare the files more directly:\n\n\n(Extract all short exposure modes from tuning files:)\n\nfor f in src/ipa/rpi/vc4/data/*.json; do basename $f; jq -c '.algorithms[] | .\"rpi.agc\".\"exposure_modes\".\"short\" ' $f; echo \" \"; done | grep -v 'null'\n\nimx219.json\n{\"shutter\":[100,5000,10000,20000,33333],\"gain\":[1,2,4,6,8]}\n\nimx219_noir.json\n{\"shutter\":[100,5000,10000,20000,33333],\"gain\":[1,2,4,6,8]}\n\nimx290.json\n\nimx296.json\n{\"shutter\":[100,5000,10000,20000,30000],\"gain\":[1,2,4,8,16]}\n\nimx296_mono.json\n{\"shutter\":[100,5000,10000,20000,120000],\"gain\":[1,2,4,6,6]}\n\nimx378.json\n{\"shutter\":[100,5000,10000,20000,120000],\"gain\":[1,2,4,6,8]}\n\nimx477.json\n{\"shutter\":[100,5000,10000,20000,33333],\"gain\":[1,2,4,6,8]}\n\nimx477_noir.json\n{\"shutter\":[100,5000,10000,20000,33333],\"gain\":[1,2,4,6,8]}\n\nimx477_scientific.json\n{\"shutter\":[100,5000,10000,20000,33333],\"gain\":[1,2,4,6,8]}\n\nimx477_v1.json\n{\"shutter\":[100,5000,10000,20000,33333],\"gain\":[1,2,4,6,8]}\n\nimx519.json\n{\"shutter\":[100,5000,10000,20000,120000],\"gain\":[1,2,4,6,8]}\n\nimx708.json\n{\"shutter\":[100,5000,10000,20000,120000],\"gain\":[1,2,4,6,6]}\n\nimx708_noir.json\n{\"shutter\":[100,5000,10000,20000,120000],\"gain\":[1,2,4,6,6]}\n\nimx708_wide.json\n{\"shutter\":[100,5000,10000,20000,120000],\"gain\":[1,2,4,6,6]}\n\nimx708_wide_noir.json\n{\"shutter\":[100,5000,10000,20000,120000],\"gain\":[1,2,4,6,6]}\n\nov5647.json\n{\"shutter\":[100,5000,10000,20000,33333],\"gain\":[1,2,4,6,8]}\n\nov5647_noir.json\n{\"shutter\":[100,5000,10000,20000,33333],\"gain\":[1,2,4,6,8]}\n\nov9281_mono.json\n\nse327m12.json\n{\"shutter\":[100,5000,10000,20000,120000],\"gain\":[1,2,4,6,8]}\n\nuncalibrated.json\n\n\nOk - So I think these really are just sensor specific tunings so it's\nfine.\n\n\n\nAnd even better, now I've formulated that jq line, I can see the result\nof adding this patch provides:\n\nfor f in src/ipa/rpi/vc4/data/*.json; do basename $f; jq -c '.algorithms[] | .\"rpi.agc\".\"exposure_modes\".\"long\" ' $f; echo \" \"; done | grep -v 'null'\nimx219.json\n{\"shutter\":[100,10000,30000,60000,120000],\"gain\":[1,2,4,6,12]}\n\nimx219_noir.json\n{\"shutter\":[100,10000,30000,60000,120000],\"gain\":[1,2,4,6,12]}\n\nimx290.json\n{\"shutter\":[1000,30000,60000,90000,120000],\"gain\":[1,2,4,6,12]}\n\nimx296.json\n{\"shutter\":[1000,30000,60000,90000,120000],\"gain\":[1,2,4,6,12]}\n\nimx296_mono.json\n{\"shutter\":[1000,30000,60000,90000,120000],\"gain\":[1,2,4,6,12]}\n\nimx378.json\n{\"shutter\":[1000,30000,60000,90000,120000],\"gain\":[1,2,4,6,12]}\n\nimx477.json\n{\"shutter\":[100,10000,30000,60000,120000],\"gain\":[1,2,4,6,12]}\n\nimx477_noir.json\n{\"shutter\":[100,10000,30000,60000,120000],\"gain\":[1,2,4,6,12]}\n\nimx477_scientific.json\n{\"shutter\":[100,10000,30000,60000,120000],\"gain\":[1,2,4,6,12]}\n\nimx477_v1.json\n{\"shutter\":[100,10000,30000,60000,120000],\"gain\":[1,2,4,6,12]}\n\nimx519.json\n{\"shutter\":[1000,30000,60000,90000,120000],\"gain\":[1,2,4,6,12]}\n\nimx708.json\n{\"shutter\":[1000,30000,60000,90000,120000],\"gain\":[1,2,4,6,12]}\n\nimx708_noir.json\n{\"shutter\":[1000,30000,60000,90000,120000],\"gain\":[1,2,4,6,12]}\n\nimx708_wide.json\n{\"shutter\":[1000,30000,60000,90000,120000],\"gain\":[1,2,4,6,12]}\n\nimx708_wide_noir.json\n{\"shutter\":[1000,30000,60000,90000,120000],\"gain\":[1,2,4,6,12]}\n\nov5647.json\n{\"shutter\":[100,10000,30000,60000,120000],\"gain\":[1,2,4,6,12]}\n\nov5647_noir.json\n{\"shutter\":[100,10000,30000,60000,120000],\"gain\":[1,2,4,6,12]}\n\nov9281_mono.json\n{\"shutter\":[1000,30000,60000,90000,120000],\"gain\":[1,2,4,6,12]}\n\nse327m12.json\n{\"shutter\":[1000,30000,60000,90000,120000],\"gain\":[1,2,4,6,12]}\n\nuncalibrated.json\n{\"shutter\":[1000,30000,60000,90000,120000],\"gain\":[1,2,4,6,12]}\n\n\nSo I expect that those additions which contain quite specific\ndifferences have been given the appropriate consideration.\n\n\nHaving applied this patch, my short exposure query highlights that the\nimx290.json hasn't been updated with a short mode.\n\nWith that resolved:\n\nReviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n\n\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> diff --git a/src/ipa/rpi/vc4/data/uncalibrated.json b/src/ipa/rpi/vc4/data/uncalibrated.json\n> index 13eb3f177302..7654defa6dfe 100644\n> --- a/src/ipa/rpi/vc4/data/uncalibrated.json\n> +++ b/src/ipa/rpi/vc4/data/uncalibrated.json\n> @@ -31,6 +31,16 @@\n>                      {\n>                          \"shutter\": [ 100, 15000, 30000, 60000, 120000 ],\n>                          \"gain\": [ 1.0, 2.0, 3.0, 4.0, 6.0 ]\n> +                    },\n> +                    \"short\":\n> +                    {\n> +                        \"shutter\": [ 100, 5000, 10000, 20000, 30000 ],\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> 2.34.1\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 D729CC3200\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed,  7 Jun 2023 11:18:34 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 372E362886;\n\tWed,  7 Jun 2023 13:18:34 +0200 (CEST)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 32DA460579\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed,  7 Jun 2023 13:18:32 +0200 (CEST)","from pendragon.ideasonboard.com\n\t(aztw-30-b2-v4wan-166917-cust845.vm26.cable.virginm.net\n\t[82.37.23.78])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 0AEFF2B6;\n\tWed,  7 Jun 2023 13:18:06 +0200 (CEST)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1686136714;\n\tbh=YmLK4Hi8WCLA/10/7bRfeve43JF4/Da47og1/qmx8FI=;\n\th=In-Reply-To:References:To:Date:Subject:List-Id:List-Unsubscribe:\n\tList-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:\n\tFrom;\n\tb=IqUCr9NXoKx73VtxN417+wA5YiBvsxyZNWGt48JVy2aZFpHju4S8LZG7XgnxdxsKm\n\tap0F7XjE5I5guc/R15qCHnMT8ZvcwkJwjyhFspNOUVdFQi8c3VA4JyVSo1JfOp1Fzc\n\tIW+gHJA7Q2dor7yf1QfPmQZGVnNuAn/u7wlX+XWUA2FZTQLZL3CE4SIbsktAYgqUBg\n\tP6DQ+CWyf6eHNZzNYEKTMpfW7iTUzFLBh6xt3wrkoz2Gg/PHdCqqOF9/fXlVKeFWKK\n\tVQkmB9uQzK9v0hgTICCV9bAAPGqsE0VTFIFT3A1fsvu83ygCmHdQEGQs0TnoTWnWwv\n\t+pUy1WpfTJe/g==","v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1686136686;\n\tbh=YmLK4Hi8WCLA/10/7bRfeve43JF4/Da47og1/qmx8FI=;\n\th=In-Reply-To:References:Subject:From:To:Date:From;\n\tb=Jidk+5wi7Xd05l+Zt6HlHGqjD/Zro0kHOuLEZgHPIXDkX5+YTCNyZE93lC7y/XgOy\n\tCvneSVx40craVWGH7blS84jUnAJV+YXcKMBduFYJSlCAtjgLjKvcr5w9IdhHNkvvsa\n\trHeTy200Gpd7sJHFoxCwKUisq55q+OUx49PNaGHs="],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key; \n\tunprotected) header.d=ideasonboard.com\n\theader.i=@ideasonboard.com\n\theader.b=\"Jidk+5wi\"; dkim-atps=neutral","Content-Type":"text/plain; charset=\"utf-8\"","MIME-Version":"1.0","Content-Transfer-Encoding":"quoted-printable","In-Reply-To":"<20230607100054.4576-2-naush@raspberrypi.com>","References":"<20230607100054.4576-1-naush@raspberrypi.com>\n\t<20230607100054.4576-2-naush@raspberrypi.com>","To":"Naushir Patuck <naush@raspberrypi.com>,\n\tlibcamera-devel@lists.libcamera.org","Date":"Wed, 07 Jun 2023 12:18:28 +0100","Message-ID":"<168613670865.2889415.18389609299300164572@Monstersaurus>","User-Agent":"alot/0.10","Subject":"Re: [libcamera-devel] [PATCH v1 1/3] ipa: rpi: tunings: Add missing\n\tshort and long exposure profiles","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>","From":"Kieran Bingham via libcamera-devel\n\t<libcamera-devel@lists.libcamera.org>","Reply-To":"Kieran Bingham <kieran.bingham@ideasonboard.com>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":27300,"web_url":"https://patchwork.libcamera.org/comment/27300/","msgid":"<CAEmqJPpxgoahZE6SYDmWDiDqOhfEBRx8=wGeC8xHOi=ECHiicw@mail.gmail.com>","date":"2023-06-07T11:40:40","subject":"Re: [libcamera-devel] [PATCH v1 1/3] ipa: rpi: tunings: Add missing\n\tshort and long exposure profiles","submitter":{"id":34,"url":"https://patchwork.libcamera.org/api/people/34/","name":"Naushir Patuck","email":"naush@raspberrypi.com"},"content":"Hi Kieran,\n\nThank you for the review.\n\nOn Wed, 7 Jun 2023 at 12:18, Kieran Bingham\n<kieran.bingham@ideasonboard.com> wrote:\n>\n> Hi Naush,\n>\n> Quoting Naushir Patuck via libcamera-devel (2023-06-07 11:00:52)\n> > Some sensor tuning files were missing the short and/or long exposure\n> > mode profiles. Add the missing items to the relevant files.\n> >\n> > Signed-off-by: Naushir Patuck <naush@raspberrypi.com>\n> > ---\n> >  src/ipa/rpi/vc4/data/imx290.json           |  5 +++++\n> >  src/ipa/rpi/vc4/data/imx296.json           |  5 +++++\n> >  src/ipa/rpi/vc4/data/imx296_mono.json      |  5 +++++\n> >  src/ipa/rpi/vc4/data/imx378.json           |  5 +++++\n> >  src/ipa/rpi/vc4/data/imx519.json           |  5 +++++\n> >  src/ipa/rpi/vc4/data/imx708.json           |  5 +++++\n> >  src/ipa/rpi/vc4/data/imx708_noir.json      |  5 +++++\n> >  src/ipa/rpi/vc4/data/imx708_wide.json      |  5 +++++\n> >  src/ipa/rpi/vc4/data/imx708_wide_noir.json |  5 +++++\n> >  src/ipa/rpi/vc4/data/ov9281_mono.json      | 10 ++++++++++\n> >  src/ipa/rpi/vc4/data/se327m12.json         |  5 +++++\n> >  src/ipa/rpi/vc4/data/uncalibrated.json     | 10 ++++++++++\n> >  12 files changed, 70 insertions(+)\n> >\n> > diff --git a/src/ipa/rpi/vc4/data/imx290.json b/src/ipa/rpi/vc4/data/imx290.json\n> > index ace68d0ebf1c..bcf9189b0008 100644\n> > --- a/src/ipa/rpi/vc4/data/imx290.json\n> > +++ b/src/ipa/rpi/vc4/data/imx290.json\n> > @@ -74,6 +74,11 @@\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> > diff --git a/src/ipa/rpi/vc4/data/imx296.json b/src/ipa/rpi/vc4/data/imx296.json\n> > index ae8722c46a85..9330d0a9c81f 100644\n> > --- a/src/ipa/rpi/vc4/data/imx296.json\n> > +++ b/src/ipa/rpi/vc4/data/imx296.json\n> > @@ -157,6 +157,11 @@\n> >                      {\n> >                          \"shutter\": [ 100, 5000, 10000, 20000, 30000 ],\n> >                          \"gain\": [ 1.0, 2.0, 4.0, 8.0, 16.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> > diff --git a/src/ipa/rpi/vc4/data/imx296_mono.json b/src/ipa/rpi/vc4/data/imx296_mono.json\n> > index db020550d70e..955af43cccff 100644\n> > --- a/src/ipa/rpi/vc4/data/imx296_mono.json\n> > +++ b/src/ipa/rpi/vc4/data/imx296_mono.json\n> > @@ -60,6 +60,11 @@\n> >                      {\n> >                          \"shutter\": [ 100, 5000, 10000, 20000, 120000 ],\n> >                          \"gain\": [ 1.0, 2.0, 4.0, 6.0, 6.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> > diff --git a/src/ipa/rpi/vc4/data/imx378.json b/src/ipa/rpi/vc4/data/imx378.json\n> > index 8b4ed22504b5..f7b68011b634 100644\n> > --- a/src/ipa/rpi/vc4/data/imx378.json\n> > +++ b/src/ipa/rpi/vc4/data/imx378.json\n> > @@ -155,6 +155,11 @@\n> >                      {\n> >                          \"shutter\": [ 100, 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> > diff --git a/src/ipa/rpi/vc4/data/imx519.json b/src/ipa/rpi/vc4/data/imx519.json\n> > index 8ccfd3a631ff..1b0a77476aab 100644\n> > --- a/src/ipa/rpi/vc4/data/imx519.json\n> > +++ b/src/ipa/rpi/vc4/data/imx519.json\n> > @@ -155,6 +155,11 @@\n> >                      {\n> >                          \"shutter\": [ 100, 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> > diff --git a/src/ipa/rpi/vc4/data/imx708.json b/src/ipa/rpi/vc4/data/imx708.json\n> > index b9830a3bf692..6b26d0a19609 100644\n> > --- a/src/ipa/rpi/vc4/data/imx708.json\n> > +++ b/src/ipa/rpi/vc4/data/imx708.json\n> > @@ -165,6 +165,11 @@\n> >                      {\n> >                          \"shutter\": [ 100, 5000, 10000, 20000, 120000 ],\n> >                          \"gain\": [ 1.0, 2.0, 4.0, 6.0, 6.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> > diff --git a/src/ipa/rpi/vc4/data/imx708_noir.json b/src/ipa/rpi/vc4/data/imx708_noir.json\n> > index 075f70355cec..8d498153833b 100644\n> > --- a/src/ipa/rpi/vc4/data/imx708_noir.json\n> > +++ b/src/ipa/rpi/vc4/data/imx708_noir.json\n> > @@ -165,6 +165,11 @@\n> >                      {\n> >                          \"shutter\": [ 100, 5000, 10000, 20000, 120000 ],\n> >                          \"gain\": [ 1.0, 2.0, 4.0, 6.0, 6.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> > diff --git a/src/ipa/rpi/vc4/data/imx708_wide.json b/src/ipa/rpi/vc4/data/imx708_wide.json\n> > index b772efee3b96..14bc918e7823 100644\n> > --- a/src/ipa/rpi/vc4/data/imx708_wide.json\n> > +++ b/src/ipa/rpi/vc4/data/imx708_wide.json\n> > @@ -155,6 +155,11 @@\n> >                      {\n> >                          \"shutter\": [ 100, 5000, 10000, 20000, 120000 ],\n> >                          \"gain\": [ 1.0, 2.0, 4.0, 6.0, 6.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> > diff --git a/src/ipa/rpi/vc4/data/imx708_wide_noir.json b/src/ipa/rpi/vc4/data/imx708_wide_noir.json\n> > index c5f6b53dca7a..49442c0f9d81 100644\n> > --- a/src/ipa/rpi/vc4/data/imx708_wide_noir.json\n> > +++ b/src/ipa/rpi/vc4/data/imx708_wide_noir.json\n> > @@ -155,6 +155,11 @@\n> >                      {\n> >                          \"shutter\": [ 100, 5000, 10000, 20000, 120000 ],\n> >                          \"gain\": [ 1.0, 2.0, 4.0, 6.0, 6.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> > diff --git a/src/ipa/rpi/vc4/data/ov9281_mono.json b/src/ipa/rpi/vc4/data/ov9281_mono.json\n> > index 37944c63ad92..2b7292ec7e20 100644\n> > --- a/src/ipa/rpi/vc4/data/ov9281_mono.json\n> > +++ b/src/ipa/rpi/vc4/data/ov9281_mono.json\n> > @@ -44,6 +44,16 @@\n> >                      {\n> >                          \"shutter\": [ 100, 15000, 30000, 60000, 120000 ],\n> >                          \"gain\": [ 1.0, 2.0, 3.0, 4.0, 8.0 ]\n> > +                    },\n> > +                    \"short\":\n> > +                    {\n> > +                        \"shutter\": [ 100, 5000, 10000, 20000, 30000 ],\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> > diff --git a/src/ipa/rpi/vc4/data/se327m12.json b/src/ipa/rpi/vc4/data/se327m12.json\n> > index ee69caea50c0..8552ed92bce6 100644\n> > --- a/src/ipa/rpi/vc4/data/se327m12.json\n> > +++ b/src/ipa/rpi/vc4/data/se327m12.json\n> > @@ -155,6 +155,11 @@\n> >                      {\n> >                          \"shutter\": [ 100, 5000, 10000, 20000, 120000 ],\n>\n> I know this isn't added by your patch ... but ...\n>\n> (Most?) other short modes have\n>         100, 5000, 10000, 20000, 30000\n>\n> Is this a sensor specific anomoly, or an error?\n>\n> Though in fact, I see a few other files have this same short\n> configuration so perhaps I need to compare the files more directly:\n>\n>\n> (Extract all short exposure modes from tuning files:)\n>\n> for f in src/ipa/rpi/vc4/data/*.json; do basename $f; jq -c '.algorithms[] | .\"rpi.agc\".\"exposure_modes\".\"short\" ' $f; echo \" \"; done | grep -v 'null'\n>\n> imx219.json\n> {\"shutter\":[100,5000,10000,20000,33333],\"gain\":[1,2,4,6,8]}\n>\n> imx219_noir.json\n> {\"shutter\":[100,5000,10000,20000,33333],\"gain\":[1,2,4,6,8]}\n>\n> imx290.json\n>\n> imx296.json\n> {\"shutter\":[100,5000,10000,20000,30000],\"gain\":[1,2,4,8,16]}\n>\n> imx296_mono.json\n> {\"shutter\":[100,5000,10000,20000,120000],\"gain\":[1,2,4,6,6]}\n>\n> imx378.json\n> {\"shutter\":[100,5000,10000,20000,120000],\"gain\":[1,2,4,6,8]}\n>\n> imx477.json\n> {\"shutter\":[100,5000,10000,20000,33333],\"gain\":[1,2,4,6,8]}\n>\n> imx477_noir.json\n> {\"shutter\":[100,5000,10000,20000,33333],\"gain\":[1,2,4,6,8]}\n>\n> imx477_scientific.json\n> {\"shutter\":[100,5000,10000,20000,33333],\"gain\":[1,2,4,6,8]}\n>\n> imx477_v1.json\n> {\"shutter\":[100,5000,10000,20000,33333],\"gain\":[1,2,4,6,8]}\n>\n> imx519.json\n> {\"shutter\":[100,5000,10000,20000,120000],\"gain\":[1,2,4,6,8]}\n>\n> imx708.json\n> {\"shutter\":[100,5000,10000,20000,120000],\"gain\":[1,2,4,6,6]}\n>\n> imx708_noir.json\n> {\"shutter\":[100,5000,10000,20000,120000],\"gain\":[1,2,4,6,6]}\n>\n> imx708_wide.json\n> {\"shutter\":[100,5000,10000,20000,120000],\"gain\":[1,2,4,6,6]}\n>\n> imx708_wide_noir.json\n> {\"shutter\":[100,5000,10000,20000,120000],\"gain\":[1,2,4,6,6]}\n>\n> ov5647.json\n> {\"shutter\":[100,5000,10000,20000,33333],\"gain\":[1,2,4,6,8]}\n>\n> ov5647_noir.json\n> {\"shutter\":[100,5000,10000,20000,33333],\"gain\":[1,2,4,6,8]}\n>\n> ov9281_mono.json\n>\n> se327m12.json\n> {\"shutter\":[100,5000,10000,20000,120000],\"gain\":[1,2,4,6,8]}\n>\n> uncalibrated.json\n>\n>\n> Ok - So I think these really are just sensor specific tunings so it's\n> fine.\n>\n>\n>\n> And even better, now I've formulated that jq line, I can see the result\n> of adding this patch provides:\n>\n> for f in src/ipa/rpi/vc4/data/*.json; do basename $f; jq -c '.algorithms[] | .\"rpi.agc\".\"exposure_modes\".\"long\" ' $f; echo \" \"; done | grep -v 'null'\n> imx219.json\n> {\"shutter\":[100,10000,30000,60000,120000],\"gain\":[1,2,4,6,12]}\n>\n> imx219_noir.json\n> {\"shutter\":[100,10000,30000,60000,120000],\"gain\":[1,2,4,6,12]}\n>\n> imx290.json\n> {\"shutter\":[1000,30000,60000,90000,120000],\"gain\":[1,2,4,6,12]}\n>\n> imx296.json\n> {\"shutter\":[1000,30000,60000,90000,120000],\"gain\":[1,2,4,6,12]}\n>\n> imx296_mono.json\n> {\"shutter\":[1000,30000,60000,90000,120000],\"gain\":[1,2,4,6,12]}\n>\n> imx378.json\n> {\"shutter\":[1000,30000,60000,90000,120000],\"gain\":[1,2,4,6,12]}\n>\n> imx477.json\n> {\"shutter\":[100,10000,30000,60000,120000],\"gain\":[1,2,4,6,12]}\n>\n> imx477_noir.json\n> {\"shutter\":[100,10000,30000,60000,120000],\"gain\":[1,2,4,6,12]}\n>\n> imx477_scientific.json\n> {\"shutter\":[100,10000,30000,60000,120000],\"gain\":[1,2,4,6,12]}\n>\n> imx477_v1.json\n> {\"shutter\":[100,10000,30000,60000,120000],\"gain\":[1,2,4,6,12]}\n>\n> imx519.json\n> {\"shutter\":[1000,30000,60000,90000,120000],\"gain\":[1,2,4,6,12]}\n>\n> imx708.json\n> {\"shutter\":[1000,30000,60000,90000,120000],\"gain\":[1,2,4,6,12]}\n>\n> imx708_noir.json\n> {\"shutter\":[1000,30000,60000,90000,120000],\"gain\":[1,2,4,6,12]}\n>\n> imx708_wide.json\n> {\"shutter\":[1000,30000,60000,90000,120000],\"gain\":[1,2,4,6,12]}\n>\n> imx708_wide_noir.json\n> {\"shutter\":[1000,30000,60000,90000,120000],\"gain\":[1,2,4,6,12]}\n>\n> ov5647.json\n> {\"shutter\":[100,10000,30000,60000,120000],\"gain\":[1,2,4,6,12]}\n>\n> ov5647_noir.json\n> {\"shutter\":[100,10000,30000,60000,120000],\"gain\":[1,2,4,6,12]}\n>\n> ov9281_mono.json\n> {\"shutter\":[1000,30000,60000,90000,120000],\"gain\":[1,2,4,6,12]}\n>\n> se327m12.json\n> {\"shutter\":[1000,30000,60000,90000,120000],\"gain\":[1,2,4,6,12]}\n>\n> uncalibrated.json\n> {\"shutter\":[1000,30000,60000,90000,120000],\"gain\":[1,2,4,6,12]}\n>\n>\n> So I expect that those additions which contain quite specific\n> differences have been given the appropriate consideration.\n\nThese new additional \"long\" and \"short\" exposure mode configs are a sensible\nstarting point.  If we want sensor specific adjustments, we can do it on top.\nGiven that the existing code would simply throw a fatal error if an app used one\nof these missing profiles, I think it's a good enough default.\n\n>\n>\n> Having applied this patch, my short exposure query highlights that the\n> imx290.json hasn't been updated with a short mode.\n\nFor some reason, imx290 has named the \"short\" exposure mode as \"sport\".  \"sport\"\ncan never be used/selected, I'll rename it and post a reply-to to this patch.\n\nRegards,\nNaush\n\n>\n> With that resolved:\n>\n> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n>\n>\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> > diff --git a/src/ipa/rpi/vc4/data/uncalibrated.json b/src/ipa/rpi/vc4/data/uncalibrated.json\n> > index 13eb3f177302..7654defa6dfe 100644\n> > --- a/src/ipa/rpi/vc4/data/uncalibrated.json\n> > +++ b/src/ipa/rpi/vc4/data/uncalibrated.json\n> > @@ -31,6 +31,16 @@\n> >                      {\n> >                          \"shutter\": [ 100, 15000, 30000, 60000, 120000 ],\n> >                          \"gain\": [ 1.0, 2.0, 3.0, 4.0, 6.0 ]\n> > +                    },\n> > +                    \"short\":\n> > +                    {\n> > +                        \"shutter\": [ 100, 5000, 10000, 20000, 30000 ],\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> > 2.34.1\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 A38EEC3200\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed,  7 Jun 2023 11:40:58 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 2547E62886;\n\tWed,  7 Jun 2023 13:40:58 +0200 (CEST)","from mail-yb1-xb31.google.com (mail-yb1-xb31.google.com\n\t[IPv6:2607:f8b0:4864:20::b31])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id D3FDB60579\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed,  7 Jun 2023 13:40:55 +0200 (CEST)","by mail-yb1-xb31.google.com with SMTP id\n\t3f1490d57ef6-bad1ae90c2eso8623364276.2\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 07 Jun 2023 04:40:55 -0700 (PDT)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1686138058;\n\tbh=eLpHCWy8HBo+aleIJ9eVCTGjUwgTg2N2CVP1NEF8dGI=;\n\th=References:In-Reply-To:Date:To:Subject:List-Id:List-Unsubscribe:\n\tList-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc:\n\tFrom;\n\tb=MehN3fzvbOIRfNxAUbS8ZgAPgJULfD9KXYeMMqSey8c1eNAbg1TdaLtgZcBkp5aor\n\tta7rcvb/Gx8pZEEs0TgSS/TC5EUMStbkPW5QWGZ1uv9/qnuHx8PTdsjEmmAlNgw7TU\n\ta+9Grh42n1Blb8s86PowjQlaJ92423dZcgkyb1Au1U725Z7hQNTvtc/uyx+t1oSwQL\n\tfFJTayMcDsTe9s3bzPJNTts0MIXoANVAW2dEPpevxBaywSvWNcxGGiB9cs+BGHmdN3\n\tvrxyaTPb5ju/mlxMFU8RDDWFC1+K4QvKNhLzvF+TYedlS2p1xX8RzfpcWLgLGs/Wv2\n\teovVoevUbbvwQ==","v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=raspberrypi.com; s=google; t=1686138054; x=1688730054;\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=jyGvHxPn9PkL43sdY+vn/Zn8+72Rdx4zLkrWK4HX+NM=;\n\tb=Uoohk7rKHfUDpXrGgzIZFNA9bJE9MKY/aMG7TKlN3pwNgsb1c/HPUvXzbUBFSIaPef\n\tcok0ZULWUCWIoAED7U4INQd+OiKG2MgGUshErGWxYcbBG50FdGkCoRLZGF4b2BFvMpQo\n\tG4Ux8mzU9MBwjS6dcSXkbWGXlhW59u/3Xhs6BDckmROJFL3Ubf9anJBDt6YWgVfapABt\n\tkPJ5llTMRoeBk01z6KKff5sVPoG9Qlt7DLkPY9eRc/p0ZJb6LS3XhRDSUhpc2n504s6w\n\tAq5QmF5iUtP4CUgF/zEoXLLdToxy6/Js1i+3jlTOUgJ9XanC1+QnRhme8ttws0MP/1i1\n\tWxnw=="],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (2048-bit key; \n\tunprotected) header.d=raspberrypi.com\n\theader.i=@raspberrypi.com\n\theader.b=\"Uoohk7rK\"; dkim-atps=neutral","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20221208; t=1686138054; x=1688730054;\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=jyGvHxPn9PkL43sdY+vn/Zn8+72Rdx4zLkrWK4HX+NM=;\n\tb=e/8w59icCllNB3wvQwMFf70FCddI3P8OyXWq9C2zcEOcKmb5rpJO1eccE3xgxeThCs\n\tSHzoD4mN863UCsgvVkW0NDYUGzWChiH8m0nlG/zDJpy1REwT8g0fQWZ26bLg0FkzgM8W\n\tBe/pWrMDcKzC3D2UjLGztSoU9eqJPpsjMkmnbFOn5Hs+9TIJwi0q2rfm0lvvdEX4PmWs\n\t/sw56ehjlTBfKoNkkv841+kjaRKlHYVhSHny7+lLxNjOWgsMylfNe510iX5Gf8NDweI4\n\tV8q2zH0SljzryGDFBSnwxzkf/4MenbY0rfqf7YyGYwAblbeC2sRB/xT90FqDXFTO93VV\n\t4vzw==","X-Gm-Message-State":"AC+VfDwAWywS5zu3CG608/KXoe/A2L2yScPuMTylxVDpazpoTQaqmBri\n\tjFFTis9AWHVVBcePH0VGEdVKke7btxHCB5S4KNedpiyM921uilCr8R6Nzw==","X-Google-Smtp-Source":"ACHHUZ6WHYdWLCMAEJGS68e6ZAQe9reR2AIhZ4cWwzf9KUugwQ4SEsPJhSNuw2veJ0Vd97y8PruvGZIk7Y2R7x05biM=","X-Received":"by 2002:a0d:eb94:0:b0:565:e48d:32cf with SMTP id\n\tu142-20020a0deb94000000b00565e48d32cfmr5959076ywe.7.1686138054542;\n\tWed, 07 Jun 2023 04:40:54 -0700 (PDT)","MIME-Version":"1.0","References":"<20230607100054.4576-1-naush@raspberrypi.com>\n\t<20230607100054.4576-2-naush@raspberrypi.com>\n\t<168613670865.2889415.18389609299300164572@Monstersaurus>","In-Reply-To":"<168613670865.2889415.18389609299300164572@Monstersaurus>","Date":"Wed, 7 Jun 2023 12:40:40 +0100","Message-ID":"<CAEmqJPpxgoahZE6SYDmWDiDqOhfEBRx8=wGeC8xHOi=ECHiicw@mail.gmail.com>","To":"Kieran Bingham <kieran.bingham@ideasonboard.com>","Content-Type":"text/plain; charset=\"UTF-8\"","Subject":"Re: [libcamera-devel] [PATCH v1 1/3] ipa: rpi: tunings: Add missing\n\tshort and long exposure profiles","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>","From":"Naushir Patuck via libcamera-devel\n\t<libcamera-devel@lists.libcamera.org>","Reply-To":"Naushir Patuck <naush@raspberrypi.com>","Cc":"libcamera-devel@lists.libcamera.org","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}}]