| Message ID | 20261109094954.341480-18-barnabas.pocze@ideasonboard.com |
|---|---|
| State | New |
| Headers | show |
| Series |
|
| Related | show |
Hi Barnabás, Quoting Barnabás Pőcze (2026-11-09 10:49:52) > In auto mode, by default the camera should not run faster than 30fps > unless the user explicitly adjusts `FrameDurationLimits`. This matches > the behaviour of the raspberry pi agc algorithm. > > Signed-off-by: Barnabás Pőcze <barnabas.pocze@ideasonboard.com> > Reviewed-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com> As discussed, I'd love to be able to configure that behavior in the tuning file or something similar, but for now it makes more people happy than unhappy. So: Reviewed-by: Stefan Klug <stefan.klug@ideasonboard.com> Best regards, Stefan > --- > src/ipa/libipa/agc.cpp | 7 +++++++ > 1 file changed, 7 insertions(+) > > diff --git a/src/ipa/libipa/agc.cpp b/src/ipa/libipa/agc.cpp > index 64e2ca787f..94d3ffa42d 100644 > --- a/src/ipa/libipa/agc.cpp > +++ b/src/ipa/libipa/agc.cpp > @@ -779,6 +779,13 @@ int AgcAlgorithm::configure(agc::Session &session, agc::ActiveState &state, > }, > }, impl_); > > + if (session.autoAllowed) { > + /* By default do not run faster than 30fps. */ > + state.minFrameDuration = std::clamp( > + utils::Duration(1.0s / 30), > + session.minFrameDuration, session.maxFrameDuration); > + } > + > /* \todo Move this to the `Camera` class. */ > config.ctrlMap[&controls::AeEnable] = ControlInfo{ > false, session.autoAllowed, session.autoAllowed > -- > 2.56.0 >
diff --git a/src/ipa/libipa/agc.cpp b/src/ipa/libipa/agc.cpp index 64e2ca787f..94d3ffa42d 100644 --- a/src/ipa/libipa/agc.cpp +++ b/src/ipa/libipa/agc.cpp @@ -779,6 +779,13 @@ int AgcAlgorithm::configure(agc::Session &session, agc::ActiveState &state, }, }, impl_); + if (session.autoAllowed) { + /* By default do not run faster than 30fps. */ + state.minFrameDuration = std::clamp( + utils::Duration(1.0s / 30), + session.minFrameDuration, session.maxFrameDuration); + } + /* \todo Move this to the `Camera` class. */ config.ctrlMap[&controls::AeEnable] = ControlInfo{ false, session.autoAllowed, session.autoAllowed