[PATCH] ipa: rpi: common: Avoid warnings when AeEnable control is used

Kieran Bingham kieran.bingham at ideasonboard.com
Mon Apr 28 15:49:40 CEST 2025


Quoting Kieran Bingham (2025-04-28 14:48:26)
> Quoting Naushir Patuck (2025-04-28 14:20:11)
> > Hi David,
> > 
> > Thanks for fixing this.
> > 
> > On Mon, 28 Apr 2025 at 14:16, David Plowman
> > <david.plowman at raspberrypi.com> wrote:
> > >
> > > The AeEnable control is now just a wrapper that is converted to
> > > ExposureTimeMode and AnalogueGainMode controls instead. Therefore, it
> > > should simply be ignored when we encounter it, without the need for
> > > any warnings.
> > >
> > > Signed-off-by: David Plowman <david.plowman at raspberrypi.com>
> > 
> > Reviewed-by: Naushir Patuck <naush at raspberrypi.com>
> > 
> 
> Reviewed-by: Kieran Bingham <kieran.bingham at ideasonboard.com>
> 
> > > ---
> > >  src/ipa/rpi/common/ipa_base.cpp | 11 +++++++++++
> > >  1 file changed, 11 insertions(+)
> > >
> > > diff --git a/src/ipa/rpi/common/ipa_base.cpp b/src/ipa/rpi/common/ipa_base.cpp
> > > index 4c09a093..80c17588 100644
> > > --- a/src/ipa/rpi/common/ipa_base.cpp
> > > +++ b/src/ipa/rpi/common/ipa_base.cpp
> > > @@ -967,6 +967,17 @@ void IpaBase::applyControls(const ControlList &controls)
> > >                         break;
> > >                 }
> > >
> > > +               case controls::AE_ENABLE: {
> > > +                       /*
> > > +                        * The AeEnable control is now just a wrapper that will already have been
> > > +                        * converted to ExposureTimeMode and AnalogueGainMode equivalents, so there
> > > +                        * would be nothing to do here. Nonetheless, "handle" the control so as to
> > > +                        * avoid warnings from the "default:" clause of the switch statement.
> > > +                        */
> > > +

Is this encountered at runtime? I wonder if the higher level should
'remove' the control that has been handled from the list ... But I'm not
sure I like the idea of modifying the incoming control list ...



> > > +                       break;
> > > +               }
> > > +
> > >                 case controls::AE_FLICKER_MODE: {
> > >                         RPiController::AgcAlgorithm *agc = dynamic_cast<RPiController::AgcAlgorithm *>(
> > >                                 controller_.getAlgorithm("agc"));
> > > --
> > > 2.39.5
> > >


More information about the libcamera-devel mailing list