Android NDK下启用armv6 FFmpeg崩溃
我在armv5下编译FFmpeg,在Android NDK r5上可以正常运行,但是我在armv6下编译FFmpeg,可以成功,但是当我调用函数av_new_stream时,就崩溃了,在libavutil上也崩溃了。 c/rational.c:
if(num<=max && den<=max){
a1= (AVRational){num, den};
den=0;
}
有人遇到这个问题吗?
The LOCAL_FLAGS
include $(CLEAR_VARS)
LOCAL_ARM_MODE := arm
LOCAL_MODULE := ffmpeg
LOCAL_CFLAGS := -DHAVE_AV_CONFIG_H -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DPIC -std=gnu99 -march=armv6
这里有什么错误吗?
I compile the FFmpeg under the armv5, it can work well on Android NDK r5, but I compile the FFmpeg under the armv6, it can success, but when I call the function av_new_stream, it is crashed, and it is crashed on the libavutil.c/rational.c:
if(num<=max && den<=max){
a1= (AVRational){num, den};
den=0;
}
Dose anyone encounter this problem?
The LOCAL_FLAGS
include $(CLEAR_VARS)
LOCAL_ARM_MODE := arm
LOCAL_MODULE := ffmpeg
LOCAL_CFLAGS := -DHAVE_AV_CONFIG_H -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DPIC -std=gnu99 -march=armv6
Is there something error here?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果您在模拟器下运行代码,这是完全正常的。模拟器仅支持ARMv5。不是 ARMv6,当然也不是 ARMv7。
更新:对于较新版本的模拟器,情况不再如此。它完全支持ARMv7。
If you are running your code under the emulator, this is perfectly normal. The emulator only supports ARMv5. Not ARMv6 and certainly not ARMv7.
Update: This is not true anymore with the newer versions of the emulator. It fully supports ARMv7.