Extended Display Identification Data (EDID) and Enhanced EDID (E-EDID) are metadata formats for display devices to describe their capabilities to a video source (e.g., graphics card or set-top box). The data format is defined by a standard published by the Video Electronics Standards Association (VESA).
The EDID data structure includes manufacturer name and serial number, product type, phosphor or filter type (as chromaticity data), timings supported by the display, display size, luminance data and (for digital displays only) pixel mapping data.
DisplayID is a VESA standard targeted to replace EDID and E-EDID extensions with a uniform format suited for both PC monitor and consumer electronics devices.
EDID structure (base block) versions range from v1.0 to v1.4; all these define upwards-compatible 128-byte structures. Version 2.0 defined a new 256-byte structure but it has been deprecated and replaced by E-EDID which supports multiple extension blocks.[citation needed] HDMI versions 1.0–1.3c use E-EDID v1.3.[1]
Before Display Data Channel (DDC) and EDID were defined, there was no standard way for a graphics card to know what kind of display device it was connected to. Some VGA connectors in personal computers provided a basic form of identification by connecting one, two or three pins to ground, but this coding was not standardized.
This problem is solved by EDID and DDC, as it enables the display to send information to the graphics card it is connected to. The transmission of EDID information usually uses the Display Data Channel protocol, specifically DDC2B, which is based on I²C-bus (DDC1 used a different serial format which never gained popularity). The data is transmitted via the cable connecting the display and the graphics card; VGA, DVI, DisplayPort and HDMI are supported.[citation needed]
The EDID is often stored in the monitor in the firmware chip called serial EEPROM (electrically erasable programmable read-only memory) and is accessible via the I²C-bus at address 0x50. The EDID PROM can often be read by the host PC even if the display itself is turned off.
0x50
Many software packages can read and display the EDID information, such as read-edid[2] for Linux and DOS, PowerStrip[3] for Microsoft Windows and the X.Org Server for Linux and BSD unix. Mac OS X natively reads EDID information and programs such as SwitchResX[4] or DisplayConfigX[5] can display the information as well as use it to define custom resolutions.
E-EDID was introduced at the same time as E-DDC, which supports multiple extensions blocks and deprecated EDID version 2.0 structure (it can be incorporated in E-EDID as an optional extension block). Data fields for preferred timing, range limits, and monitor name are required in E-EDID. E-EDID also adds support for the Dual GTF curve concept and partially changed the encoding of aspect ratio within the standard timings.
With the use of extensions, E-EDID structure can be extended up to 32 KiB, because the E-DDC added the capability to address multiple (up to 128) 256 byte segments.
00
02
10
20
40
50
60
70
A7
AF
BF
F0
FF
Some graphics card drivers have historically coped poorly with the EDID, using only its standard timing descriptors rather than its Detailed Timing Descriptors (DTDs). Even in cases where the DTDs were read, the drivers are/were still often limited by the standard timing descriptor limitation that the horizontal/vertical resolutions must be evenly divisible by 8. This means that many graphics cards cannot express the native resolutions of the most common widescreen flat-panel displays and liquid-crystal display TVs. The number of vertical pixels is calculated from the horizontal resolution and the selected aspect ratio. To be fully expressible, the size of widescreen display must thus be a multiple of 16×9 pixels. For 1366×768 pixel Wide XGA panels the nearest resolution expressible in the EDID standard timing descriptor syntax is 1360×765 pixels, typically leading to 3-pixel-thin black bars. Specifying 1368 pixels as the screen width would yield an unnatural screen height of 769.5 pixels.
Many Wide XGA panels do not advertise their native resolution in the standard timing descriptors, instead offering only a resolution of 1280×768. Some panels advertise a resolution only slightly smaller than the native, such as 1360×765. For these panels to be able to show a pixel perfect image, the EDID data must be ignored by the display driver or the driver must correctly interpret the DTD and be able to resolve resolutions whose size is not divisible by 8. Special programs are available to override the standard timing descriptors from EDID data. Even this is not always possible, as some vendors' graphics drivers (notably those of Intel) require specific registry hacks to implement custom resolutions, which can make it very difficult to use the screen's native resolution.[7]
00 FF FF FF FF FF FF 00
0
01
03
04
1
000 = undefined 001 = 6 010 = 8 011 = 10 100 = 12 101 = 14 110 = 16 bits per color 111 = reserved
000
001
010
011
100
101
110
111
0000 = undefined 0001 = DVI 0010 = HDMIa 0011 = HDMIb 0100 = MDDI 0101 = DisplayPort
0000
0001
0010
0011
0100
0101
00 = +0.7/−0.3 V 01 = +0.714/−0.286 V 10 = +1.0/−0.4 V 11 = +0.7/0 V (EVC)
11
00 = RGB 4:4:4 01 = RGB 4:4:4 + YCrCb 4:4:4 10 = RGB 4:4:4 + YCrCb 4:2:2 11 = RGB 4:4:4 + YCrCb 4:4:4 + YCrCb 4:2:2
00 = monochrome or grayscale 01 = RGB color 10 = non-RGB color 11 = undefined
01 01
00 = 16:10 01 = 4:3 10 = 5:4 11 = 16:9 (Versions prior to 1.3 defined 00 as 1:1.)
0 = non-interlaced; 1 = interlaced.
00 x = none, bit 0 is "don't care"; 01 0 = field sequential, right during stereo sync; 10 0 = field sequential, left during stereo sync; 01 1 = 2-way interleaved, right image on even lines; 10 1 = 2-way interleaved, left image on even lines; 11 0 = 4-way interleaved; 11 1 = side-by-side interleaved.
x
0 = analog composite; 1 = bipolar analog composite.
0 = without serrations; 1 = with serrations (H-sync during V-sync).
0 = sync on green signal only; 1 = sync on all three (RGB) video signals.
0 = without serration; 1 = with serration (H-sync during V-sync).
0 = negative; 1 = positive.
When used for another descriptor, the pixel clock and some other bytes are set to 0:
FA
0F
Currently defined descriptor types are:
FE
FD
FC
FB
0A 20 20
0A
F9
F8
F7
00–0F
00 00
00 = none; 10 = +255 kHz for max. rate; 11 = +255 kHz for max. and min. rates.
00 = none; 10 = +255 Hz for max. rate; 11 = +255 Hz for max. and min. rates.
00 = Default GTF (when basic display parameters byte 24, bit 0 is set). 01 = No timing information. 02 = Secondary GTF supported, parameters as follows. 04 = CVT (when basic display parameters byte 24, bit 0 is set), parameters as follows.
0A 20 20 20 20 20 20
000 = 4∶3 001 = 16∶9 010 = 16∶10 011 = 5∶4 100 = 15∶9
00 00 00
00 = 4∶3 01 = 16∶9 10 = 16∶10 11 = 15∶9
00: 50 Hz 01: 60 Hz 10: 75 Hz 11: 85 Hz
V e r t i c a l l i n e s = ( A d d r e s s a b l e l i n e s p e r f i e l d + 1 ) ∗ 2 {\displaystyle {\mathsf {Vertical\ lines}}=({\mathsf {Addressable\ lines\ per\ field}}+1)*2} H o r i z o n t a l p i x e l s = ⌊ V e r t i c a l l i n e s ∗ A s p e c t r a t i o / 8 ⌋ ∗ 8 {\displaystyle {\mathsf {Horizontal\ pixels}}=\lfloor {\mathsf {Vertical\ lines}}*{\mathsf {Aspect\ ratio}}/8\rfloor *8}
The CTA EDID Extension was first introduced in EIA/CEA-861.
The ANSI/CTA-861 industry standard, which according to CTA is now their "Most Popular Standard",[10] has since been updated several times, most notably with the 861-B revision (published in May 2002, which added version 3 of the extension, adding Short Video Descriptors and advanced audio capability/configuration information), 861-D (published in July 2006 and containing updates to the audio segments), 861-E in March 2008,[11] 861-F, which was published on June 4, 2013,[12] 861-H in December 2020,[13] and, most recently, 861-I, which was published in February 2023.[14] Coinciding with the publication of CEA-861-F in 2013, Brian Markwalter, senior vice president, research and standards, stated: "The new edition includes a number of noteworthy enhancements, including support for several new Ultra HD and widescreen video formats and additional colorimetry schemes.”[15]
Version CTA-861-G,[16] originally published in November 2016, was made available for free in November 2017, along with updated versions -E and -F, after some necessary changes due to a trademark complaint. All CTA standards are free to everyone since May 2018.[17][18]
The most recent full version is CTA-861-I,[19] published in February 2023, available for free after registration. It combines the previous version, CTA-861-H,[20] from January 2021 with an amendment, CTA-861.6,[21] published in February 2022 and includes a new formula to calculate Video Timing Formats, OVT.[22] Other changes include a new annex to elaborate on the audio speaker room configuration system that was introduced with the 861.2 amendment, and some general clarifications and formatting cleanup.
An amendment to CTA-861-I, CTA-861.7,[23] was published in June 2024. It contains updates to CTA 3D Audio, and clarifications on Content Type Indication, and on 4:2:0 support for VTDBs and VFDBs. It also introduces a new Product ID Data Block, to replace the Manufacturer PNP ID in the first block of the EDID, since the UEFI is phasing out assigning new PNP IDs.
Version 1 of the extension block (as defined in CEA−861) allowed the specification of video timings only through the use of 18-byte Detailed Timing Descriptors (DTD) (as detailed in EDID 1.3 data format above). DTD timings are listed in order of preference in the CEA EDID Timing Extension.
Version 2 (as defined in 861-A) added the capability to designate a number of DTDs as "native" (i.e., matching the resolution of the display) and also included some "basic discovery" functionality for whether the display device contains support for "basic audio", YCBCR pixel formats, and underscan.
Version 3 (from the 861-B spec onward) allows two different ways to specify digital video timing formats: As in Version 1 & 2 by the use of 18-byte DTDs, or by the use of the Short Video Descriptor (SVD) (see below). HDMI 1.0–1.3c uses this[which?] version.
Version 3 also defines a format for a collection of data blocks, which in turn can contain a number of individual descriptors. This Data Block Collection (DBC) initially had four types of Data Blocks (DBs): Video Data Blocks containing the aforementioned Short Video Descriptor (SVD), Audio Data Blocks containing Short Audio Descriptors (SAD), Speaker Allocation Data Blocks containing information about the speaker configuration of the display device, and Vendor Specific Data Blocks which can contain information specific to a given vendor's use. Subsequent versions of CTA-861 defined additional data blocks.
The Data Block Collection contains one or more data blocks detailing video, audio, and speaker placement information about the display. The blocks can be placed in any order, and the initial byte of each block defines both its type and its length:
If the Tag code is 7, an Extended Tag Code is present in the first payload byte of the data block, and the second payload byte represents the first payload byte of the extended data block.
00000000
00000001
00000010
00000011
00000100
00000101
00000110
00000111
00001000
00001101
00001110
00001111
00010000
00010001
00010010
00010011
00010100
00100000
00100001
00100010
00100011
00101010
01111000
01111001
01111010
Once one data block has ended, the next byte is assumed to be the beginning of the next data block. This is the case until the byte (designated in byte 2, above) where the DTDs are known to begin.
As noted, several data blocks are defined by the extension.
The Video Data Blocks will contain one or more 1-byte Short Video Descriptors (SVDs).
Notes: Parentheses indicate instances where pixels are repeated to meet the minimum speed requirements of the interface. For example, in the 720x240p case, the pixels on each line are double-clocked. In the (2880)x480i case, the number of pixels on each line, and thus the number of times that they are repeated, is variable, and is sent to the DTV monitor by the source device.
Increased Hactive expressions include “2x” and “4x” indicate two and four times the reference resolution, respectively.
Video modes with vertical refresh frequency being a multiple of 6 Hz (i.e. 24, 30, 60, 120, and 240 Hz) are considered to be the same timing as equivalent NTSC modes where vertical refresh is adjusted by a factor of 1000/1001. As VESA DMT specifies 0.5% pixel clock tolerance, which 5 times more than the required change, pixel clocks can be adjusted to maintain NTSC compatibility; typically, 240p, 480p, and 480i modes are adjusted, while 576p, 576i and HDTV formats are not.
The Audio Data Blocks contain one or more 3-byte Short Audio Descriptors (SADs). Each SAD details audio format, channel number, and bitrate/resolution capabilities of the display as follows:
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
00000
00001
00010
00011
00100
00101
00110
00111
01000
01001
01010
01011
01100
01101
01110
01111
A Vendor Specific Data Block (if any) contains as its first three bytes the vendor's IEEE 24-bit registration number,[24] least significant byte first. The remainder of the Vendor Specific Data Block is the "data payload", which can be anything the vendor considers worthy of inclusion in this EDID extension block. For example, IEEE registration number 00 0C 03 means this is a "HDMI Licensing, LLC" specific data block (contains HDMI 1.4 info), C4 5D D8 means this is a "HDMI Forum" specific data block (contains HDMI 2.0 info), 00 D0 46 means this is "DOLBY LABORATORIES, INC." (contains Dolby Vision info) and 90 84 8b is "HDR10+ Technologies, LLC" (contains HDR10+ info as part of HDMI 2.1 Amendment A1 standard[25]). It starts with a two byte source physical address, least significant byte first. The source physical address provides the CEC physical address for upstream CEC devices. HDMI 1.3a specifies some requirements for the data payload.
00 0C 03
C4 5D D8
00 D0 46
90 84 8b
If a Speaker Allocation Data Block is present, it will consist of three bytes. The first and second bytes contain information about which speakers (or speaker pairs) are present in the display device:
Some speaker flags have been deprecated in the SADB, but are still available in the RCDB's SPM. These speakers could not be indicated with a CA value in the Audio InfoFrame, and can only be used with Delivery According to the Speaker Mask, which corresponds to the RCDB only.
The Room Configuration Data Block and Speaker Location Data Blocks describe the speaker setup using room coordinates.
13