VLC

VLC also known as "VideoLAN Client" player is a open-source cross-platform video player. For more info check the wikipedia.

VLC support for CedarX was added by Wills Wang. VLC support and especially this page is work in progress.

NOTE: This page describe how build VLC with closed binary blob as we now have opensource support for H264 and MPEG12 codecs with VDPAU, so better use it instead blob in common cases. = Compilation =

In building tree, the default libvecore.so is armhf version, it come from here

If you use armel, you need replace it with this version

Build libcedarx at first, do: git clone https://github.com/willswang/libcedarx cd libcedarx ./autogen.sh ./configure --host=arm-linux-gnueabihf --prefix= make make install

If the above fails at autogen.sh, be sure to install libtools. apt-get install libtool

Build vlc with cedar support, do: apt-get build-dep vlc #only once, both target and host rootfs apt-get remove lua5.2 # may not be needed on your system, you must use lua 5.1 to build vlc git clone https://github.com/willswang/vlc cd vlc ./bootstrap ./configure --host=arm-linux-gnueabihf --prefix= --enable-cedar make make install

If you dont want to cross-compile, remove --host, set prefix to /usr and compile on device, compilation time is around one and a half hours.

= Usage = Give everyone rights to use disp and CedarX chmod 777 /dev/disp chmod 777 /dev/cedar_dev Start vlc with command line interface: cvlc --demux ffmpeg --codec cedar --vout cedarfb --no-osd You can use standard cvlc hotkeys, but remember that there is no OSD support yet.

= Problems/TODO =
 * Is fb0_scaler_mode_enable/fb1_scaler_mode_enable needs to be disabled for cedarfb?
 * No output modules support apart from cedarfb which uses raw framebuffer access (not compatible with xf86-video-mali and any other driver/device that wants to write raw at the same moment).
 * No support for GUI of the VLC, only command line VLC is supported
 * 1080p and such movies with high bitrate sometimes buffer too slow and frames are dropping.
 * No support for OSD because of lack of YUV420