启用Android NDK下崩溃的armv6 FFmpeg

启用Android NDK下崩溃的armv6 FFmpeg,android,ffmpeg,android-ndk,armv6,Android,Ffmpeg,Android Ndk,Armv6,我在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; } 这里有什么错误吗?如果您在模拟器下运行代码,这是完全正常的。模拟器仅支持ARMv

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

这里有什么错误吗?

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

更新:对于较新版本的仿真器,这不再是事实。它完全支持ARMv7

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