使armv6 FFmpeg在Android NDK下崩溃



我在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

这里有错误吗?

如果您在模拟器下运行代码,这是完全正常的。仿真器只支持ARMv5。不是ARMv6,当然也不是ARMv7。

Update:对于较新的模拟器版本,这不再是正确的。它完全支持ARMv7.

相关内容

  • 没有找到相关文章

最新更新