Attempt to fix differences between x86 FPU and SSE calculations.
authorErik de Castro Lopo <erikd@mega-nerd.com>
Fri, 21 Mar 2014 08:25:55 +0000 (19:25 +1100)
committerErik de Castro Lopo <erikd@mega-nerd.com>
Fri, 21 Mar 2014 08:26:08 +0000 (19:26 +1100)
commit70b078cfd5f9d4b0692c33f018cac3c652b14f90
treef35d9461eab14dcddddc65be5f69ff148c6515c9
parentbc2b8c6e161a5bcca5fab6922d47563f448b81e7
Attempt to fix differences between x86 FPU and SSE calculations.

The x86 FPU holds intermediate results in larger registers than what
the SSE unit uses, resulting in slighlty different encodings of audio
data. Attempt to fix this by modifying libFLAC/lpc.c to store calculation
results in a FLAC__read before adding it to a sum.

At the moment this works, but I could easily imagine a new version of
the compiler optimising this store to the FLAC__real away leaving us
in the same situation we have now.

Patch-from: Oliver Stöneberg on sourceforge.net
Closes: https://sourceforge.net/p/flac/bugs/409/
src/libFLAC/lpc.c