国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

電子工程網

標題: 【操作詳解】終于成功移植Mplayer到OK6410開發板上了,發帖詳述移植全過程! [打印本頁]

作者: haipingmian    時間: 2011-6-1 10:26
標題: 【操作詳解】終于成功移植Mplayer到OK6410開發板上了,發帖詳述移植全過程!
項目需要,需要將Mplayer移植到開發板上,所以今天花了一下下午成功移植,其中參考很多文檔,后發現許多文檔陳舊,些許文檔有少量錯誤,所以這里整理一下放出來。經過測試,avi、mp3等音視頻播放流暢,運行正常,下面就是移植過程,給大家做參考。測試步驟我覺得沒必要放上來,請見諒。作者lcc76161113,歡迎轉載。
    編譯器:arm-linux-gcc(4.3.2)
    Pc平臺:ubuntu
    在移植之前有必要先說明一下幾個問題:
    Mplayer是自帶的mp3lib庫來進行mp3解碼的,但是arm系列的cpu,一般都沒浮點運算單元,而mplayer的mp3解碼默認使用mp3lib,這個是浮點運算庫,arm上肯定跑不了。所以使用libmad庫應該就沒問題了,所以需要提前移植libmad庫。
(1)準備工作
①下載庫文件libmad-0.15.1b.tar.gz并解壓到 /usr/local/libmad  
  ②下載Mplayer的tar包,官方下載地址http://www.mplayerhq.hu,進去后在ftp里面很多版本可以選,我選的最新的MPlayer-1.0rc4.tar.gz,大小12.3M。
③準備編譯前請先確定已安裝交叉編譯器arm-linux-gcc(4.3.2),并已經在終端設置好環境變量,做好這些就可以開始移植工作了。

(2)編譯libmad
①先下載壓縮包到本地,并解壓libmad-0.15.1b.tar.gz到/usr/local/libmad:
[email=lcc@ubuntu]lcc@ubuntu[/email]: /usr/local/libmad # tar zxvf mysql-5.1.51.tar.gz
②進入解壓得到的源碼目錄中:
      [email=lcc@ubuntu]lcc@ubuntu[/email]: /usr/local/libmad # cd libmad-0.15.1b
③運行configure,生成makefile:
      [email=lcc@ubuntu]lcc@ubuntu[/email]: /usr/local/libmad/libmad-0.15.1b #./configure CC=arm-linux-gcc --host=arm-linux --disable-shared --disable-debugging --prefix=/usr/local/libmab/mad  
④修改makefile:
    [email=lcc@ubuntu]lcc@ubuntu[/email]: /usr/local/libmad/libmad-0.15.1b #./gedit Makefile  
    找到里面的“--fforce-mem”,然后刪除保存退出即可
⑤直接開始運行make編譯源代碼:
[email=lcc@ubuntu]lcc@ubuntu[/email]: /usr/local/libmad/libmad-0.15.1b # make
(3)交叉編譯Mplayer
①先下載壓縮包到本地,并解壓MPlayer-1.0rc4.tar.gz到/usr/local/mplayer:
[email=lcc@ubuntu]lcc@ubuntu[/email]: /usr/local/mplayer # tar zxvf MPlayer-1.0rc4.tar.gz
②進入解壓得到的源碼目錄中:
[email=lcc@ubuntu]lcc@ubuntu[/email]: /usr/local/mplayer # cd MPlayer-1.0rc4
③運行configure,生成makefile:
[email=lcc@ubuntu]lcc@ubuntu[/email]: /usr/local/mplayer/ MPlayer-1.0rc4#  
./configure --host-cc=gcc --cc=arm-linux-gcc --target=arm-linux --enable-fbdev --enable-static --disable-dvdread --disable-live --disable-mp3lib --enable-mad --disable-win32dll --disable-mencoder --disable-ivtv --disable-dvdnav --disable-dvdread-internal --disable-libdvdcss-internal --enable-libavcodec_a --prefix=/usr/local/Mplayer/mplayer 2>&1 | tee logfile
這個就是我的配置內容,這里詳細說明一下:
--host-cc=gcc --cc=arm-linux-gcc --target=arm-linux   //這個不需要解釋
--enable-fbdev                           //打開framebuffer支持.ARM開發板必須的
--enable-static                           //靜態編譯,編譯成功后只需要將exe文件拷走即可以使用
--disable-dvdread --disable-dvdnav --disable-dvdread-internal //全部與DVD相關,無視即可
--disable-libdvdcss-internal        //這個不加低版本mplayer也會出錯
--disable-live                              //禁止流媒體,我們用不到
--disable-mp3lib --enable-mad  //關閉默認的MP3解碼庫,使用我們剛才編譯的libmad
--disable-win32dll                      //禁用win32動態鏈接庫支持
--disable-mencoder                   //交叉編譯mencoder會有問題,而且arm上不需要這個功能
--disable-ivtv                             //如果不加會出現ivtv文件產生的錯誤   
--enable-libavcodec_a               //啟用靜態的libavcodec解碼
--prefix=/usr/local/Mplayer/mplayer 2>&1 | tee logfile  //不解釋
特別說明:
    注意!!configure里面沒有下面2句:
   --enable-static --with-extraincdir=/usr/local/libmab/mad/include  
      --with-extralibdir=/usr/local /libmab/mad/lib  
    本來是還要有這2句話來指定我們編譯的新的libmad的庫的,但是由于新下載的mplayer源代碼在配置的時候--with-extraincdir   –with-extralibdir提示沒有此配置選項,因此需手動添加libmad庫的支持,我的解決方法是將/ usr/local /libmab/mad/include下文件直接拷貝到mplayer源代碼中,而對于其下面的庫libmad.a,則先執行上面的“運行configure”一步,會生成config.mak文件,然后修改config.mak中在-lmad -L/usr/local /libmab/mad/lib,然后執行下一步即可。
④修改Makefile.
修改MPlayer-1.0rc4/libmpeg2/motion_comp_arm_s.S文件
[email=lcc@ubuntu]lcc@ubuntu[/email]: /usr/local/mplayer/ MPlayer-1.0rc4#  
gedit  /libmepg2/motion_comp_s.S
在最前加入:
#ifndef HAVE_PLD  
.macro pld reg  
.endm  
#endif
⑤直接開始運行make編譯源代碼:
[email=lcc@ubuntu]lcc@ubuntu[/email]: /usr/local/mplayer/ MPlayer-1.0rc4# make
⑥Make完成后,執行makeinstall命令,但是我遇到了如下問題:  
[email=lcc@ubuntu]lcc@ubuntu[/email]: /usr/local/mplayer/ MPlayer-1.0rc4# make install
        install -m 755 -s mplayer /home/hxy/MPlayer/
        MPlayer-1.0rc4/../mplayer/bin
        strip: Unable to recognise the format of the input file  
       `/user/local/Mplayer/MPlayer-1.0rc4/../mplayer/bin/mplayer'

解決方法:  
查資料看install帶-s 參數時會自動調用strip來strip應用程序。但是arm編譯時要調用arm-linux-strip才有正確處理。解決辦法是取消-s參數,查看Makefile可以發現-s是如下
$(INSTALL) -m 755 $(INSTALLSTRIP) mplayer$(EXESUF)     $(BINDIR)
    的INSTALLSTRIP設置的,它默認是-s,因此只要簡單在Makefile的install部分前面加入:
INSTALLSTRIP :=  #將其置為空即可
⑥再次執行makeinstall命令,生成mplayer:
    [email=lcc@ubuntu]lcc@ubuntu[/email]: /usr/local/mplayer/ MPlayer-1.0rc4# make install
附帶一個只有圖像沒有聲音的錯誤解決辦法:
mkdir -p /dev/sound  
ln -s /dev/dsp /dev/sound/  
原因:目標系統上有 /dev/dsp 音頻設備文件,只是OSS音頻驅動需要的是 /dev/sound/dsp 設備文件,這問題的簡單解決方法是建一個符號鏈接,當然這兩條命令可以寫在系統的啟動文件的適當位置,即修改系統的/etc/init.d/rcS文件。
至此,mplayer已經交叉編譯成功,放在板子上測試一切正常。
作者: liurenyin    時間: 2011-9-10 08:47
厲害啊 !
作者: victory    時間: 2011-10-25 13:54
給力!!
作者: zjqsky    時間: 2011-11-25 20:33
強!
作者: zhangmr94    時間: 2012-3-7 14:42
謝謝分享




歡迎光臨 電子工程網 (http://m.qingdxww.cn/) Powered by Discuz! X3.4
主站蜘蛛池模板: 亚州日韩精品AV片无码中文| 天天干天天做天天射| 亚洲综合久| 在线精品小视频| 中文字幕日本一区久久| 毛片在线不卡| 四虎精品成人a在线观看| 日本一区高清视频| 亚洲最色网站| 在线观看日本中文字幕| 麻豆官网入口| 日韩免费三级| 色综合综合| 亚洲精品一区二区久久这里| 国产成人免费片在线观看| 亚洲国产高清福利视频| 欧美亚洲国产精品久久久久| 涩狠狠狠狠色| 亚洲情欲网| 精品无码日本蜜桃麻豆| 最新国产亚洲亚洲精品视频| 喷白浆视频| 四虎影院久久久| 俄罗斯搜索引擎Yandex推广入口| 午夜AV内射一区二区三区红桃视| 深夜国产成人福利在线观看女同| 色婷婷综合久久久久中文| 四虎影院最新入口| 哒哒哒影院在线观看免费高清| 性派对xxxhd| 色偷偷久久| 亚洲成av人影片在线观看| 亚洲久草视频| 精品久久免费观看| 热99精品在线| 青草悠悠视频在线观看| 四虎现在的网址入口| 成人在线视频播放| 亚洲人交性视频| 欧美限制级在线| 四色6677最新永久网站|