[MPlayer-dev-eng] [PATCH] Crash in vf_spp.c and other things

Gianluigi Tiesi mplayer at netfarm.it
Sun Aug 27 06:22:58 CEST 2006


Attached patch removes an if-def that rip out some code
if CONFIG_ENCODERS is not defined.

vf_spp.c at line 412:

p->dsp.fdct(block);

but dsp.fdct is never assigned if CONFIG_ENCODERS
is not defined in libavcodec/i386/dsputil_mmx.c

yes I known this is an ffmpeg file but the problem is in mplayer.

also I can get working vf=spp also with this patch :(
target platform is mingw but this problem can be also on unix

I have an athlon (plain), mmx, 3dnow no sse

the crash is in fast_memcpy (aclib_template.c)
gdb reports a segfault at line 259

asm volatile(

maybe something strange in mmx code?

any ideas?

-- 
Gianluigi Tiesi <sherpya at netfarm.it>
EDP Project Leader
Netfarm S.r.l. - http://www.netfarm.it/
Free Software: http://oss.netfarm.it/
-------------- next part --------------
diff -NuBr -x.svn -xhelp_mp.h -xlibdha -x'*.so' -x'*.log' -x'*.a' -x'*.exe' -x'*.o' -xconfigure.log -xconfig.mak -x.cvsignore -xconfig.h -xcodecs.conf.h -xversion.h -x.depend main/libavcodec/i386/dsputil_mmx.c sherpya/libavcodec/i386/dsputil_mmx.c
--- main/libavcodec/i386/dsputil_mmx.c	2006-08-22 01:47:58.432288000 +0200
+++ sherpya/libavcodec/i386/dsputil_mmx.c	2006-08-27 06:18:12.665894400 +0200
@@ -3022,7 +3022,6 @@
     if (mm_flags & MM_MMX) {
         const int idct_algo= avctx->idct_algo;
 
-#ifdef CONFIG_ENCODERS
         const int dct_algo = avctx->dct_algo;
         if(dct_algo==FF_DCT_AUTO || dct_algo==FF_DCT_MMX){
             if(mm_flags & MM_SSE2){
@@ -3033,7 +3032,7 @@
                 c->fdct = ff_fdct_mmx;
             }
         }
-#endif //CONFIG_ENCODERS
+
         if(avctx->lowres==0){
             if(idct_algo==FF_IDCT_AUTO || idct_algo==FF_IDCT_SIMPLEMMX){
                 c->idct_put= ff_simple_idct_put_mmx;


More information about the MPlayer-dev-eng mailing list