CedarX/Reverse Engineering

= Current status =

= Hardware registers = The closed source blob uses direct access to hardware registers using mmap to userspace. Currently known register usage is documented:


 * VE Register guide
 * ACE Register guide

There's ongoing register documentation effort using envytools.

= 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.


 * 3 May 2013
 * wingrime and oliver started work on register guide, JPEG, MPEG decoding manuals and binary analysis.


 * 20 May 2013
 * nove introduced new MMIO tracer based on Valgrind
 * ReCedro has similar tools as those from IanB above, but with a different angle, works really well.


 * 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


 * 24 August ~ 12 September 2013
 * Paullo612 worked in documenting vp8 decoding.


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


 * 15 January 2014
 * Jpeg encoding proof-of-concept by nove jepoc


 * 31 January 2014
 * Jemk added to libvdpau-sunxi the first support for decoding (some) mpeg4 videos


 * 28 November 2015
 * Jemk added initial H.265 support to libvdpau-sunxi


 * 12 July 2016
 * ubobrov modified Jemk's proof-of-concept h264 encoder sources making them workable on H3 platform

A first proof at the end ...