[libcamera-devel,07/11] pipeline: ipu3: Allow raw-only streams in IPU3 pipeline
diff mbox series

Message ID 20230318234014.29506-8-dan.scally@ideasonboard.com
State New
Headers show
Series
  • Support OV7251 in IPU3 pipeline and qcam
Related show

Commit Message

Dan Scally March 18, 2023, 11:40 p.m. UTC
Sensors not connected to the Imgu produce raw-only streams. Allow
that configuration to proceed in the IPU3 pipeline, but warn about
the lack of sensor controls for other sensors.

Signed-off-by: Daniel Scally <dan.scally@ideasonboard.com>
---
 src/libcamera/pipeline/ipu3/ipu3.cpp | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

Comments

Laurent Pinchart April 19, 2023, 5:56 a.m. UTC | #1
Hi Dan,

Thank you for the patch.

On Sat, Mar 18, 2023 at 11:40:10PM +0000, Daniel Scally via libcamera-devel wrote:
> Sensors not connected to the Imgu produce raw-only streams. Allow
> that configuration to proceed in the IPU3 pipeline, but warn about
> the lack of sensor controls for other sensors.
> 
> Signed-off-by: Daniel Scally <dan.scally@ideasonboard.com>
> ---
>  src/libcamera/pipeline/ipu3/ipu3.cpp | 14 +++++++-------
>  1 file changed, 7 insertions(+), 7 deletions(-)
> 
> diff --git a/src/libcamera/pipeline/ipu3/ipu3.cpp b/src/libcamera/pipeline/ipu3/ipu3.cpp
> index cc7da299..b9228a59 100644
> --- a/src/libcamera/pipeline/ipu3/ipu3.cpp
> +++ b/src/libcamera/pipeline/ipu3/ipu3.cpp
> @@ -232,18 +232,18 @@ CameraConfiguration::Status IPU3CameraConfiguration::validate()
>  		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.
> +		 * 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. As some sensors _only_ output
> +		 * raw streams though we need to allow the configuration to
> +		 * continue here.
>  		 *
>  		 * \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;
> +			<< "Sensor controls not supported for raw-only stream";

Don't you need to fix this ? Otherwise the user won't be able to control
the sensor parameters.

>  	}
>  
>  	/*

Patch
diff mbox series

diff --git a/src/libcamera/pipeline/ipu3/ipu3.cpp b/src/libcamera/pipeline/ipu3/ipu3.cpp
index cc7da299..b9228a59 100644
--- a/src/libcamera/pipeline/ipu3/ipu3.cpp
+++ b/src/libcamera/pipeline/ipu3/ipu3.cpp
@@ -232,18 +232,18 @@  CameraConfiguration::Status IPU3CameraConfiguration::validate()
 		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.
+		 * 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. As some sensors _only_ output
+		 * raw streams though we need to allow the configuration to
+		 * continue here.
 		 *
 		 * \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;
+			<< "Sensor controls not supported for raw-only stream";
 	}
 
 	/*