Message ID | 20200503011720.3382710-1-kieran.bingham@ideasonboard.com |
---|---|
State | Superseded |
Delegated to: | Kieran Bingham |
Headers | show |
Series |
|
Related | show |
Hi Kieran, Thanks for your work on this. Just a few comments already, I'll provide more tomorrow. On Sun, May 03, 2020 at 02:17:20AM +0100, Kieran Bingham wrote: > 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 <kieran.bingham@ideasonboard.com> > --- > 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 s/ The/ The/ > + designed around the way that modern embedded camera hardware works. > + > +What is the correct way to display the name 'libcamera' s/$/?/ > + 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. s/MIPI\/CSI2/MIPI CSI-2/ > + > +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 We lock at the camera level, not at the stream level, don't we ? > + 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
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
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 <kieran.bingham@ideasonboard.com> --- README.rst | 65 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+)