ipa: rkisp1: agc: Don't update histogram parameters unnecessarily
The ISP histogram parameters depends on the AE metering mode, but not on the other AE algorithm controls. The exposure mode, constraints mode and frame duration limits influence the behaviour of the algorithm, but not the histogram computation parameters. Update the histogram parameters only when AE metering mode changes. 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:
parent
de4ed4e966
commit
05d0f952a3
1 changed files with 2 additions and 7 deletions
|
@ -261,26 +261,21 @@ void Agc::queueRequest(IPAContext &context,
|
|||
frameContext.agc.meteringMode = agc.meteringMode;
|
||||
|
||||
const auto &exposureMode = controls.get(controls::AeExposureMode);
|
||||
if (exposureMode) {
|
||||
frameContext.agc.update = agc.exposureMode != *exposureMode;
|
||||
if (exposureMode)
|
||||
agc.exposureMode =
|
||||
static_cast<controls::AeExposureModeEnum>(*exposureMode);
|
||||
}
|
||||
frameContext.agc.exposureMode = agc.exposureMode;
|
||||
|
||||
const auto &constraintMode = controls.get(controls::AeConstraintMode);
|
||||
if (constraintMode) {
|
||||
frameContext.agc.update = agc.constraintMode != *constraintMode;
|
||||
if (constraintMode)
|
||||
agc.constraintMode =
|
||||
static_cast<controls::AeConstraintModeEnum>(*constraintMode);
|
||||
}
|
||||
frameContext.agc.constraintMode = agc.constraintMode;
|
||||
|
||||
const auto &frameDurationLimits = controls.get(controls::FrameDurationLimits);
|
||||
if (frameDurationLimits) {
|
||||
utils::Duration maxShutterSpeed =
|
||||
std::chrono::milliseconds((*frameDurationLimits).back());
|
||||
frameContext.agc.update = agc.maxShutterSpeed != maxShutterSpeed;
|
||||
agc.maxShutterSpeed = maxShutterSpeed;
|
||||
}
|
||||
frameContext.agc.maxShutterSpeed = agc.maxShutterSpeed;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue