[MPlayer-users] Bugreport: Software Scaler segfaults with -y different to input file

Michael Niedermayer michaelni at gmx.at
Fri Feb 22 00:07:02 CET 2002


Hi

On Thursday 21 February 2002 21:58, Matthew Stephenson wrote:
> [Automatic answer: RTFM (read DOCS, FAQ), also read DOCS/bugreports.html]
> Hi,
>
> 	I'm having a problem where mencoder's -sws option causes a segfault if
> the specified -y size is not exactly the same as the height of the input
> file. This occurs with -sws [0-2], with mencoder latest CVS tarball.
> Here is a bugreport as per Appendix C of the FAQ:
>
> Linux Distribution: Linux from Scratch
> Kernel Version: 2.4.16
> libc version: 2.2.1
> X version: 4.2.0
> gcc version: 2.95.2.1
try 2.95.3 or newer
this seems to be a bug in 2.95.2, u are the 3rd person with that

the problem is that gcc ignores the clobberlist of the asm block and uses edx 
or esi
source:
	"1:				\n\t"\
	"movl (%1, %%edx, 4), %%esi	\n\t"\
               ^^
	"movq (%2, %%edx, 8), %%mm0	\n\t" /* filterCoeff */\
	"movq " #x "(%%esi, %%eax, 2), %%mm2	\n\t" /* srcData */\
	"movq 8+" #x "(%%esi, %%eax, 2), %%mm5	\n\t" /* srcData */\
...
	:: "m" (-chrFilterSize), "r" (chrSrc+chrFilterSize),
	"r" (chrMmxFilter+chrFilterSize*4), "r" (uDest), "m" (dstW>>1)
	: "%eax", "%edx", "%esi"
                  ^^^^^^
what gcc compiled: (from ur gdb, and its allmost identical to what another 
person provided)
0x80cb790 <dct64+379588>:       mov    (%edx,%edx,4),%esi
                                        ^^^^
0x80cb793 <dct64+379591>:       movq   (%eax,%edx,8),%mm0
0x80cb797 <dct64+379595>:       movq   0x0(%esi,%eax,2),%mm2
0x80cb79c <dct64+379600>:       movq   0x8(%esi,%eax,2),%mm5

gabu, please add this to TFM (mencoder + sig11 with vertical scaling -> 
upgrade gcc)

[...]

Michael




More information about the MPlayer-users mailing list