[{"id":17330,"web_url":"https://patchwork.libcamera.org/comment/17330/","msgid":"<YK91YhVknDAKAtze@pendragon.ideasonboard.com>","date":"2021-05-27T10:33:06","subject":"Re: [libcamera-devel] [PATCH] ipa: ipu3: Use a default gamma LUT at\n\tstartup","submitter":{"id":2,"url":"https://patchwork.libcamera.org/api/people/2/","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"content":"Hi Jean-Michel,\n\nThank you for the patch.\n\nOn Thu, May 27, 2021 at 12:11:05PM +0200, Jean-Michel Hautbois wrote:\n> A custom gamma LUT is used, but the table is not calculated at startup,\n> resulting in an all 0's frame.\n> Use the drfault LUT specified in the Linux kernel as a first estimation.\n\ns/drfault/default/\n\n> Reported-by: Paul Elder <paul.elder@ideasonboard.com>\n> Signed-off-by: Jean-Michel Hautbois <jeanmichel.hautbois@ideasonboard.com>\n> Tested-by: Paul Elder <paul.elder@ideasonboard.com>\n> ---\n>  src/ipa/ipu3/ipu3_awb.cpp | 26 ++++++++++++++++++++++++++\n>  1 file changed, 26 insertions(+)\n> \n> diff --git a/src/ipa/ipu3/ipu3_awb.cpp b/src/ipa/ipu3/ipu3_awb.cpp\n> index f8788065..54ce8e67 100644\n> --- a/src/ipa/ipu3/ipu3_awb.cpp\n> +++ b/src/ipa/ipu3/ipu3_awb.cpp\n> @@ -134,6 +134,31 @@ static const struct ipu3_uapi_ccm_mat_config imguCssCcmDefault = {\n>  \t0, 0, 8191, 0\n>  };\n>  \n> +/* Default settings for Gamma correction */\n> +const struct ipu3_uapi_gamma_corr_lut imguCssGammaLut = { {\n> +\t63, 79, 95, 111, 127, 143, 159, 175, 191, 207, 223, 239, 255, 271, 287,\n> +\t303, 319, 335, 351, 367, 383, 399, 415, 431, 447, 463, 479, 495, 511,\n> +\t527, 543, 559, 575, 591, 607, 623, 639, 655, 671, 687, 703, 719, 735,\n> +\t751, 767, 783, 799, 815, 831, 847, 863, 879, 895, 911, 927, 943, 959,\n> +\t975, 991, 1007, 1023, 1039, 1055, 1071, 1087, 1103, 1119, 1135, 1151,\n> +\t1167, 1183, 1199, 1215, 1231, 1247, 1263, 1279, 1295, 1311, 1327, 1343,\n> +\t1359, 1375, 1391, 1407, 1423, 1439, 1455, 1471, 1487, 1503, 1519, 1535,\n> +\t1551, 1567, 1583, 1599, 1615, 1631, 1647, 1663, 1679, 1695, 1711, 1727,\n> +\t1743, 1759, 1775, 1791, 1807, 1823, 1839, 1855, 1871, 1887, 1903, 1919,\n> +\t1935, 1951, 1967, 1983, 1999, 2015, 2031, 2047, 2063, 2079, 2095, 2111,\n> +\t2143, 2175, 2207, 2239, 2271, 2303, 2335, 2367, 2399, 2431, 2463, 2495,\n> +\t2527, 2559, 2591, 2623, 2655, 2687, 2719, 2751, 2783, 2815, 2847, 2879,\n> +\t2911, 2943, 2975, 3007, 3039, 3071, 3103, 3135, 3167, 3199, 3231, 3263,\n> +\t3295, 3327, 3359, 3391, 3423, 3455, 3487, 3519, 3551, 3583, 3615, 3647,\n> +\t3679, 3711, 3743, 3775, 3807, 3839, 3871, 3903, 3935, 3967, 3999, 4031,\n> +\t4063, 4095, 4127, 4159, 4223, 4287, 4351, 4415, 4479, 4543, 4607, 4671,\n> +\t4735, 4799, 4863, 4927, 4991, 5055, 5119, 5183, 5247, 5311, 5375, 5439,\n> +\t5503, 5567, 5631, 5695, 5759, 5823, 5887, 5951, 6015, 6079, 6143, 6207,\n> +\t6271, 6335, 6399, 6463, 6527, 6591, 6655, 6719, 6783, 6847, 6911, 6975,\n> +\t7039, 7103, 7167, 7231, 7295, 7359, 7423, 7487, 7551, 7615, 7679, 7743,\n> +\t7807, 7871, 7935, 7999, 8063, 8127, 8191\n> +} };\n\nInteresting default, it's a piecewise linear function equal to\n\n63 + i * 16\t\t\t\t\twhen 0 <= i <= 128\n63 + 128 * 16 + (i - 128) * 32\t\t\twhen 128 < i <= 192\n63 + 128 * 16 + 64 * 32 + (i - 192) * 32\twhen 192 < i <= 255\n\nReviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n\n> +\n>  IPU3Awb::IPU3Awb()\n>  \t: Algorithm()\n>  {\n> @@ -174,6 +199,7 @@ void IPU3Awb::initialise(ipu3_uapi_params &params, const Size &bdsOutputSize, st\n>  \tparams.acc_param.ccm = imguCssCcmDefault;\n>  \n>  \tparams.use.acc_gamma = 1;\n> +\tparams.acc_param.gamma.gc_lut = imguCssGammaLut;\n>  \tparams.acc_param.gamma.gc_ctrl.enable = 1;\n>  \n>  \tzones_.reserve(kAwbStatsSizeX * kAwbStatsSizeY);","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 2E247BDB80\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu, 27 May 2021 10:33:16 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id A9A33602AE;\n\tThu, 27 May 2021 12:33:15 +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 26389602AA\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 27 May 2021 12:33:15 +0200 (CEST)","from pendragon.ideasonboard.com (62-78-145-57.bb.dnainternet.fi\n\t[62.78.145.57])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 29745B2C;\n\tThu, 27 May 2021 12:33:13 +0200 (CEST)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"ba/HQOY3\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1622111594;\n\tbh=NNY0EEpF65ZhnNVpBhQFNVUWi0vk77BiuwY0hlhOEyo=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=ba/HQOY3s/XuWMY+2IZu48M6+P2eeHCkB88vKfK6Hvpd8Z20B0zlrFcP7JwMcCMhg\n\tD/4itEotwzlRnEALO8HBAW8yOndu1cM8jKdAXHn8ZA8355/vknJrIRLPYKfjceghRm\n\tnf4QVIsaSLI93d++lbv77fy0EzkMqqyTVdJEOxIE=","Date":"Thu, 27 May 2021 13:33:06 +0300","From":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","To":"Jean-Michel Hautbois <jeanmichel.hautbois@ideasonboard.com>","Message-ID":"<YK91YhVknDAKAtze@pendragon.ideasonboard.com>","References":"<20210527101105.32789-1-jeanmichel.hautbois@ideasonboard.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","In-Reply-To":"<20210527101105.32789-1-jeanmichel.hautbois@ideasonboard.com>","Subject":"Re: [libcamera-devel] [PATCH] ipa: ipu3: Use a default gamma LUT at\n\tstartup","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>","Cc":"libcamera-devel@lists.libcamera.org","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":17334,"web_url":"https://patchwork.libcamera.org/comment/17334/","msgid":"<70ab629d-3e19-0bfd-e668-c443dd1cee65@ideasonboard.com>","date":"2021-05-27T14:56:26","subject":"Re: [libcamera-devel] [PATCH] ipa: ipu3: Use a default gamma LUT at\n\tstartup","submitter":{"id":75,"url":"https://patchwork.libcamera.org/api/people/75/","name":"Jean-Michel Hautbois","email":"jeanmichel.hautbois@ideasonboard.com"},"content":"Hi Laurent,\n\nOn 27/05/2021 12:33, Laurent Pinchart wrote:\n> Hi Jean-Michel,\n> \n> Thank you for the patch.\n> \n> On Thu, May 27, 2021 at 12:11:05PM +0200, Jean-Michel Hautbois wrote:\n>> A custom gamma LUT is used, but the table is not calculated at startup,\n>> resulting in an all 0's frame.\n>> Use the drfault LUT specified in the Linux kernel as a first estimation.\n> \n> s/drfault/default/\n> \n>> Reported-by: Paul Elder <paul.elder@ideasonboard.com>\n>> Signed-off-by: Jean-Michel Hautbois <jeanmichel.hautbois@ideasonboard.com>\n>> Tested-by: Paul Elder <paul.elder@ideasonboard.com>\n>> ---\n>>  src/ipa/ipu3/ipu3_awb.cpp | 26 ++++++++++++++++++++++++++\n>>  1 file changed, 26 insertions(+)\n>>\n>> diff --git a/src/ipa/ipu3/ipu3_awb.cpp b/src/ipa/ipu3/ipu3_awb.cpp\n>> index f8788065..54ce8e67 100644\n>> --- a/src/ipa/ipu3/ipu3_awb.cpp\n>> +++ b/src/ipa/ipu3/ipu3_awb.cpp\n>> @@ -134,6 +134,31 @@ static const struct ipu3_uapi_ccm_mat_config imguCssCcmDefault = {\n>>  \t0, 0, 8191, 0\n>>  };\n>>  \n>> +/* Default settings for Gamma correction */\n>> +const struct ipu3_uapi_gamma_corr_lut imguCssGammaLut = { {\n>> +\t63, 79, 95, 111, 127, 143, 159, 175, 191, 207, 223, 239, 255, 271, 287,\n>> +\t303, 319, 335, 351, 367, 383, 399, 415, 431, 447, 463, 479, 495, 511,\n>> +\t527, 543, 559, 575, 591, 607, 623, 639, 655, 671, 687, 703, 719, 735,\n>> +\t751, 767, 783, 799, 815, 831, 847, 863, 879, 895, 911, 927, 943, 959,\n>> +\t975, 991, 1007, 1023, 1039, 1055, 1071, 1087, 1103, 1119, 1135, 1151,\n>> +\t1167, 1183, 1199, 1215, 1231, 1247, 1263, 1279, 1295, 1311, 1327, 1343,\n>> +\t1359, 1375, 1391, 1407, 1423, 1439, 1455, 1471, 1487, 1503, 1519, 1535,\n>> +\t1551, 1567, 1583, 1599, 1615, 1631, 1647, 1663, 1679, 1695, 1711, 1727,\n>> +\t1743, 1759, 1775, 1791, 1807, 1823, 1839, 1855, 1871, 1887, 1903, 1919,\n>> +\t1935, 1951, 1967, 1983, 1999, 2015, 2031, 2047, 2063, 2079, 2095, 2111,\n>> +\t2143, 2175, 2207, 2239, 2271, 2303, 2335, 2367, 2399, 2431, 2463, 2495,\n>> +\t2527, 2559, 2591, 2623, 2655, 2687, 2719, 2751, 2783, 2815, 2847, 2879,\n>> +\t2911, 2943, 2975, 3007, 3039, 3071, 3103, 3135, 3167, 3199, 3231, 3263,\n>> +\t3295, 3327, 3359, 3391, 3423, 3455, 3487, 3519, 3551, 3583, 3615, 3647,\n>> +\t3679, 3711, 3743, 3775, 3807, 3839, 3871, 3903, 3935, 3967, 3999, 4031,\n>> +\t4063, 4095, 4127, 4159, 4223, 4287, 4351, 4415, 4479, 4543, 4607, 4671,\n>> +\t4735, 4799, 4863, 4927, 4991, 5055, 5119, 5183, 5247, 5311, 5375, 5439,\n>> +\t5503, 5567, 5631, 5695, 5759, 5823, 5887, 5951, 6015, 6079, 6143, 6207,\n>> +\t6271, 6335, 6399, 6463, 6527, 6591, 6655, 6719, 6783, 6847, 6911, 6975,\n>> +\t7039, 7103, 7167, 7231, 7295, 7359, 7423, 7487, 7551, 7615, 7679, 7743,\n>> +\t7807, 7871, 7935, 7999, 8063, 8127, 8191\n>> +} };\n> \n> Interesting default, it's a piecewise linear function equal to\n> \n> 63 + i * 16\t\t\t\t\twhen 0 <= i <= 128\n> 63 + 128 * 16 + (i - 128) * 32\t\t\twhen 128 < i <= 192\n> 63 + 128 * 16 + 64 * 32 + (i - 192) * 32\twhen 192 < i <= 255\n> \n> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n\nIndeed, but don't have a math function for that...\nDoes it mean you want to extract the class Pwl from RPi and integrate it\ninto libipa ;-) ?\n\n>> +\n>>  IPU3Awb::IPU3Awb()\n>>  \t: Algorithm()\n>>  {\n>> @@ -174,6 +199,7 @@ void IPU3Awb::initialise(ipu3_uapi_params &params, const Size &bdsOutputSize, st\n>>  \tparams.acc_param.ccm = imguCssCcmDefault;\n>>  \n>>  \tparams.use.acc_gamma = 1;\n>> +\tparams.acc_param.gamma.gc_lut = imguCssGammaLut;\n>>  \tparams.acc_param.gamma.gc_ctrl.enable = 1;\n>>  \n>>  \tzones_.reserve(kAwbStatsSizeX * kAwbStatsSizeY);\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 A72DBBDB80\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu, 27 May 2021 14:56:29 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id E95A66891D;\n\tThu, 27 May 2021 16:56:28 +0200 (CEST)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 72C4A602AA\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 27 May 2021 16:56:27 +0200 (CEST)","from tatooine.ideasonboard.com (unknown\n\t[IPv6:2a01:e0a:169:7140:563e:3c07:6748:2112])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id EB4EB23E8;\n\tThu, 27 May 2021 16:56:26 +0200 (CEST)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"Dn9FkHLc\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1622127387;\n\tbh=ZrzQX7Z6hVUrqUJQMzwgt2Xbdk2kBhErGJ6J0K/5WUk=;\n\th=Subject:To:Cc:References:From:Date:In-Reply-To:From;\n\tb=Dn9FkHLc21yTR6bbewibWHYE4ZjnDtzVYZLuBg9yQgwiB1K7QvRM/PyX4JoUMJMqU\n\t9oat7v5hJ8QPPaB+bX1NXxQUvsa+pd08HjxRBClaCRWrT6laA3szSk9ppRYZtD8W/f\n\tstj1uER86pLOCd/hlfPsmyLZ/IymYFBVhFE6ZJcg=","To":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>,\n\tJean-Michel Hautbois <jeanmichel.hautbois@ideasonboard.com>","References":"<20210527101105.32789-1-jeanmichel.hautbois@ideasonboard.com>\n\t<YK91YhVknDAKAtze@pendragon.ideasonboard.com>","From":"Jean-Michel Hautbois <jeanmichel.hautbois@ideasonboard.com>","Message-ID":"<70ab629d-3e19-0bfd-e668-c443dd1cee65@ideasonboard.com>","Date":"Thu, 27 May 2021 16:56:26 +0200","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101\n\tThunderbird/78.8.1","MIME-Version":"1.0","In-Reply-To":"<YK91YhVknDAKAtze@pendragon.ideasonboard.com>","Content-Type":"text/plain; charset=utf-8","Content-Language":"en-US","Content-Transfer-Encoding":"7bit","Subject":"Re: [libcamera-devel] [PATCH] ipa: ipu3: Use a default gamma LUT at\n\tstartup","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>","Cc":"libcamera-devel@lists.libcamera.org","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":17335,"web_url":"https://patchwork.libcamera.org/comment/17335/","msgid":"<YK+1VLbHYAC06zAG@pendragon.ideasonboard.com>","date":"2021-05-27T15:05:56","subject":"Re: [libcamera-devel] [PATCH] ipa: ipu3: Use a default gamma LUT at\n\tstartup","submitter":{"id":2,"url":"https://patchwork.libcamera.org/api/people/2/","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"content":"Hi Jean-Michel,\n\nOn Thu, May 27, 2021 at 04:56:26PM +0200, Jean-Michel Hautbois wrote:\n> On 27/05/2021 12:33, Laurent Pinchart wrote:\n> > On Thu, May 27, 2021 at 12:11:05PM +0200, Jean-Michel Hautbois wrote:\n> >> A custom gamma LUT is used, but the table is not calculated at startup,\n> >> resulting in an all 0's frame.\n> >> Use the drfault LUT specified in the Linux kernel as a first estimation.\n> > \n> > s/drfault/default/\n> > \n> >> Reported-by: Paul Elder <paul.elder@ideasonboard.com>\n> >> Signed-off-by: Jean-Michel Hautbois <jeanmichel.hautbois@ideasonboard.com>\n> >> Tested-by: Paul Elder <paul.elder@ideasonboard.com>\n> >> ---\n> >>  src/ipa/ipu3/ipu3_awb.cpp | 26 ++++++++++++++++++++++++++\n> >>  1 file changed, 26 insertions(+)\n> >>\n> >> diff --git a/src/ipa/ipu3/ipu3_awb.cpp b/src/ipa/ipu3/ipu3_awb.cpp\n> >> index f8788065..54ce8e67 100644\n> >> --- a/src/ipa/ipu3/ipu3_awb.cpp\n> >> +++ b/src/ipa/ipu3/ipu3_awb.cpp\n> >> @@ -134,6 +134,31 @@ static const struct ipu3_uapi_ccm_mat_config imguCssCcmDefault = {\n> >>  \t0, 0, 8191, 0\n> >>  };\n> >>  \n> >> +/* Default settings for Gamma correction */\n> >> +const struct ipu3_uapi_gamma_corr_lut imguCssGammaLut = { {\n> >> +\t63, 79, 95, 111, 127, 143, 159, 175, 191, 207, 223, 239, 255, 271, 287,\n> >> +\t303, 319, 335, 351, 367, 383, 399, 415, 431, 447, 463, 479, 495, 511,\n> >> +\t527, 543, 559, 575, 591, 607, 623, 639, 655, 671, 687, 703, 719, 735,\n> >> +\t751, 767, 783, 799, 815, 831, 847, 863, 879, 895, 911, 927, 943, 959,\n> >> +\t975, 991, 1007, 1023, 1039, 1055, 1071, 1087, 1103, 1119, 1135, 1151,\n> >> +\t1167, 1183, 1199, 1215, 1231, 1247, 1263, 1279, 1295, 1311, 1327, 1343,\n> >> +\t1359, 1375, 1391, 1407, 1423, 1439, 1455, 1471, 1487, 1503, 1519, 1535,\n> >> +\t1551, 1567, 1583, 1599, 1615, 1631, 1647, 1663, 1679, 1695, 1711, 1727,\n> >> +\t1743, 1759, 1775, 1791, 1807, 1823, 1839, 1855, 1871, 1887, 1903, 1919,\n> >> +\t1935, 1951, 1967, 1983, 1999, 2015, 2031, 2047, 2063, 2079, 2095, 2111,\n> >> +\t2143, 2175, 2207, 2239, 2271, 2303, 2335, 2367, 2399, 2431, 2463, 2495,\n> >> +\t2527, 2559, 2591, 2623, 2655, 2687, 2719, 2751, 2783, 2815, 2847, 2879,\n> >> +\t2911, 2943, 2975, 3007, 3039, 3071, 3103, 3135, 3167, 3199, 3231, 3263,\n> >> +\t3295, 3327, 3359, 3391, 3423, 3455, 3487, 3519, 3551, 3583, 3615, 3647,\n> >> +\t3679, 3711, 3743, 3775, 3807, 3839, 3871, 3903, 3935, 3967, 3999, 4031,\n> >> +\t4063, 4095, 4127, 4159, 4223, 4287, 4351, 4415, 4479, 4543, 4607, 4671,\n> >> +\t4735, 4799, 4863, 4927, 4991, 5055, 5119, 5183, 5247, 5311, 5375, 5439,\n> >> +\t5503, 5567, 5631, 5695, 5759, 5823, 5887, 5951, 6015, 6079, 6143, 6207,\n> >> +\t6271, 6335, 6399, 6463, 6527, 6591, 6655, 6719, 6783, 6847, 6911, 6975,\n> >> +\t7039, 7103, 7167, 7231, 7295, 7359, 7423, 7487, 7551, 7615, 7679, 7743,\n> >> +\t7807, 7871, 7935, 7999, 8063, 8127, 8191\n> >> +} };\n> > \n> > Interesting default, it's a piecewise linear function equal to\n> > \n> > 63 + i * 16\t\t\t\t\twhen 0 <= i <= 128\n> > 63 + 128 * 16 + (i - 128) * 32\t\t\twhen 128 < i <= 192\n> > 63 + 128 * 16 + 64 * 32 + (i - 192) * 32\twhen 192 < i <= 255\n> > \n> > Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n> \n> Indeed, but don't have a math function for that...\n> Does it mean you want to extract the class Pwl from RPi and integrate it\n> into libipa ;-) ?\n\nEventually yes, but even without that, we could implement the above here\ninstead of hardcoding the table if we wanted to.\n\n> >> +\n> >>  IPU3Awb::IPU3Awb()\n> >>  \t: Algorithm()\n> >>  {\n> >> @@ -174,6 +199,7 @@ void IPU3Awb::initialise(ipu3_uapi_params &params, const Size &bdsOutputSize, st\n> >>  \tparams.acc_param.ccm = imguCssCcmDefault;\n> >>  \n> >>  \tparams.use.acc_gamma = 1;\n> >> +\tparams.acc_param.gamma.gc_lut = imguCssGammaLut;\n> >>  \tparams.acc_param.gamma.gc_ctrl.enable = 1;\n> >>  \n> >>  \tzones_.reserve(kAwbStatsSizeX * kAwbStatsSizeY);","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 67ED8C3203\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu, 27 May 2021 15:06:06 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id BF70B602AA;\n\tThu, 27 May 2021 17:06:05 +0200 (CEST)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 5AA55602AA\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 27 May 2021 17:06:04 +0200 (CEST)","from pendragon.ideasonboard.com (62-78-145-57.bb.dnainternet.fi\n\t[62.78.145.57])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 7BE71163F;\n\tThu, 27 May 2021 17:06:03 +0200 (CEST)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"Jk8kXneX\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1622127964;\n\tbh=fY4FB1r9ZMCwG/Bl46NCHzX38z1JL7Sj69hALyYIhUk=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=Jk8kXneXm3saUVDsdj0VxYOo8UbhuXPWSX+zIcR7fVUiSxeiVqXzy5yiLMTLgrwax\n\tP0OgPkLyTq+w50Ch+GuV+rtMheVhziox85Ul6WKUwYMo1BwKmx24fwgAsAJJ87S7oq\n\tD+By43VZvlkGr7m6eaIS+TZZeBkSoQv9qUQmjrB0=","Date":"Thu, 27 May 2021 18:05:56 +0300","From":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","To":"Jean-Michel Hautbois <jeanmichel.hautbois@ideasonboard.com>","Message-ID":"<YK+1VLbHYAC06zAG@pendragon.ideasonboard.com>","References":"<20210527101105.32789-1-jeanmichel.hautbois@ideasonboard.com>\n\t<YK91YhVknDAKAtze@pendragon.ideasonboard.com>\n\t<70ab629d-3e19-0bfd-e668-c443dd1cee65@ideasonboard.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","In-Reply-To":"<70ab629d-3e19-0bfd-e668-c443dd1cee65@ideasonboard.com>","Subject":"Re: [libcamera-devel] [PATCH] ipa: ipu3: Use a default gamma LUT at\n\tstartup","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>","Cc":"libcamera-devel@lists.libcamera.org","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":17337,"web_url":"https://patchwork.libcamera.org/comment/17337/","msgid":"<20210528014512.GK1274010@pyrite.rasen.tech>","date":"2021-05-28T01:45:12","subject":"Re: [libcamera-devel] [PATCH] ipa: ipu3: Use a default gamma LUT at\n\tstartup","submitter":{"id":17,"url":"https://patchwork.libcamera.org/api/people/17/","name":"Paul Elder","email":"paul.elder@ideasonboard.com"},"content":"Hi Jean-Michel,\n\nOn Thu, May 27, 2021 at 12:11:05PM +0200, Jean-Michel Hautbois wrote:\n> A custom gamma LUT is used, but the table is not calculated at startup,\n> resulting in an all 0's frame.\n> Use the drfault LUT specified in the Linux kernel as a first estimation.\n> \n> Reported-by: Paul Elder <paul.elder@ideasonboard.com>\n> Signed-off-by: Jean-Michel Hautbois <jeanmichel.hautbois@ideasonboard.com>\n> Tested-by: Paul Elder <paul.elder@ideasonboard.com>\n\nReviewed-by: Paul Elder <paul.elder@ideasonboard.com>\n\n> ---\n>  src/ipa/ipu3/ipu3_awb.cpp | 26 ++++++++++++++++++++++++++\n>  1 file changed, 26 insertions(+)\n> \n> diff --git a/src/ipa/ipu3/ipu3_awb.cpp b/src/ipa/ipu3/ipu3_awb.cpp\n> index f8788065..54ce8e67 100644\n> --- a/src/ipa/ipu3/ipu3_awb.cpp\n> +++ b/src/ipa/ipu3/ipu3_awb.cpp\n> @@ -134,6 +134,31 @@ static const struct ipu3_uapi_ccm_mat_config imguCssCcmDefault = {\n>  \t0, 0, 8191, 0\n>  };\n>  \n> +/* Default settings for Gamma correction */\n> +const struct ipu3_uapi_gamma_corr_lut imguCssGammaLut = { {\n> +\t63, 79, 95, 111, 127, 143, 159, 175, 191, 207, 223, 239, 255, 271, 287,\n> +\t303, 319, 335, 351, 367, 383, 399, 415, 431, 447, 463, 479, 495, 511,\n> +\t527, 543, 559, 575, 591, 607, 623, 639, 655, 671, 687, 703, 719, 735,\n> +\t751, 767, 783, 799, 815, 831, 847, 863, 879, 895, 911, 927, 943, 959,\n> +\t975, 991, 1007, 1023, 1039, 1055, 1071, 1087, 1103, 1119, 1135, 1151,\n> +\t1167, 1183, 1199, 1215, 1231, 1247, 1263, 1279, 1295, 1311, 1327, 1343,\n> +\t1359, 1375, 1391, 1407, 1423, 1439, 1455, 1471, 1487, 1503, 1519, 1535,\n> +\t1551, 1567, 1583, 1599, 1615, 1631, 1647, 1663, 1679, 1695, 1711, 1727,\n> +\t1743, 1759, 1775, 1791, 1807, 1823, 1839, 1855, 1871, 1887, 1903, 1919,\n> +\t1935, 1951, 1967, 1983, 1999, 2015, 2031, 2047, 2063, 2079, 2095, 2111,\n> +\t2143, 2175, 2207, 2239, 2271, 2303, 2335, 2367, 2399, 2431, 2463, 2495,\n> +\t2527, 2559, 2591, 2623, 2655, 2687, 2719, 2751, 2783, 2815, 2847, 2879,\n> +\t2911, 2943, 2975, 3007, 3039, 3071, 3103, 3135, 3167, 3199, 3231, 3263,\n> +\t3295, 3327, 3359, 3391, 3423, 3455, 3487, 3519, 3551, 3583, 3615, 3647,\n> +\t3679, 3711, 3743, 3775, 3807, 3839, 3871, 3903, 3935, 3967, 3999, 4031,\n> +\t4063, 4095, 4127, 4159, 4223, 4287, 4351, 4415, 4479, 4543, 4607, 4671,\n> +\t4735, 4799, 4863, 4927, 4991, 5055, 5119, 5183, 5247, 5311, 5375, 5439,\n> +\t5503, 5567, 5631, 5695, 5759, 5823, 5887, 5951, 6015, 6079, 6143, 6207,\n> +\t6271, 6335, 6399, 6463, 6527, 6591, 6655, 6719, 6783, 6847, 6911, 6975,\n> +\t7039, 7103, 7167, 7231, 7295, 7359, 7423, 7487, 7551, 7615, 7679, 7743,\n> +\t7807, 7871, 7935, 7999, 8063, 8127, 8191\n> +} };\n> +\n>  IPU3Awb::IPU3Awb()\n>  \t: Algorithm()\n>  {\n> @@ -174,6 +199,7 @@ void IPU3Awb::initialise(ipu3_uapi_params &params, const Size &bdsOutputSize, st\n>  \tparams.acc_param.ccm = imguCssCcmDefault;\n>  \n>  \tparams.use.acc_gamma = 1;\n> +\tparams.acc_param.gamma.gc_lut = imguCssGammaLut;\n>  \tparams.acc_param.gamma.gc_ctrl.enable = 1;\n>  \n>  \tzones_.reserve(kAwbStatsSizeX * kAwbStatsSizeY);\n> -- \n> 2.30.2\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 5DBC7C3205\n\tfor <parsemail@patchwork.libcamera.org>;\n\tFri, 28 May 2021 01:45:23 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 5286368922;\n\tFri, 28 May 2021 03:45:22 +0200 (CEST)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 643E3602AE\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 28 May 2021 03:45:20 +0200 (CEST)","from pyrite.rasen.tech (unknown\n\t[IPv6:2400:4051:61:600:2c71:1b79:d06d:5032])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id ECD0A580;\n\tFri, 28 May 2021 03:45:18 +0200 (CEST)"],"Authentication-Results":"lancelot.ideasonboard.com;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"h7nmyXhN\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1622166320;\n\tbh=BPbmwgF5Gm5Mq6aC/biBLIBTKxGawn6kX06hRFWhwso=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=h7nmyXhN186ZsJGMhmFzbtlE7WOzjA3yNqgCd7whJskn0l1pt9m/29UqgmFXbMdJp\n\tgWADb6O4oh8IlO/MEKcJhpiQyNTYHnajjDUoGueqOV4/6yWiqoVKBoyFbPQvOIYLkG\n\tOQbxA2qqNgcIPtsS3WzF4i7C14oGCOY1gq38jcTU=","Date":"Fri, 28 May 2021 10:45:12 +0900","From":"paul.elder@ideasonboard.com","To":"Jean-Michel Hautbois <jeanmichel.hautbois@ideasonboard.com>","Message-ID":"<20210528014512.GK1274010@pyrite.rasen.tech>","References":"<20210527101105.32789-1-jeanmichel.hautbois@ideasonboard.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=us-ascii","Content-Disposition":"inline","In-Reply-To":"<20210527101105.32789-1-jeanmichel.hautbois@ideasonboard.com>","Subject":"Re: [libcamera-devel] [PATCH] ipa: ipu3: Use a default gamma LUT at\n\tstartup","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>","Cc":"libcamera-devel@lists.libcamera.org","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}}]