ipa: rpi: agc: Allow exposure mode to be updated in auto mode

The code was only allowing the exposure mode to be updated when both
exposure/gain were in manual mode, which is a mistake. It needs to be
updatable precisely when the auto modes are enabled.

The fix is to ignore the enabled/disabled status of AEC/AGC, matching
our other controls (metering mode, constraint mode etc.). While there
might be a debate to be had about what the actual behaviour of all
these controls should be, for the time being we'll just match
everything else.

Signed-off-by: David Plowman <david.plowman@raspberrypi.com>
Reviewed-by: Naushir Patuck <naush@raspberrypi.com>
Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
This commit is contained in:
David Plowman
2025-09-22 09:37:12 +01:00
committed by Kieran Bingham
parent d03a4fbfcd
commit 5ca7afd2d3

View File

@@ -1026,13 +1026,6 @@ void IpaBase::applyControls(const ControlList &controls)
break;
}
/*
* Ignore AE_EXPOSURE_MODE if the shutter or the gain
* are in auto mode.
*/
if (agc->autoExposureEnabled() || agc->autoGainEnabled())
break;
int32_t idx = ctrl.second.get<int32_t>();
if (ExposureModeTable.count(idx)) {
agc->setExposureMode(ExposureModeTable.at(idx));