The allocation of bits within the Longitudinal (or Linear) Time Code (LTC) frame is shown in the following table - Vertical Interval Time Code (VITC) is similarly organised, but has an 8-bit CRC on the end in place of the 16-bit framing code used on LTC. The bits in the User Groups can be used for any numerical or ASCII data (as defined by the Binary Groups Data Usage flag bits). Videotape operators used to store the VT spool number there, but such use is now rare.
The "Bi-Phase Mark Correction bit" and "Binary Group Data Usage flags" use a different combination of the spare bits on 25- and 24/30 frame systems!. Tables at the bottom of this page describe the differences.
There is an excellent dissertation on timecode by Phil Rees on his web page at http://www.philrees.co.uk/articles/timecode.htm.
| Time Code Frame (S.M.P.T.E. 12M-1999 and 309M-1999) | |||
|---|---|---|---|
| LTC bit no. | VITC bit no. | Data assignment | Fixed value / weight |
| 0 | VITC sync bits | 1 | |
| 1 | 0 | ||
| 0 | 2 | Time Group 1 Frames Units | 1's |
| 1 | 3 | 2's | |
| 2 | 4 | 4's | |
| 3 | 5 | 8's | |
| 4 | 6 | User Group 1 Days Units | 1's |
| 5 | 7 | 2's | |
| 6 | 8 | 4's | |
| 7 | 9 | 8's | |
| 10 | VITC sync bits | 1 | |
| 11 | 0 | ||
| 8 | 12 | Time Group 2 Frames Tens | 10's |
| 9 | 13 | 20's | |
| 10 | 14 | Drop-frame Flag (30/60 fps only) | 1 = df |
| 11 | 15 | Colour Frame | 1 = locked |
| 12 | 16 | User Group 2 Days Tens | 10's |
| 13 | 17 | 20's | |
| 14 | 18 | 0 | |
| 15 | 19 | 0 | |
| 20 | VITC sync bits | 1 | |
| 21 | 0 | ||
| 16 | 22 | Time Group 3 Seconds Units | 1's |
| 17 | 23 | 2's | |
| 18 | 24 | 4's | |
| 19 | 25 | 8's | |
| 20 | 26 | User Group 3 Months Units | 1's |
| 21 | 27 | 2's | |
| 22 | 28 | 4's | |
| 23 | 29 | 8's | |
| 30 | VITC sync bits | 1 | |
| 31 | 0 | ||
| 24 | 32 | Time Group 4 Seconds Tens | 10's |
| 25 | 33 | 20's | |
| 26 | 34 | 40's | |
| 27 | 35 | Binary Group data usage flag | BGF-0 |
| 28 | 36 | User Group 4 Months Tens | 10's |
| 29 | 37 | 0 | |
| 30 | 38 | 0 | |
| 31 | 39 | 0 | |
| 40 | VITC sync bits | 1 | |
| 41 | 0 | ||
| 32 | 42 | Time Group 5 Minutes units | 1's |
| 33 | 43 | 2's | |
| 34 | 44 | 4's | |
| 35 | 45 | 8's | |
| 36 | 46 | User Group 5 Years Units | 1's |
| 37 | 47 | 2's | |
| 38 | 48 | 4's | |
| 39 | 49 | 8's | |
| 50 | VITC sync bits | 1 | |
| 51 | 0 | ||
| 40 | 52 | Time Group 6 Minutes tens | 10's |
| 41 | 53 | 20's | |
| 42 | 54 | 40's | |
| 43 | 55 | Binary Group data usage flag | BGF-2 |
| 44 | 56 | User Group 6 Years Tens | 10's |
| 45 | 57 | 20's | |
| 46 | 58 | 40's | |
| 47 | 59 | 80's | |
| 60 | VITC sync bits | 1 | |
| 61 | 0 | ||
| 48 | 62 | Time Group 7 Hours units | 1's |
| 49 | 63 | 2's | |
| 50 | 64 | 4's | |
| 51 | 65 | 8's | |
| 52 | 66 | User Group 7 Timezone | 1's |
| 53 | 67 | 2's | |
| 54 | 68 | 4's | |
| 55 | 69 | 8's | |
| 70 | VITC sync bits | 1 | |
| 71 | 0 | ||
| 56 | 72 | Time Group 8 Hours tens | 10's |
| 57 | 73 | 20's | |
| 58 | 74 | Binary Group data usage flag | BGF-1 |
| 59 | 75 | "Bi-Phase Mark Correction" | Even Parity |
| 60 | 76 | User Group 8 Timezone | 16's |
| 61 | 77 | 32's | |
| 62 | 78 | Unassigned | 0 |
| 63 | 79 | MJD flag (0 = YYMMDD, 1 = MJD) | 0 |
| 80 | VITC sync bits | 1 | |
| 81 | 0 | ||
| 64 | 82 | LTC Sync Word / VITC CRC | 0 / x8 |
| 65 | 83 | 0 / x7 | |
| 66 | 84 | 1 / x6 | |
| 67 | 85 | 1 / x5 | |
| 68 | 86 | 1 / x4 | |
| 69 | 87 | 1 / x3 | |
| 70 | 88 | 1 / x2 | |
| 71 | 89 | 1 / x1 | |
| 72 | - | 1 | |
| 73 | - | 1 | |
| 74 | - | 1 | |
| 75 | - | 1 | |
| 76 | - | 1 | |
| 77 | - | 1 | |
| 78 | - | 0 | |
| 79 | - | 1 | |
| LTC bit no. | VITC bit no. | Data assignment | Fixed value / weight |
The following table lists the meaning of the timezone given by user-bits 7-1 to 8-2 above, and was copied directly from the S.M.P.T.E. specification 309M-1999. See that document for for more information.
| Time-zone definitions for User Groups 7 & 8 above | ||||||||
|---|---|---|---|---|---|---|---|---|
| Offset | Standard time (see note 2) | Daylight saving | Offset | Standard time (see note 2) | Daylight saving | |||
| Code | Hours | Code | Hours | |||||
| 0 | UTC | Greenwich | 0A | UTC-00:30 | ||||
| 1 | UTC-01:00 | Azores | 0B | UTC-01:30 | ||||
| 2 | UTC-02:00 | Mid-Atlantic | 0C | UTC-02:30 | Newfoundland | |||
| 3 | UTC-03:00 | Buenos Aires | Halifax | 0D | UTC-03:30 | Newfoundland | ||
| 4 | UTC-04:00 | Halifax | New York | 0E | UTC-04:30 | |||
| 5 | UTC-05:00 | New York | Chicago | 0F | UTC-05:30 | |||
| 6 | UTC-06:00 | Chicago Denver | 1A | UTC-06:30 | ||||
| 7 | UTC-07:00 | Denver | Los Angeles | 1B | UTC-07:30 | |||
| 8 | UTC-08:00 | Los Angeles | 1C | UTC-08:30 | ||||
| 9 | UTC-09:00 | Alaska | 1D | UTC-09:30 | Marquesa Islands | |||
| 10 | UTC-10:00 | Hawaii | 1E | UTC-10:30 | ||||
| 11 | UTC-11:00 | Midway Island | 1F | UTC-11:30 | ||||
| 12 | UTC-12:00 | Kwaialein | 2A | UTC+11:30 | Norfolk Island | |||
| 13 | UTC+13:00 | New Zealand | 2B | UTC+10:30 | Lord Howe Is. | |||
| 14 | UTC+12:00 | New Zealand | 2C | UTC+09:30 | Darwin | |||
| 15 | UTC+11:00 | Solomon Islands | 2D | UTC+08:30 | ||||
| 16 | UTC+10:00 | Guam | 2E | UTC+07:30 | ||||
| 17 | UTC+09:00 | Tokyo | 2F | UTC+06:30 | Rangoon | |||
| 18 | UTC+08:00 | Beijing | 3A | UTC+05:30 | Bombay | |||
| 19 | UTC+07:00 | Bangkok | 3B | UTC+04:30 | Kabul | |||
| 20 | UTC+06:00 | Dhaka | 3C | UTC+03:30 | Tehran | |||
| 21 | UTC+05:00 | Islamabad | 3D | UTC+02:30 | ||||
| 22 | UTC+04:00 | Abu Dhabi | 3E | UTC+01:30 | ||||
| 23 | UTC+03:00 | Moscow | 3F | UTC+00:30 | ||||
| 24 | UTC+02:00 | Eastern Europe | 32 | UTC+12:45 | Chatham Island | |||
| 25 | UTC+01:00 | Central Europe | 33 | Undefined | Reserved; do not use | |||
| 26 | Undefined | Reserved; do not use | 34 | Undefined | Reserved; do not use | |||
| 27 | Undefined | Reserved; do not use | 35 | Undefined | Reserved; do not use | |||
| 28 | TP-3 | Time precision class 3 | 36 | Undefined | Reserved; do not use | |||
| 29 | TP-2 | Time precision class 2 | 37 | Undefined | Reserved; do not use | |||
| 30 | TP-1 | Time precision class 1 | 38 | User defined time offset | ||||
| 31 | TP-0 | Time precision class 0 | 39 | Undefined | Unknown | Unknown | ||
The use of the User Groups was originally fairly limited, and original specifications merely defined "Not Specified" or "Eight bit" as shown in the following table for 25 fps systems (bit 58 not having been assigned at all):
| Binary Group data usage | Bit 27 (20) | Bit 43 (21) |
|---|---|---|
| Character set not specified | 0 | 0 |
| Eight-bit character set | 0 | 1 |
| Unassigned (reserved for use by SMPTE) | 1 | 0 |
| Unassigned (reserved for use by SMPTE) | 1 | 1 |
However, more recent versions of the spec show how much more data can be sent using a multiplexed page/line system; and bit-58 now signals that the time is locked to local time ±0.5 of a second. (They fail to mention, however, that off-tape timecode may have been recorded with accurate local time, but it is irrelevant now!) The following table shows the meaning of the various User Group flag combinations:
| BGF2 | BGF1 | BGF0 | Time data | Binary Group data usage |
|---|---|---|---|---|
| 0 | 0 | 0 | Not specified | Character set not specified |
| 0 | 0 | 1 | Not specified | Eight-bit character set |
| 1 | 0 | 0 | Not specified | Date and Time zone |
| 1 | 0 | 1 | Not specified | Page/Line |
| 0 | 1 | 0 | Clock time | Character set not specified |
| 0 | 1 | 1 | Unassigned | Reserved |
| 1 | 1 | 0 | Clock time | Date and Time zone |
| 1 | 1 | 1 | Clock time | Page/Line |
The "Bi-Phase Mark Correction Bit" (i.e. Even-Parity bit!) and Binary Group Data Usage flags are on different bits for 25 and 24/30 fps systems! Further, in the original specification, bit 58 was undefined in all systems, and what is currently called BGF2 was then BGF1 (Binary Group Data Usage 21)! Bit-58 has now been defined to show that, if set, the time data is locked to civil time within half a second. However, to add to the confusion, it has now been labeled as BGF1! The following table shows which bits the various flags are on for the different frame-rates:
| Flag | 25 fps bit | 24 & 30 fps bit |
|---|---|---|
| BGF0 | 27 | 43 |
| BGF1 | 58 | 58 |
| BGF2 | 43 | 59 |
| Parity | 59 | 27 |
The following S.M.P.T.E. documents contain detailed specifications and recommendations:
| • 12M-1999 | Time and Control Code |
| • 262M-1995 | Binary Groups of Time and Control Codes - Storage and Transmission |
| • 309M-1999 | Transmission of Date and Time Zone Information in Binary Groups of Time and Control Code |
| • EG35-1999 | Time and Control Code Time Address Clock Precision for Television, Audio and Film |
| • RP159-1995 | Vertical Interval Time Code and Longitudinal Time Code Relationship |
| • RP164-1996 | Location of Vertical Interval Time Code |
| • RP169-1995 | Auxiliary Time Address Data in Binary Groups - Dialect Specification of Directory Index Locations |
| • RP188-1999 | Transmission of Time Code and Control Code in the Ancillary Data Space of a Digital Television Stream |
| • RP201-1999 | Encoding Film and Transfer Information Using Vertical Interval Time Code |
The I.E.C.'s specification 60461 is virtually identical to the S.M.P.T.E.'s 12M, but has English and French on alternate pages of a single document.
| • S.M.P.T.E. | Standard 12M-1999 (etc.) may be purchased. |
| • I.E.C | Standard 60461 (2001) may be purchased. |
| • E.B.U. | Standards Tech.3097-E (1982), N12-1999, N18-1998, & I29-1995 (now obsoleted by above IEC document). |
| • Phil Rees's descriptive website. | |
| This page last updated 25th August 2005 | http://www.barney-wol.net/time/timecode.html |