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>
This commit is contained in:
Naushir Patuck 2023-08-24 14:19:08 +01:00 committed by Laurent Pinchart
parent 960d0c1e19
commit 26ac1a8e3f

View file

@ -19,6 +19,7 @@ public:
double gain(uint32_t gainCode) const override; double gain(uint32_t gainCode) const override;
void getDelays(int &exposureDelay, int &gainDelay, void getDelays(int &exposureDelay, int &gainDelay,
int &vblankDelay, int &hblankDelay) const override; int &vblankDelay, int &hblankDelay) const override;
unsigned int hideFramesStartup() const override;
unsigned int hideFramesModeSwitch() const override; unsigned int hideFramesModeSwitch() const override;
private: private:
@ -54,6 +55,12 @@ void CamHelperImx290::getDelays(int &exposureDelay, int &gainDelay,
hblankDelay = 2; hblankDelay = 2;
} }
unsigned int CamHelperImx290::hideFramesStartup() const
{
/* On startup, we seem to get 1 bad frame. */
return 1;
}
unsigned int CamHelperImx290::hideFramesModeSwitch() const unsigned int CamHelperImx290::hideFramesModeSwitch() const
{ {
/* After a mode switch, we seem to get 1 bad frame. */ /* After a mode switch, we seem to get 1 bad frame. */