[MPlayer-dev-eng] mplayer arm port support for liveMedia

Mildred Frisco mildredf at asti.dost.gov.ph
Fri Aug 1 14:08:47 CEST 2003

hi armin,
i followed your instructions in building for arm

$ PATH=/usr/local/arm/2.95.3/bin:$PATH

$  ./configure --cc=arm-linux-gcc --target=arm --enable-static 
--prefix=/Projects/armbuild/MPlayer-20030619/arm-build --disable-win32 
--disable-dvdnav --disable-dvdread --enable-fbdev --disable-mencoder 
--disable-mad --enable-live --with-livelibdir=/Projects/armbuild/live 
--enable-sdl --with-sdl-config=/Projects/armbuild/SDL/bin/sdl-config 
    ( i disabled mad because i previously got errors with it with my 1st 
configure, i also downloaded a precompiled sdl)
    i also edited the files Makefile and bitstream.h as you told it, then

$ make
    #arm-linux-gcc -O4   -pipe -ffast-math -fomit-frame-pointer 
-Ilibmpdemux -Iloader -Ilibvo  -I/Projects/armbuild/SDL/include       -g 
codec-cfg.c mp_msg.c -o codec-cfg -DCODECS2HTML 
gcc -O4   -pipe -ffast-math -fomit-frame-pointer -Ilibmpdemux -Iloader 
-Ilibvo  -I/Projects/armbuild/SDL/include       -g codec-cfg.c mp_msg.c 
-o  -DCODECS2HTML -L/Projects/armbuild/SDL/lib
codec-cfg.c:36:25: codecs.conf.h: No such file or directory
codec-cfg.c: In function `parse_codec_cfg':
codec-cfg.c:491: `builtin_video_codecs' undeclared (first use in this 
codec-cfg.c:491: (Each undeclared identifier is reported only once
codec-cfg.c:491: for each function it appears in.)
codec-cfg.c:492: `builtin_audio_codecs' undeclared (first use in this 
make: *** [codec-cfg] Error 1


there was no codecs.conf.h file that was generated.  
i attached some necessary files (configure messages - 
configure_milds.txt, config.mak, and the make error message - make.log)

i also have another question regarding liveMedia cross-compilation.  i 
was able to finish cross-compiling it using arm-linux tools and produced 
binaries in the testProgs/ library.  however when i execute the test 
programs in arm (iPAQ and assabet)  i get segmentation fault.  i'm 
having a very hard time with debugging and i don't know what's wrong 
with it.  what toolchain/version did you use?  i also attached my 
config.arm-linux file to ask you if there's anything wrong with it.

thank you very much


armin.gerritsen at philips.com wrote:

>Hello Mildred,
>Our deadline is gone now. (We had a big demonstration on Wednesday of our
>new ARM based multimedia system-on-chip for a customer and the whole system
>decided to break down on Tuesday. So it was panic time! But with the help of
>truckloads of coffee all went fine in the end, and the customer was/seemed
>Well to the question, what I did to get MPlayer working with LIVE.com.
>1) I downloaded and extracted the live-libraries in
>When you extract the stuff, copy/modify one of the config.xxxx files to your
>needs, and change compiler (in my case arm-linux-gcc and arm-linux-g++).
>After that run ./genMakeFiles xxxx (with xxxx the new name you gave to your
>file). Then it will create makefiles for the live library. Then a simple
>'make' should compile all libraries (and some test-programs).
>2) Get MPlayer CVS, as the release is not supposed to work. Didn't try if
>this is the case, but I asume the warning on LIVE.com's site isn't for
>3) Get the latest libavcodec, since that is not included in MPlayer CVS and
>put it in libavcodec subfolder.
>4) Run this as configure (asuming you use arm-linux-gcc too as cross
>./configure --cc=arm-linux-gcc --target=arm --enable-static --prefix=/home/a
>gerrits/develop/mplayer.live/out --disable-win32 --disable-dvdnav --disable-
>dvdread --enable-fbdev --disable-mencoder  --enable-mad --enable-live --with
>Note that the option '--enable-mad' you may want to remove. I always use MAD
>for MPx-audio, because it is faster on ARM in our experiences. (The standard
>ffmpeg integer-MP3 codec gives hickups on our ARM.)
>Plus of course you may want tio change other options too (for instance if
>you want to use memcoder).
>5) Our CVS-version has a bug (it is reported several times, but I'm afraid
>it is still there), which requires a small fic in the generated Makefile.
>Somewhere around line 245 (depends of course on the configure options you
>use), you see the 'chapter'
>$(PRG_CFG): version.h codec-cfg.c codec-cfg.h
>It has a line like this:
> $(CC) $(CFLAGS) -g codec-cfg.c mp_msg.c -o $(PRG_CFG) -DCODECS2HTML
>modify it to
> gcc $(CFLAGS) -g codec-cfg.c mp_msg.c -o $(PRG_CFG) -DCODECS2HTML
>or whatever is the compiler on your development system (but I asume it is
>x86 Linux just like me).
>This line creates a tool which during the make-process does 'something'. Of
>course if it is created with the crosscompiler, it will fail to run on your
>development system.
>6) Then go to the liba52 folder. There is a fix in newer versions of
>bitstream to solve some allignment errors on some platforms (Alpha CPU's).
>However - at least in compination with gcc 2.95 for ARM - this fix gives
>errors. The fix is easy though. Asuming it is not fixed in newer libavcodecs
>the fix is: Change line 35 to:
>#if defined (ARCH_X86) || defined(ARCH_ARM)
>... so basicly add ARCH_ARM to it.
>7) After that just to a make.
>I created a dummy folder /home/agerrits/develop/mplayer.live/out, so that if
>I do a 'make install' afterwards it will put nicely all programs and
>configuration files in that folder, so I can then just copy it to the ARM
>There is one 'but' here. MPlayer was created with the idea that it is ran on
>the system where it is compiled. So it has hardcoded paths in it (maybe you
>can disable that, but I don't know how), so I also had to make some symbolic
>links on my arm-filesystem. In my case I installed the mplayer-tree on the
>ARM in /mnt/ata/mplayer_live, while it was installed in
>/home/agerrits/develop/mplayer.live/out. So I just do this once:
>mkdir /home/
>cd /home
>mkdir agerrits
>cd agerrits
>mkdir develop
>cd develop
>mkdir mplayer.live
>cd mplayer.live
>ln -s /mnt/ata/mplayer_live out
>This is required so that during startup mplayer will find it configuration
>8) Last step. Edit your configuration file. By default mplayer will use for
>MP3 data its floating-point lib. Well, since our ARM doesn't have a FPU, it
>will use emulation which is slooooooooooooow ... :-)
>So edit (unless your ARM has a FPU companion of course) [where you installed
>and look (at line 1708 inmy case) for audiocodec ffmp3.
>Remove this section (or comment it out). MPlayer will always use the first
>compatible codec, so it will then use the interger-version (here line 1748).
>In my case, I also kicked out that and the ffmp2 (line 1759) because I added
>the MAD-library to my MPlayer-tree and compiled in support for it by adding
>the switch in step 4. So it will the go to line 1768 in my case and use MAD.
>OK, As fas as I remember this is it. Of course all ARM's are different and
>the MPlayer CVS and other codec may have changed, so things could be
>different. But I hope it helps.
>Regards and good luck,

-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: config.mak
URL: <http://lists.mplayerhq.hu/pipermail/mplayer-dev-eng/attachments/20030801/160457bc/attachment.txt>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: configure_milds.txt
URL: <http://lists.mplayerhq.hu/pipermail/mplayer-dev-eng/attachments/20030801/160457bc/attachment-0001.txt>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: make.log
URL: <http://lists.mplayerhq.hu/pipermail/mplayer-dev-eng/attachments/20030801/160457bc/attachment-0002.txt>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: config.arm-linux
URL: <http://lists.mplayerhq.hu/pipermail/mplayer-dev-eng/attachments/20030801/160457bc/attachment.asc>

More information about the MPlayer-dev-eng mailing list