[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:44:04 CET 2012
forgot something..it is of course possible to include the compiled .a
libs that i generated unter iOS 4.2 with gcc and snowLeopard, into an
iOS 5 project, but when you setup an iOS5 project with ARM7 compiler
exports, it works but i got a lot of warning messages (over hundrets)
like this:
ld: warning: ARM function not 4-byte aligned..
The code / app works, but i dont know if this warning is harmless or
not. I tried to find some infos on the ARM page, but didnt find any help.
Gawry
Am 20.01.12 13:37, schrieb neve_capricorn at gmx.de:
> 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
>
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
More information about the ffmpeg-devel
mailing list