Compiler version arm-linux-gcc4.3.3
Host Red Hat 4
Before compiling mplayer-1.0rc2.tar.bz2
Need Mr. Cheng MP3 library, the first to compile these 3 source packages
Libid3tag-0.15.1b.tar
Libmad-0.15.1b.tar
Zlib-1.2.3.tar
1. Compiling Zlib-1.2.3.tar
Tar xvzf Zlib-1.2.3.tar
CD zlib-1.2.3
Configuration
./configure--prefix=/usr/local/madplay
Modify makefile Specify Cross compiler
VI Makefile
cc=arm-linux-gcc
Ar=arm-linux-ar RC
Ranlib=arm-linux-ranlib
Compile
Make
Installation
Make install
2. Compiling Libid3tag-0.15.1b.tar
Tar xvzf Libid3tag-0.15.1b.tar
CD libid3tag-0.15.1b.tar/
Configuration
./configure CC=ARM-LINUX-GCC--host=arm-linux--prefix=/usr/local/madplay cppflags=-i/usr/local/madplay/include Ldflags=-l/usr/local/madplay/lib
Compile
Make
Installation
Make install
3. Compiling Libmad-0.15.1b.tar
Steps are the same as 2
Modify makefile after configuration is complete
VI Makefile
Delete--fforce-mem
arm-linux-gcc4.3.3 does not support--fforce-mem
Compile
Installation
Decompression MPLAYER-1.0RC2.TAR.BZ2 Source Package
Tar xvf mplayer-1.0rc2.tar.bz2
CD Mplayer-1.0rc2.tar
Configuration
./configure--CC=ARM-LINUX-GCC--HOST-CC=GCC--enable-cross-compile--target=arm-armv4l-linux--disable-armv6-- Enable-static--enable-linux-devfs--disable-win32dll--disable-dvdread--enable-fbdev--disable-mencoder-- Disable-liba52--enable-mp3lib--disable-live--disable-armv5te--disable-iconv--charset=noconv--enable-mad-- Enable-ossaudio--DISABLE-IVTV--enable-libavcodec_a--with-extralibdir=/usr/local/madplay/lib--with-extraincdir= /usr/local/madplay/include
--enable-mp3lib: Using the MP3 library file
--with-extralibdir=/usr/local/madplay/lib: Specify MP3 library file location
--with-extraincdir=/usr/local/madplay/include
: Specify MP3 header file location
Compile
Make
Compiling error handling
Armv4l/dsputil_arm_s.s:79:error:selected processor does not support ' pld[r1] '
The compiler does not support PLD this instruction, only ARMV5 above is supported
To modify the DSPUTIL_ARM_S.S, add the preceding:
#ifndef HAVE_PLD
. macro PLD Reg
. endm
#endif
intptr_t not recognized
This is a problem with the arm-linux-gcc4.3.3 compiler.
Change intptr_t to unsigned int
To modify the LIBMPEG2/MOTION_COMP_ARM_S.S, add the preceding:
#ifndef HAVE_PLD
. macro PLD Reg
. endm
#endif
Undefined reference to ' video_out_ivt '
Modify source code LIBVO/VIDEO_OUT.C, add conditional compilation at 101 lines
#ifdef HAVE_DXR3//Add
extern vo_functions_t Video_out_dxr3;
#endif//Add
Play No sound issues
[AO OSS] audio_setup:can ' t open audio device/dev/sound/dsp:no such file or directory
Soft Connect/DEV/DSP to/DEV/SOUND/DSP
Mkdir/dev/sound
Ln-s/DEV/DSP/DEV/SOUND/DSP
Copy MPlayer to Rootfs/usr/bin
Run
Mplayer/home/op........mp3
Mplayer/home/107.avi
Adding-slave and-quiet to commands allows you to set mplayer by command to implement the appropriate functionality