The ffdshow ebuild, up to ffmpeg-0.4.9_p20070325, does not pass "--cpu=CPU" to the configure script, and provides no way to do so. This disables some cpu-specific optimization, such as the CMOV instruction which should be enabled for i686 and above. I don't know how much optimization is lost by disabling this instruction, but if it is significant enough to be on the configure script, I assume it does have some performance gain. Suggested fix: read CFLAGS for "--march", "--mcpu", or "--mtune", and pass the cpu type to configure. If cpu type not specified in CFLAGS, don't pass "--cpu" to configure.
*** Bug 189007 has been marked as a duplicate of this bug. ***
I've added that portion of code to the 0.4.9_p20081014 ebuild; it should do everything correctly :) # Try to get cpu type based on CFLAGS. # Bug #172723 # We need to do this so that features of that CPU will be better used # If they contain an unknown CPU it will not hurt since ffmpeg's configure # will just ignore it. local mymarch=$(get-flag march) local mymcpu=$(get-flag mcpu) local mymtune=$(get-flag mtune) for i in $mymarch $mymcpu $mymtune ; do myconf="${myconf} --cpu=$i" break done