[FFmpeg-cvslog] r15206 - in trunk/libavformat: matroskadec.c matroskaenc.c

Michael Niedermayer michaelni
Fri Sep 5 03:10:21 CEST 2008


On Fri, Sep 05, 2008 at 02:08:13AM +0200, Aurelien Jacobs wrote:
> Uoti Urpala wrote:
> 
> > On Fri, 2008-09-05 at 01:08 +0200, aurel wrote:
> > > Author: aurel
> > > Date: Fri Sep  5 01:08:19 2008
> > > New Revision: 15206
> > > 
> > > Log:
> > > matroska: subtitle display duration must be stored in pkt->convergence_duration
> > 
> > Why? This doesn't match the documented meaning of convergence_duration
> > at all.
> 
> I think it perfectly match...
> 
>  * This is the time difference in stream timebase units from the pts at which
>  * the output from the decoder has converged independent from the availability
>  * of previous frames
> 
> So in other words, this is the duration after which the decoder will produce
> the same thing whether it received the previous frame or not.
> Applied to subtitles, this is the duration after which the decoder won't
> display this subtitle anymore, and thus will produce the same output as
> if it didn't received this subtitle.
> 
> If you disagree with this, do you have a suggestion where this should
> be stored ?
> 
> Anyway, if my interpretation is wrong, I guess Michael will correct me
> soon... Right ?

It seems the doxy of convergence_duration needs to be improved. Suggestions
for that are welcome.

convergence_duration of 10 means that in 10 timebase units from now the
output of the decoder when started with this frame will match what it
would have been when started from the very first frame.

that is if 5 minutes ago there was a subtitle that has a display duration
of 7 min then convergence_duration could be 2min for the current
subtitle packet because if we stat decoding now we will be missing this
subtitle and thus output will differ for 2 min. Of course if this past
information is repeated convergence_duration could be smaller and if
other packets cause longer differences then it would be larger.

the current display duration is not usefull for seeking. To be able to show
all subtitles for the current video frame we need to know how far we have to
go back not how long this one will be displayed.

I probably added convergence_duration at a unwisely choosen time, it
isnt really the solution to the problem at hand.

[...]

-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

I hate to see young programmers poisoned by the kind of thinking
Ulrich Drepper puts forward since it is simply too narrow -- Roman Shaposhnik
-------------- 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/20080905/6a3a8657/attachment.pgp>



More information about the ffmpeg-cvslog mailing list