summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNaushir Patuck <naush@raspberrypi.com>2023-08-24 14:19:08 +0100
committerLaurent Pinchart <laurent.pinchart@ideasonboard.com>2023-08-29 10:39:13 +0300
commit26ac1a8e3fc52cb2035ad88b7d22f034a68f50c7 (patch)
tree0866ebe0eda5d7d155dcab00b5b7b0c32007028d
parent960d0c1e19feaf310321c906e14bd5410c6be629 (diff)
ipa: rpi: imx290: Hide one frame on startup
The imx290 produces a single unusable frame on startup and mode switch. This is signalled to the IPA in the mode switch case, but not the startup case. Fix this. Signed-off-by: Naushir Patuck <naush@raspberrypi.com> Reviewed-by: David Plowman <david.plowman@raspberrypi.com> Reviewed-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
-rw-r--r--src/ipa/rpi/cam_helper/cam_helper_imx290.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/ipa/rpi/cam_helper/cam_helper_imx290.cpp b/src/ipa/rpi/cam_helper/cam_helper_imx290.cpp
index 7d6f5b54..d98b51cd 100644
--- a/src/ipa/rpi/cam_helper/cam_helper_imx290.cpp
+++ b/src/ipa/rpi/cam_helper/cam_helper_imx290.cpp
@@ -19,6 +19,7 @@ public:
double gain(uint32_t gainCode) const override;
void getDelays(int &exposureDelay, int &gainDelay,
int &vblankDelay, int &hblankDelay) const override;
+ unsigned int hideFramesStartup() const override;
unsigned int hideFramesModeSwitch() const override;
private:
@@ -54,6 +55,12 @@ void CamHelperImx290::getDelays(int &exposureDelay, int &gainDelay,
hblankDelay = 2;
}
+unsigned int CamHelperImx290::hideFramesStartup() const
+{
+ /* On startup, we seem to get 1 bad frame. */
+ return 1;
+}
+
unsigned int CamHelperImx290::hideFramesModeSwitch() const
{
/* After a mode switch, we seem to get 1 bad frame. */