View Full Version : x264 for arm compile
groce
13th April 2011, 17:09
i noticed that there is assembly code for arm in x264 codec, but, when i configure, it tell error:
You specified a pre-ARMv6 or Thumb-1 CPU in your CFLAGS.
If you really want to run on such a CPU, configure with --disable-asm.
i want to run x264 on s3c2440 chip with arm assembly optimization, then how should i compile? Anybody can help me? thanks very much.
Dark Shikari
13th April 2011, 17:11
ARM9 doesn't have SIMD, so there's no ARM assembly optimizations to enable.
groce
13th April 2011, 17:14
thanks very much for your answer so soon.
groce
22nd April 2011, 04:46
hello, Shikari:
Now, i got a ARM development board, whose cpu is s3c6410, and core is ARM11. then, could you help me how to configure x264 to make the assembly code for ARM in x264 works? thanks a lot!
Dark Shikari
22nd April 2011, 06:11
Almost all the assembly code in x264 for ARM is intended for ARMv7 (Cortex) series with NEON.
groce
22nd April 2011, 07:27
oh, it's depressing. but, thank you very much for your answer!
groce
23rd April 2011, 06:07
Shikari:
there is another question, I look up many documents about ARM, say there are only three optimization grades, -O0, -O1 and -O2 while compiling one programme, but i noticed when i compile x264 on ARM, why it is -O4?is there any optimization grade greater than two available ? and, what is the difference between them and -O2?
Dark Shikari
23rd April 2011, 06:23
The optimizations depend on the compiler, not the CPU. Read the compiler manual.
groce
23rd April 2011, 06:29
then, but why x264 set the default optimization grade as -O4 ?
Dark Shikari
23rd April 2011, 06:33
then, but why x264 set the default optimization grade as -O4 ?It isn't. It's -O3.
if [ "$debug" = "yes" ]; then
CFLAGS="-O1 -g $CFLAGS"
elif [ $ARCH = ARM ]; then
# arm-gcc-4.2 produces incorrect output with -ffast-math
# and it doesn't save any speed anyway on 4.4, so disable it
CFLAGS="-O3 -fno-fast-math $CFLAGS"
else
CFLAGS="-O3 -ffast-math $CFLAGS"
fi
groce
23rd April 2011, 06:45
ok. the new version is -O3, but the version 65 which is i used is -O4
if [ "$debug" = "yes" ]; then
CFLAGS="-O1 -g $CFLAGS"
else
CFLAGS="-O4 -ffast-math $CFLAGS"
fi
and, i test -O3 and -O4 respectively with version 65, they are identical. i use arm-linux-gcc 4.3.1 .
groce
23rd April 2011, 06:58
on the other hand, as you mentioned, "The optimizations depend on the compiler", then, x264 set the default optimization grade as -O3, if some compiler don't support -O3, what's happend ? x264 breakdown ?
Dark Shikari
23rd April 2011, 07:06
ok. the new version is -O3, but the version 65 which is i usedI stopped listening to you when I heard you were using a version that was released before the founding of Rome. Update.
kemuri-_9
23rd April 2011, 14:37
on the other hand, as you mentioned, "The optimizations depend on the compiler", then, x264 set the default optimization grade as -O3, if some compiler don't support -O3, what's happend ? x264 breakdown ?
you're asking some fairly odd questions IMO here, but i think it's indicative that you're getting into something you don't really understand whatsoever...
Anyway,
If the utilized compiler does not support -O3, then x264 fails to build, it's as simple as that.
The compilers that x264 officially supports all support -O3.
The only compiler i know of that does not support -O3 is Microsoft Visual Studio's compiler, which only goes up to -O2. And it's not supported, because it still doesn't support C99.
gcc accepts higher values than than 3 for -O, but there are no optimizations higher than 3, so naturally -O3 and -O4 will produce the same code
And as Dark Shikari indicated, we don't support old versions of x264, so we tend to ignore users that are using such releases.
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.