Windows port : SSE optimizations supported ?

Loïc Minier lool at via.ecp.fr
Fri Oct 26 08:04:18 CEST 2001


  Background : the windows port of the vlc crashed on PIII because of
alignment issues in the SSE optimized plugins downmixsse and imdctsse.
 This could be solved in using the non-optimized version with parameters
--downmix downmix and --imdct imdct.

reno rewrote the alignment routines with the more portable memalign
function but the cross-compiler currently used (the debian version of
mingw32, totally unmaintained) could not compile this because of its old
libc version.

I cross-compiled with the www.mingw.org version but did not manage to
get a working memalign (actually it doesn't seem to be in their libc
implementation). But the compiled version had an aligned structure
and I tested the sse modules : they seem to work. May be their malloc
implementation has changed and now aligns on 16 bytes boundaries ?

I'm not sure we can trust that alignment and I would appreciate external
advices.

If you have local access to our servers, you'll find the ming-1.1
package in my ~/videolan, as well as a modified version of sam's
bootstrap.sh to ./configure the win32 version and make some adjustments.

If you do not have access to them, get the files packaged at :
<http://www.via.ecp.fr/~lool/crosscomp.tar.gz>

(BTW I'm too lazy to remove compilation of dvd plugin, so remove it in
Makefile.opts)

(and don't forget to add the path to mingw-compiler to yours)

-- 
Lool




More information about the vlc-devel mailing list