From patchwork Fri May 3 15:34:03 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kieran Bingham X-Patchwork-Id: 1154 Return-Path: Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [213.167.242.64]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id E6D0E60E6A for ; Fri, 3 May 2019 17:34:11 +0200 (CEST) Received: from Q.Home (unknown [IPv6:2a02:c7f:1887:5d00:c990:5ff4:193b:c9b8]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id B1CE9530; Fri, 3 May 2019 17:34:09 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1556897649; bh=Ay8aKn5NsySJWlSP2RD3sYpZ8feXqk59BmPlZVhKUA4=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=CvCw1qLmJtF+AjmV9m9502zWuHgocMb1N0glj4nJpwA0NQOgOoym7oENuSlEaFjHk xNEN0Qs8eNbxRXu1LlmR4v/UBVoI29rDo7afKjnWTPp97MEXBmKe76Sb2Q4DC2rDGw i6zBWRjHJiM1DcSCIDCl6SttBh21IOJOwrJYqcUc= From: Kieran Bingham To: LibCamera Devel Date: Fri, 3 May 2019 16:34:03 +0100 Message-Id: <20190503153403.8728-3-kieran.bingham@ideasonboard.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190503153403.8728-1-kieran.bingham@ideasonboard.com> References: <20190503153403.8728-1-kieran.bingham@ideasonboard.com> MIME-Version: 1.0 Subject: [libcamera-devel] [PATCH 2/2] libcamera: pipeline: uvc: Try a default format against the device X-BeenThere: libcamera-devel@lists.libcamera.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 03 May 2019 15:34:12 -0000 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 --- 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;