[FFmpeg-user] ffmpeg-1.0 make failed on Fedora x86_64

Reindl Harald h.reindl at thelounge.net
Fri Oct 5 17:11:29 CEST 2012



Am 05.10.2012 16:59, schrieb Carl Eugen Hoyos:
> Reindl Harald <h.reindl <at> thelounge.net> writes:
> 
>>>>  --extra-cflags="-O3 -march=corei7 -mtune=corei7 -mmmx 
>>>> -msse2 -msse3 -msse4.1 -msse4.2 -fopenmp -mfpmath=sse
>>>> -fstack-protector --param=ssp-buffer-size=4 -pipe 
>>>> -D_FORTIFY_SOURCE=2 -fexceptions" \
>>>
>>> There are two possibilities:
>>> Either this is useful (and helps performance), then 
>>> it should be made default. At least a bug report 
>>> would be nice.
>>
>> WHY should it be a DEFAULT?
>>
>> that i have a corei7 does not mean anybody has
>> these are simply compiler flags enabling gcc-optimization
> 
> I was more thinking of "-O3 -fopenmp -mjpmath" etc.
> (that I suspect hurt performance or at least unneeded).
> But I wonder why -mtune=native is not the default...
> (I thought it is, that is why I asked about the options.)

-mtune=native would be over-optimized
corei7 supports a wider range of CPUs

if you have as exmaple a ProLiant from 2010 and one from
2012 as VMware Hosts you would be unhappy if you build
binary only running one that one from 2012 in case of
failover or Vmotion

> this is exactly my point:
> FFmpeg does compile static libraries if not 
> told differently, so this option only clutters 
> output (same for all other "unneeded" options)

i do not love defaults which may change and my
style is to be very explicit everywhere in
configurations

(configure-flags also as any server-software)

>>>>  --enable-runtime-cpudetect \
>>>
>>> Could you explain why this is useful?
>>
>> why not?
> 
> Iirc (and only if), this disables the optimizations 
> you try to set above. (This is at least what it 
> did for MPlayer once upon a time, I am not sure if 
> there was ever a good reason to change the meaning.)

--enable-runtime-cpudetect is from ffmpeg itself while
the flags are a hint for GCC to optimize anything
up to the selected architecture but not above

GCC can optimize any code for corei7 instructions
while as example the usage of AVX-code is done by
ffmpeg's detection and is a different code-path
in the same binary - not all corei7 are supporting
AVX, but all are supporting code optimized by GCC


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 259 bytes
Desc: OpenPGP digital signature
URL: <http://ffmpeg.org/pipermail/ffmpeg-user/attachments/20121005/c27a1f15/attachment.asc>


More information about the ffmpeg-user mailing list