Mplayer在ARM9(2440)上的移植_第1页
Mplayer在ARM9(2440)上的移植_第2页
Mplayer在ARM9(2440)上的移植_第3页
Mplayer在ARM9(2440)上的移植_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、首先、 建立节省时间的调试平台:笔记本、台式机、ARM9板       笔记本: 用于交叉编译       台式机:  用于串口终端控制       目标板挂载虚拟机: mount  -t nfs -o nolock 192.168.1.3:/root  /mnt/nfs       目标板挂载SD卡:   mount /dev/mmcblk0  /mnt/sd 一、

2、交叉编译libmad       由于MPlayer中默认的mp3解码器是mp3lib,使用的是浮点数运算,相当占用CPU资源,故在编译的时候可以使用libmad进行音频输出,使用之前需要自己手动编译libmad,保证交叉编译器能够找到libmad库以及头文件,编译时增加-enable-mad就可以了。利用mad解码MP3文件,可以看到CPU占用率降到了18左右,得到验证。      1)自己下载libmad包(libmad-0.15.1b.tar.gz) 

3、0;    2)   配置命令  ./configure       -enable-fpm=arm                   -host=arm-linux          &

4、#160;                                            -disable-shared  

5、0;                  -disable-debugging                             

6、60;                         -cc=arm-linux-gcc                     

7、0;                                                 

8、0; -prefix=/opt/toolchains/arm920t-eabi/lib(就是MPlayer需要的头文件和库路径)     3)   #make    #make install,这样就可以在/opt/toolchains/arm920t-eabi/lib目录下多了include和lib目录二、交叉编译MPlayer     1)  配置命令      ./configure

9、0;   -cc=arm-linux-gcc     -host-cc=gcc(或在makefile中224行把-host-cc改成gcc)                                

10、60;                      -enable-cross-compile      -target=arm-armv41-linux               

11、0;                                      -enable-linux-devfs(虚拟设备)  -disable-win32dll   

12、60;                                                 

13、60;-disable-win32waveout      -disable-mencoder                                      

14、                  -disable-iconv      -disable-live   -disable-dvdnav   -disable-dvdread             

15、0;                                       -disable-dvdread-internal        -

16、disable-libdvdcss-internal                                             

17、0;       -enable-libavcodec_a         -enable-mad        -disable-mp3lib -enable-fbdev         -enable-ossaudio     - enable-static

18、0;                                                 

19、0;   -disable-armv5te  -disable-ramv6                                        

20、60;           -with-extraincdir=/opt/toolchanis/arm920t-eabi/lib/include                             

21、0;                     -with-extralibdir=/opt/toolchanis/arm920t-eabi/lib/lib          note: 配置成功之后,#make  ,可执行程序在该目录下,没指定安装目录不需要#make install    

22、;  2)播放mp3测试          #mplayer -ac mad  1.mp3         -ac mad 是告诉MPlayer使用mad解码,可以看到CPU占用率降到了18左右。   3)播放视频测试         #mplayer   赵本山.avi   -framedrop  -quiet  rotate

23、=1, scale=320:240            #mplayer   赵本山.avi   -framedrop  -quiet  -vf rotate=1, scale=320:240 (加-vf参数视频图像逆时针转90度)                           note:   

24、60;AVI格式很流畅                                            rvmb格式有声音,没图像                               

25、         不支持 flv格式  提示为:unsupported video codec 三、可能出现的错误   1)   关于codec-cfg.c和codec-cfg.h编译通不过                解决方法: -host-cc=gcc(或在makefile中224行把-host-cc改成gcc)       

26、60;  2)   关于selected processor does not support   ' pld r1 '                解决方法:  修改 /libavcodec/arm41/dsputil_arm_s.s                            

27、      修改 /libmpeg2/motion_comp_arm_s.s                                               分别在开头增加   #ifndef HAVE_PLD        

28、                                                 .macro pld reg                               &

29、#160;                          .endm                                                      #endi

30、f     3)   关于./configure可能的错误         #make之后出现的error:  strip:warning:output file cannot represent architecture unknown                解决方法: -enable-cross-compile    

31、0; -target=arm-armv41-linux    4)   关于没声音:              测试音频设备命令: cat /dev/urandom  >  dev/dsp               error1:   AO SS audio_setup:can't open audio device /dev/so

32、und/dsp:No such file or directory                             note: (错误提示在/gui/mplayer/gtk/opts.c文件中1363行)               error2:   Could not open/initialize audio device

33、-> no sound               error3:   Requested video codec  family  not available                              Enable it at compilation       &

34、#160;       error4:  Opening /dev/dvb/adapter0/audio                               DVB AUDIO DEVICE: No such file or directory                   

35、            note: /libao2/ao_mpegpes.c   /libvo/vo_mpeges.c                                       /stream/dvb_tune.c        /stream/stream_d

36、vb.c              error5:   unsupported video codec               error6:   Too many video packets in the buffers:<4096 in 5054374 > bytes                

37、             May be you are playing a non-interleaved  stream/file or the codec failed?                             For  AVI files, try to force non-interleaved mode with the -ni o

38、ption               error:    No hardware mixing, inserting volume filter              error:                  解决方法1: 然而目标系统上有/dev/dsp音频设备文件,只是OSS音频驱动

39、需要的是/dev/sound/dsp                                 设备文件,这问题的简单解决方法是建一个符号链接。                #mkdir -p /dev/sound              

40、  #ln -s /dev/dsp  /dev/sound/                就是dsp链接到了sound目录下,即形成/dev/sound/dsp,即能找到设备了。                可以把这两条命令添加到目标系统的启动文件的适当位置,修改目标系统的/etc/init.d/rcS文件         解决方法2

41、: 修改/libao2/ao_oss.c                                   1)  找到static int play(void* data, int len, int flags)函数,在第一行加入ao_data.outburst = 8192                

42、;                   2)  找到static float get_delay(void)函数,注释掉里面所有内容,最后加入: return 0.8                                        note: 以上两个函数大概在52

43、1行                                   3)  找到static int init(int rate,int channels,int format,int flags)函数中的如下代码,并注释掉:                        

44、       #if 0   (大概在357-373行)                         if(ioctl(audio_fd, SNDCTL_DSP_GETOSPACE, &zz)=-1)                            

45、       int r=0;                                    mp_msg(MSGT_AO,MSGL_WARN,MSGTR_AO_OSS_CantUseGetospace);                     &#

46、160;          if(ioctl(audio_fd, SNDCTL_DSP_GETBLKSIZE, &r)=-1)                                    mp_msg(MSGT_AO,MSGL_V,"audio_setup: %d bytes/frag (config.h)n",ao_d

47、ata.outburst);                                                                     else                                   ao_data.outburst=r;                                  mp_msg(MSGT_AO,MSGL_V

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论