[libcamera-devel] [PATCH v2] ipu3: Disallow raw only camera configuration

Kieran Bingham kieran.bingham at ideasonboard.com
Fri Aug 6 16:39:21 CEST 2021


Hi Umang,

On 04/08/2021 14:25, Umang Jain wrote:
> Ideally to capture the raw frames, ImgU should not be required.
> However, we do need to configure the IPA since it shall setup
> the sensor controls (exposure, vblank and so on) for the capture.
> One cannot simply configure the IPA, without the ImgU as the
> parameters and statistics buffer passed to the IPA are actually
> managed by the ImgU.
> 
> Until we prepare and setup the ImgU to run an internal queue for
> raw-only camera configuration, disallow this configuration and
> report it as invalid.
> 
> Signed-off-by: Umang Jain <umang.jain at ideasonboard.com>

Reviewed-by: Kieran Bingham <kieran.bingham at ideasonboard.com>
Tested-by: Kieran Bingham <kieran.bingham at ideasonboard.com>

This fixes lc-compliance at least, which helps unblock testing of
Nicolas' series too.


> ---
>  src/libcamera/pipeline/ipu3/ipu3.cpp | 14 ++++++++++++++
>  1 file changed, 14 insertions(+)
> 
> diff --git a/src/libcamera/pipeline/ipu3/ipu3.cpp b/src/libcamera/pipeline/ipu3/ipu3.cpp
> index 76c3bb3d..9f6a6f21 100644
> --- a/src/libcamera/pipeline/ipu3/ipu3.cpp
> +++ b/src/libcamera/pipeline/ipu3/ipu3.cpp
> @@ -248,6 +248,20 @@ CameraConfiguration::Status IPU3CameraConfiguration::validate()
>  	if (rawCount > 1 || yuvCount > 2) {
>  		LOG(IPU3, Debug) << "Camera configuration not supported";
>  		return Invalid;
> +	} else if (rawCount && !yuvCount) {
> +		/*
> +		 * Disallow raw-only camera configuration. Currently, ImgU does
> +		 * not get configured for raw-only streams and has early return
> +		 * in configure(). To support raw-only stream, we do need the IPA
> +		 * to get configured since it will setup the sensor controls for
> +		 * the capture.
> +		 *
> +		 * \todo Configure the ImgU with internal buffers which will enable
> +		 * the IPA to get configured, for the raw-only camera configuration.
> +		 */
> +		LOG(IPU3, Debug)
> +			<< "Camera configuration cannot support raw-only streams";
> +		return Invalid;
>  	}
>  
>  	/*
> 


More information about the libcamera-devel mailing list