Cedrus is a project intended for fully 100% libre and open source software, for using the hardware accelerated video decoding/encoding engine found in sunxi devices. Replacing the proprietary library that has a long history of license ambiguity issues and in certain cases even (L)GPL violations.
The name is derived from the Cedrus tree, which commonly is known as Cedar.
Interested people are welcome to join the development channel #cedrus on Freenode IRC.
The hardware is already well understood by the means of the reverse-engineering effort, which very quick got successful results. And a large majority of the hardware registers are documented, with this information some Proof of Concept (PoC) example source code was written to verify that the hardware can be configured correctly from the information obtained. To forward verify, there was implemented a vdpau driver backend which is quite usable and can be used by any media player that uses the vdpau framework.
The Cedrus project aims for a proper driver and software that can be mainlined and upstreamed to the proper places, this can't happen with the vendor kernel driver in its limitations, source code quality or transbording as a security risk.
Steps for this proper driver and software can be seen in its planning phase.
See for more information.
Supported codec matrix
In this colorful table is represented what is understood and supported by hardware in the left side, the designation VE+Number are the video engine hardware version and above are the SoCs were found. Here are only SoCs and hardware versions which was confirmed or reported, the ones that aren't here should and are expected to be very equal in mode.
The right side represents the state of software. Take notice about the PoC (Prof of Concept) in which only exists for demonstration the correct understanding about the working of the hardware, sometimes the creation of this PoC is skipped.
|decoder||0x100||JPEG/MJPEG||baseline profile only||n.a.|
|encoder||0xa000xb00||JPEG/MJPEG||baseline profile only||Untested||n.a.|
|H264||baseline profile only||Untested||No B frames||n.a.|