[libcamera-devel] ipa: ipu3: Use a default gamma LUT at startup
diff mbox series

Message ID 20210527101105.32789-1-jeanmichel.hautbois@ideasonboard.com
State Accepted
Commit bcfd7b636922261987121d785a4ce4a13dd6afc3
Headers show
Series
  • [libcamera-devel] ipa: ipu3: Use a default gamma LUT at startup
Related show

Commit Message

Jean-Michel Hautbois May 27, 2021, 10:11 a.m. UTC
A custom gamma LUT is used, but the table is not calculated at startup,
resulting in an all 0's frame.
Use the drfault LUT specified in the Linux kernel as a first estimation.

Reported-by: Paul Elder <paul.elder@ideasonboard.com>
Signed-off-by: Jean-Michel Hautbois <jeanmichel.hautbois@ideasonboard.com>
Tested-by: Paul Elder <paul.elder@ideasonboard.com>
---
 src/ipa/ipu3/ipu3_awb.cpp | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

Comments

Laurent Pinchart May 27, 2021, 10:33 a.m. UTC | #1
Hi Jean-Michel,

Thank you for the patch.

On Thu, May 27, 2021 at 12:11:05PM +0200, Jean-Michel Hautbois wrote:
> A custom gamma LUT is used, but the table is not calculated at startup,
> resulting in an all 0's frame.
> Use the drfault LUT specified in the Linux kernel as a first estimation.

s/drfault/default/

> Reported-by: Paul Elder <paul.elder@ideasonboard.com>
> Signed-off-by: Jean-Michel Hautbois <jeanmichel.hautbois@ideasonboard.com>
> Tested-by: Paul Elder <paul.elder@ideasonboard.com>
> ---
>  src/ipa/ipu3/ipu3_awb.cpp | 26 ++++++++++++++++++++++++++
>  1 file changed, 26 insertions(+)
> 
> diff --git a/src/ipa/ipu3/ipu3_awb.cpp b/src/ipa/ipu3/ipu3_awb.cpp
> index f8788065..54ce8e67 100644
> --- a/src/ipa/ipu3/ipu3_awb.cpp
> +++ b/src/ipa/ipu3/ipu3_awb.cpp
> @@ -134,6 +134,31 @@ static const struct ipu3_uapi_ccm_mat_config imguCssCcmDefault = {
>  	0, 0, 8191, 0
>  };
>  
> +/* Default settings for Gamma correction */
> +const struct ipu3_uapi_gamma_corr_lut imguCssGammaLut = { {
> +	63, 79, 95, 111, 127, 143, 159, 175, 191, 207, 223, 239, 255, 271, 287,
> +	303, 319, 335, 351, 367, 383, 399, 415, 431, 447, 463, 479, 495, 511,
> +	527, 543, 559, 575, 591, 607, 623, 639, 655, 671, 687, 703, 719, 735,
> +	751, 767, 783, 799, 815, 831, 847, 863, 879, 895, 911, 927, 943, 959,
> +	975, 991, 1007, 1023, 1039, 1055, 1071, 1087, 1103, 1119, 1135, 1151,
> +	1167, 1183, 1199, 1215, 1231, 1247, 1263, 1279, 1295, 1311, 1327, 1343,
> +	1359, 1375, 1391, 1407, 1423, 1439, 1455, 1471, 1487, 1503, 1519, 1535,
> +	1551, 1567, 1583, 1599, 1615, 1631, 1647, 1663, 1679, 1695, 1711, 1727,
> +	1743, 1759, 1775, 1791, 1807, 1823, 1839, 1855, 1871, 1887, 1903, 1919,
> +	1935, 1951, 1967, 1983, 1999, 2015, 2031, 2047, 2063, 2079, 2095, 2111,
> +	2143, 2175, 2207, 2239, 2271, 2303, 2335, 2367, 2399, 2431, 2463, 2495,
> +	2527, 2559, 2591, 2623, 2655, 2687, 2719, 2751, 2783, 2815, 2847, 2879,
> +	2911, 2943, 2975, 3007, 3039, 3071, 3103, 3135, 3167, 3199, 3231, 3263,
> +	3295, 3327, 3359, 3391, 3423, 3455, 3487, 3519, 3551, 3583, 3615, 3647,
> +	3679, 3711, 3743, 3775, 3807, 3839, 3871, 3903, 3935, 3967, 3999, 4031,
> +	4063, 4095, 4127, 4159, 4223, 4287, 4351, 4415, 4479, 4543, 4607, 4671,
> +	4735, 4799, 4863, 4927, 4991, 5055, 5119, 5183, 5247, 5311, 5375, 5439,
> +	5503, 5567, 5631, 5695, 5759, 5823, 5887, 5951, 6015, 6079, 6143, 6207,
> +	6271, 6335, 6399, 6463, 6527, 6591, 6655, 6719, 6783, 6847, 6911, 6975,
> +	7039, 7103, 7167, 7231, 7295, 7359, 7423, 7487, 7551, 7615, 7679, 7743,
> +	7807, 7871, 7935, 7999, 8063, 8127, 8191
> +} };

Interesting default, it's a piecewise linear function equal to

63 + i * 16					when 0 <= i <= 128
63 + 128 * 16 + (i - 128) * 32			when 128 < i <= 192
63 + 128 * 16 + 64 * 32 + (i - 192) * 32	when 192 < i <= 255

Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

> +
>  IPU3Awb::IPU3Awb()
>  	: Algorithm()
>  {
> @@ -174,6 +199,7 @@ void IPU3Awb::initialise(ipu3_uapi_params &params, const Size &bdsOutputSize, st
>  	params.acc_param.ccm = imguCssCcmDefault;
>  
>  	params.use.acc_gamma = 1;
> +	params.acc_param.gamma.gc_lut = imguCssGammaLut;
>  	params.acc_param.gamma.gc_ctrl.enable = 1;
>  
>  	zones_.reserve(kAwbStatsSizeX * kAwbStatsSizeY);
Jean-Michel Hautbois May 27, 2021, 2:56 p.m. UTC | #2
Hi Laurent,

On 27/05/2021 12:33, Laurent Pinchart wrote:
> Hi Jean-Michel,
> 
> Thank you for the patch.
> 
> On Thu, May 27, 2021 at 12:11:05PM +0200, Jean-Michel Hautbois wrote:
>> A custom gamma LUT is used, but the table is not calculated at startup,
>> resulting in an all 0's frame.
>> Use the drfault LUT specified in the Linux kernel as a first estimation.
> 
> s/drfault/default/
> 
>> Reported-by: Paul Elder <paul.elder@ideasonboard.com>
>> Signed-off-by: Jean-Michel Hautbois <jeanmichel.hautbois@ideasonboard.com>
>> Tested-by: Paul Elder <paul.elder@ideasonboard.com>
>> ---
>>  src/ipa/ipu3/ipu3_awb.cpp | 26 ++++++++++++++++++++++++++
>>  1 file changed, 26 insertions(+)
>>
>> diff --git a/src/ipa/ipu3/ipu3_awb.cpp b/src/ipa/ipu3/ipu3_awb.cpp
>> index f8788065..54ce8e67 100644
>> --- a/src/ipa/ipu3/ipu3_awb.cpp
>> +++ b/src/ipa/ipu3/ipu3_awb.cpp
>> @@ -134,6 +134,31 @@ static const struct ipu3_uapi_ccm_mat_config imguCssCcmDefault = {
>>  	0, 0, 8191, 0
>>  };
>>  
>> +/* Default settings for Gamma correction */
>> +const struct ipu3_uapi_gamma_corr_lut imguCssGammaLut = { {
>> +	63, 79, 95, 111, 127, 143, 159, 175, 191, 207, 223, 239, 255, 271, 287,
>> +	303, 319, 335, 351, 367, 383, 399, 415, 431, 447, 463, 479, 495, 511,
>> +	527, 543, 559, 575, 591, 607, 623, 639, 655, 671, 687, 703, 719, 735,
>> +	751, 767, 783, 799, 815, 831, 847, 863, 879, 895, 911, 927, 943, 959,
>> +	975, 991, 1007, 1023, 1039, 1055, 1071, 1087, 1103, 1119, 1135, 1151,
>> +	1167, 1183, 1199, 1215, 1231, 1247, 1263, 1279, 1295, 1311, 1327, 1343,
>> +	1359, 1375, 1391, 1407, 1423, 1439, 1455, 1471, 1487, 1503, 1519, 1535,
>> +	1551, 1567, 1583, 1599, 1615, 1631, 1647, 1663, 1679, 1695, 1711, 1727,
>> +	1743, 1759, 1775, 1791, 1807, 1823, 1839, 1855, 1871, 1887, 1903, 1919,
>> +	1935, 1951, 1967, 1983, 1999, 2015, 2031, 2047, 2063, 2079, 2095, 2111,
>> +	2143, 2175, 2207, 2239, 2271, 2303, 2335, 2367, 2399, 2431, 2463, 2495,
>> +	2527, 2559, 2591, 2623, 2655, 2687, 2719, 2751, 2783, 2815, 2847, 2879,
>> +	2911, 2943, 2975, 3007, 3039, 3071, 3103, 3135, 3167, 3199, 3231, 3263,
>> +	3295, 3327, 3359, 3391, 3423, 3455, 3487, 3519, 3551, 3583, 3615, 3647,
>> +	3679, 3711, 3743, 3775, 3807, 3839, 3871, 3903, 3935, 3967, 3999, 4031,
>> +	4063, 4095, 4127, 4159, 4223, 4287, 4351, 4415, 4479, 4543, 4607, 4671,
>> +	4735, 4799, 4863, 4927, 4991, 5055, 5119, 5183, 5247, 5311, 5375, 5439,
>> +	5503, 5567, 5631, 5695, 5759, 5823, 5887, 5951, 6015, 6079, 6143, 6207,
>> +	6271, 6335, 6399, 6463, 6527, 6591, 6655, 6719, 6783, 6847, 6911, 6975,
>> +	7039, 7103, 7167, 7231, 7295, 7359, 7423, 7487, 7551, 7615, 7679, 7743,
>> +	7807, 7871, 7935, 7999, 8063, 8127, 8191
>> +} };
> 
> Interesting default, it's a piecewise linear function equal to
> 
> 63 + i * 16					when 0 <= i <= 128
> 63 + 128 * 16 + (i - 128) * 32			when 128 < i <= 192
> 63 + 128 * 16 + 64 * 32 + (i - 192) * 32	when 192 < i <= 255
> 
> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

Indeed, but don't have a math function for that...
Does it mean you want to extract the class Pwl from RPi and integrate it
into libipa ;-) ?

>> +
>>  IPU3Awb::IPU3Awb()
>>  	: Algorithm()
>>  {
>> @@ -174,6 +199,7 @@ void IPU3Awb::initialise(ipu3_uapi_params &params, const Size &bdsOutputSize, st
>>  	params.acc_param.ccm = imguCssCcmDefault;
>>  
>>  	params.use.acc_gamma = 1;
>> +	params.acc_param.gamma.gc_lut = imguCssGammaLut;
>>  	params.acc_param.gamma.gc_ctrl.enable = 1;
>>  
>>  	zones_.reserve(kAwbStatsSizeX * kAwbStatsSizeY);
>
Laurent Pinchart May 27, 2021, 3:05 p.m. UTC | #3
Hi Jean-Michel,

On Thu, May 27, 2021 at 04:56:26PM +0200, Jean-Michel Hautbois wrote:
> On 27/05/2021 12:33, Laurent Pinchart wrote:
> > On Thu, May 27, 2021 at 12:11:05PM +0200, Jean-Michel Hautbois wrote:
> >> A custom gamma LUT is used, but the table is not calculated at startup,
> >> resulting in an all 0's frame.
> >> Use the drfault LUT specified in the Linux kernel as a first estimation.
> > 
> > s/drfault/default/
> > 
> >> Reported-by: Paul Elder <paul.elder@ideasonboard.com>
> >> Signed-off-by: Jean-Michel Hautbois <jeanmichel.hautbois@ideasonboard.com>
> >> Tested-by: Paul Elder <paul.elder@ideasonboard.com>
> >> ---
> >>  src/ipa/ipu3/ipu3_awb.cpp | 26 ++++++++++++++++++++++++++
> >>  1 file changed, 26 insertions(+)
> >>
> >> diff --git a/src/ipa/ipu3/ipu3_awb.cpp b/src/ipa/ipu3/ipu3_awb.cpp
> >> index f8788065..54ce8e67 100644
> >> --- a/src/ipa/ipu3/ipu3_awb.cpp
> >> +++ b/src/ipa/ipu3/ipu3_awb.cpp
> >> @@ -134,6 +134,31 @@ static const struct ipu3_uapi_ccm_mat_config imguCssCcmDefault = {
> >>  	0, 0, 8191, 0
> >>  };
> >>  
> >> +/* Default settings for Gamma correction */
> >> +const struct ipu3_uapi_gamma_corr_lut imguCssGammaLut = { {
> >> +	63, 79, 95, 111, 127, 143, 159, 175, 191, 207, 223, 239, 255, 271, 287,
> >> +	303, 319, 335, 351, 367, 383, 399, 415, 431, 447, 463, 479, 495, 511,
> >> +	527, 543, 559, 575, 591, 607, 623, 639, 655, 671, 687, 703, 719, 735,
> >> +	751, 767, 783, 799, 815, 831, 847, 863, 879, 895, 911, 927, 943, 959,
> >> +	975, 991, 1007, 1023, 1039, 1055, 1071, 1087, 1103, 1119, 1135, 1151,
> >> +	1167, 1183, 1199, 1215, 1231, 1247, 1263, 1279, 1295, 1311, 1327, 1343,
> >> +	1359, 1375, 1391, 1407, 1423, 1439, 1455, 1471, 1487, 1503, 1519, 1535,
> >> +	1551, 1567, 1583, 1599, 1615, 1631, 1647, 1663, 1679, 1695, 1711, 1727,
> >> +	1743, 1759, 1775, 1791, 1807, 1823, 1839, 1855, 1871, 1887, 1903, 1919,
> >> +	1935, 1951, 1967, 1983, 1999, 2015, 2031, 2047, 2063, 2079, 2095, 2111,
> >> +	2143, 2175, 2207, 2239, 2271, 2303, 2335, 2367, 2399, 2431, 2463, 2495,
> >> +	2527, 2559, 2591, 2623, 2655, 2687, 2719, 2751, 2783, 2815, 2847, 2879,
> >> +	2911, 2943, 2975, 3007, 3039, 3071, 3103, 3135, 3167, 3199, 3231, 3263,
> >> +	3295, 3327, 3359, 3391, 3423, 3455, 3487, 3519, 3551, 3583, 3615, 3647,
> >> +	3679, 3711, 3743, 3775, 3807, 3839, 3871, 3903, 3935, 3967, 3999, 4031,
> >> +	4063, 4095, 4127, 4159, 4223, 4287, 4351, 4415, 4479, 4543, 4607, 4671,
> >> +	4735, 4799, 4863, 4927, 4991, 5055, 5119, 5183, 5247, 5311, 5375, 5439,
> >> +	5503, 5567, 5631, 5695, 5759, 5823, 5887, 5951, 6015, 6079, 6143, 6207,
> >> +	6271, 6335, 6399, 6463, 6527, 6591, 6655, 6719, 6783, 6847, 6911, 6975,
> >> +	7039, 7103, 7167, 7231, 7295, 7359, 7423, 7487, 7551, 7615, 7679, 7743,
> >> +	7807, 7871, 7935, 7999, 8063, 8127, 8191
> >> +} };
> > 
> > Interesting default, it's a piecewise linear function equal to
> > 
> > 63 + i * 16					when 0 <= i <= 128
> > 63 + 128 * 16 + (i - 128) * 32			when 128 < i <= 192
> > 63 + 128 * 16 + 64 * 32 + (i - 192) * 32	when 192 < i <= 255
> > 
> > Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> 
> Indeed, but don't have a math function for that...
> Does it mean you want to extract the class Pwl from RPi and integrate it
> into libipa ;-) ?

Eventually yes, but even without that, we could implement the above here
instead of hardcoding the table if we wanted to.

> >> +
> >>  IPU3Awb::IPU3Awb()
> >>  	: Algorithm()
> >>  {
> >> @@ -174,6 +199,7 @@ void IPU3Awb::initialise(ipu3_uapi_params &params, const Size &bdsOutputSize, st
> >>  	params.acc_param.ccm = imguCssCcmDefault;
> >>  
> >>  	params.use.acc_gamma = 1;
> >> +	params.acc_param.gamma.gc_lut = imguCssGammaLut;
> >>  	params.acc_param.gamma.gc_ctrl.enable = 1;
> >>  
> >>  	zones_.reserve(kAwbStatsSizeX * kAwbStatsSizeY);
Paul Elder May 28, 2021, 1:45 a.m. UTC | #4
Hi Jean-Michel,

On Thu, May 27, 2021 at 12:11:05PM +0200, Jean-Michel Hautbois wrote:
> A custom gamma LUT is used, but the table is not calculated at startup,
> resulting in an all 0's frame.
> Use the drfault LUT specified in the Linux kernel as a first estimation.
> 
> Reported-by: Paul Elder <paul.elder@ideasonboard.com>
> Signed-off-by: Jean-Michel Hautbois <jeanmichel.hautbois@ideasonboard.com>
> Tested-by: Paul Elder <paul.elder@ideasonboard.com>

Reviewed-by: Paul Elder <paul.elder@ideasonboard.com>

> ---
>  src/ipa/ipu3/ipu3_awb.cpp | 26 ++++++++++++++++++++++++++
>  1 file changed, 26 insertions(+)
> 
> diff --git a/src/ipa/ipu3/ipu3_awb.cpp b/src/ipa/ipu3/ipu3_awb.cpp
> index f8788065..54ce8e67 100644
> --- a/src/ipa/ipu3/ipu3_awb.cpp
> +++ b/src/ipa/ipu3/ipu3_awb.cpp
> @@ -134,6 +134,31 @@ static const struct ipu3_uapi_ccm_mat_config imguCssCcmDefault = {
>  	0, 0, 8191, 0
>  };
>  
> +/* Default settings for Gamma correction */
> +const struct ipu3_uapi_gamma_corr_lut imguCssGammaLut = { {
> +	63, 79, 95, 111, 127, 143, 159, 175, 191, 207, 223, 239, 255, 271, 287,
> +	303, 319, 335, 351, 367, 383, 399, 415, 431, 447, 463, 479, 495, 511,
> +	527, 543, 559, 575, 591, 607, 623, 639, 655, 671, 687, 703, 719, 735,
> +	751, 767, 783, 799, 815, 831, 847, 863, 879, 895, 911, 927, 943, 959,
> +	975, 991, 1007, 1023, 1039, 1055, 1071, 1087, 1103, 1119, 1135, 1151,
> +	1167, 1183, 1199, 1215, 1231, 1247, 1263, 1279, 1295, 1311, 1327, 1343,
> +	1359, 1375, 1391, 1407, 1423, 1439, 1455, 1471, 1487, 1503, 1519, 1535,
> +	1551, 1567, 1583, 1599, 1615, 1631, 1647, 1663, 1679, 1695, 1711, 1727,
> +	1743, 1759, 1775, 1791, 1807, 1823, 1839, 1855, 1871, 1887, 1903, 1919,
> +	1935, 1951, 1967, 1983, 1999, 2015, 2031, 2047, 2063, 2079, 2095, 2111,
> +	2143, 2175, 2207, 2239, 2271, 2303, 2335, 2367, 2399, 2431, 2463, 2495,
> +	2527, 2559, 2591, 2623, 2655, 2687, 2719, 2751, 2783, 2815, 2847, 2879,
> +	2911, 2943, 2975, 3007, 3039, 3071, 3103, 3135, 3167, 3199, 3231, 3263,
> +	3295, 3327, 3359, 3391, 3423, 3455, 3487, 3519, 3551, 3583, 3615, 3647,
> +	3679, 3711, 3743, 3775, 3807, 3839, 3871, 3903, 3935, 3967, 3999, 4031,
> +	4063, 4095, 4127, 4159, 4223, 4287, 4351, 4415, 4479, 4543, 4607, 4671,
> +	4735, 4799, 4863, 4927, 4991, 5055, 5119, 5183, 5247, 5311, 5375, 5439,
> +	5503, 5567, 5631, 5695, 5759, 5823, 5887, 5951, 6015, 6079, 6143, 6207,
> +	6271, 6335, 6399, 6463, 6527, 6591, 6655, 6719, 6783, 6847, 6911, 6975,
> +	7039, 7103, 7167, 7231, 7295, 7359, 7423, 7487, 7551, 7615, 7679, 7743,
> +	7807, 7871, 7935, 7999, 8063, 8127, 8191
> +} };
> +
>  IPU3Awb::IPU3Awb()
>  	: Algorithm()
>  {
> @@ -174,6 +199,7 @@ void IPU3Awb::initialise(ipu3_uapi_params &params, const Size &bdsOutputSize, st
>  	params.acc_param.ccm = imguCssCcmDefault;
>  
>  	params.use.acc_gamma = 1;
> +	params.acc_param.gamma.gc_lut = imguCssGammaLut;
>  	params.acc_param.gamma.gc_ctrl.enable = 1;
>  
>  	zones_.reserve(kAwbStatsSizeX * kAwbStatsSizeY);
> -- 
> 2.30.2
>

Patch
diff mbox series

diff --git a/src/ipa/ipu3/ipu3_awb.cpp b/src/ipa/ipu3/ipu3_awb.cpp
index f8788065..54ce8e67 100644
--- a/src/ipa/ipu3/ipu3_awb.cpp
+++ b/src/ipa/ipu3/ipu3_awb.cpp
@@ -134,6 +134,31 @@  static const struct ipu3_uapi_ccm_mat_config imguCssCcmDefault = {
 	0, 0, 8191, 0
 };
 
+/* Default settings for Gamma correction */
+const struct ipu3_uapi_gamma_corr_lut imguCssGammaLut = { {
+	63, 79, 95, 111, 127, 143, 159, 175, 191, 207, 223, 239, 255, 271, 287,
+	303, 319, 335, 351, 367, 383, 399, 415, 431, 447, 463, 479, 495, 511,
+	527, 543, 559, 575, 591, 607, 623, 639, 655, 671, 687, 703, 719, 735,
+	751, 767, 783, 799, 815, 831, 847, 863, 879, 895, 911, 927, 943, 959,
+	975, 991, 1007, 1023, 1039, 1055, 1071, 1087, 1103, 1119, 1135, 1151,
+	1167, 1183, 1199, 1215, 1231, 1247, 1263, 1279, 1295, 1311, 1327, 1343,
+	1359, 1375, 1391, 1407, 1423, 1439, 1455, 1471, 1487, 1503, 1519, 1535,
+	1551, 1567, 1583, 1599, 1615, 1631, 1647, 1663, 1679, 1695, 1711, 1727,
+	1743, 1759, 1775, 1791, 1807, 1823, 1839, 1855, 1871, 1887, 1903, 1919,
+	1935, 1951, 1967, 1983, 1999, 2015, 2031, 2047, 2063, 2079, 2095, 2111,
+	2143, 2175, 2207, 2239, 2271, 2303, 2335, 2367, 2399, 2431, 2463, 2495,
+	2527, 2559, 2591, 2623, 2655, 2687, 2719, 2751, 2783, 2815, 2847, 2879,
+	2911, 2943, 2975, 3007, 3039, 3071, 3103, 3135, 3167, 3199, 3231, 3263,
+	3295, 3327, 3359, 3391, 3423, 3455, 3487, 3519, 3551, 3583, 3615, 3647,
+	3679, 3711, 3743, 3775, 3807, 3839, 3871, 3903, 3935, 3967, 3999, 4031,
+	4063, 4095, 4127, 4159, 4223, 4287, 4351, 4415, 4479, 4543, 4607, 4671,
+	4735, 4799, 4863, 4927, 4991, 5055, 5119, 5183, 5247, 5311, 5375, 5439,
+	5503, 5567, 5631, 5695, 5759, 5823, 5887, 5951, 6015, 6079, 6143, 6207,
+	6271, 6335, 6399, 6463, 6527, 6591, 6655, 6719, 6783, 6847, 6911, 6975,
+	7039, 7103, 7167, 7231, 7295, 7359, 7423, 7487, 7551, 7615, 7679, 7743,
+	7807, 7871, 7935, 7999, 8063, 8127, 8191
+} };
+
 IPU3Awb::IPU3Awb()
 	: Algorithm()
 {
@@ -174,6 +199,7 @@  void IPU3Awb::initialise(ipu3_uapi_params &params, const Size &bdsOutputSize, st
 	params.acc_param.ccm = imguCssCcmDefault;
 
 	params.use.acc_gamma = 1;
+	params.acc_param.gamma.gc_lut = imguCssGammaLut;
 	params.acc_param.gamma.gc_ctrl.enable = 1;
 
 	zones_.reserve(kAwbStatsSizeX * kAwbStatsSizeY);