Allwinner has mixed relationships with open source communities such as Kodi, especially due to issues with its closed-source CedarX VPU drivers, and some GPL violations. However to address the former, linux-sunxi community has been working on open source Cedrus library for the video processor unit on Allwinner processors, that’s been successfully tested on boards such as Orange Pi One. Free Electrons has gone further, as they’ve made sure Cedrus now works with Linux mainline kernel, currently Linux 4.8, and tested it on Allwinner R8 based Pocket CHIP.
The work has been done by Florent Revest, a 19 years old intern at the company, who delivered a new sunxi-cedrus driver, a Video4Linux (V4L2) memory-to-memory decoder kernel driver, and corresponding VA-API backend, with the implementations currently available on Github here and there respectively. Currently only MPEG2 and MPEG4 are working, but adding other codecs such as H.264, and video encoding is possible using the current framework.
The short demo below shown VideoLAN playing an MPEG2 video using Cedrus on Linux 4.8 on PocketCHIP.
A patchset has already been sent to the Linux Kernel mailing list, so support should become available in one of the upcoming Linux releases, and they’ve also updated linux-sunxi Cedrus Wiki to explain how to reproduce this setup on other Allwinner A13 boards.