[libcamera-devel] ipa: raspberrypi: Fix sensor delays for the IMX296
diff mbox series

Message ID 20220926093613.29828-1-naush@raspberrypi.com
State Accepted
Headers show
Series
  • [libcamera-devel] ipa: raspberrypi: Fix sensor delays for the IMX296
Related show

Commit Message

Naushir Patuck Sept. 26, 2022, 9:36 a.m. UTC
The IMX296 implements a 2 frame delay for exposure, gain and vertical blanking
changes. Report this in the camera helper.

Signed-off-by: Naushir Patuck <naush@raspberrypi.com>
---
 src/ipa/raspberrypi/cam_helper_imx296.cpp | 9 +++++++++
 1 file changed, 9 insertions(+)

Comments

Jacopo Mondi Sept. 28, 2022, 7:07 a.m. UTC | #1
Hi Naush

On Mon, Sep 26, 2022 at 10:36:13AM +0100, Naushir Patuck via libcamera-devel wrote:
> The IMX296 implements a 2 frame delay for exposure, gain and vertical blanking
> changes. Report this in the camera helper.
>
> Signed-off-by: Naushir Patuck <naush@raspberrypi.com>

Reviewed-by: Jacopo Mondi <jacopo@jmondi.org>

Thanks
  j
> ---
>  src/ipa/raspberrypi/cam_helper_imx296.cpp | 9 +++++++++
>  1 file changed, 9 insertions(+)
>
> diff --git a/src/ipa/raspberrypi/cam_helper_imx296.cpp b/src/ipa/raspberrypi/cam_helper_imx296.cpp
> index ab1d157aaf45..09f828ea6249 100644
> --- a/src/ipa/raspberrypi/cam_helper_imx296.cpp
> +++ b/src/ipa/raspberrypi/cam_helper_imx296.cpp
> @@ -23,6 +23,7 @@ public:
>  	double gain(uint32_t gainCode) const override;
>  	uint32_t exposureLines(Duration exposure) const override;
>  	Duration exposure(uint32_t exposureLines) const override;
> +	void getDelays(int &exposureDelay, int &gainDelay, int &vblankDelay) const override;
>
>  private:
>  	static constexpr uint32_t maxGainCode = 239;
> @@ -61,6 +62,14 @@ Duration CamHelperImx296::exposure(uint32_t exposureLines) const
>  	return exposureLines * timePerLine + 14.26us;
>  }
>
> +void CamHelperImx296::getDelays(int &exposureDelay, int &gainDelay,
> +				int &vblankDelay) const
> +{
> +	exposureDelay = 2;
> +	gainDelay = 2;
> +	vblankDelay = 2;
> +}
> +
>  static CamHelper *create()
>  {
>  	return new CamHelperImx296();
> --
> 2.25.1
>
David Plowman Oct. 3, 2022, 9:27 a.m. UTC | #2
Hi Naush

Thanks for the patch!

On Wed, 28 Sept 2022 at 08:07, Jacopo Mondi via libcamera-devel
<libcamera-devel@lists.libcamera.org> wrote:
>
> Hi Naush
>
> On Mon, Sep 26, 2022 at 10:36:13AM +0100, Naushir Patuck via libcamera-devel wrote:
> > The IMX296 implements a 2 frame delay for exposure, gain and vertical blanking
> > changes. Report this in the camera helper.
> >
> > Signed-off-by: Naushir Patuck <naush@raspberrypi.com>
>
> Reviewed-by: Jacopo Mondi <jacopo@jmondi.org>
>

Reviewed-by: David Plowman <david.plowman@raspberrypi.com>

Thanks
David

> Thanks
>   j
> > ---
> >  src/ipa/raspberrypi/cam_helper_imx296.cpp | 9 +++++++++
> >  1 file changed, 9 insertions(+)
> >
> > diff --git a/src/ipa/raspberrypi/cam_helper_imx296.cpp b/src/ipa/raspberrypi/cam_helper_imx296.cpp
> > index ab1d157aaf45..09f828ea6249 100644
> > --- a/src/ipa/raspberrypi/cam_helper_imx296.cpp
> > +++ b/src/ipa/raspberrypi/cam_helper_imx296.cpp
> > @@ -23,6 +23,7 @@ public:
> >       double gain(uint32_t gainCode) const override;
> >       uint32_t exposureLines(Duration exposure) const override;
> >       Duration exposure(uint32_t exposureLines) const override;
> > +     void getDelays(int &exposureDelay, int &gainDelay, int &vblankDelay) const override;
> >
> >  private:
> >       static constexpr uint32_t maxGainCode = 239;
> > @@ -61,6 +62,14 @@ Duration CamHelperImx296::exposure(uint32_t exposureLines) const
> >       return exposureLines * timePerLine + 14.26us;
> >  }
> >
> > +void CamHelperImx296::getDelays(int &exposureDelay, int &gainDelay,
> > +                             int &vblankDelay) const
> > +{
> > +     exposureDelay = 2;
> > +     gainDelay = 2;
> > +     vblankDelay = 2;
> > +}
> > +
> >  static CamHelper *create()
> >  {
> >       return new CamHelperImx296();
> > --
> > 2.25.1
> >

Patch
diff mbox series

diff --git a/src/ipa/raspberrypi/cam_helper_imx296.cpp b/src/ipa/raspberrypi/cam_helper_imx296.cpp
index ab1d157aaf45..09f828ea6249 100644
--- a/src/ipa/raspberrypi/cam_helper_imx296.cpp
+++ b/src/ipa/raspberrypi/cam_helper_imx296.cpp
@@ -23,6 +23,7 @@  public:
 	double gain(uint32_t gainCode) const override;
 	uint32_t exposureLines(Duration exposure) const override;
 	Duration exposure(uint32_t exposureLines) const override;
+	void getDelays(int &exposureDelay, int &gainDelay, int &vblankDelay) const override;
 
 private:
 	static constexpr uint32_t maxGainCode = 239;
@@ -61,6 +62,14 @@  Duration CamHelperImx296::exposure(uint32_t exposureLines) const
 	return exposureLines * timePerLine + 14.26us;
 }
 
+void CamHelperImx296::getDelays(int &exposureDelay, int &gainDelay,
+				int &vblankDelay) const
+{
+	exposureDelay = 2;
+	gainDelay = 2;
+	vblankDelay = 2;
+}
+
 static CamHelper *create()
 {
 	return new CamHelperImx296();