CedarX/Reverse Engineering

= Progress history =

15 June 2012
Iain Bullard started reverse engineering the proprietary libraries.


 * open_cdxalloc as an free reimplementation of Allwinner's libcederxalloc.a.
 * CedarXWrapper as a LD_PRELOADed wrapper to help understanding the proprietary libraries.
 * CedarXPlayerTest as a basic player to use when testing.
 * ReCedro has similar tools as those from IanB above, but with a different angle, works really well.

3 May 2013
wingrime started work on register guide, JPEG, MPEG decoding manuals

20 May 2013
nove introduced new MMIO tracer based on Valgrind

22 June 2013
JPEG decoding proof-of-concept was introduced by Jemk

JPEG/MPEG-12 Decoding PoC

30 August 2013
Workable proof-of-concept VDPAU decoder was introduced by Jemk support MPEG-1/2 and MPEG-4 AVC/h.264 decoding

libvdpau-sunxi

12 January 2014
First MPEG-4 AVC/h.264 encoder proof-of-concept from Jemk

= Current status =

After first having a working jpeg decoder Proof of Concept and following a mpeg12 PoC. These where relative simple engines, but it is now possible to also decode h264.

NOTE debian armhf sid's mplayer have broken vdpau, you should rebuild it by hand!

Curently it support MPEG12 and h264 decoding

While a big fat warning is required here, first a video!

Now, this is only workable proof of concept code, it isn't production ready. Display and CedarX code must be rewritten in ongoing mainline process

= Hardware registers = Blob use direct access to hardware registers using mmap to userspace. Currently known register usage in manuals:


 * VE Register guide
 * ACE Register guide

There's ongoing register documentation effort using envytools.