ipa: ipu3: awb: Clamp gain values
The gain values are coded as u3.13 fixed point values, ie they can not be more than 8. Clamp the values in order to avoid any off limits value which could make the IPU3 behave in a weird manner. Signed-off-by: Jean-Michel Hautbois <jeanmichel.hautbois@ideasonboard.com> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com> Signed-off-by: Umang Jain <umang.jain@ideasonboard.com> Reviewed-by: Umang Jain <umang.jain@ideasonboard.com>
This commit is contained in:
parent
b5d2adbeab
commit
e41854a4e6
1 changed files with 8 additions and 0 deletions
|
@ -353,6 +353,14 @@ void Awb::awbGreyWorld()
|
|||
|
||||
/* Color temperature is not relevant in Grey world but still useful to estimate it :-) */
|
||||
asyncResults_.temperatureK = estimateCCT(sumRed.R, sumRed.G, sumBlue.B);
|
||||
|
||||
/*
|
||||
* Gain values are unsigned integer value ranging [0, 8) with 13 bit
|
||||
* fractional part.
|
||||
*/
|
||||
redGain = std::clamp(redGain, 0.0, 65535.0 / 8192);
|
||||
blueGain = std::clamp(blueGain, 0.0, 65535.0 / 8192);
|
||||
|
||||
asyncResults_.redGain = redGain;
|
||||
/* Hardcode the green gain to 1.0. */
|
||||
asyncResults_.greenGain = 1.0;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue