[MPlayer-cygwin] A problem when compiling 1.0rc1 in Mingw

wu xuebin bangbangbear at gmail.com
Sun Nov 12 20:45:06 CET 2006


Hi, my friends:)
I am a new comer to this mailing list.
I met with a crash caused by segment fault when using MPlayer-1.0rc1 to play
wmv
files. After debugging, I found the problem occurs in the function
"ff_imdct_calc_sse()"
in libavcodec/i386/fft_sse.c.When gcc compile this file, it uses register
xmm0, xmm1,
etc to make an optimization. However, I think gcc is stupid because it
didn't realize that
these registers have been used explicitly in the block "asm {  }'s", thus
after the content
in xmm registers changed by assemble code, the program crashed when using
them.

My current solution is just discard this function, using only non-sse code
instead, or add
some null function into ff_imdct_calc_sse(), cheating gcc to use no xmm
registers when
doing optimizing. These solution are just making sense, but I wish that I
could have a better
solution, Thanks to all:)

My compiling evironment: MinGW-3.4.2, GCC-3.4.2, 1.5GHz pentium-m CPU that
supports
mmx and sse sse2

Best wishes, and Thanks again.



More information about the MPlayer-cygwin mailing list