[libcamera-devel] [PATCH 2/2] libcamera: pipeline: uvc: Try a default format against the device
Kieran Bingham
kieran.bingham at ideasonboard.com
Fri May 3 17:34:03 CEST 2019
We can not predict a suitable default for a UVC camera as they are so
varied.
Take a starting point as a default configuration and test it against the
device with the tryFormat call. The camera will return the closest
supported format from that configuration.
Signed-off-by: Kieran Bingham <kieran.bingham at ideasonboard.com>
---
src/libcamera/pipeline/uvcvideo.cpp | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/src/libcamera/pipeline/uvcvideo.cpp b/src/libcamera/pipeline/uvcvideo.cpp
index 5d2f1c98fa36..9247dff33606 100644
--- a/src/libcamera/pipeline/uvcvideo.cpp
+++ b/src/libcamera/pipeline/uvcvideo.cpp
@@ -91,9 +91,16 @@ PipelineHandlerUVC::streamConfiguration(Camera *camera,
UVCCameraData *data = cameraData(camera);
CameraConfiguration config;
StreamConfiguration cfg{};
+ V4L2DeviceFormat format;
- cfg.pixelFormat = V4L2_PIX_FMT_YUYV;
- cfg.size = { 640, 480 };
+ format.fourcc = V4L2_PIX_FMT_YUYV;
+ format.size = { 1920, 1080 };
+
+ /* Ask the video device to confirm a suitable default configuration. */
+ data->video_->tryFormat(&format);
+
+ cfg.size = format.size;
+ cfg.pixelFormat = format.fourcc;
cfg.bufferCount = 4;
config[&data->stream_] = cfg;
--
2.20.1
More information about the libcamera-devel
mailing list