From d07972cc4188a38816c8686f6b66467fe5b9a45d Mon Sep 17 00:00:00 2001 From: Robert Mader Date: Fri, 11 Oct 2024 20:13:24 +0200 Subject: [PATCH 3/3] pipeline: simple: Consider output sizes when choosing pipe config In order to avoid having to adjust the size further down below which again can break user assumptions. Notably, without this the capture size of 1920x1080 gets adjusted to 1912x1080 when used with the swISP using a bayer pattern width of 4, breaking users like Gstreamer down the line. Closes https://bugs.libcamera.org/show_bug.cgi?id=236 Signed-off-by: Robert Mader --- I'm not really sure if this is the correct approach, but sending it out already for feedback. So far this gives me promissing results on tested devices. --- src/libcamera/pipeline/simple/simple.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/libcamera/pipeline/simple/simple.cpp b/src/libcamera/pipeline/simple/simple.cpp index 5ee6a5c3..ffb59473 100644 --- a/src/libcamera/pipeline/simple/simple.cpp +++ b/src/libcamera/pipeline/simple/simple.cpp @@ -1051,7 +1051,8 @@ CameraConfiguration::Status SimpleCameraConfiguration::validate() const Size &size = pipeConfig->captureSize; if (size.width >= maxStreamSize.width && - size.height >= maxStreamSize.height) { + size.height >= maxStreamSize.height && + pipeConfig->outputSizes.contains(maxStreamSize)) { if (!pipeConfig_ || size < pipeConfig_->captureSize) pipeConfig_ = pipeConfig; } -- 2.47.0