[PATCH] ipa: rpi: Fix for incorrectly reported max shutter speed
Laurent Pinchart
laurent.pinchart at ideasonboard.com
Wed May 1 17:53:09 CEST 2024
Hi Naush,
Thank you for the patch.
On Fri, Apr 26, 2024 at 12:18:15PM +0100, Naushir Patuck 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>
> ---
> 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_);
> +
Don't you end up doing this twice, once here, and once in
IpaBase::configure(), which calls IpaBase::setMode() ?
> /* 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();
--
Regards,
Laurent Pinchart
More information about the libcamera-devel
mailing list