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

Jacopo Mondi jacopo.mondi at ideasonboard.com
Tue Aug 29 09:20:02 CEST 2023


Hi Naush

On Thu, Aug 24, 2023 at 02:19:08PM +0100, Naushir Patuck via libcamera-devel wrote:
> 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>

Reviewed-by: Jacopo Mondi <jacopo.mondi at ideasonboard.com>

Thanks
  j

> ---
>  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