[libcamera-devel] [PATCH v3 0/2] Add flicker avoidance controls

David Plowman david.plowman at raspberrypi.com
Tue Mar 28 10:55:19 CEST 2023


Hi everyone

Here's an updated version of flicker avoidance controls. It's similar
to what I had previously, except that I've split the control which
gave an explicit flicker period into two, one for reporting a
currently detected value, and another for setting a custom flicker
period. So we now have 3 controls in total.

In terms of Android, the AeFlickerDetected control corresponds fairly
directly to Android's scene_flicker control, which is (from my reading
of it) merely reporting any currently detected flicker
period. AeFlickerDetected, however, allows arbitrary flicker periods
to be identified, not just 50 or 60Hz.

The other controls (AeFlickerMode and AeFlickerCustom) correspond to
Android's anti-banding control. Again, we extend it to allow arbitrary
flicker periods.

Hope that all makes sense!

Thanks
David

David Plowman (2):
  libcamera: controls: Add controls for AEC/AGC flicker avoidance
  ipa: raspberrypi: Handle AEC/AGC flicker controls

 src/ipa/raspberrypi/raspberrypi.cpp | 80 +++++++++++++++++++++++++++
 src/libcamera/control_ids.yaml      | 84 +++++++++++++++++++++++------
 2 files changed, 147 insertions(+), 17 deletions(-)

-- 
2.30.2



More information about the libcamera-devel mailing list