[Ardour-Dev] Ardour Timecode
Robin Gareus
robin at gareus.org
Thu Nov 1 10:55:13 PDT 2012
On 10/30/2012 07:01 PM, John Emmas wrote:
> On 30 Oct 2012, at 17:39, John Emmas wrote:
[..]
> Or, to be pedantically specific....
>
> (30 x 999 /1000) * 3600
>
> is the correct formula :-)
mmh. but not for NTSC :(
I managed to take a peek into the SMPTE 12M-1999 spec.
long story short, on page two it defines:
1 sec_NTSC = 1.001 sec_REAL
It furthermore states that the total error accumulated due to drop-frame
timecode is -3.6ms per hour or about -86ms over a 24-hour period.
The spec describes how to count in drop-frame timecode but does not
explicitly mention at which rate it is counted.
However using this information we can infer that DF timecode is
calculated using N * 1000/1001 fps.
At (30 * 999 / 1000) = 29.97 fps there would be no error at all. With
108 dropped timecode frames per hour, each hour would align perfectly:
(3600 * 30) - (3600 * (30 * 999/1000) + 108) = 0
At (30 * 1000 / 1001) = 29.97002997... fps we get the error mentioned in
the SMPTE-12M spec:
(3600 * 30) - (3600 * (30 * 1000/1001) + 108) = -0.107892.. [frames/h]
in 24 hours: -0.107892.. * 24 / (30000/1001) = -0.08639..
= 86.3.. msec error per 24 hours
qed.
I had wished you were correct, though. Given the mess it already is, a
zero-error solution would have been much more elegant.
anyways, maths be damned - I'm still interested in completing the table
at http://gareus.org/wiki/timecode
Cheers!
robin
More information about the Ardour-Dev
mailing list