Ошибки компиляции ffmpeg для iPhone - PullRequest
0 голосов
/ 16 февраля 2012

Я на OS X Lion и пытаюсь скомпилировать библиотеки armv7 для ffmpeg для iPhone. Я использую ffmpeg 0.10.

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

./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$

Есть идеи? Спасибо!

Ответы [ 2 ]

1 голос
/ 05 марта 2012

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

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

0 голосов
/ 20 июля 2013

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

...