试图编译最后FFmpeg的iPhone:错误:内联汇编
问题描述:
我试图编译最后的FFmpeg的iPhone无效的操作数,但我得到一个错误:试图编译最后FFmpeg的iPhone:错误:内联汇编
CC libavformat/asfcrypt.o
error: invalid operand in inline asm: 'ldr ${0:Q}, $1
ldr ${0:R}, $2
'
make: *** [libavformat/asfcrypt.o] Error 1
感谢
答
我试过--disable-asm配置。它可以工作,但解码器的性能很差。
我试图编辑在config.h:
#define HAVE_INLINE_ASM 0
这只禁用内联汇编
,或者如果你只是在一些的ffmpeg解码器,只需关闭所有其它未使用的编解码器 和编辑libavutil /arm/intmath.h,注释掉这个定义:
#define av_clipl_int32 av_clipl_int32_arm
这只会禁用一个内联汇编函数,它适用于我。
答
我越来越一样的问题。我发现了一个办法解决它通过禁用内联汇编语言:
./configure --disable-asm ...
我不知道这会对性能什么样的影响,但至少现在它的工作原理。
答
你可以使用--disable-armv5te --disable-armv6 --disable-armv6t2这将为你工作。这些CPU是非常古老的CPU,我们可以禁用它。
+0
当你使用这些--disable-armv5te -disable-armv6 -disable-armv6t2时解码器也有很高的性能。 – jeff
不幸的是,这在ffmpeg 0.10,OS X Lion和Xcode 4.2上不适用于我。它只是创建了其他ASM错误。 --disable-asm是唯一有效的工具。 –