[FFmpeg-user] Why is it possible to set a timecode with 24:00:00:00 and beyond?

Phil Rhodes phil_rhodes at rocketmail.com
Wed Jan 13 15:06:08 CET 2016

I'd be a very careful here.
Linear timecode (which is fundamentally an audio signal) cannot represent a value of more than two in the tens-of-hours position, because only two bits are allocated to it. Although other systems may be more forgiving, LTC is still very commonly used.
Furthermore, the standards which specify various types of MXF refer to "timecode time addresses" which mirror LTC timecode in that they "consist of 64 data bits... 26 bits specify hours, minutes, seconds and frames... The combination of these values is the time address of the SMPTE 12M-1 timecode value. "
At least some types of MXF will therefore suffer the same limitation.
The standard I have always referred to is SMPTE-12M (now two documents). I don't have access to my copy of 12M right now, and I can't recall if it specifically disallows time beyond 24 hours, but I would suggest that the safest approach to reject hours > 24 as it is far from universally supported. Whenever I have written implementations of 12M, which I have done at least three times, I have rejected hours > 24 on this basis.

More information about the ffmpeg-user mailing list