Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2775988
  • 博文数量: 505
  • 博客积分: 1552
  • 博客等级: 上尉
  • 技术积分: 2514
  • 用 户 组: 普通用户
  • 注册时间: 2007-09-23 18:24
文章分类

全部博文(505)

文章存档

2019年(12)

2018年(15)

2017年(1)

2016年(17)

2015年(14)

2014年(93)

2013年(233)

2012年(108)

2011年(1)

2009年(11)

分类: 嵌入式

2013-01-21 14:07:09

原文地址:mplayer移植到TQ2440 作者:txgc_wm

一、编译环境

linux环境:ubuntu-10.10
交叉编译:4.3.3
arm板子:tq2440

二、MPlayer的移植

#./configure --cc=arm-linux-gcc --host-cc=gcc --target=arm-linux --enable-static --prefix=/opt/EmbedSky/4.3.3/arm-none-linux-gnueabi/mplayer --disable-win32dll --disable-mencoder --enable-fbdev --disable-dvdread --disable-armv5te --disable-armv6
    --disable-mencoder参数指定不编译mencoder以节省编译时间,因为在ARM平台上不需要也不应该使用mencoder来编辑视频。--enable-mad是为了改善mplayer在ARM处理器上的音频播放性能。因为S3C2440还不支持硬浮点运算,而mp3lib库是使用浮点运算的,所以使用mp3lib库来播放mp3文件则相当占用CPU资源。因此,考虑使用libmad库来播放mp3等格式音频文件。由于libmad库并不包含在mplayer源码中,所以得事先另外安装,然后在编译mplayer时启用libmad库,即”--enable-mad”,并指定libmad库头文件以及编译完成的库文件所在的目录,即”--with-extraincdir”、”--extralibdir”参数指定的路径。

#make

错误:
libmpeg2/motion_comp_arm_s.S: Assembler messages:
libmpeg2/motion_comp_arm_s.S:29: Error: selected processor does not support `pld [r1]'
libmpeg2/motion_comp_arm_s.S:39: Error: selected processor does not support `pld [r1]'
libmpeg2/motion_comp_arm_s.S:65: Error: selected processor does not support `pld [r1]'
libmpeg2/motion_comp_arm_s.S:70: Error: selected processor does not support `pld [r1]'
libmpeg2/motion_comp_arm_s.S:75: Error: selected processor does not support `pld [r1]'

解决措施:
在libmpeg2/motion_comp_arm_s.S起始添加以下内容:
#ifndef HAVE_PLD
    .macro pld reg
    .endm
#endif

错误原因:
pld指令只在armv5te以上版本有效,在2440(armv4l)无效。

PLD预读取指令
功能:cache预读取(PLD,PreLoad),使用PLD指示存储系统从后面几条指令所指定的存储器地址读取,存储系统可使用这种方法加速以后的存储器访问。

格式:
PLD[Rn,{offset}]
其中:
Rn         存储器的基址寄存器。
Offset     加在Rn上的偏移量。

播放状况:
将一个rm文件拷贝到U盘,在开发平台上播放时,能够听见音频,但视频显示错乱(该rm文件在PC上是正常的)。可使用以下方法转换视频:
mencoder Disturbia.2007.CD2.rm -o disturbia2.rm -vf scale=320:240 -oac pcm -ovc lavc

在播放一个视频时,音频和视频不同步,使用以下指令可以解决,但画面缩小了。
mplayer -vfm ffmpeg -lavdopts lowres=1:fast:skiploopfilter=al
l /mnt/udisk/dongjing.rmvb
阅读(1228) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~