[FFmpeg-devel] Fix VP3 IDCT on Win64

Måns Rullgård mans
Thu Aug 26 20:56:15 CEST 2010

Reimar D?ffinger <Reimar.Doeffinger at gmx.de> writes:

> On Thu, Aug 26, 2010 at 11:05:30AM +0000, Loren Merritt wrote:
>> On Thu, 26 Aug 2010, Reimar D?ffinger wrote:
>> >On Wed, Aug 25, 2010 at 08:43:25PM -0400, Ronald S. Bultje wrote:
>> >>
>> >>Those will stay inline of course. If an issue arises where we really
>> >>need multiple (>6) XMM registers in inline functions (which I can
>> >>honestly not imagine), then we'll think about a solution then and
>> >>there.
>> >
>> >The solution is easy: only add the clobbers for compilers where they
>> >are supported (I assume this was the issue on Win32/BSD? You never
>> >said _what_ the problem was). This can be tested in configure.
>> >And you'll have to specify the clobbers for inline functions even
>> >for a single XMM register and even for Linux, it's just unreasonable
>> >to hope that the compiler will never place some float stuff in a
>> >bad location, particularly with global optimization enabled.
>> Do you plan to add an emms at the end of every mmx function?
> I think you should have no problem to come up with reasons why
> this is not comparable.
> But just in case
> - "fixing" emms usage necessarily has a performance impact,
>   correct clobbers should not
> - on most recent CPUs and on x86 in general, --disable-mmx
>   should "fix" the emms issue without too much of a performance
>   issue by just using SSE

--disable-mmx also disables SSE.  I don't dare have an opinion on the
ridiculousness of that.

M?ns Rullg?rd
mans at mansr.com

More information about the ffmpeg-devel mailing list