ok6410的mplayer移植

 

安装包:MPlayer-1.0rc2.tar.bz2

交叉编译器:arm-linux-gcc-4.5.1

 

解压MPlayer-1.0rc2.tar.bz2 :

tar –xjvf MPlayer-1.0rc2.tar.bz2

进入解压文件 MPlayer-1.0rc2

进行configure 配置

./configure --host-cc=gcc --cc=arm-linux-gcc --target=arm-linux  --enable-static--disable-win32dll --disable-dvdread--disable-dvdread-internal--disable-dvdnav --disable-libdvdcss-internal --enable-fbdev --disable-mencoder --disable-live --disable-mp3lib --enable-mad--enable-libavcodec_a --disable-live--disable-ivtv --prefix=/usr/local/mplayer_arm 

 

/红色部分表示在1.0rc1这个版本上执行后会出现unknown **,删掉才可以,以上是参考1.0rc2的。 用1.0rc2 没问题

 

在这里需要添加--disable-ivtv不然会出现如下错误:

vo_ivtv.c:79: error: storage size of ’sd’ isn’t known

vo_ivtv.c:80: error: storage size of ’sd1′ isn’t known

vo_ivtv.c:84: error: ‘IVTV_STOP_FL_HIDE_FRAME’ undeclared (first use in this function)

vo_ivtv.c:84: error: (Each undeclared identifier is reported only once

vo_ivtv.c:84: error: for each function it appears in.)

vo_ivtv.c:87: error: ‘IVTV_IOC_STOP_DECODE’ undeclared (first use in this function)

vo_ivtv.c:97: error: ‘IVTV_IOC_START_DECODE’ undeclared (first use in this function)

vo_ivtv.c:80: warning: unused variable ’sd1′

vo_ivtv.c:79: warning: unused variable ’sd’

make[1]: *** [vo_ivtv.o] Error 1

 

注 :我把生成的mplayer安装到/usr/local/mplayer_arm目录。

MPlayer不支持常见的--host来修改编译工具前缀.必须用--cc,--ar,--ranlib这样参数来修改. 

--disable-mp3lib是关闭默认的MP3解码库,

--enable-mad 是使用libmad支持. 

--disable-dvbhead --disable-dvdread

--disable-dvdnav 

--disable-dvdread-internal 都是跟DVD相关库 

--enable-fbdev  打开framebuffer支持.ARM开发板必须的.  

--enable-static 如果使用静态编译尺寸大约是8M,动态编译是6M多,这样可能是无论哪种编译方式,mplayer都把自带的解码库链接到自身,多出2M应该是系统标准库的尺寸。  

--enable-static 设置静态连接 

--disable-mencoder 禁止编码功能 

--disable-live 禁止live 555流媒体(我也不知道是什么玩意儿。。。) 

--enable-libavcodec_a 启用静态的libavcodec解码

Configure配置完之后,在目录下会生成Makefile

再编译,输入如下命令

make

注:这里应该会出错,在libmpeg2/motion_comp_arm_s.S文件的最前面加上如下的内容:

#ifndef HAVE_PLD

.macro pld reg

.endm

#endif    表示没遇到上述这个错误!!!

再make时,应该不会出错了

·            安装时,输入如下命令

make install

注 :这里会提示,不能更改权限的错误,不用理它

·            手动更改一下生成的mplayer权限设置,命令如下:

chmod 755 /usr/local/mplayer/bin/mplayer ,不用也可以

注:这里要有root权限才行

·            此时把/usr/local/mplayer/bin/目录下的mplayer拷贝到开发板文件系统的/bin目录下

·            然后:

(/etc/目录下新建一个mplayer.conf文件),

Vi ~.mplayer/config

其内容如下:

其内容如下:

vo=fbdev2

ao=oss

framedrop = yes

joystick = no

vf=rotate=2,scale=480:272

·            其中480:272为显示屏的尺寸,具体尺寸根据板子的显示屏大小来定。

 

 

原文地址:https://www.cnblogs.com/start530/p/3834418.html