7.3 Video timing
EIS defines the video timing formats tabulated below: four standard-definition and fourteen high-definition rasters. The three 1080-line formats at 50, 59.94, and 60 frames per second are listed because display equipment defaults to them; on an analog component interface at 148.5 MHz they are rare, and a port lists one only when it generates or locks to it.
A module's port list shall name, for each VID-REF-IN and VID-REF-OUT port, every format from this clause the port locks to or generates, by its format ID (VID-001). A port may list one format or all of them; a VID-REF-PASSTHRU carries its VID-REF-IN's formats, and a patch jack lists none (7.1). A format that is not in the table is listed under its own name, and EIS says nothing about it.
When a listed format is selected or published on a port, that port's horizontal and vertical timing and its video sync structure shall match the format's publication within the tolerances that publication states, and for a progressive or high-definition format the row below is that publication's raster, sample for sample (VID-002). For the two interlaced formats the row is the reference raster: the publication's figures in microseconds, with the digital active line placed as ITU-R BT.601 places it against the timing reference OH, 16 and 122 luminance samples for the 525-line system and 12 and 132 for the 625-line system.
Composite color encoding (NTSC or PAL) applies only to the interlaced SD formats. A component output (YPbPr or RGsB) may use any listed format. A port that locks to an external video reference takes the selected format; EIS does not require format conversion.
Formats
The tables are generated from data/video_timings.json, where each row cites its publication: SMPTE or ITU, and CEA-861 for the two progressive SD formats. 480p59.94 and 576p50 are the 720 × 480 and 720 × 576 progressive rasters CEA-861 tabulates (video format timings 2 and 3, and 17 and 18), the rasters display equipment accepts; SMPTE ST 293, with 483 active lines, and ITU-R BT.1358 are the production systems they descend from, not what the rows reproduce. Sample clocks are exact. SD formats are stated at 27.000 MHz: two samples per 13.5 MHz luma sample for the interlaced formats, so 525i59.94 has 1716 samples per line, and one per luma sample for the progressive formats, so 480p59.94 has 858. HD formats are at 74.25 MHz or 74.25/1.001 MHz, and the three 1080p formats at 50 Hz and above at 148.5 MHz or 148.5/1.001 MHz.
Horizontal columns. The H front column runs from the end of active picture to the timing reference OH, and the H back column from the end of horizontal video sync to the start of active picture. For an SD format, OH is the leading edge of the bi-level video sync pulse and the H video sync column is that pulse. For an HD format, OH is the zero crossing of the tri-level pulse: the negative half of the pair lies at the end of the front porch and is counted there, and the H video sync column is the positive half, from OH to its trailing edge. A 1080-line row's 88 | 44 | 148 is therefore ST 274's 44 samples from the end of active picture to the pair, 44 negative, 44 positive, and 148 of back porch; a 720-line row's 110 | 40 | 220 is ST 296's 70, 40, 40, and 220.
Vertical columns. The V front and V video sync columns count whole lines per frame, as the hardware contract counts them, with the two fields of an interlaced format added; for the interlaced SD formats the front porch is the pre-equalizing lines and the video sync the broad-pulse lines of each field. A whole-line count cannot express a half line: ST 274 starts field 2's video sync of 1080i at mid-line, so its front porch is 2.5 lines after field 1's picture and 2 after field 2's, 4.5 per frame, where the row's count is 4. Active lines are the count each publication gives for the format.
Rates. A fractional rate is exact: 59.94, 29.97, and 23.98 are the familiar names of 60/1.001, 30/1.001, and 24/1.001 Hz, the rates a 1.001 sample clock gives. The Rate column prints the name; vertical_rate in the data file carries the exact form beside the rounded vertical_rate_hz.
Interlaced formats in the publication's terms. The analog publications state a line in microseconds, with tolerances EIS does not restate: for 525i59.94 (SMPTE ST 170) a 63.556 µs line with a 4.7 µs video sync pulse, a 1.5 µs front porch, and about 10.9 µs of blanking, with the tolerance the publication states; for 625i50 (ITU-R BT.470) a 64 µs line with a 4.7 µs video sync pulse, a 1.5 µs front porch, and 12 µs of blanking. A port meets VID-002 inside those tolerances; the row is where a sample-domain design places the active line.
Line. Samples at the sample clock: total per line, active picture, front porch, video sync, back porch.
| Format ID | Sample clock | Samples/line | Active | H front | H video sync | H back |
|---|---|---|---|---|---|---|
| 525i59.94 | 27.000 MHz | 1716 | 1440 | 32 | 126 | 118 |
| 625i50 | 27.000 MHz | 1728 | 1440 | 24 | 126 | 138 |
| 480p59.94 | 27.000 MHz | 858 | 720 | 16 | 62 | 60 |
| 576p50 | 27.000 MHz | 864 | 720 | 12 | 64 | 68 |
| 720p50 | 74.25 MHz | 1980 | 1280 | 440 | 40 | 220 |
| 720p59.94 | 74.25/1.001 MHz | 1650 | 1280 | 110 | 40 | 220 |
| 720p60 | 74.25 MHz | 1650 | 1280 | 110 | 40 | 220 |
| 1080i50 | 74.25 MHz | 2640 | 1920 | 528 | 44 | 148 |
| 1080i59.94 | 74.25/1.001 MHz | 2200 | 1920 | 88 | 44 | 148 |
| 1080i60 | 74.25 MHz | 2200 | 1920 | 88 | 44 | 148 |
| 1080p23.98 | 74.25/1.001 MHz | 2750 | 1920 | 638 | 44 | 148 |
| 1080p24 | 74.25 MHz | 2750 | 1920 | 638 | 44 | 148 |
| 1080p25 | 74.25 MHz | 2640 | 1920 | 528 | 44 | 148 |
| 1080p29.97 | 74.25/1.001 MHz | 2200 | 1920 | 88 | 44 | 148 |
| 1080p30 | 74.25 MHz | 2200 | 1920 | 88 | 44 | 148 |
| 1080p50 | 148.5 MHz | 2640 | 1920 | 528 | 44 | 148 |
| 1080p59.94 | 148.5/1.001 MHz | 2200 | 1920 | 88 | 44 | 148 |
| 1080p60 | 148.5 MHz | 2200 | 1920 | 88 | 44 | 148 |
Frame. Lines per frame: total, active, front porch, video sync; the rate is the field rate of an interlaced format and the frame rate of a progressive one. SD marks the four standard-definition formats.
| Format ID | Lines | Active lines | V front | V video sync | Rate (Hz) | Interlaced | SD |
|---|---|---|---|---|---|---|---|
| 525i59.94 | 525 | 486 | 6 | 6 | 60/1.001 | yes | yes |
| 625i50 | 625 | 576 | 5 | 5 | 50 | yes | yes |
| 480p59.94 | 525 | 480 | 9 | 6 | 60/1.001 | no | yes |
| 576p50 | 625 | 576 | 5 | 5 | 50 | no | yes |
| 720p50 | 750 | 720 | 5 | 5 | 50 | no | — |
| 720p59.94 | 750 | 720 | 5 | 5 | 60/1.001 | no | — |
| 720p60 | 750 | 720 | 5 | 5 | 60 | no | — |
| 1080i50 | 1125 | 1080 | 4 | 10 | 50 | yes | — |
| 1080i59.94 | 1125 | 1080 | 4 | 10 | 60/1.001 | yes | — |
| 1080i60 | 1125 | 1080 | 4 | 10 | 60 | yes | — |
| 1080p23.98 | 1125 | 1080 | 4 | 5 | 24/1.001 | no | — |
| 1080p24 | 1125 | 1080 | 4 | 5 | 24 | no | — |
| 1080p25 | 1125 | 1080 | 4 | 5 | 25 | no | — |
| 1080p29.97 | 1125 | 1080 | 4 | 5 | 30/1.001 | no | — |
| 1080p30 | 1125 | 1080 | 4 | 5 | 30 | no | — |
| 1080p50 | 1125 | 1080 | 4 | 5 | 50 | no | — |
| 1080p59.94 | 1125 | 1080 | 4 | 5 | 60/1.001 | no | — |
| 1080p60 | 1125 | 1080 | 4 | 5 | 60 | no | — |
Phase
A module that locks to a video reference produces its output a fixed time after the reference. EIS recommends publishing that offset, horizontal and in nanoseconds, at each listed format, and any adjustment the module offers, so that several generators locked to one reference can be lined up on the screen.
Verification
A maker compares samples per line, lines per frame, field or frame rate, and video sync pulse width and placement with the tables and the cited publication. tests/video_timings_contract.py checks every row that has a contract entry against a hardware-verified timing contract, clock for clock; the three 148.5 MHz rows, 1080p50, 1080p59.94, and 1080p60, are listed from their publication and are not in the contract.