ipa: rkisp1: agc: Use mode from frame context to calculate new EV
The effective exposure value for each frame is split into shutter time, analog gain and digital gain based on the AGC constraint mode and exposure mode. The algorithm uses the modes from the active state, which tracks the latest queued request, instead of the frame context, which tracks the value of the controls requested for that frame. Fix it by using the correct modes. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com> Reviewed-by: Paul Elder <paul.elder@ideasonboard.com>
This commit is contained in:
@@ -439,8 +439,8 @@ void Agc::process(IPAContext &context, [[maybe_unused]] const uint32_t frame,
|
||||
utils::Duration shutterTime;
|
||||
double aGain, dGain;
|
||||
std::tie(shutterTime, aGain, dGain) =
|
||||
calculateNewEv(context.activeState.agc.constraintMode,
|
||||
context.activeState.agc.exposureMode,
|
||||
calculateNewEv(frameContext.agc.constraintMode,
|
||||
frameContext.agc.exposureMode,
|
||||
hist, effectiveExposureValue);
|
||||
|
||||
LOG(RkISP1Agc, Debug)
|
||||
|
||||
Reference in New Issue
Block a user