[资料分享] ffmpeg 在at91sam9261ek上的移植

fish001   2019-4-8 22:08 楼主
终于有点空闲的时间,突然想起一个久违的心愿,一直想自己亲手把ffmpeg和mame移植到arm或者是dsp平台上跑一跑。
     于是找来ffmpeg的网址down下ffmpeg的源代码.
     svn checkout svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg
     当然前提是你要先安装好svn客户端。
    配置ffmpeg
    ./configure --cross-compile --cc=arm-linux-gcc --arch=armv4l --disable-network --disable-mmx --  disable-debug   --disable-opts --disable-strip
  编译,我使用的是eldk的4.1的arm工具链。
  发现一个问题提示armv4l 不支持pld 的确是arm5之前是不支持该指令的,我的处理方法有两个:
  1.  配置时把--arch=armv4l该为--arch=armv 这样使用通用的架构不使用armv4l优化。这个方法虽然有
       些低级但是管用编译后make install所有的库拷贝到arm linux 的根文件系统的usr/local/lib目录
      拷贝ffmpeg到arm linux下的根目录,找个avi文件测试一把:
     ./ffmpeg -i V.avi   tmp.yuv
     拷贝出tmp.yuv到windwos主机使用yuv播放器播放可以看到闪烁的电影画面,呵呵应该是基本成功了。
  2. 修改 libavcodec/armv4l/dsputil_arm_s.S 文件加入
           .macro pld arg
           @
         .endm
     重新配置--arch=armv4l这样就可以使用ffmpeg针对armv4l的优化了。
    重新编译,运行ok.

回复评论

暂无评论,赶紧抢沙发吧
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复