diff --git a/src/ipa/simple/algorithms/agc.cpp b/src/ipa/simple/algorithms/agc.cpp index 35f4798cf..1e532a5d4 100644 --- a/src/ipa/simple/algorithms/agc.cpp +++ b/src/ipa/simple/algorithms/agc.cpp @@ -147,7 +147,8 @@ void Agc::process(IPAContext &context, ControlList &metadata) { const auto ae_enable = context.activeState.knobs.ae_enabled.value_or(true); - + if (context.activeState.knobs.focus_sweep.value_or(false)) + return; if (!ae_enable) frameContext.sensor.exposure = (int32_t)( context.activeState.knobs.exposure_value.value_or(0.5) * (context.configuration.agc.exposureMax - context.configuration.agc.exposureMin)); utils::Duration exposureTime = diff --git a/src/ipa/simple/algorithms/awb.cpp b/src/ipa/simple/algorithms/awb.cpp index cf567e894..acd2f94dd 100644 --- a/src/ipa/simple/algorithms/awb.cpp +++ b/src/ipa/simple/algorithms/awb.cpp @@ -51,6 +51,9 @@ void Awb::process(IPAContext &context, const SwIspStats *stats, ControlList &metadata) { + if (context.activeState.knobs.focus_sweep.value_or(false)) + return; + const SwIspStats::Histogram &histogram = stats->yHistogram; const uint8_t blackLevel = context.activeState.blc.level; diff --git a/src/ipa/simple/algorithms/blc.cpp b/src/ipa/simple/algorithms/blc.cpp index 8c1e9ed08..5785fe036 100644 --- a/src/ipa/simple/algorithms/blc.cpp +++ b/src/ipa/simple/algorithms/blc.cpp @@ -53,6 +53,9 @@ void BlackLevel::process(IPAContext &context, const SwIspStats *stats, ControlList &metadata) { + if (context.activeState.knobs.focus_sweep.value_or(false)) + return; + /* Assign each of the R G G B channels as the same black level. */ const int32_t blackLevel = context.activeState.blc.level * 256; const int32_t blackLevels[] = { diff --git a/src/ipa/simple/algorithms/ccm.cpp b/src/ipa/simple/algorithms/ccm.cpp index 0a98406c1..3ef1a22ae 100644 --- a/src/ipa/simple/algorithms/ccm.cpp +++ b/src/ipa/simple/algorithms/ccm.cpp @@ -86,6 +86,9 @@ void Ccm::applySaturation(Matrix &ccm, float saturation) void Ccm::prepare(IPAContext &context, const uint32_t frame, IPAFrameContext &frameContext, [[maybe_unused]] DebayerParams *params) { + if (context.activeState.knobs.focus_sweep.value_or(false)) + return; + auto &saturation = context.activeState.knobs.saturation; const unsigned int ct = context.activeState.awb.temperatureK; diff --git a/src/ipa/simple/algorithms/lut.cpp b/src/ipa/simple/algorithms/lut.cpp index d1d5f7271..49d8b7653 100644 --- a/src/ipa/simple/algorithms/lut.cpp +++ b/src/ipa/simple/algorithms/lut.cpp @@ -147,6 +147,9 @@ void Lut::process([[maybe_unused]] IPAContext &context, [[maybe_unused]] const SwIspStats *stats, ControlList &metadata) { + if (context.activeState.knobs.focus_sweep.value_or(false)) + return; + const auto &contrast = frameContext.contrast; if (contrast) metadata.set(controls::Contrast, contrast.value());