ipa: ipu3: agc: Use filtered exposure values
We are filtering the exposure value to limit the gain to apply, but we are not using the result. Fix it. Signed-off-by: Jean-Michel Hautbois <jeanmichel.hautbois@ideasonboard.com> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
This commit is contained in:
parent
a58a784e53
commit
f1cf01d13b
1 changed files with 6 additions and 6 deletions
|
@ -158,17 +158,17 @@ void Agc::lockExposureGain(uint32_t &exposure, double &gain)
|
||||||
|
|
||||||
utils::Duration newExposure = 0.0s;
|
utils::Duration newExposure = 0.0s;
|
||||||
if (currentShutter < maxShutterSpeed) {
|
if (currentShutter < maxShutterSpeed) {
|
||||||
exposure = std::clamp<uint32_t>(exposure * currentExposure_ / currentExposureNoDg_,
|
exposure = std::clamp<uint32_t>(exposure * filteredExposure_ / currentExposureNoDg_,
|
||||||
minExposureLines_,
|
minExposureLines_,
|
||||||
maxExposureLines_);
|
maxExposureLines_);
|
||||||
newExposure = currentExposure_ / exposure;
|
newExposure = filteredExposure_ / exposure;
|
||||||
gain = std::clamp(gain * currentExposure_ / newExposure,
|
gain = std::clamp(gain * filteredExposure_ / newExposure,
|
||||||
kMinGain, kMaxGain);
|
kMinGain, kMaxGain);
|
||||||
} else {
|
} else {
|
||||||
gain = std::clamp(gain * currentExposure_ / currentExposureNoDg_,
|
gain = std::clamp(gain * filteredExposure_ / currentExposureNoDg_,
|
||||||
kMinGain, kMaxGain);
|
kMinGain, kMaxGain);
|
||||||
newExposure = currentExposure_ / gain;
|
newExposure = filteredExposure_ / gain;
|
||||||
exposure = std::clamp<uint32_t>(exposure * currentExposure_ / newExposure,
|
exposure = std::clamp<uint32_t>(exposure * filteredExposure_ / newExposure,
|
||||||
minExposureLines_,
|
minExposureLines_,
|
||||||
maxExposureLines_);
|
maxExposureLines_);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue