[PATCH] ipa: rpi: Fix for incorrectly reported max shutter speed
David Plowman
david.plowman at raspberrypi.com
Wed May 1 11:37:00 CEST 2024
Hi Naush
Thanks for the patch.
On Fri, 26 Apr 2024 at 12:18, Naushir Patuck <naush at raspberrypi.com> wrote:
>
> The maximum shutter speed calculation in the cam-helper relied on
> the frame duration limits being correctly set in the cam-helper's mode
> structure. This was not the case on first startup, so the maximum
> shutter speed reported back via the ControlInfo was incorrect.
>
> Fix this by setting up the camera mode in the cam-helper before querying
> for the max shutter value.
>
> Signed-off-by: Naushir Patuck <naush at raspberrypi.com>
Yes, looks sensible to me.
Reviewed-by: David Plowman <david.plowman at raspberrypi.com>
Thanks!
David
> ---
> src/ipa/rpi/common/ipa_base.cpp | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/src/ipa/rpi/common/ipa_base.cpp b/src/ipa/rpi/common/ipa_base.cpp
> index 149a133ab662..1d12262bda01 100644
> --- a/src/ipa/rpi/common/ipa_base.cpp
> +++ b/src/ipa/rpi/common/ipa_base.cpp
> @@ -592,6 +592,12 @@ void IpaBase::setMode(const IPACameraSensorInfo &sensorInfo)
> mode_.minAnalogueGain = helper_->gain(gainCtrl.min().get<int32_t>());
> mode_.maxAnalogueGain = helper_->gain(gainCtrl.max().get<int32_t>());
>
> + /*
> + * We need to give the helper the min/max frame durations so it can calculate
> + * the correct exposure limits below.
> + */
> + helper_->setCameraMode(mode_);
> +
> /* Shutter speed is calculated based on the limits of the frame durations. */
> mode_.minShutter = helper_->exposure(shutterCtrl.min().get<int32_t>(), mode_.minLineLength);
> mode_.maxShutter = Duration::max();
> --
> 2.34.1
>
More information about the libcamera-devel
mailing list