CedarX

=Overview=

After some pressure caused by the controversies surrounding the license of this library, Allwinner released a new media-codec library called Sunxi-CedarX , 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.
 * The Cedrus Project page.
 * Reverse engineering progress history
 * Video Engine (VE) VE Register guide
 * Audio Codec Engine (ACE) ACE Register guide

= Integration =
 * XBMC (outdated)
 * VLC

=CedarX official source code libraries and third-party forks=
 * https://github.com/allwinner-zh/media-codec Official Allwinner source tree
 * https://github.com/fsebentley/CedarX-12.06.2015 This is new source and binary plugins from Allwinner with some API documentation and example C application...

The following are old and obsolete, is not recommend for any use.
 * https://github.com/allwinner-dev-team/android_external_cedarx Allwinner Dev Team Android external CedarX fork
 * https://github.com/linux-sunxi/cedarx-libs linux-sunxi team fork of the official Allwinner CedarX libcedar source code libraries
 * https://github.com/huceke/libcedar libcedar decoder library for libvecore by Edgar Hucek (a.k.a. Gimli) fork for outdated XBMC
 * https://github.com/willswang/libcedarx Wills Wang libcedarx library for libvecore fork for VLC
 * https://github.com/mortaromarcello/android_external_cedarx Android external CedarX fork by mortaromarcello

= Possibly irrelevant observations =
 * There seems to be a distinction in the Android code between audio decoding ("CedarA") and video decoding ("CedarV").

=References=

= See also =
 * CedarX/Misc Docs - some useful facts from IRC chat conversations
 * CedarXVideoRenderingChart - Overview chart of working/ non working video files
 * CedarX/libve - Using the Android blob on linux via libhybris
 * XBMC (outdated) - XBMC Media Center
 * VLC - VideoLAN Client
 * CedarXPlayerTest - Testing player from Ubuntu image