Re: SEGV in libmpeg2, r31395.
Bill Pringlemeir <[email protected]> Fri, 25 Jun 2010 20:10:32 -0400
| Newsgroups | gmane.comp.video.mplayer.user.dvb |
|---|---|
| Message-ID | <[email protected]> |
> Date: Thu, 24 Jun 2010 08:41:58 -0400 > From: Bill Pringlemeir <[email protected]> > 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@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.