From patchwork Sun May 3 01:17:20 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Kieran Bingham X-Patchwork-Id: 3679 X-Patchwork-Delegate: kieran.bingham@ideasonboard.com 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 56D63603F0 for ; Sun, 3 May 2020 03:17:25 +0200 (CEST) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (1024-bit key; unprotected) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="E4iUJafr"; dkim-atps=neutral Received: from localhost.localdomain (cpc89242-aztw30-2-0-cust488.18-1.cable.virginm.net [86.31.129.233]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 98976304; Sun, 3 May 2020 03:17:24 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1588468644; bh=qnMsWk3LxIvmImUpjXPB5uUbTU6UmmQpLOX98oXCLCY=; h=From:To:Cc:Subject:Date:From; b=E4iUJafreYLVmMg01xLgN24BjTSPW4jfT0hU6visHElc5C/QQkzqlKJRm7odyEw19 +IHGaWmV2xd9DT1xN/Rmozf7T+l9+nXq+zW+AdMDPa9GsZoxgV2YOX5Hue0YAiQs2W /Cnno46Ex4OK61UVtjLqmTb3tXrtXi7jrmPsw56E= From: Kieran Bingham To: libcamera devel Date: Sun, 3 May 2020 02:17:20 +0100 Message-Id: <20200503011720.3382710-1-kieran.bingham@ideasonboard.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 Subject: [libcamera-devel] [PATCH] README.rst: Add FAQ section. 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: Sun, 03 May 2020 01:17:25 -0000 Provide an initial set of Questions and Answers. Hopefully these will provide quick insights to the project from the README, and can be incorporated into the website. Signed-off-by: Kieran Bingham --- README.rst | 65 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) diff --git a/README.rst b/README.rst index 40d45196c7d6..af44686b969c 100644 --- a/README.rst +++ b/README.rst @@ -89,3 +89,68 @@ default video display element on your system. gst-launch-1.0 libcamerasrc camera-name="Camera 1" ! videoconvert ! autovideosink .. section-end-getting-started +.. section-begin-faq + +Frequently Asked Questions +-------------------------- + +What is libcamera? + libcamera is an open source camera stack implemented entirely in user space. + It aims to encourage the development of new embedded camera applications by + limiting the complexity that developers have to deal with. The interface is + designed around the way that modern embedded camera hardware works. + +What is the correct way to display the name 'libcamera' + libcamera, is always in lowercase; in titles, or at the beginning of + sentences. + +How is libcamera different from V4L2? + We see libcamera as a continuation of V4L2. One that can more easily handle + the recent advances in hardware design. As embedded cameras have developed, + all of the complexity has been pushed on to the developers. With libcamera, + all of that complexity is simplified and a single model is presented to + application developers. + +Does this mean the camera stack is completely open? + libcamera is open-source friendly which means all of libcamera itself is open + source. Because vendors are reluctant to open-source their Image Processing + Algorithms, libcamera can support closed-source Image Processing Algorithm + modules (IPAs) which will be sandboxed to minimise the exposure of binary + blobs. + +libcamera has been described as “the MESA of the camera stack”. What does that mean? + Mesa provides powerful high-level APIs to applications and implements + device-specific code in userspace to support the implementation. libcamera + provides high-level APIs that handle device-specific code in userspace to + simplify development for application developers. + +Which cameras SoCs (pipelines) are supported? + Currently supported pipelines include the Intel IPU3, RockChip RK3399, UVC, + and VIMC/VIVID test drivers + +Which camera protocols are supported? + libcamera supports cameras that use MIPI/CSI2 protocols. + +Can I use libcamera to access photos on digital cameras? + No, libcamera is a library for controlling embedded camera hardware, it’s not + an application for accessing photos and has no relationship to gphoto2. + libcamera supports internal cameras designed for point-and-shoot still image + and video capture and external UVC cameras designed for video conferencing. + +Can libcamera handle multiple cameras simultaneously? + libcamera can support multiple cameras within a system, and allows only a + single application to consume each stream. An application must ‘acquire’ a + Camera to start operations on it, and should release it when finished. + Logical cameras where multiple cameras are treated as a single camera is a + pipeline and hardware specific extension that will be supported in the + future. + +Does libcamera do format conversion and debayering? + Format conversion and debayering operations are dependent upon the Image + Signal Processor (ISP) and hardware available. Our demonstration application, + QCam, does basic software format conversions to handle display but we aim to + move to using OpenGL to improve real time conversion performance. Where + possible, QCam will request formats that can be displayed natively without + requiring software conversions. + +.. section-end-faq