CI20 MPlayer

From eLinux.org
Jump to: navigation, search

Accelerated video playback using the JZ4780 VPU is currently supported using a modified version of MPlayer.

The sources for this can be found on github.

https://github.com/MIPS/CI20_mplayer

This works for kernel 3.0.8, but unfortunately fails with the newer Debian rootfs.

On the CI20, install the following packages.

apt-get install git
apt-get install libavcodec-dev
apt-get install zlib1g-dev
apt-get install libgtk2.0-dev
apt-get install libgl1-mesa-dev
apt-get install gawk
apt-get install libasound2-dev

Then

git clone https://github.com/MIPS/CI20_mplayer mplayer

Then run

cd mplayer
./build.sh

Then copy mxu_as located in the mplayer folder to your path. Also make it executable

chmod +x mxu_as
cp mxu_as /usr/local/bin/mxu_as

mxu_as is a script for the JZ47XX SIMD instructions. For more details on mxu, check here

Then run

make

The build process can take quite a while as it is a native build.

The build.sh script will build it with all the needed configuration options (native build, not cross-compiled). As part of the build process a number of blobs are built that run on the VPU.

MPlayer will look for these either in the current directory, or in <prefix>/share/mplayer.

At the moment, the fbdev output backend with h264 codecs works best.

MPlayer must be run as root as it needs access to the following (the permissions of the device nodes can be changed, but the /proc entries cannot):

  • /proc/jz/imem*
  • /dev/jz-vpu
  • /dev/ipu*

Example for h264 playback with fbdev backend

Download the following http://mirror.bigbuckbunny.de/peach/bigbuckbunny_movies/big_buck_bunny_1080p_h264.mov

And as root, play using

./mplayer big_buck_bunny_1080p_h264.mov -vo fbdev -ao alsa:device=hw=0.0

The -ao alsa:device=hw=0.0 is because this particular file has surround aac audio which isn't picked up by default.