我在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
这里有什么错误吗?
答案 0 :(得分:1)
如果您在模拟器下运行代码,这是完全正常的。模拟器仅支持ARMv5。不是ARMv6,当然不是ARMv7。
更新:使用较新版本的模拟器时,情况不再如此。它完全支持ARMv7。