[{"id":22260,"web_url":"https://patchwork.libcamera.org/comment/22260/","msgid":"<f75be631-a9b8-919b-af49-a85a08622af3@ideasonboard.com>","date":"2022-03-11T13:21:00","subject":"Re: [libcamera-devel] [PATCH] ipa: ipu3: awb: Clamp gain values","submitter":{"id":97,"url":"https://patchwork.libcamera.org/api/people/97/","name":"Nicolas Dufresne via libcamera-devel","email":"libcamera-devel@lists.libcamera.org"},"content":"Hello,\n\nOn 3/11/22 18:49, Umang Jain wrote:\n> From: Jean-Michel Hautbois <jeanmichel.hautbois@ideasonboard.com>\n>\n> The gain values are coded as u3.13 fixed point values, ie they can not\n> be more than 8. Clamp the values in order to avoid any off limits value\n> which could make the IPU3 behave in a weird manner.\n>\n> Signed-off-by: Jean-Michel Hautbois <jeanmichel.hautbois@ideasonboard.com>\n> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n> Signed-off-by: Umang Jain <umang.jain@ideasonboard.com>\n\n\nFixed up the (minor comments) and discussed with Kieran .\n\nReviewed-by: Umang Jain <umang.jain@ideasonboard.com>\n\n> ---\n>   src/ipa/ipu3/algorithms/awb.cpp | 8 ++++++++\n>   1 file changed, 8 insertions(+)\n>\n> diff --git a/src/ipa/ipu3/algorithms/awb.cpp b/src/ipa/ipu3/algorithms/awb.cpp\n> index 1dc27fc9..dc25be81 100644\n> --- a/src/ipa/ipu3/algorithms/awb.cpp\n> +++ b/src/ipa/ipu3/algorithms/awb.cpp\n> @@ -353,6 +353,14 @@ void Awb::awbGreyWorld()\n>   \n>   \t/* Color temperature is not relevant in Grey world but still useful to estimate it :-) */\n>   \tasyncResults_.temperatureK = estimateCCT(sumRed.R, sumRed.G, sumBlue.B);\n> +\n> +\t/*\n> +\t * Gain values are unsigned integer value, range 0 to 8 with 13 bit\n> +\t * fractional part.\n> +\t */\n> +\tredGain = std::clamp(redGain, 0.0, 65535.0 / 8192);\n> +\tblueGain = std::clamp(blueGain, 0.0, 65535.0 / 8192);\n> +\n>   \tasyncResults_.redGain = redGain;\n>   \t/* Hardcode the green gain to 1.0. */\n>   \tasyncResults_.greenGain = 1.0;","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 28010BF415\n\tfor <parsemail@patchwork.libcamera.org>;\n\tFri, 11 Mar 2022 13:21:09 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id D1F5F632E2;\n\tFri, 11 Mar 2022 14:21:08 +0100 (CET)","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 53F95604E8\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 11 Mar 2022 14:21:07 +0100 (CET)","from [192.168.1.106] (unknown [103.251.226.65])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id E63B1482;\n\tFri, 11 Mar 2022 14:21:05 +0100 (CET)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1647004868;\n\tbh=1XY9GmBwBYXmX1GiGBCl6QiXH3RsCS8fLndfHqtchW0=;\n\th=Date:To:References:In-Reply-To:Subject:List-Id:List-Unsubscribe:\n\tList-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:\n\tFrom;\n\tb=RIaJJjJWBDqZXBT0TRh+LYYyat5yTLTvJqewGaO+54egHK08tmP7GaJIAE5o8RFxz\n\tvOgKkFUL6n5nMqiyiWZIBVig8QGdGreHMVqQuvh35MMB5iiUBga/jOZZWisYandxRu\n\taXfzhxmiHJUAC4/u+Uu7CApsDrMT4yBvNQ81gAnHAwvIkpnzZJesFysJN454hRbiKK\n\tJ3wblET8hejCD5dVzgxik6XfONio8P3Sy8MqmkcoRy9r+mEdnApeT1uZXLhVrD22ku\n\tkyuMktXMZatFiiFsxlPWbisGZPI4Za4QNs4SOz1fZqqoJZdp31rST4uP0rpW3LovAy\n\t4vigJzaD83+yg==","v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1647004867;\n\tbh=1XY9GmBwBYXmX1GiGBCl6QiXH3RsCS8fLndfHqtchW0=;\n\th=Date:Subject:To:Cc:References:From:In-Reply-To:From;\n\tb=S5L5meBXmGmjHdzqQS31A0BNNR0bo2zKcTDNr4ryRM1y+e+jOs3WrMWqpY55ShNqV\n\tv+KxIrkTa32CJvojBkD24iHym+H8RUMMxnCcUwkGxemUpLhL8TbJi1LQYep5yYqNGW\n\tTFdy+HJqsgtjPujOoFy6WLuj4uF9gxDeJph2/194="],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key; \n\tunprotected) header.d=ideasonboard.com\n\theader.i=@ideasonboard.com\n\theader.b=\"S5L5meBX\"; dkim-atps=neutral","Message-ID":"<f75be631-a9b8-919b-af49-a85a08622af3@ideasonboard.com>","Date":"Fri, 11 Mar 2022 18:51:00 +0530","MIME-Version":"1.0","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101\n\tThunderbird/91.4.1","Content-Language":"en-US","To":"libcamera-devel@lists.libcamera.org","References":"<20220224151113.109858-5-jeanmichel.hautbois@ideasonboard.com>\n\t<20220311131929.506764-1-umang.jain@ideasonboard.com>","In-Reply-To":"<20220311131929.506764-1-umang.jain@ideasonboard.com>","Content-Type":"text/plain; charset=UTF-8; format=flowed","Content-Transfer-Encoding":"7bit","Subject":"Re: [libcamera-devel] [PATCH] ipa: ipu3: awb: Clamp gain values","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":"Umang Jain via libcamera-devel <libcamera-devel@lists.libcamera.org>","Reply-To":"Umang Jain <umang.jain@ideasonboard.com>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":22261,"web_url":"https://patchwork.libcamera.org/comment/22261/","msgid":"<a37ba9f2-1f92-0d5e-f0b6-9d20511bf683@ideasonboard.com>","date":"2022-03-11T13:33:57","subject":"Re: [libcamera-devel] [PATCH] ipa: ipu3: awb: Clamp gain values","submitter":{"id":97,"url":"https://patchwork.libcamera.org/api/people/97/","name":"Nicolas Dufresne via libcamera-devel","email":"libcamera-devel@lists.libcamera.org"},"content":"On 3/11/22 18:49, Umang Jain wrote:\n> From: Jean-Michel Hautbois <jeanmichel.hautbois@ideasonboard.com>\n>\n> The gain values are coded as u3.13 fixed point values, ie they can not\n> be more than 8. Clamp the values in order to avoid any off limits value\n> which could make the IPU3 behave in a weird manner.\n>\n> Signed-off-by: Jean-Michel Hautbois <jeanmichel.hautbois@ideasonboard.com>\n> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n> Signed-off-by: Umang Jain <umang.jain@ideasonboard.com>\n> ---\n>   src/ipa/ipu3/algorithms/awb.cpp | 8 ++++++++\n>   1 file changed, 8 insertions(+)\n>\n> diff --git a/src/ipa/ipu3/algorithms/awb.cpp b/src/ipa/ipu3/algorithms/awb.cpp\n> index 1dc27fc9..dc25be81 100644\n> --- a/src/ipa/ipu3/algorithms/awb.cpp\n> +++ b/src/ipa/ipu3/algorithms/awb.cpp\n> @@ -353,6 +353,14 @@ void Awb::awbGreyWorld()\n>   \n>   \t/* Color temperature is not relevant in Grey world but still useful to estimate it :-) */\n>   \tasyncResults_.temperatureK = estimateCCT(sumRed.R, sumRed.G, sumBlue.B);\n> +\n> +\t/*\n> +\t * Gain values are unsigned integer value, range 0 to 8 with 13 bit\n> +\t * fractional part.\n\n\nGreat, I forgot to squash the changes and re-group the commit :-/\n\nsending again :(\n\n\n> +\t */\n> +\tredGain = std::clamp(redGain, 0.0, 65535.0 / 8192);\n> +\tblueGain = std::clamp(blueGain, 0.0, 65535.0 / 8192);\n> +\n>   \tasyncResults_.redGain = redGain;\n>   \t/* Hardcode the green gain to 1.0. */\n>   \tasyncResults_.greenGain = 1.0;","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 CB16FBE08A\n\tfor <parsemail@patchwork.libcamera.org>;\n\tFri, 11 Mar 2022 13:34:05 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 2B95E604E9;\n\tFri, 11 Mar 2022 14:34:05 +0100 (CET)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 97DC4604E8\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 11 Mar 2022 14:34:03 +0100 (CET)","from [192.168.1.106] (unknown [103.251.226.65])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 15CF0482;\n\tFri, 11 Mar 2022 14:34:01 +0100 (CET)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1647005645;\n\tbh=jJBW2iGfSyUAz8gHugDp2NeMBly1kVMuCkx6QYkoEgE=;\n\th=Date:To:References:In-Reply-To:Subject:List-Id:List-Unsubscribe:\n\tList-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:\n\tFrom;\n\tb=K3AHUhP+9/Yk556Mn6mRqMAIB3QaeCYSjOyDWWcQlE2V9of2vnEXMDWrdE5CfZMr+\n\tnlzuQpuliMuQd3tHwD7KpygPhrGh/eNd1O6p16s1X1MEP9OuOcYXjprf7DuGzWicT9\n\taFLEEUJEKc3LwgQuh6AvwJQ2Wd6D+7KhXobcU1YNKg1ji0ANk5312awkpKerd0dnDb\n\t47o+8fZCauSITrL8nrScPytH0GrmQbFMPSbXOpOifld52wrufPopmyqcSLywmJb4NY\n\tGyySxKSu4ELeVt5lRaNQb5aXf+wI9Yq+7YLCJwZkF+EAVPB25jhDuPQ2827sn8Q55q\n\tFLf9Zz9C3ColA==","v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1647005643;\n\tbh=jJBW2iGfSyUAz8gHugDp2NeMBly1kVMuCkx6QYkoEgE=;\n\th=Date:Subject:To:Cc:References:From:In-Reply-To:From;\n\tb=eltMM5YkuFcyVw8l4C1ggRrlkeVPyDGCzbpX8Um7Wsu8HCTK53GXzIylLBA0CVYIN\n\tLCAyHqGeqEwB6IDKounwvJLM//VFJyB5jdmJtc55LYqsyUr99gbOK0NDD5IHjA0Slo\n\tARawOkN0uv0rJMmtutF2AE4ze8ALXkynGf4OLVUs="],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key; \n\tunprotected) header.d=ideasonboard.com\n\theader.i=@ideasonboard.com\n\theader.b=\"eltMM5Yk\"; dkim-atps=neutral","Message-ID":"<a37ba9f2-1f92-0d5e-f0b6-9d20511bf683@ideasonboard.com>","Date":"Fri, 11 Mar 2022 19:03:57 +0530","MIME-Version":"1.0","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101\n\tThunderbird/91.4.1","Content-Language":"en-US","To":"libcamera-devel@lists.libcamera.org","References":"<20220224151113.109858-5-jeanmichel.hautbois@ideasonboard.com>\n\t<20220311131929.506764-1-umang.jain@ideasonboard.com>","In-Reply-To":"<20220311131929.506764-1-umang.jain@ideasonboard.com>","Content-Type":"text/plain; charset=UTF-8; format=flowed","Content-Transfer-Encoding":"7bit","Subject":"Re: [libcamera-devel] [PATCH] ipa: ipu3: awb: Clamp gain values","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":"Umang Jain via libcamera-devel <libcamera-devel@lists.libcamera.org>","Reply-To":"Umang Jain <umang.jain@ideasonboard.com>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}}]