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.

EIS · One line of video, to scale: an HD and an SD format 700 mV +300 mV 0 −300 mV OH active picture, 1920 samples front porch 88 (the last 44 negative) video sync 44 (positive half) back porch 148 1080p30 2200 samples at 74.25 MHz 700 mV 0 −300 mV OH active picture, 1440 samples front porch 32 video sync 126 back porch 118 525i59.94 1716 samples at 27.000 MHz Each bar is one line in samples at its sample clock: active picture, front porch, video sync, back porch. The trace is the video sync waveform, with the timing reference OH marked. SD: a bi-level pulse; the front porch ends at its leading edge, OH, and the video sync column is the pulse. HD: a tri-level pair; the front porch ends at the zero crossing, OH, and holds the negative half; the video sync column is the positive half, so 88 | 44 | 148 is 44, 44 negative, 44 positive, 148. A port on a listed format matches that row's timing and video sync structure (VID-002).

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.