[libcamera-devel] [PATCH v2 12/20] libcamera: ipu3: Always use the maximum frame size
Jacopo Mondi
jacopo at jmondi.org
Thu Jul 9 10:41:20 CEST 2020
The requirement of having the ImgU output height 32 pixels smaller
than the input frame produced by the CIO2 makes it complicated to
re-adjust the sensor produced size after the alignement has been
applied.
To simplify the procedure, always ask for the full frame size from the
CIO2 unit.
Signed-off-by: Jacopo Mondi <jacopo at jmondi.org>
---
src/libcamera/pipeline/ipu3/ipu3.cpp | 12 ++++--------
1 file changed, 4 insertions(+), 8 deletions(-)
diff --git a/src/libcamera/pipeline/ipu3/ipu3.cpp b/src/libcamera/pipeline/ipu3/ipu3.cpp
index d07f1a7b5ae8..feabffe641e1 100644
--- a/src/libcamera/pipeline/ipu3/ipu3.cpp
+++ b/src/libcamera/pipeline/ipu3/ipu3.cpp
@@ -156,8 +156,6 @@ CameraConfiguration::Status IPU3CameraConfiguration::validate()
unsigned int rawCount = 0;
unsigned int outCount = 0;
Size yuvSize;
- Size size;
-
for (const StreamConfiguration &cfg : config_) {
const PixelFormatInfo &info =
PixelFormatInfo::info(cfg.pixelFormat);
@@ -174,11 +172,6 @@ CameraConfiguration::Status IPU3CameraConfiguration::validate()
if (cfg.size > yuvSize)
yuvSize = cfg.size;
}
-
- if (cfg.size.width > size.width)
- size.width = cfg.size.width;
- if (cfg.size.height > size.height)
- size.height = cfg.size.height;
}
if (rawCount > 1 || outCount > 2) {
LOG(IPU3, Error)
@@ -189,10 +182,13 @@ CameraConfiguration::Status IPU3CameraConfiguration::validate()
}
/* Generate raw configuration from CIO2. */
- cio2Configuration_ = data_->cio2_.generateConfiguration(size);
+ Size sensorSize = data_->cio2_.sensor()->resolution();
+ cio2Configuration_ = data_->cio2_.generateConfiguration(sensorSize);
if (!cio2Configuration_.pixelFormat.isValid())
return Invalid;
+ LOG(IPU3, Debug) << "CIO2 configuration: " << cio2Configuration_.toString();
+
/*
* Adjust the configurations if needed and assign streams while
* iterating them.
--
2.27.0
More information about the libcamera-devel
mailing list