![]() |
Lumiera 0.pre.04
»edit your freedom«
|
Calculations to support mapping into NTSC drop frame timecode. More...
Go to the source code of this file.
Calculations to support mapping into NTSC drop frame timecode.
This is a scheme for mapping frame numbers to a time display in SMPTE format, i.e. with hours, minutes, seconds and a frame count. It was introduced in USA at the time when colour television with the NTSC standard was introduced. Since the existing black and white television broadcast system based on analogue signal processing had initially be fixed to the same frequency as the power grid, which runs with 60 Hz in USA, the addition of the additional carriers for the colour information was confronted with problems of signal cross-talk, due to some overtones of the used carriers falling into the same frequency band. As a pragmatic workaround, the frame rate was reduced to 29.97 fps.
This fix of one problem however caused secondary problems for the production of content for television broadcast, since at this frame rate, one hour of content would not sum up cleanly to a simple number of frames. Since the purpose of time code is to label each frame with a time stamp, as a solution, the mapping of time stamps to frame numbers is manipulated:
with the exception of every 10 minutes, where no such gap is applied This scheme adds up to allocating 108 frames less per hour, as would be used with a full frame rate of 30 fps. It should be noted though that applying such a »drop event« every minute does not mean to omit actual content frames — rather it is the dime display in the time stamp which suddenly skips ahead by +2 frames every minute (but not every 10th minute).
Definition in file dropframe.hpp.
#include "lib/time/timevalue.hpp"Namespaces | |
| namespace | lib |
| Implementation namespace for support and library code. | |
| namespace | lib::time |
Functions | |
| int64_t | calculate_ntsc_drop_frame_number (raw_time_64 time) |
| Compute the consecutive frame number from a given time, which is interpreted at the NTSC drop frame timecode grid. | |
| raw_time_64 | build_time_from_ntsc_drop_frame (uint frames, uint secs, uint mins, uint hours) |
| Build effective time from a NTSC drop frame timecode. | |