SnapDragon

From RidgeRun Developer Wiki

RidgeRun has been playing (6 months) with the SnapDragon 805 which can do 4K H265 decoding from Inforce, this as an R&D project, the board that we have is the 6501 from Inforce and we verified that it can do H265 decoding and encode 4K resolution on H264 at 30fps, we even created an SDK for the board, however we found several problems on the design that Qualcomm used for the SW and the support available:

a) In the capture side they use something called mm-qcamera-daemom to handle the capture because the IOCTL related to capture are implemented in user space by this demo which is called by the kernel (ugly and cause overhead). The worst part is that the daemon is linked with bionic and not libc so the daemon which is not open source just the binary cannot run on a system without android. You can read more about this in the following links:

http://www.spinics.net/lists/linux-media/msg27414.html
http://www.spinics.net/lists/linux-media/msg27070.html
http://www.spinics.net/lists/linux-media/msg27420.html
http://www.spinics.net/lists/linux-media/msg27533.html
http://www.spinics.net/lists/linux-media/msg27533.html
http://permalink.gmane.org/gmane.linux.drivers.video-input-infrastructure/27021

b) The daemon (not open source) then needs support to configure the camera sensor and since it is not open source then you cannot add support for new cameras.

c) You don't have access to the individual components that would accelerate the frames processing, i.e, you say start recording and it would do it for you without having access to the buffer on any part of the processing chain.

d) There is a poor support on the forums and not all the documentation is available.

e) There is no way or easy way to contact Qualcomm

f) People from LInaro is working on an older snapdragon so the support for the 810 is very limited. Right now it seems that only android is well support but with a poor performance on tasks involving the camera - too much arm consumption, like 30%.

The one that supports H265 encoding is the 820, not sure if there is a EVM for it. We were able to port the BSP to the SDK and have the board booting, RidgeRun got the SDK working with wireless and display. But the capture subsystem was dead because the daemon cannot run outside of Android.