[Ffmpeg-devel] MPEG2 seeking broken

Ivan Kalvachev ikalvachev
Thu Jul 27 13:34:19 CEST 2006


2006/4/20, Reimar D?ffinger <Reimar.Doeffinger at stud.uni-karlsruhe.de>:
> Hi,
> On Thu, Apr 20, 2006 at 01:44:06PM +0200, Steve Lhomme wrote:
> > Michael Niedermayer wrote:
> > >the message you refer to above does say at the very top that its not
> > >reproduceable with ffplay, which makes it everything but a bugreport
> > >relevent to ffmpeg/ffplay
> >
> > Quoting parts of a message without the context and following text is
> > usually what trolls do. So I'll quote what you should have read:
>
> Oh heck, can't you all stop that useless discussion? Yes, there is a
> bug. No, the fact that you can modify ffplay in a way that it crashes it
> not the bug. You can modify any programs so that it crashes.
> No, you patch is not good, since it is only hack that hides the real issue.
> Which is that current_picture_ptr should never be NULL in that place.
> AFAICT that it is NULL means MPV_frame_start (called by
> mpeg_field_start) is never called.
> So it looks to me like in mpeg12.c, line 3135, s2->first_slice is 0
> although it should be 1.

first_slice=1 is set in mpeg1_decode_picture() when PICTURE_START_CODE
is first met. As it is at the end of the function it is possible that
some of the return -1;  have been trigered.

As Ulrich mail indicates this could have something in common with
Motion Vectors so I'll assume that the problem is in the
forward/backward_f_code been set to 0.
If that's the case then setting error_resilence lower than
FF_ER_COMPLAINT (2) would make the crash go away.

According to ISO13818-2 these fields should be set to 111 and other
values are defined in ISO11172-2 (that's MPEG-1) where value 0 is
forbidden.

Another possibility is that pict_type is IPB and the only know other
type is DC intra picture that is available only in mpeg1.
So are these crashes with mpeg1 streams?

Anyway, all these possibilities are supposed to show themselves in
normal decoding not only when seeking.

So my last question is Are you parsing the stream headers (sequence
start, extensions, display, etc.) before starting decoding right after
seeking to I-Frame?
( I see that slices operate without making check is the decoder inited).




More information about the ffmpeg-devel mailing list