diff options
author | Umang Jain <umang.jain@ideasonboard.com> | 2021-08-04 18:55:26 +0530 |
---|---|---|
committer | Umang Jain <umang.jain@ideasonboard.com> | 2021-08-09 11:02:14 +0530 |
commit | 0536a9aa7189f75c898c3bffbb8d6c8bb147557f (patch) | |
tree | ab0a6776567831e9552cd133414ba6484c833259 | |
parent | 36b10b93b198680741986efee6e4a10b3ad037e1 (diff) |
ipu3: Disallow raw only camera configuration
To capture raw frames, the ImgU isn't needed. However, to implement
auto-exposure, 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@ideasonboard.com>
Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Tested-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
-rw-r--r-- | src/libcamera/pipeline/ipu3/ipu3.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/libcamera/pipeline/ipu3/ipu3.cpp b/src/libcamera/pipeline/ipu3/ipu3.cpp index 76c3bb3d..19cb5c4e 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; } /* |