[libcamera-devel] [PATCH 04/15] libcamera: ipu3: Do not overwrite StreamConfiguration

Jacopo Mondi jacopo at jmondi.org
Wed Jul 1 14:30:25 CEST 2020


The validate function overwrites the generated StreamConfiguration with
the one reported by the CIO2 unit when inspecting the RAW stream
configuration.

As we prepare to add StreamFormats to the IPU3 StreamConfiguration,
assigning to the CIO2 generated configuration would delete the
StreamFormats.

Fix this by updating relevant fields only in order to keep the
assigned StreamFormats.

Signed-off-by: Jacopo Mondi <jacopo at jmondi.org>
---
 src/libcamera/pipeline/ipu3/ipu3.cpp | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/libcamera/pipeline/ipu3/ipu3.cpp b/src/libcamera/pipeline/ipu3/ipu3.cpp
index 97fc8b60c3cb..cd18c6f31023 100644
--- a/src/libcamera/pipeline/ipu3/ipu3.cpp
+++ b/src/libcamera/pipeline/ipu3/ipu3.cpp
@@ -264,7 +264,9 @@ CameraConfiguration::Status IPU3CameraConfiguration::validate()
 		const Stream *stream = streams_[i];

 		if (stream == &data_->rawStream_) {
-			cfg = cio2Configuration_;
+			cfg.size = cio2Configuration_.size;
+			cfg.pixelFormat = cio2Configuration_.pixelFormat;
+			cfg.bufferCount = cio2Configuration_.bufferCount;
 		} else {
 			bool scale = stream == &data_->vfStream_;
 			adjustStream(config_[i], scale);
--
2.27.0



More information about the libcamera-devel mailing list