mirror of
https://git.libcamera.org/libcamera/libcamera.git
synced 2025-07-24 17:15:07 +03:00
ipa: rpi: agc: Ignore stable region when exposure/gain set manually
When a user is taking control of exposure and gain, setting them manually, we set the AGC "stable region" to zero. This means that any user changes, however small, will be applied, and they won't be regarded as "too small to bother with". Signed-off-by: David Plowman <david.plowman@raspberrypi.com> Reviewed-by: Naushir Patuck <naush@raspberrypi.com> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com> Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
This commit is contained in:
parent
f75b8dd26f
commit
5c5bc85082
1 changed files with 5 additions and 2 deletions
|
@ -883,11 +883,14 @@ void AgcChannel::filterExposure()
|
|||
|
||||
/*
|
||||
* AGC adapts instantly if both shutter and gain are directly specified
|
||||
* or we're in the startup phase.
|
||||
* or we're in the startup phase. Also disable the stable region, because we want
|
||||
* to reflect any user exposure/gain updates, however small.
|
||||
*/
|
||||
if ((status_.fixedShutter && status_.fixedAnalogueGain) ||
|
||||
frameCount_ <= config_.startupFrames)
|
||||
frameCount_ <= config_.startupFrames) {
|
||||
speed = 1.0;
|
||||
stableRegion = 0.0;
|
||||
}
|
||||
if (!filtered_.totalExposure) {
|
||||
filtered_.totalExposure = target_.totalExposure;
|
||||
} else if (filtered_.totalExposure * (1.0 - stableRegion) < target_.totalExposure &&
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue