Chinaunix

标题: MPlayer 移植大全 [打印本页]

作者: bluedrum    时间: 2009-11-23 21:27
标题: MPlayer 移植大全
  MPlayer 是相当有名的跨平台多媒体播放软件,并且支持软件较多格式.(官方网站
http://www.mplayerhq.hu/
)在嵌入式领域也应用使用较多.因为教学和项目关系.我分别移植了MPlayer 桌面版,MPlayer的ARM和MIPS版,并且在上面加入live555的rstp支持.下面将基汇总.
   
X86快速安装

为减少编译.除了MPlayer本身用源码编译外,其余都使用已经编译好的包.首先需要下载如下包

安装.

   运行MPlayer

这是运行效果图

ARM-Linux 移植.
  ARM版本中,图形界面移植相对困难.需要先移植X11方面库,所以一般先移植命令行版本.采用libmad作为音频解码库.(默认音频效果很差)

  最小版本

     最开始可以移植一个最小.只需要libmad 和MPlayer 即可。
  目录结构
    |
    +-- output--linux_arm
    |
    +-- MPlayer
    |
    +-- libs/libmad

libmad 的配置脚本
  ./configure --prefix=$PWD/../../output/linux_arm --host=arm-linux --enable-shared --enable-static --enable-fpm=arm
生成Makefile 后,如果用arm eabi版编译器(如arm-linux-gcc 4.3.2),去掉129的 -fforce-mem ,因为编译器不认识这一选项
Mplayer 的配置脚本如下
  ./configure --prefix=$PWD/../output/linux_arm --with-extraincdir="$PWD/../output/linux_arm/include  "   --with-extralibdir="$PWD/../output/linux_arm/lib "  --cc=arm-linux-gcc   --target=arm-armv4-linux  --ar=arm-linux-ar   --ranlib=arm-linux-ranlib   --disable-gui   --target=arm-linux --host-cc=gcc  --disable-freetype  --enable-fbdev --disable-mencoder --disable-sdl --disable-live  --disable-dvdread  --disable-libdvdcss-internal --disable-x11 --enable-cross-compile  --disable-mp3lib --enable-mad    --disable-dvdnav  --disable-dvdread-internal    --disable-jpeg --disable-tga  --disable-dvbhead --disable-pnm --disable-tv --disable-ivtv   --disable-fontconfig --disable-xanim --disable-win32dll --disable-armv5te --disable-armv6

   修改两个汇编代码。

libavcodec/armv4l/dsputil_arm_s.S, libmpeg2/motion_comp_arm_s.S中加入
#ifndef HAVE_PLD
.macro pld reg
.endm
#endif
因为这是pld指令只在armv5te以上版本有效,在2440(armv4l)无效,因此用一个空宏来置换。


完整版本.
支持网络点播版本.

JZ47XX(MIPS)移植版本






本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/105675/showart_2101453.html




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2