前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ffmpeg for wince存在的问题总结

ffmpeg for wince存在的问题总结

作者头像
雪影
发布2018-08-02 11:59:15
7940
发布2018-08-02 11:59:15
举报
文章被收录于专栏:流媒体人生流媒体人生

编译配置选项

for armv4

./configure \ --enable-memalign-hack \ --target-os=mingw32ce \ --arch=arm \ --cpu=armv4 \ --enable-cross-compile \ --cross-prefix=arm-wince-mingw32ce- \ --enable-small \ --disable-static \ --enable-shared \ --disable-devices \ --disable-doc    \ --disable-ffplay    \ --disable-ffmpeg    \ --disable-ffprobe    \ --disable-ffserver    \ --disable-encoders \ --disable-network \ --disable-muxers \ --disable-protocols \ --enable-protocol=file \ --prefix=armv4 \ >armv4.txt

for armv6

./configure \ --enable-memalign-hack \ --target-os=mingw32ce \ --arch=arm \ --cpu=armv6 \ --enable-cross-compile \ --cross-prefix=arm-wince-mingw32ce- \ --disable-armv5te \ --enable-small \ --disable-static \ --enable-shared \ --disable-devices \ --disable-doc    \ --disable-ffplay    \ --disable-ffmpeg    \ --disable-ffprobe    \ --disable-ffserver    \ --disable-encoders \ --disable-network \ --disable-muxers \ --disable-protocols \ --enable-protocol=file \ --prefix=armv6 \ >armv6.txt

编译问题:

1.将bx lr 替换成

#if defined(__ARM_ARCH_2__) || defined(__ARM_ARCH_3__) || defined(__ARM_ARCH_3M__) || defined(__ARM_ARCH_4__)         mov pc, lr #else         bx lr #endif

软件问题:

1.对应armv6版本,很多汇编指令均抛出异常,在wince 6.0系统中ldr、str系列指令均不支持非对齐访问

 修改办法参考:

 static av_always_inline uint16_t AV_RN16(const void *p) {     uint16_t v;     //__asm__ ("ldrh %0, %1" : "=r"(v) : "m"(*(const uint16_t *)p));         __asm__ ("ldrb   %0, %2  \n\t"              "ldrb   %1, %3  \n\t"              : "=&r"(*(uint8_t*)(&v)),"=&r"(*((uint8_t*)&v+1))              : "m"(*(const uint8_t*)p), "m"(*((const uint8_t*)p+1)));     return v; }

usat、ssat等armv6指令也会抛出异常,需要修改。

wince 6.0 OS没有使用armv6架构的指令,只能运行于armv4指令系统。armv6兼容armv4指令。

2. ffmpeg 0.6 for armv4版本,对asf文件头不是总能正确解析,弄错性差,0.8版本相比0.6版本有很大的提高,对使用ffmpeg做流媒体程序,最好选择0.8版本。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2011年12月20日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档