[PATCH 0/3] Add flicker mitigation controls to AgcMeanLuminance

Daniel Scally dan.scally at ideasonboard.com
Fri Jan 17 15:34:07 CET 2025


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   | 47 ++++++++++++++++++++++++-
 src/ipa/libipa/agc_mean_luminance.h     |  5 +++
 src/ipa/libipa/exposure_mode_helper.cpp | 20 ++++++++++-
 src/ipa/libipa/exposure_mode_helper.h   |  2 +-
 src/ipa/mali-c55/algorithms/agc.cpp     |  2 ++
 src/ipa/rkisp1/algorithms/agc.cpp       |  2 ++
 8 files changed, 89 insertions(+), 3 deletions(-)

-- 
2.34.1



More information about the libcamera-devel mailing list