Cedrus

= Overview =

= Development / Mainline Kernel = Interested people are welcome to join the development channel #cedrus on Freenode IRC.

Development of a mainline kernel driver and the corresponding libva-v4l2-request LibVA implementation is in progress. You can follow the development on Sunxi-Cedrus.

= Crowdfunding = On February 2, 2018 Bootlin (formerly Free Electrons) started a crowdfunding campaign in order to bring sunxi-cedrus into the linux mainline kernel. The main goal (MPEG2 and H264 decoding on A10, A13, A20, A33, R8 and R16) and the first stretch goal (implement H3, H5 and A64) has reached already. Delivery date of the main goal is expected to be by end of June 2018, stretch goals are expected to be delivered by end of December 2018.

Outstanding stretch goals are:
 * H265 decoding support
 * H264 encoding support

In October 2018, Maxime Ripard of Bootlin gave a presentation on the project at ELCE entitled Supporting Hardware Codecs in a Linux system.

= Current status =

The hardware is already well understood by the means of the reverse-engineering effort, which very quickly got successful results. 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 verifying, 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.
 * Video Engine Register Guide
 * libvdpau-sunxi
 * '''Video Engine Planning.
 * Sunxi-cedrus

= Supported codec matrix =