Jump to Navigation

Camera: from Cheese to Mobility camera

Session Summary: 
We will show you how MeeGo support cameras on quite different architecture/platform, and compare the differences/pros/cons among those solutions. We are experience camera evolution for Linux. it is USB Video Class on Netbook(Oaktrail) with Cheese; MIPI with share memory is used on MRST to achieve higher resolution, camera and HW accelerated encoder is connected with special extension. On MFLD, camera (V4L2) will use ‘user pointer’ mode to follow standardized interface of camerabin/camerabin2 and media control. We will share our development experience and compare the difference among these solutions.
Session Abstract: 

Camera solution on Netbook/MRST/MFLD differ pretty much, it also reflect the camera evolution on Linux. We will compare the solution on these platform to give you a better overview of camera.
On Netbook, bandwidth is one bottle neck for USB camera, we can’t support higher resolution and frame rate since encoder is done by software. Cheese is an open source camera solution, it almost doesn’t work on Netbook some time before; we tuned it to work well on netbook which is comparable with camera on Win7.
MRST introduce HW accelerated encoder and use share memory for V4L2 (camera interface), we works in the evolution to overcome some technical gaps: work with UMG to make preview works with video recording, prototype prefetch next video frame to support higher frame rate. We create the customized camera pipeline and camerasrc in the solution.
MFLD try to use standardize interface to support camera, V4L2 ‘user pointer’ mode is required to support camerabin/camerabin2; camera driver uses IOMMU/DMA to copy video to a user space memory. it introduces significant change in camerasrc, changes in hw accelerated encoder and other components as well. Camerabin2 introduce 3 video source for camera, it evolves to reduce mode switch latency.