From linux-sunxi.org
Jump to navigation Jump to search
MBOX icon important.png This page provides information for legacy framework only usable with older non-mainline 3.4.x and 3.10.x kernels. In case you are interested in Mainline kernel, look at Cedrus and Sunxi-Cedrus pages.


CedarX is a proprietary multimedia framework distributed by Allwinner and not supported by the linux-sunxi community.

It's the name of the proprietary software libraries responsible for hardware accelerated video and audio de-/encoding (CedarV + CedarA) in conjunction with with a hardware block. As for audio, the hardware ACE (Audio Codec Engine) appears to only exist in A10 and older SoCs. Allwinner refactored their proprietary userspace libraries and published them partly under GPLv2 naming them "media-codec" while some codecs are still only available as proprietary binary blobs linked in like plugins.

After some pressure caused by the controversies [1] [2] [3] [4] surrounding the license of this library, Allwinner released a new media-codec library called Sunxi-CedarX [5] , which is a rewrite that up to now only partial implements some codecs as open source, letting the rest of the codecs and features such an encoding dependents of a closed source plugin binary.

Disadvantages Allwinner's CedarX technology and libraries:

  • Allwinner's own CedarX proprietary libraries are known to have no clear usage license, so even if the source code for some versions is available the terms-of-use is unknown in open source software. Allwinner is slowly working towards to resolve this issue.
  • Using CedarX currently requires the use of the older non-mainline Linux 3.4.x or 3.10.x kernels.

Alternatives to CedarX, including Reverse engineering

The video engine has been largely reverse engineered. Initially producing an experimental VDPAU implementation capable of being used to play videos. The Cedrus project later built upon this to produce an experimental VAAPI implementation in 2016. During 2018 the work was continued to provide an interface using the newly released V4L "media requests" API.


CedarX official source code libraries and third-party forks

The following are old and obsolete, is not recommend for any use.

Possibly irrelevant observations

  • There seems to be a distinction in the Android code between audio decoding ("CedarA") and video decoding ("CedarV").


See also