[Ffmpeg-devel] [BUG] MPEG-4 artifacts, possibly demuxer-related

Michael Niedermayer michaelni
Tue Jan 31 04:12:34 CET 2006


Hi

On Tue, Jan 31, 2006 at 02:11:56AM +0100, Diego Biurrun wrote:
> On Mon, Jan 30, 2006 at 12:30:07PM +0100, Michael Niedermayer wrote:
> > 
> > On Mon, Jan 02, 2006 at 03:04:22PM +0100, Diego Biurrun wrote:
> > > Hey, I stumbled across another MPEG-4 file that shows artifacts:
> > > 
> > > ftp://sandman.homedns.org/diego/ffmpeg/XviD_with_3_AAC-HE_audio_streams.avi
> > > 
> > > I've tested with CVS MPlayer, CVS ffplay and MPlayer 1.0pre7try2.
> > > Interestingly xine CVS and vlc 0.8.4 play the file fine.  This indicates
> > > a demuxer problem, but it would be present in both the MPlayer and the
> > > libavformat demuxer.  The AVI file is an ODML AVI file.
> > 
> > the file can be played correctly with lavf if you apply:
> > 
> > @@ -303,6 +303,7 @@
> >                      if (st->codec->codec_id == CODEC_ID_XAN_WC4)
> >                          xan_video = 1;
> >                      st->need_parsing = 2; //only parse headers dont do slower repacketization, this is needed to get the pict type which is needed for generating correct pts
> > +                    st->need_parsing = 1;
> >  //                    url_fskip(pb, size - 5 * 4);
> >                      break;
> >                  case CODEC_TYPE_AUDIO:
> > 
> > to avidec.c
> > 
> > as far as i can see this AVI file has _many_ video frames in each chunk, sick
> > how can a person be capable of using a text editor (and writing software) and
> > at the same time be such a complete idiot writing a program generating so
> > broken avi files ...
> 
> FWIW, both xine and vlc handle the sample trouble-free.  Are you going
> to apply the patch?

no, as it slows decoding down, it should be optional and disabled by default
there might also be a different way to demux these with no speedloss ...
maybe the index points to all frames within the chunks, maybe not ...


[...]
-- 
Michael





More information about the ffmpeg-devel mailing list