[v2,0/3] Add flicker mitigation controls to AgcMeanLuminance
mbox series

Message ID 20250123140727.458567-1-dan.scally@ideasonboard.com
Headers show
Series
  • Add flicker mitigation controls to AgcMeanLuminance
Related show

Message

Dan Scally Jan. 23, 2025, 2:07 p.m. UTC
Hello all

This short series adds flicker mitigation controls to each IPA that derives its
AGC algorithm from AgcMeanLuminance. The mitigation works by adding
AeFlickerMode and AeFlickerPeriod controls to AgcMeanLuminance - with the mode
set to FlickerManual exposure time is capped at a multiple of AeFlickerPeriod,
with the reduction in exposure time offset by increases to analogue and digital
gain.

The first patch is purely to make patch #3 slightly tidier; we have to add the
new function call to the algorithms queueRequest() function in the same commit
as introducing the new controls or we end up with a commit where the IPAs are
advertising a control they don't actually support.

Thanks
Dan

Daniel Scally (3):
  ipa: ipu3: Add skeleton Agc::queueRequest() function
  ipa: libipa: Adjust for flicker in ExposureModeHelper
  ipa: libipa: Add flicker controls to AgcMeanLuminance

 src/ipa/ipu3/algorithms/agc.cpp         | 11 ++++++
 src/ipa/ipu3/algorithms/agc.h           |  3 ++
 src/ipa/libipa/agc_mean_luminance.cpp   | 48 ++++++++++++++++++++++++-
 src/ipa/libipa/agc_mean_luminance.h     |  5 +++
 src/ipa/libipa/exposure_mode_helper.cpp | 37 ++++++++++++++++---
 src/ipa/libipa/exposure_mode_helper.h   |  6 +++-
 src/ipa/mali-c55/algorithms/agc.cpp     |  2 ++
 src/ipa/rkisp1/algorithms/agc.cpp       |  2 ++
 8 files changed, 108 insertions(+), 6 deletions(-)