Re: Chapter marks not where specified.

Tom Brock <tomb-yZYHXxUkMT10YYv+nEap2lpr/1R2p/[email protected]> Wed, 28 Mar 2012 16:25:50 +0100
Newsgroups gmane.comp.multimedia.dvdauthor.user
Message-ID <[email protected]>
Hi Bahman,

> 
> Hi Tom,
> 
> This may have some bearing on your problem: Dvdauthor uses a fractional time
> string in the form hh:mm:ss.frac as opposed to the usual hh:mm:ss.frame.
> So to convert from frames to frac I use the function below with a "boost"
> of .001 to the fractional component, (without which the chapter point ends
> up back at the start of the previous GOP rather than the intended frame,
> as you describe):

This is certainly clueful information, but really a bit worrying in its 
implications.

I can almost see why you might want to do that for NTSC, but why on earth for 
PAL, when each frame is worth exactly 40 ms?  Getting from the string in the 
XML file to frames might involve rounding, but if the user is daft enough to 
specify his chapter marks half-way between frames, say 0:15:14.06, then he 
must expect it to be rounded to the nearest frame and he might miss his 
carefully placed I-frame by one, but that's his problem.

Even with NTSC, I've often wondered which is right, the 29.97 fps figure or 
the 1.001 fudge factor that is supposed "correct" for its not being exactly 30 
fps.  If 29.97 fps is exact, then you should use 3003.003003... for the 
multiplier, not 3003.  If the oft-quoted 1.001 is correct, (and I suspect it 
is because the 90 kHz is pretty fundamental to DVDs) then NTSC is 
29.97002997002997... fps, and that is the number that should be used when 
computing frames from times.

Whichever number is exact, you can throw your fudge factor out the window, and 
just correctly rounded arithmetic.  In any case, 1 ms will correct only in a 
region around 20 minutes, at 3 hours you need 10 ms.

Tom.





------------------------------------------------------------------------------
This SF email is sponsosred by:
Try Windows Azure free for 90 days Click Here 
http://p.sf.net/sfu/sfd2d-msazure