2012-02-16 2 views
0

Я нахожусь в OS X Lion, и я пытаюсь скомпилировать библиотеки armf7 ffmpeg для iPhone. Я использую ffmpeg 0.10.Ошибки компиляции ffmpeg для iPhone

Вот моя строка конфигурации:

./configure --disable-doc --disable-ffmpeg --disable-ffplay --disable-ffserver --disable-ffprobe --enable-cross-compile --arch=arm --target-os=darwin --cc=/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc --as='gas-preprocessor/gas-preprocessor.pl /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc' --sysroot=/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk --cpu=cortex-a8 --extra-cflags='-arch armv7' --extra-ldflags='-arch armv7 -isysroot /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk' --enable-pic --disable-avdevice --disable-avfilter --disable-zlib --disable-bzlib 

Настройка работает нормально, хотя он заканчивается: ВНИМАНИЕ: Компилятор не указывает с плавающей точкой ABI, догадываясь мягкой.

Вот мои результаты делают:

Users-MacBook-Pro:ffmpeg-0.10 user$ make 
CC libavformat/4xm.o 
CC libavformat/a64.o 
CC libavformat/aacdec.o 
CC libavformat/ac3dec.o 
CC libavformat/act.o 
CC libavformat/adtsenc.o 
CC libavformat/adxdec.o 
CC libavformat/aea.o 
CC libavformat/aiffdec.o 
CC libavformat/aiffenc.o 
CC libavformat/allformats.o 
CC libavformat/amr.o 
CC libavformat/anm.o 
CC libavformat/apc.o 
CC libavformat/ape.o 
CC libavformat/apetag.o 
CC libavformat/applehttp.o 
CC libavformat/applehttpproto.o 
CC libavformat/asf.o 
CC libavformat/asfcrypt.o 
error: invalid operand in inline asm: 'ldr ${0:Q}, $1 
    ldr ${0:R}, $2 
    ' 
make: *** [libavformat/asfcrypt.o] Error 1 
Users-MacBook-Pro:ffmpeg-0.10 user$ 

Любые идеи? Благодаря!

ответ

1

Существует проблема с встроенным ассемблером. Я не знаю, почему, но вы должны отключить оптимизацию ассемблера при компиляции ffmpeg (--disable-asm в вашей строке конфигурации).

Однако, я еще не пытался скомпилировать эту версию ffmpeg. => Я попытался скомпилировать FFmpeg v0.10 с отключением asm, и он работает. Однако, я думаю, что это замедлит работу устройства.

-2

Вам нужно будет иметь веские основания для использования ffmpeg libs в приложении iOS, так как производительность будет очень плохой по сравнению с аппаратными решениями h.264, уже предоставленными iOS по умолчанию. Кроме того, существуют реальные юридические проблемы с включением библиотеки LGPL в приложение iOS, см. Раздел this answer.