summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNaushir Patuck <naush@raspberrypi.com>2022-09-26 10:36:13 +0100
committerLaurent Pinchart <laurent.pinchart@ideasonboard.com>2022-10-04 18:38:45 +0300
commitd476f5e4e2c3d57822b0d1f26718e38361e4db41 (patch)
treef88d84b9bd9aaf41c2bcbe669313e2bf06fda4ee
parent036d26d6677e0b8e6cf284c0801b267c5f81720e (diff)
ipa: raspberrypi: Fix sensor delays for the IMX296
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> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
-rw-r--r--src/ipa/raspberrypi/cam_helper_imx296.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/ipa/raspberrypi/cam_helper_imx296.cpp b/src/ipa/raspberrypi/cam_helper_imx296.cpp
index ab1d157a..09f828ea 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();