天天看点

mplayer 移植到 arm 心得

最近时间移植了mplayer 到 imx6q 中 碰到了 一下问题。写下了让友友们少走一下弯路

个个版本下载 网址:

http://www.mplayerhq.hu/MPlayer/releases/

我下载了 

MPlayer-1.0rc2

MPlayer-1.1

MPlayer-1.2.1

MPlayer-1.3.0

其中  MPlayer-1.0rc2  才能编译成功并通过运行 成功

其他版本也可以编译成功但是 ,运行的时候 下部分会闪屏,全屏不会 有点类似 下面这个网友描述的。

https://www.baidu.com/link?url=GJE3DAeqlsSbLvEcak3Thtg-3DTmIRaPaLlpJA2Pqvnw3jJENAb_ag1x8L_D_bUr&wd=&eqid=916404bc00001fff0000000657c7e294

也有网友说更新内核能解决。

http://blog.csdn.net/zmlovelx/article/details/7900657

赶项目 应该也没有时间去更换内核吧

本人也没有验证过

接下来说一下编译过程:

MPlayer-1.1

MPlayer-1.2.1

MPlayer-1.3.0

以上这几个包编译成功播放视频 后都会闪烁

依赖库

   zlib-1.2.3.tar.gz   需要交叉编译的库

./configure --enable-cross-compile --cc=arm-none-linux-gnueabi-gcc --host-cc=gcc --as=arm-none-linux-gnueabi-as --ar=arm-none-linux-gnueabi-ar \

--ranlib=arm-none-linux-gnueabi-ranlib  --target=arm-linux  --enable-alsa --prefix=/home/hzl/Desktop/wondfo/mplayer/arm-mplaye

--enable-alsa    // 需要库  alsa  的支持 

http://blog.csdn.net/iamgooday  

编译好后放到 交叉编译器的 lib  和 include   

--enable-mad  // 很多网友用个解码声音,但是 试过之后在 imx6q 我没有测试成功

最后来说一下 MPlayer-1.0rc2 编译碰到的问题

vd_mpng.c: In function 'pngReadFN':

vd_mpng.c:59:19: error: dereferencing pointer to incomplete type

vd_mpng.c: In function 'decode':

vd_mpng.c:96:14: error: dereferencing pointer to incomplete type

vd_mpng.c:113:87: error: dereferencing pointer to incomplete type

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

make[1]: *** Waiting for unfinished jobs....

make[1]: Leaving directory `/home/hzl/Desktop/wondfo/mplayer/MPlayer-1.0rc2/libmpcodecs'

make: *** [libmpcodecs/libmpcodecs.a] Error 2

上面这个错误我找了很久,包括在百度,google 都 比较少 回答 这个是我写这篇博文的主要原因

报这个错误的原因是   

libpng  libpng-1.6.12  我交叉编译这个库并把它丢到了 我的交叉编译器里面了。 初步判断可能版本不对

配置的时候 加上 这个配置就搞定了

 --disable-png

配置如下:

./configure  --prefix=$PWD..\output --enable-cross-compile --cc=arm-none-linux-gnueabi-gcc --host-cc=gcc --as=arm-none-linux-gnueabi-as --ar=arm-none-linux-gnueabi-ar --ranlib=arm-none-linux-gnueabi-ranlib --target=arm-linux      --disable-live   --disable-ivtv  --enable-alsa   --disable-dvbhead --disable-dvdread --disable-dvdnav  --disable-dvdread-internal  --disable-png  2>&1 |tee logfile

参考 网友链接

http://my.oschina.net/u/174242/blog/74428

http://blog.csdn.net/neohuo/article/details/604339

http://blog.chinaunix.net/uid-20587912-id-405026.html

多谢