[libcamera-devel] [PATCH] ipa: raspberrypi: Limit minimum exposure time for the IMX296
Jacopo Mondi
jacopo at jmondi.org
Wed Sep 28 09:09:16 CEST 2022
Hi Naush
On Mon, Sep 26, 2022 at 10:36:39AM +0100, Naushir Patuck via libcamera-devel wrote:
> Limit the minimum allowable exposure time to a single line in the IMX296 camera
> helper. This equates to approximately 30us.
>
> Signed-off-by: Naushir Patuck <naush at raspberrypi.com>
Reviewed-by: Jacopo Mondi <jacopo at jmondi.org>
Thanks
j
> ---
> src/ipa/raspberrypi/cam_helper_imx296.cpp | 5 +++--
> 1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/src/ipa/raspberrypi/cam_helper_imx296.cpp b/src/ipa/raspberrypi/cam_helper_imx296.cpp
> index 09f828ea6249..66d21e36ecd0 100644
> --- a/src/ipa/raspberrypi/cam_helper_imx296.cpp
> +++ b/src/ipa/raspberrypi/cam_helper_imx296.cpp
> @@ -26,6 +26,7 @@ public:
> void getDelays(int &exposureDelay, int &gainDelay, int &vblankDelay) const override;
>
> private:
> + static constexpr uint32_t minExposureLines = 1;
> static constexpr uint32_t maxGainCode = 239;
> static constexpr Duration timePerLine = 550.0 / 37.125e6 * 1.0s;
>
> @@ -54,12 +55,12 @@ double CamHelperImx296::gain(uint32_t gainCode) const
>
> uint32_t CamHelperImx296::exposureLines(Duration exposure) const
> {
> - return (exposure - 14.26us) / timePerLine;
> + return std::max<uint32_t>(minExposureLines, (exposure - 14.26us) / timePerLine);
> }
>
> Duration CamHelperImx296::exposure(uint32_t exposureLines) const
> {
> - return exposureLines * timePerLine + 14.26us;
> + return std::max<uint32_t>(minExposureLines, exposureLines) * timePerLine + 14.26us;
> }
>
> void CamHelperImx296::getDelays(int &exposureDelay, int &gainDelay,
> --
> 2.25.1
>
More information about the libcamera-devel
mailing list