在Ubuntu上移植MPlayer到mini2440

4 篇文章 0 订阅
1 篇文章 0 订阅

1.、安装SVN     apt-get install subversion

2、mkdir mplayer

3、 svn checkout svn://svn.mplayerhq.hu/mplayer/trunk mplayer

4、svn up

5.、./configure --host-cc=gcc --cc=arm-linux-gcc --target=arm-armv4l-linux --enable-static --prefix=/tmp/mplayer  --disable-dvdread --enable-fbdev --disable-mencoder --disable-live 2>&1 | tee logfile
  --host-cc=gcc是用来编译一些需要在host上执行的中间文件的,如codec-cfg,切记不能少了或搞错了!网上的《mplayer在ARM9(s3c2410)上的移植》(以下简称《移》文)一文介绍说遇到提示codec-cfg不能被执行出错时的解决方法是先将codec-cfg编译成i386平台的在再这里停下来时用i386的codec-cfg替代从而使编译继续。通过实验设置了这个参数就不用那么麻烦了,而且整个过程也显得比较幽雅了。
  --cc=arm-linux-gcc这个没什么好介绍的。如果上面没有将arm-linux-gcc的位置加入到$PATH中的话,在这个指定绝对路径好了。
  --target=arm-armv4l-linux这个参数要注意的是一个分三部分,第一部分的arm是指arch,这里设定为arm;第二部分的armv4l是指具体的版本,这个要注意了,一定要跟libavcodec目录下的平台目录名一致,否则为这个平台的优化代码没办法编译进去(据我观察是这样的^_@ );第三部分是系统平台。
  --enable-static是设定静态连接,不需要一堆乱七八糟的动态库,尤其对我们这些新手来说省了很多的麻烦。如果设置了这个参数就不用设置—prefix了,另外也不用执行make install。
  最后的一个2>&1 | tee logfile意思是将执行的情况在输出到屏幕的同时记录到logfile文件中,在控制台下编译比较有用。
  剩余的几个参数没什么好介绍的了,记住--disable-mencoder要加上,mencoder在这里编译会有问题,还没有时间去研究呢。如果不清楚其它的参数的意思自己看configure文件吧,里面都有介绍。
  配置完成了就该编译了。执行

6、make

出现错误   selected processor does not support `pld [r1]'

发现原来是armv5以下的版本不支持pld指令(mini2440的arm9属于armv4),解决方法是替换MPlayer-1.0rc2/libmpeg2/motion_comp_arm_s.S文件和MPlayer-1.0rc2/libavcodec/armv4l/dsputil_arm_s.S文件中的pld [r1]为空即可!详细可以参考:hi.baidu.com/serial_story/blog/item/ce608601a32c540b728da5cc.html

 

在上面的两个文件中加入宏定义:

#ifndef HAVE_PLD
.macro pld reg
.endm
#endif


7、在本目录下生成mplayer文件,即可在开发板上使用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值