[Ffmpeg-devel] -fwhole-program -combine
Mon Feb 26 03:49:56 CET 2007
Note: attached patch is for informational and archiving purposes only.
With gcc 4.1.2 out, I decided to build FFmpeg with -fwhole-program
-combine to see what happened. My previous attempts with older 4.1.1
came accross the externally_visible bug (it was ignored, so it didn't
I made some changes to configure and the makefiles to echo out the
filenames, and then when a program is being built (only ffmpeg on my
case), it builds with all source code in the command line.
I'm not sure it was necessary, but I put a #ifndef header_h to all
headers that missed it.
I also removed some stuff that was throwing errors from imgconvert.c
Then I configured, removing some codecs and muxers that caused a buch of
errors, with this command line:
./configure --enable-whole --cc=gcc-4.1.2 --disable-mmx --disable-zlib
--disable-decoder=vc1 --disable-decoder=wmv3 --disable-parser=vc1
--disable-decoder=h264 --disable-encoder=h264 --disable-parser=h264
Compiled, and benchkmard with a 100 seconds output_example mpg with this
nice -20 ./ffmpeg_whole_g -benchmark -y -i input.mpg -f avi -vcodec
mpeg4 -acodec wmav1 /dev/null
Then also configured and compiled without --enable-whole, to compare and
These were the results:
ffmpeg_g: 10718593 bytes
ffmpeg: 3430584 bytes
ffmpeg_whole_g: 11684716 bytes
ffmpeg_whole: 3712872 bytes
ffmpeg_whole_g benchmark average: 18.960s
ffmpeg_g benchmark average: 18.710s
Basically, ffmpeg_g got 9% larger, ffmpeg got 8.2% larger, and the
benchmarks showed a slowdown of 1.3%. Way to go gcc =)
Pretty frustrating... I was hoping it would be faster or smaller. Am I
missing something to get the "agressive" optimizations to work properly?
btw, what good is -DBUILD_AVUTIL good for? It doesn't seem to be used
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 36704 bytes
Desc: not available
More information about the ffmpeg-devel