[FFmpeg-devel] compile for arm cortex A8 with iOS SDK 5

neve_capricorn at gmx.de neve_capricorn at gmx.de
Fri Jan 20 13:37:32 CET 2012


only a small update...i downgrade to iOS 4.2 with GCC under SnowLeopard, 
and i was able to compile the lib with NEON support.

i tested then a vp6 movie in 640x360 and with neon support i got 40 fps, 
without only 6 fps. tested with an a iphone 4s.

i can disablet the NEON/ASM but the performance seems really poor.

what is the differnet between the inline ASM from the GCC to llvm-gcc?

i know this i not a fix, but i only want to share some infos about the 
performance boost we have with neon and ARM A8.

iam interested in a fix and i dont know if this is the right place but i 
would donate any help for fix that we can bring to the main git.

gary



Am 19.01.12 17:36, schrieb Michael Niedermayer:
> On Tue, Jan 17, 2012 at 08:59:34AM +0100, Gerhard Roethlin wrote:
>> I had similar problems
>>
>> On 2012.01.09, at 21:08, gary wrote:
>>
>>> iam using ffmpeg-HEAD-f247f4c with llvm-gcc.4.2 compiler.
>>>
>>> when i activate the ASM neon support iam hanging right now at some instructions.
>>>
>>> i tried a first fix in the libavutil.h
>>>
>>> intmath.h
>>>
>>> #define av_clipl_int32 av_clipl_int32_arm
>>> static av_always_inline av_const int32_t av_clipl_int32_arm(int64_t a)
>>> {
>>>     int x, y;
>>>     __asm__ (//"adds   %1, %R2, %Q2, lsr #31  \n\t"
>>>              "itet   ne                     \n\t"
>>>              "mvnne  %1, #1<<31             \n\t"
>>>              //"moveq  %0, %Q2                \n\t"
>>>              //"eorne  %0, %1,  %R2, asr #31  \n\t"
>>>              : "=r"(x), "=&r"(y) : "r"(a):"cc");
>>>     return x;
>>> }
>> My solution for that was to make the av_clip macro only get used with gcc 4.4 or newer
>>
>>> now i have another problem in
>>> CC	libavformat/asf.o
>>> CC	libavformat/asfcrypt.o
>>> error: invalid operand in inline asm: 'ldr   ${0:Q}, $1
>>> 	ldr   ${0:R}, $2
>>> 	'
>> Maybe AV_RN64. I fixed both problems in the patch I submitted a month ago:
>> http://ffmpeg.org/pipermail/ffmpeg-devel/2011-December/117848.html
>>
>> But it's not much of a fix, more just ignoring the problem.
> If someone finds a fix i would be very interrested to have that in
> main git.
> simply disabling for gcc before 4.4 is of course ok too when versions
> prior to that really cant handle it.
>
> [...]
>
>
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel



More information about the ffmpeg-devel mailing list