[FFmpeg-cvslog] r18959 - in trunk: libavcodec/mpeg12.c tests/seek.regression.ref

Michael Niedermayer michaelni
Wed Jun 3 20:10:57 CEST 2009


On Wed, Jun 03, 2009 at 11:12:18AM -0700, Baptiste Coudurier wrote:
> On 6/3/2009 3:06 AM, Reimar D?ffinger wrote:
> > On Wed, May 27, 2009 at 11:08:11AM -0700, Baptiste Coudurier wrote:
> >> On 5/27/2009 5:40 AM, Michael Niedermayer wrote:
> >>> On Tue, May 26, 2009 at 11:38:19PM -0700, Baptiste Coudurier wrote:
> >>>> On 5/26/2009 9:40 PM, Mike Melanson wrote:
> >>>>> bcoudurier wrote:
> >>>>>> Author: bcoudurier
> >>>>>> Date: Wed May 27 02:14:32 2009
> >>>>>> New Revision: 18959
> >>>>>>
> >>>>>> Log:
> >>>>>> Fix off by one offset with fetch_timestamps, pts_parser_problem.mpg.
> >>>>>> Patch by Wolfram Gloger, wmglo at dentm dot med dot uni-muenchen dot de.
> >>>>>>
> >>>>>> Modified:
> >>>>>>    trunk/libavcodec/mpeg12.c
> >>>>>>    trunk/tests/seek.regression.ref
> >>>>> Do you have any idea why this might have broken the pva-demux test?
> >>>>>
> >>>>> http://fate.multimedia.cx/index.php?test_spec=298
> >>>>>
> >>>>> The file errors out with the following message:
> >>>>>
> >>>>> [NULL @ 0x120ab5730]error, non monotone timestamps 50151 >= 42951
> >>>>> av_interleaved_write_frame(): Error while opening file
> >>>> Yes, that's because now frames have pts correctly set :)
> >>>> This PVA samples does not start with a SEQ EXT therefore first frames
> >>>> dts are not computed accurately.
> >>>>
> >>>> Btw, any reason for not setting has_b_frames when a B frame is
> >>>> encountered or I frame with temp_ref != 0 ?
> >>> i guess setting has_b_frames when a b frame is hit is ok, though maybe
> >>> this could be done at a more central place
> >> In compute_pkt_fields ? Patch attached.
> >>
> >> -- 
> >> Baptiste COUDURIER                              GnuPG Key Id: 0x5C1ABAAA
> >> Key fingerprint                 8D77134D20CC9220201FC5DB0AC9325C5C1ABAAA
> >> FFmpeg maintainer                                  http://www.ffmpeg.org
> > 
> >> Index: libavformat/utils.c
> >> ===================================================================
> >> --- libavformat/utils.c	(revision 18964)
> >> +++ libavformat/utils.c	(working copy)
> >> @@ -739,6 +746,9 @@
> >>      int num, den, presentation_delayed, delay, i;
> >>      int64_t offset;
> >>  
> >> +    if (pc && pc->pict_type == FF_B_TYPE)
> >> +        st->codec->has_b_frames = 1;
> >> +
> >>      /* do we have a video B-frame ? */
> >>      delay= st->codec->has_b_frames;
> >>      presentation_delayed = 0;
> > 
> > Hm, this mostly fixes pva demuxing, instead of many timestamp issues
> > there is then only a single one:
> > [NULL @ 0x2c3e010]error, non monotone timestamps 35751 >= 35751
> > But I think there's no way the time stamps can be correct, the file IMO
> > plays at half speed (I admit I have not seen how fast it played
> > previously).
> 
> Yes, indeed. I'll apply this patch soon I hope, if someone does not beat me.
> 
> I believe the timestamps generation code would work really better if at
> least 3 of more frames were buffered before setting has_b_frame and delay.

the parser should set has_b_frames then av_find_stream_info() could read a
few frames and figure has_b_frames out based on it ...

i had a patch for av_find_stream_info() IIRC (no i wont find it, i fear)

[...]

-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

I know you won't believe me, but the highest form of Human Excellence is
to question oneself and others. -- Socrates
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-cvslog/attachments/20090603/0a77412e/attachment-0001.pgp>



More information about the ffmpeg-cvslog mailing list