linux-sunxi / libvdpau-sunxi

Experimental VDPAU for Allwinner sunxi SoCs (obsolete, see https://linux-sunxi.org/Sunxi-Cedrus)
https://linux-sunxi.org/Cedrus
166 stars 80 forks source link

About

libvdpau-sunxi is a [VDPAU] (ftp://download.nvidia.com/XFree86/vdpau/doxygen/html/index.html) backend driver for Allwinner based (sunxi) SoCs.

It is based on the [reverse engineering effort] (http://linux-sunxi.org/Cedrus) of the [linux-sunxi] (http://linux-sunxi.org) community. It does neither depend on code, which was released by Allwinner, nor does it act like a wrapper around some precompiled binary libraries. libvdpau-sunxi is a clean implementation, that is based on reverse engineering.

It currently supports decoding of MPEG1 and MPEG2, some limited MPEG4 types and H.264. On H3/A64 it also decodes H.265. It also supports all the basic features of the VDPAU API - including presentation. As this is WorkInProgress, not all features are implemented yet. Some of them probably will never get fully supported due to hardware specific limitations.

Requirements:

Installation:

$ make
$ make install

Usage:

$ export VDPAU_DRIVER=sunxi
$ mpv --vo=vdpau --hwdec=vdpau --hwdec-codecs=all [filename]

Note: Make sure that you have write access to both /dev/disp and /dev/cedar_dev

OSD Support:

OSD support is available either

To enable OSD support for e.g. subtitles or GUI, set VDPAU_OSD environment variable to 1:

$ export VDPAU_OSD=1

To disable G2D mixer processor usage (for debugging purposes and forcing pixman usage on A10/A20), set VDPAU_DISABLE_G2D environment variable to 1:

$ export VDPAU_DISABLE_G2D=1

If using G2D (A10/A20), make sure to have write access to /dev/g2d.

Limitations: