[FFmpeg-cvslog] r14743 - in trunk/libavcodec: ac3dec.c ac3dec.h dsputil.c dsputil.h i386/dsputil_mmx.c

Uoti Urpala uoti.urpala
Thu Aug 14 05:12:18 CEST 2008


On Wed, 2008-08-13 at 19:49 -0700, Mike Melanson wrote:
> lorenm wrote:
> > Author: lorenm
> > Date: Thu Aug 14 01:35:40 2008
> > New Revision: 14743
> > 
> > Log:
> > simd int->float
> > 20% faster ac3 if downmixing, 15% if not
> 
> This made all of the x86_32 gcc configurations fail to build (but not 
> icc!). The failure looks like this:

The issue is that the asm uses the "x" constraint for SSE register, and
GCC doesn't allow that at all if the current instruction set does not
support SSE. So the asm will fail to compile if you try to compile the
file without -msse or a -march= option that implies the processor has
SSE available. If you configure FFmpeg with some --cpu= option that
supports SSE then it will compile.

The most robust option would be to compile SSE-using code for runtime
CPU detection in a separate file and use -msse when compiling that file,
but probably this function alone isn't enough motivation to do that.





More information about the ffmpeg-cvslog mailing list