From 05d0f952a36c40392a9c8ccf86d3567a64ecba32 Mon Sep 17 00:00:00 2001 From: Laurent Pinchart Date: Sun, 16 Jun 2024 00:34:16 +0300 Subject: 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 Reviewed-by: Kieran Bingham Reviewed-by: Paul Elder --- src/ipa/rkisp1/algorithms/agc.cpp | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) (limited to 'src/ipa') diff --git a/src/ipa/rkisp1/algorithms/agc.cpp b/src/ipa/rkisp1/algorithms/agc.cpp index 9dac60bd..9f3b59b4 100644 --- a/src/ipa/rkisp1/algorithms/agc.cpp +++ b/src/ipa/rkisp1/algorithms/agc.cpp @@ -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(*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(*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; -- cgit v1.2.1