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

Laurent Pinchart laurent.pinchart at ideasonboard.com
Wed Apr 5 03:51:26 CEST 2023


Hi David,

On Tue, Apr 04, 2023 at 10:10:45AM +0100, David Plowman wrote:
> On Tue, 4 Apr 2023 at 06:46, Laurent Pinchartwrote:
> > On Tue, Mar 28, 2023 at 09:55:19AM +0100, David Plowman via libcamera-devel wrote:
> > > 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.
> >
> > That's my understanding too.
> >
> > > AeFlickerDetected, however, allows arbitrary flicker periods
> > > to be identified, not just 50 or 60Hz.
> >
> > Out of curiosity, what are the use cases you envision for other
> > frequencies ?
> 
> I think the most obvious use cases are when people have LEDs that run
> at other frequencies. Probably not such an issue for regular users,
> but I could imagine it being useful in lab or technical environments,
> and we do have a few of those. But I agree it's not 100% clear, so
> alternatives are still definitely worth considering!

I thought about LED lightning an hour after sending the question :-)
This sounds like a good use case. I don't have an alternative proposal,
I think yours makes sense.

> > > 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(-)

-- 
Regards,

Laurent Pinchart


More information about the libcamera-devel mailing list