Implementing EDID That Works Neal Kendall & Jeff Stenhouse
EDID Presentation Overview • EDID Overview • EDID Operation • Implementing EDID • EDID compliance
EDID Overview • Common Terms • EDID “Extended Display Identification Data” • E-EDID “Enhanced…” • VESA “Video Electronics Standards Association” • DDC is a term used to describe the EDID data structure and I2C bus protocol • What is an EDID? • EDID is a VESA creation to support Plug & Play • A data structure residing in a display or repeater; stored in 128 byte blocks • EDIDs contain a lot of data in a very small size; the data is densely stored • Data stored in bit format where values are binary in nature • Data stored in byte format using hex encoding • Sometimes values are truncated • Data is stored in an abbreviated form • What is the purpose of an EDID? • A display’s way of describing its identity and capabilities to a source, e.g.: video formats, audio formats, colorimetry, lip-sync delays, etc. • Source (graphics card, DVD, STB, etc) can then select output (e.g. video formats) in accordance with what display supports • Two modes: • Pass-through – when DTV supports the format that the content uses • Scaling and scan conversion is required when DTV does not support format of the content – source converts video output to the preferred format
CEA Block CEA Block CEA Block VESA Block DTV (newer) Source (older) HDMI (DDC) EDID Overview – EDID Versions • EDID block structure in HDMI displays • VESA block (Block 0) is required • At least one CEA extension block is required • If more than one extension block is used they must all be the same version • VESA EDID Versions • Version 1.3 (Version 1; Revision 3) • Version 1.3 is the required EDID structure for CEA-861D-based HDMI displays • E-EDID is based on VESA version 1.3; supports extensions • Current version of E-EDID is Release A; Revision 1 (2000) • CEA EDID extension versions • Defined in CEA-861D • HDMI monitors require version 3 of the CEA extension in their EDID data structure • Backward compatibility facilitated by: • New EDIDs implemented in a display must include all fields of past EDID versions • EDIDs include length fields for data block so older sources can skip newer data blocks they don’t understand • Inclusion of Detailed Timing Descriptors
DTV Source Overview – CEA Extension for HDMI CE Equipment • Enhancements with CEA extension version 3 • Includes the ability to specify any of the CEA video formats as short video descriptors • Includes the ability to specify advanced audio formats as short audio descriptors • Provides a way for the sink device to specify its speaker configuration with multi-channel audio • Requires that a DTV protect its EDID against accidental corruption (write protected) write
Hot Plug Detect DDC EDID Operation – Hot Plug • The EDID is transmitted over the HDMI DDC bus based on I2C protocol • Hot plug assertion is an indication by the display that the EDID is available • The EDID is transmitted over the HDMI DDC bus based on I2C protocol • Hot plug assertion is an indication by the display that the EDID is available (even if display is Off) • Hot plug assertion should always initiate an EDID read Quantum Data's Auxiliary Channel Analyzer HDMI DDC (I2C) 5V 01010101010101010101010101010101 Source DTV EDID read can occur either as a full read of block 0 and 1 or read independently An EDID read is initiated by hot plug
VESA Block - Header Quantum Data's EDID Editor Utility
VESA Block - EDID Version/Revision EDID 1.3 is required to support the CEA extension. (Note: 1.4 is available but not recognized by HDMI)
Calculation example:A0 = .625… 1010 0000 00 2^-1 + 2^-3 = 0.625 Low order bits stored here (19h, 1Ah) VESA Block - Color Characteristics Identifies the color characteristics. Each color is stored in a 10 bit value.
VESA Block - Established Timings Established timings are computer display timings that predate EDID but are recognized by VESA.
VESA Block - Standard Timing Identification Standard timings are timings that are recognized by VESA through the VESA Discrete Monitor Timing or Generalized Timing Formula standards. Accommodates future standard timings. CE devices may not support VESA timings (except 640x480p format), therefore standard timings may not be declared or used; unused bytes are filled with 01h.
The “Preferred” video format is typically the one closest to the native resolution of the display. The native resolution is the number of pixels on the display panel. The VESA E-EDID Standard requires that the First Detailed Timing Descriptor be the “preferred” video format and subsequent detailed timing descriptors listed in order of decreasing preference. All four Detailed Timing Descriptors blocks are required to be filled with valid data, even if timing descriptor need to be repeated. No fill patterns. VESA Block - Timing Descriptor For vertical timing with interlaced fields, Field 1 is listed. Field 2 is understood to be Field 1 + 1 Pixel clock field (36h and 37h) = Pixel clock / 10,000 in hex: 74250000 / 10,000 = 7425d -> 1D01h Horizontal blanking field (39h) = Lower 8 bits in hex. 280d-> 118h
VESA Block - Monitor Descriptor Avoid dependency on data in these descriptors as future use is possible. The Detailed Timing Descriptors have to precede the two required Monitor Descriptors. Uses ASCII encoding; example 53 = S
VESA Block - Monitor Range Limits Descriptor Applies to CRT based multi-scan systems and not flat panel or most CE equipment
VESA Block - Extension Flag The extension flag is the number of extension blocks including the block 1 block map. The extension flag is used if there are more than one extension blocks. Any HDMI monitor must include the version 3 or higher CEA extension block.
VESA Block – Checksum A source should re-read a display’s EDID if there is an error in the checksum.
CEA Block – CEA Formats • CEA-861-D formats • 640x480p @59.94/60 Hz (Format 1) • 1280x720p @59.94/60 Hz (Format 4) • 1920x1080i @59.94/60 Hz (Format 5) • 720x480p @59.94/60 Hz (Formats 2 & 3) • 720(1440)x480i @59.94/60 Hz (Formats 6 & 7) • 1280x720p @ 50 Hz (Format 19) • 1920x1080i @ 50 Hz (Format 20) • 720x576p @ 50 Hz (Formats 17 & 18) • 720(1440)x576i @ 50 Hz (Formats 21 & 22) • 720(1440)x240p @ 59.94/60 Hz (Formats 8 & 9) • (2880)x480i @ 59.94/60 Hz (Formats 10 & 11) • (2880)x240p @ 59.94/60 Hz (Formats 12 & 13) • 1440x480p @ 59.94/60 Hz (Formats 14 & 15) • 1920x1080p @ 59.94/60Hz (Format 16) • 720(1440)x288p @ 50 Hz (Formats 23 & 24) • (2880)x576i @ 50Hz (Formats 25 & 26) • (2880)x288p @ 50 Hz (Formats 27 & 28) • 1440x576p @ 50Hz (Formats 29 & 30) • 1920x1080p @ 50 Hz (Format 31) • 1920x1080p @ 23.98/24 Hz (Format 32) • 1920x1080p @ 25 Hz (Format 33) • 1920x1080p @ 29.97/30 Hz (Format 34) • 2880x480p @ 59.94/60 Hz (Formats 35 and 36) • 2880x576p @ 50 Hz (Formats 37 and 38) • 1920x1080i (1250 Total) @ 50 Hz (Format 39) • 1920x1080i @ 100 Hz (Format 40) • 1280x720p @ 100 Hz (Format 41) • 720x576p @ 100 Hz (Formats 42 and 43) • 720(1440)x576i @ 100 Hz (Formats 44 and 45) • 1920x1080i @ 119.88/120 Hz (Format 46) • 1280x720p @ 119.88/120 Hz (Format 47) • 720x480p @ 119.88/120 Hz (Formats 48 and 49)
CEA Block – Structure Description Purpose Bytes Tag 1 Identifies type of extension Revision Revision # of extension 1 Define scanning, sampling, DTDs General video information 1 Identifies where DTDs begin Detailed Timing Descriptor (DTD) Block Offset 1 Identifies supported video formats with short video descriptors Video Data Block Variable Identifies supported audio formats besides basic w/ short audio descriptors Variable Audio Data Block Identifies supported speaker configurations for multi-channel audio Data Blocks(can be in any order) Variable Speaker Allocat’n Data Block Identifies vendor with IEEE codeprovides physical address upstream Variable Vendor Specific Data Block Indicates support of extended colorimetry standards, e.g. xvYCC Colorimetry Data Block Variable Identifies over/underscanning behavior and alternate quantizing Variable Video Capability Data Block Detailed Timing Descriptors Variable Defines formats in detailed listings Fills out 128 byte block Variable Padding 1 Validates the data block Checksum
CEA Block - Extension Tag VESA has assigned Tag 2 to CEA for definition of the CEA extension When more than one extension is required, the first extension or Block 1 is used as an index map that lists extension locations.
CEA Block - Byte 3 In HDMI, any display that supports YCbCr must support both 4:4:4 and 4:2:2 sampling. All displays have to support RGB
Any HDMI monitor must advertise all CEA video formats as Short Video Descriptors, even if they are also use Detailed Timing Descriptors. All short video descriptors have to be listed in order of priority; the first listed format is the one identified as optimal. Short video descriptors are 1 byte each Header Byte 4 F Short Video Descriptor 0 1 0 0 1 1 1 1 8 5 1 0 0 0 0 1 0 1 Type = 2 Length = 15 Vic Code = 5 Preferred CEA Block - Video Data Block Descriptors
Source AVR/Repeater DTV EDID EDID EDID Operation – Extended Tag Operation • Repeater devices may pass EDID data blocks from DTV upstream, if… • DTV has video data block extended tag types • repeater retransmits video from source to DTV without modifying of video timing or data 010101010101010101 01010101010101010101
Header Byte Descriptor 3 - Byte 2 Descriptor 3 - Byte 1 2 F 1 5 0 7 0 0 1 0 1 1 1 1 0 0 0 0 0 1 1 1 0 0 0 1 0 1 0 1 Type = 1 Length = 15 (audio) Sampling rates 48,44,32 Type = 2 MaxCh = 5+1 (AC3 Dolby Digital) Descriptor 3 - Byte 3 3 8 0 0 1 1 0 1 1 1 Max bit rate / 8k 38h (56) * 8k = 448k CEA Block - Audio Data Block Descriptors If only basic audio is supported, Short Audio Descriptors are not necessary Short audio descriptors are 3 bytes each
Descriptor 3 - Byte 2 0 F 0 0 0 0 1 1 1 1 RC,RL/RR,FC,LFE,FL/FR CEA Block - Speaker Allocation Block If the HDMI DTV Monitor supports multi-channel uncompressed digital audio as indicated in the Audio Data Block, then the Speaker Allocation Data Block has to be included.
1100 CEA Block - Vendor Specific Block Vendor specific data block enables source devices to determine that the display is HDMI and configure its output accordingly (not DVI). Source Physical Address fields provide the CEC physical address for upstream CEC devices.
CEA Block – VSDB CEC Physical Addressing Physical Address assigned by downstream device (TV side) from the Source Physical Address fields of the downstream devices EDID VSDB.
Even though Short Video Descriptors are available in the Version 3 CEA Extension, Detailed Timing Descriptors are used to support backward compatibility with legacy sources. Detailed timings have to be listed in priority order. CEA Block - Timing Descriptor
EDID Compliance Testing • Part of HDMI Compliance Test specification • Capabilities Declaration Form identifies which test are run during execution (compiled test suite) • Test Execution and report
Select which timings are claimed to be supported in the display’s EDID. Slide Slide Slide Identifies whether ACP/ISRC packet infoframes are supported. “Other” i.e. are these timings supported on the analog component outputs? Primary aspect ratio, i.e. aspect ratio of the preferred timing. Either 16:9 or 4:3 Slide Slide Slide Slide Slide Slide Displays (DTVs) are typically CEC root devices unless they serve as a switch Identifies whether basic audio is supported. If unchecked, the test is run based on CTS 1.2a. New products must pass 1.3b. Select which timings are claimed to be supported in the display’s EDID. Identifies if DC fields are populated in EDID Identifies if lipsync latency fields are populated in EDID EDID Compliance Testing Quantum Data's EDID Compliance Test Application