From patchwork Wed Jun 3 14:16:04 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paul Elder X-Patchwork-Id: 3904 Return-Path: Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id 6879C6105A for ; Wed, 3 Jun 2020 16:16:22 +0200 (CEST) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (1024-bit key; unprotected) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="K02zC1iQ"; dkim-atps=neutral Received: from emerald.amanokami.net (fs76eef344.knge213.ap.nuro.jp [118.238.243.68]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 1CFA627C; Wed, 3 Jun 2020 16:16:20 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1591193782; bh=WqZGy0uJff0zFjRdj2PZEGkobg2FO+j6nWjTfmoaK2E=; h=From:To:Cc:Subject:Date:From; b=K02zC1iQ3wg70rmEYvvzMrHo6oKEpFIFzuKzWSLOsTY2G/6inFYB4uixOkZ73uPjg 8J9t3zCClmBMWLgqpoYV64uvcEKLqcVC9lr/C8r4VO7FNCLRYjJc7j4+D3x9AZaoj3 dQJSfJj50QJmU6BYwipgxFD1fyE4KxeKgW85nt4E= From: Paul Elder To: libcamera-devel@lists.libcamera.org Date: Wed, 3 Jun 2020 23:16:04 +0900 Message-Id: <20200603141609.18584-1-paul.elder@ideasonboard.com> X-Mailer: git-send-email 2.20.1 MIME-Version: 1.0 Subject: [libcamera-devel] [PATCH 0/5] Support qv4l2 with v4l2-compat X-BeenThere: libcamera-devel@lists.libcamera.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 03 Jun 2020 14:16:22 -0000 This patch series enables support for qv4l2 with the V4L2 compatibility layer. It is a series of bugfixes first, and then the actual implementation of the socket mechanism to allow for polling. I've also noticed that if the stream is stopped and restarted (after choosing YUYV, otherwise it'll floating point exception with MJPG) in qv4l2 without restarting qv4l2, it segfaults after the first round of buffers. I'll deal with this, but for now, we have this patch series. Paul Elder (5): IPAManager: make IPAManager lifetime explicitly managed v4l2: v4l2_camera_proxy: Fix bounds check for VIDIOC_ENUM_FMT v4l2: v4l2_camera_proxy: Acquire only one buffer semaphore on VIDIOC_DQBUF v4l2: v4l2_camera_proxy: Don't return -EINVAL for zero sizeimage in REQBUFS v4l2: v4l2_compat: Add sockets to support polling include/libcamera/camera_manager.h | 4 ++++ include/libcamera/internal/ipa_manager.h | 7 +++--- src/libcamera/camera_manager.cpp | 4 +++- src/libcamera/ipa_manager.cpp | 13 ++++++++-- src/v4l2/v4l2_camera.cpp | 13 ++++++++++ src/v4l2/v4l2_camera.h | 3 +++ src/v4l2/v4l2_camera_proxy.cpp | 30 +++++++++++++++++++++--- src/v4l2/v4l2_camera_proxy.h | 4 ++++ src/v4l2/v4l2_compat_manager.cpp | 22 ++++++++++++----- test/ipa/ipa_interface_test.cpp | 5 ++++ 10 files changed, 90 insertions(+), 15 deletions(-)