Fixing or related to: - https://bugs.libcamera.org/show_bug.cgi?id=234 - https://bugs.libcamera.org/show_bug.cgi?id=235 - https://bugs.libcamera.org/show_bug.cgi?id=236 [ci:skip-build]: already built successfully in CI
42 lines
1.5 KiB
Diff
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
|
|
|