[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