pmaports-a71/temp/libcamera/0007-pipeline-simple-Consider-output-sizes-when-choosing-.patch

42 lines
1.5 KiB
Diff

From d07972cc4188a38816c8686f6b66467fe5b9a45d Mon Sep 17 00:00:00 2001
From: Robert Mader <robert.mader@collabora.com>
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 <robert.mader@collabora.com>
---
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