[libcamera-devel] [PATCH] ipa: rpi: imx290: Hide one frame on startup

Naushir Patuck naush at raspberrypi.com
Thu Aug 24 15:19:08 CEST 2023


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 at raspberrypi.com>
---
 src/ipa/rpi/cam_helper/cam_helper_imx290.cpp | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/src/ipa/rpi/cam_helper/cam_helper_imx290.cpp b/src/ipa/rpi/cam_helper/cam_helper_imx290.cpp
index 7d6f5b549a73..d98b51cd56b3 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. */
-- 
2.34.1



More information about the libcamera-devel mailing list