[MPlayer-dvb] SEGV in libmpeg2, r31395.

Bill Pringlemeir bpringle at sympatico.ca
Sat Jun 26 02:10:32 CEST 2010


> Date: Thu, 24 Jun 2010 08:41:58 -0400
> From: Bill Pringlemeir <bpringle at sympatico.ca>
> Subject: Re: [MPlayer-dvb] SEGV in libmpeg2, r31395.

> r31354 still has the problem (in fact it seems to be even worse); it
> could be a completely different issue.  SVN-r31353-4.3.2 has no
> problems playing any of the ATSC TS files.

bpringle at pvr:/home/src/mplayer.HEAD/libmpeg2$ svn diff
Index: decode.c
===================================================================
--- decode.c    (revision 31555)
+++ decode.c    (working copy)
@@ -345,6 +345,13 @@
     fbuf->buf[1] = buf[1];
     fbuf->buf[2] = buf[2];
     fbuf->id = id;
+    // HACK! FIXME! At first I frame, copy pointers to prediction frame too!
+    if (mpeg2dec->custom_fbuf && !mpeg2dec->fbuf[1]->buf[0]){
+       mpeg2dec->fbuf[1]->buf[0]=buf[0];
+       mpeg2dec->fbuf[1]->buf[1]=buf[1];
+       mpeg2dec->fbuf[1]->buf[2]=buf[2];
+       mpeg2dec->fbuf[1]->id=NULL;
+    }
 }
 
 void mpeg2_custom_fbuf (mpeg2dec_t * mpeg2dec, int custom_fbuf)


The crash is in a motion prediction.  I think that the particular TS
may not have prior information and the MC_put_o_16_mmxext() gets
called with a NULL.  Anyways, restoring the previous mplayer patch
seems to allow libmpeg2 to decode all of the ATSC captures that I
have.

Regards,
Bill Pringlemeir.


More information about the MPlayer-dvb mailing list