CedarX/Reverse Engineering

From linux-sunxi.org
Jump to: navigation, search

Progress history

15 June 2012
Iain Bullard started reverse engineering the proprietary libraries.
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
12 July 2016
ubobrov modified Jemk's proof-of-concept h264 encoder sources making them workable on H3 platform

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:

There's ongoing register documentation effort using envytools.

Personal tools