2010年3月8日 星期一

nano-x + SDL+ffmpeg 使用ARM

使用Arm EVB實作

1.設定SDL-1.2.14
#./configure --disable-video-x11 --disable-oss --disable-video-fbcon --prefix=/home/winging_lu/ffmpeg-0.5.1/libSDL/ --host=arm-linux --disable-cdrom --disable-pulseaudio --disable-esd-shared --disable-arts --enable-video-nanox CFLAGS="-I/home/winging_lu/include/" LDFLAGS="-L/home/winging_lu/STARKIT_v2/src/microwindows-0.91/src/lib/"

#make clean ;all

2.設定ffmpeg-0.5.1
FFMPEG_CONFIGURATION=--enable-cross-compile --arch=arm --target-os=linux --nm=arm-linux-nm --as=arm-linux-gcc --cc=arm-linux-gcc --ld=arm-linux-ld --disable-asm --enable-small

--disable-asm:不使用組合語言,我覺得是最大的敗筆,因為最佳化中的軟組合語言不知道什麼會不相容gun中的as組合語言。所以使用組合語言編譯是不會過的。

3.因為配合ffplay來實現播放軟體

arm-linux-gcc -L"/home/winging_lu/ffmpeg-0.5.1"/libavcodec -L"/home/winging_lu/ffmpeg-0.5.1"/libavdevice -L"/home/winging_lu/ffmpeg-0.5.1"/libavfilter -L"/home/winging_lu/ffmpeg-0.5.1"/libavformat -L"/home/winging_lu/ffmpeg-0.5.1"/libavutil -L"/home/winging_lu/ffmpeg-0.5.1"/libpostproc -L"/home/winging_lu/ffmpeg-0.5.1"/libswscale -static -o ffplay_g ffplay.o cmdutils.o -lavdevice -lavformat -lavcodec -lswscale -lavutil -lrt -lm /home/winging_lu/ffmpeg-0.5.1/libSDL/lib/libSDL.a -L/home/winging_lu/STARKIT_v2/src/microwindows-0.91/src/lib -lpthread -lnano-X -lgcc

因為與nano-x配合後,會出現__udiv3 無法連接的問題,所以要加入-static 與lgcc來作靜態連接libgcc.a的程式,才可以正常執行。

本來想拿ffmpay來作播放器的,但是因為放在FIE8182上實在是太慢了!所以執行起來把480MHZ的效能吃光光,覺得實在是太弱了!

沒有留言: