Monday, February 13, 2006

Porting VideoLanClient

That's my first atempt of porting VideoLanClient to Nokia 770. I will work on it the following months. Porting VLC to maemo platform will be my graduate project on computer science at Universitat Oberta de Catalunya.

By now I followed guidelines of "Cross compile VLC for ARM-based platforms".

That's my build script:

mkdir src
cd src
rm -rf *

echo Uncompress
tar -jxvf ../paquets/ffmpeg-20040520.tar.bz2
tar -zxvf ../paquets/libmad-0.15.0b.tar.gz
tar -zxvf ../paquets/libogg-1.1.tar.gz
tar -zxvf ../paquets/flac-1.1.0.tar.gz
tar -zxvf ../paquets/libdvbpsi3-0.1.4.tar.gz
tar -zxvf ../paquets/a52dec-0.7.4.tar.gz
tar -jxvf ../paquets/vlc-0.7.2.tar.bz2

echo Building ffmpeg
cd ffmpeg-20040520
./configure --prefix=/usr --cpu=armv4l \
--disable-mmx \
--enable-shared \
--enable-pp \
--enable-gpl

gcc -O3 -g -Wall -I. -I/home/jep/vlc/src/ffmpeg-20040520 \
-I/home/jep/vlc/src/ffmpeg-20040520/libavcodec \
-I/home/jep/vlc/src/ffmpeg-20040520/libavformat \
-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE \
-I/usr/include/SDL \
-I/usr/X11R6/include \
-D_REENTRANT -c -o ffplay.o ffplay.c
make
make install
cd ..

echo Building libmad
cd libmad-0.15.0b
./configure --enable-release --prefix=/usr --host=arm-linux --target=arm-linux \
--x-includes=/usr/X11R6/include \
--x-libraries=/usr/X11R6/lib \
--disable-video-opengl
#--enable-fpm=arm
#--enable-fpm=arm
export PATH=/usr/bin:$PATH
make
cd ..

echo Building libogg
cd libogg-1.1
./configure --prefix=/usr --host=arm-linux --target=arm-linux
make
make install
cd ..

echo Building libflac
cd flac-1.1.0
./configure --prefix=/usr --host=arm-linux --target=arm-linux
make
make install
cd ..

echo Building libdvbpsi3-0.1.4
cd libdvbpsi3-0.1.4
./bootstrap
./configure --prefix=/usr --host=arm-linux --target=arm-linux
make
make install
cd ..

cd a52dec-0.7.4
./configure --enable-release --prefix=/usr --host=arm-linux --target=arm-linux
make && make install
cd ..

echo Building vlc
cd vlc-0.7.2
./configure --target=arm-linux --host=arm-linux \
--disable-wxwidgets \
--disable-skins2 \
--enable-release \
--prefix=/usr \
--disable-plugins \
--enable-gtk \
--enable-gtk2 \
--enable-pda \
--enable-ncurses \
--enable-x11 \
--disable-gnome \
--disable-qt \
--disable-kde \
--disable-qte \
--disable-xosd \
--enable-dummy \
--disable-fb \
--disable-sdl \
--disable-oss \
--disable-alsa \
--disable-httpd \
--disable-libcdio \
--disable-xvideo \
--disable-dvd \
--disable-dvdread \
--disable-vcd \
--disable-cdda \
--disable-mkv \
--disable-maxosx \
--disable-xosd \
--disable-freetype \
--disable-flac \
--disable-libmpeg2 \
--enable-mad \
--enable-ffmpeg \
--enable-familiar \
--disable-dvbpsi \
--x-includes=/usr/X11R6/include \
--x-libraries=/usr/X11R6/lib

# --with-gtk-config-path=/usr/bin \
# --with-gtk-prefix=/usr \
# --with-ffmpeg-tree=../ffmpeg-20040520 \
# --with-a52-tree=../a52dec-0.7.4 \
# --with-dvbpsi-tree=../libdvbpsi3-0.1.4

# --with-mad-tree=../libmad-0.15.0b \

make

3 comments:

keyrn said...

Hi man,

I've been working in the port of mplayer and it works fine (no dsp so heavy load), it also worked with libmad but a/v sync with sounds doesn't work, not enought cpu power.

Let us know of your progress...

Regards

unique0nez said...

As of today you are my best friend.
I love you man...

unique0nez said...

BTW, I'll beta test for you when you have a package ready.

unique11210@gmail.com
and i'm a regular on the maemo irc site..