HDMI EDID解读

博主QQ:1356438802


现在的显示设备比如显示器,电视等都HDMI接口,那通常每个HDMI接口都保留有一份EDID数据,这个数据可以存在程序里面由系统启动过程中来初始化,更常见的做法是每个HDMI口会有一个EEPROM来保存这份数据,这个EEPROM也只是有256bytes大小。外接设备如DVD播放器在HDMI热插拔的时候就会通过HDMI的DDC通道来读取EDID数据。EDID里面主要是定义了这显示设备所支持的图像分辨率,支持的声音格式,声音通道,及3D等等,其目的是告诉外接设备我所支持的特性,让外接设备输出一个我所支持的timing,否则外接设备输出的timing并不支持的话那就没有图像,声音的显示了。

EDID包含两个部分,基本的EDID只有128个字节,还有128字节的扩展EDID,扩展部分不是必须有的。那通常电视都有扩展EDID。


那EDID的详细定义在规范里面都可以找到,主要有以下几部分:

(00H-07H)这8个字节是固定的,其必须等于0x00FFFFFFFFFFFFFF00;
(08H-08H)生产商的ID或者名字;
(0AH-0BH)产品ID;
(0CH-0FH)序列号;
(10H-11H)生产时间;
(12H-13H)版本号,比如1.3那就是01,03;
(14H)视频输入信号类型,数字还是模拟
(15H)横向图像的最大宽度
(16H)竖向图像的最大宽度
(17H)显示Gamma的版本,比如2.20
(18H)DPMS和支持的属性,比如显示类型是RGB
(19H-22H)色度信息
(23H)支持的基本timing表1,比如640x480@60HZ(IBM,VGA), 800x600@60HZ(VESA)
(24H)支持的基本timing表2,比如1024x768@60HZ(VESA)
(25H)生产商保留的timing信息
(26H-35H)支持的标准timing表
(36H-47H)timing的详细信息描述1,这个段是一个timing的更详细的描述,比如横向,竖向图像大小,刷新模式是隔行还是逐行等
(48H-59H)timing的详细信息描述2
(5AH-6BH)timing的详细信息描述3
(6CH-7DH)timing的详细信息描述4,这四个段用来描述不同timing的详细信息,描述1必须有,其它的可以为空
(7EH)扩展EDID的标志位,如果为0则不存在扩展EDID,如果为1则后面还存在扩展EDID段

(7FH)CheckSum


扩展EDID主要包含几个部分:
1.图像和声音模式,如模拟还是数字,
2.颜色模式,如YCbCr(4:4:4),YCbCr(4:2:2)
3.简短的timing描述,这里指定了一些在段1里面没有描述的timing信息。比如640x480p@60HZ 4:3等
4.声音的简短描述,比如PCM(2通道,32KHZ,44.1HZ,48HZ,16bit,20bit,24bit)
AC-3,Dolby Digital+(6通道,32KHZ,44.1KHZ,48KHZ,最大比特率640kbps)
喇叭(左右声道)
5.VSDB:生产商特别信息,比如包含了CEC物理地址,3D信息,deep color信息等
6.CheckSum


二、CheckSum计算方法
Checksum的计算原则是前127个字节的和为0,所以比如第一块的checksum=256-(byte0+byte1+...+byt127)%256


三。VSDB详解
VSDB是EDID里面一个比较难懂的块,通常的EDID编辑工具都没有提供编辑这个块的选项,但现在通常电视的EDID里面都有这个信息。
下图是这个VSDB的基本结构


(00H)这个字节的后5位表示这个VSDB的长度,但不包括本身。这个长度必须大于或者等于5
(01H-03H)24位的标志符,必须等于0x000C03
(04H-05H)这两个字节标志这个HDMI口的CEC物理地址,比如1口是0x1000,2口是0x2000
(06H)bit7 SUPPORT_AI标志位,如果为1表示这个设备支持ACP,ISRC1,ISRC2,不支持则应当置为0
bit3~bit6标志是否支持deep color模式,支持哪些模式。比如DC_36bit表示输出的每个像素由36位表示,颜色的精度更高。如果DC_YCBCR444置为1,那么其它3项也必须为1
bit0标志是否支持DVI dual link模式。
(07H):MAX_TMDS_CLOCK,表示支持的最大TMDS率,等于MAX_TMDS_CLOCK*5MHZ。如果支持的比率大于165M,或者支持deep color,或者支持DVI DUAL LINK那么这个字节不能为0
(08H)bit6,bit7图像和声音的延时标志,如果为1,那么(09H~12H)分别标志逐行,隔行的图像,声音延时信息。如果为0,那就不存在这个信息
bit5:附加HDMI图像格式,也就是除了之前定义的timing外,其它支持的格式。
包含了4个部分
1个字节3D_PRESENT表示是否支持3D信息
1个字节表示附加图像格式信息和3D格式信息的长度
第三部分详细说明了支持那些附加的HDMI格式,第四部分支持哪些3D格式
已标记关键词 清除标记
分析 EDID 的小工具 生成如下形式的说明文档: Adr Value Remark Description 00h 00h 01h FFh 02h FFh 03h FFh 04h FFh 05h FFh 06h FFh 07h 00h 08h 34h MAG EISA Manufacturer ID (high) 09h 27h EISA Manufacturer ID (low) 0Ah 17h 0717h EISA Product ID(low) 0Bh 07h EISA Product ID(high) 0Ch 02h 2 Serial Number 0Dh 00h Serial Number 0Eh 00h Serial Number 0Fh 00h Serial Number 10h 0Dh 13 Week of Manufacture 11h 0Eh 2004 Year of Manufacture 12h 01h 1 EDID Version 13h 03h 3 EDID Revision 14h 08h Video Input Definition Bit 7 : 0 = Analog signal Bit 6,5: 00 = 0.700,0.300(1.000Vpp) Bit 4 : 0 = No blank-to-black setup Bit 3 : 1 = Separate sync supported Bit 2 : 0 = No composite sync supported Bit 1 : 0 = No sync on green supported Bit 0 : 0 = No serration of the Vsync required 15h 22h 34 Max. Horizontal Image Size 16h 1Bh 27 Max. Vertical Image Size 17h 96h 2.5 Display Transfer Characteristic (Gamma) 18h 28h Feature Support (DPMS) Bit 7 : 0 = No stand-by mode Bit 6 : 0 = No suspend mode Bit 5 : 1 = Active off Bit 4,3: 01 = R/G/B color display Bit 2 : 0 = No standard default color space Bit 1 : 0 = No preferred timing mode Bit 0 : 0 = No GTF supported 19h 67h Red / Green Low Bits 1Ah 55h Blue/ White Low Bits 1Bh A5h 0.646 Red X 1Ch 5Bh 0.357 Red X 1Dh 47h 0.278 Green X 1Eh 9Ch 0.612 Green Y 1Fh 25h 0.146 Blue X 20h 1Eh 0.118 Blue Y 21h 4Fh 0.31 White X 22h 54h 0.329 White Y 23h BFh Established Timings 1 Bit 7 : 1 = 720 x 400 : 70 Hz Bit 6 : 0 Bit 5 : 1 = 640 x 480 : 60 Hz Bit 4 : 1 = 640 x 480 : 67 Hz Bit 3 : 1 = 640 x 480 : 72 Hz Bit 2 : 1 = 640 x 480 : 75 Hz Bit 1 : 1 = 800 x 600 : 56 Hz Bit 0 : 1 = 800 x 600 : 60 Hz 24h EFh Established Timings 2 Bit 7 : 1 = 800 x 600 : 72 Hz Bit 6 : 1 = 800 x 600 : 75 Hz Bit 5 : 1 = 832 x 624 : 75 Hz Bit 4 : 0 Bit 3 : 1 = 1024 x 768 : 60 Hz Bit 2 : 1 = 1024 x 768 : 70 Hz Bit 1 : 1 = 1024 x 768 : 75 Hz Bit 0 : 1 = 1280 x1024 : 75 Hz 25h 00h Manufacturers Timings 26h 31h 640 x 480 27h 40h 60 Hz 28h 45h 800 x 600 29h 40h 60 Hz 2Ah 61h 1024 x 768 2Bh 40h 60 Hz 2Ch 81h 1280 x 1024 2Dh 80h 60 Hz 2Eh 31h 640 x 480 2Fh 4Fh 75 Hz 30h 45h 800 x 600 31h 4Fh 75 Hz 32h 61h 1024 x 768 33h 4Fh 75 Hz 34h 81h 1280 x 1024 35h 8Fh 75 Hz 36h 30h 108Mhz Pixel Clock (low) 37h 2Ah Pixel Clock (high) 38h 00h 1280 Horizontal Active (low) 39h 98h 408 Horizontal Blank (low) 3Ah 51h H.Active/H.Blank (high) 3Bh 00h 1024 Vertikal Active (low) 3Ch 2Ah 42 Vertikal Blank (low) 3Dh 40h V.Active/V.Blank (high) 3Eh 30h 48 H.Front Porch (low) 3Fh 70h 112 H.Sync Pulse Width (low) 40h 13h 1/3 V.Front Porch/V.Sync PW (low) 41h 00h H/V Sync (high) 42h 51h 337 H.Image Size (low) 43h 0Eh 270 V.Image Size (low) 44h 11h H/V Smage Size (high) 45h 00h 0 H.Border 46h 00h 0 H.Border 47h 1Eh Flags 48h 00h Flag = 0000h 49h 00h 4Ah 00h Reserved = 00h 4Bh FFh Tag=Monitor S/N String 4Ch 00h Flag = 00h 4Dh 31h '1' 4Eh 0Ah 4Fh 20h 50h 20h 51h 20h 52h 20h 53h 20h 54h 20h 55h 20h 56h 20h 57h 20h 58h 20h 59h 20h 5Ah 00h Flag = 0000h 5Bh 00h 5Ch 00h Reserved = 00h 5Dh FCh Monitor Name 5Eh 00h Flag = 00h 5Fh 50h 'P' 60h 53h 'S' 61h 2Dh '-' 62h 37h '7' 63h 37h '7' 64h 36h '6' 65h 49h 'I' 66h 0Ah 67h 20h 68h 20h 69h 20h 6Ah 20h 6Bh 20h 6Ch 00h Flag = 0000h 6Dh 00h 6Eh 00h Reserved = 00h 6Fh FDh Tag=Monitor Range Limits 70h 00h Flag = 00h 71h 3Ch 60 Min. vert. Frequency [Hz] 72h 4Bh 75 Max. vert. Frequency [Hz] 73h 1Eh 30 Min. hor. Frequency [kHz] 74h 50h 80 Max. hor. Frequency [kHz] 75h 0Eh 140 Max. Pixel Frequency [MHz/10] 76h 00h Reserved for VESA GTF (=00) 77h 0Ah Set to 0Ah 78h 20h 79h 20h 7Ah 20h 7Bh 20h 7Ch 20h 7Dh 20h 7Eh 00h EDID Ext. Flag 7Fh 15h Checksum
相关推荐
<p> <strong><span style="font-size:16px;color:#003399;">会用Python分析金融数据 or 金融行业会用Python</span></strong> </p> <p> <strong><span style="font-size:16px;color:#003399;">职场竞争力更高</span></strong> </p> <p> <br /> </p> <p> <img src="https://img-bss.csdnimg.cn/202012231042221925.png" alt="" /> </p> <p> <br /> </p> <p> <br /> </p> <p> <strong><span style="font-size:16px;color:#003399;">Python金融数据分析入门到实战</span></strong> </p> <p> <strong><span style="font-size:16px;color:#003399;">Get√金融行业数据分析必备技能</span></strong> </p> <p> <img src="https://img-bss.csdnimg.cn/202012231042438069.png" alt="" /> </p> <p> <br /> </p> <p> <br /> </p> <p> <strong><span style="font-size:16px;color:#003399;">以股票量化交易为应用场景</span></strong> </p> <p> <strong><span style="font-size:16px;color:#003399;">完成技术指标实现的全过程</span></strong> </p> <p> <br /> </p> <p> <span style="font-size:14px;">课程选取股票量化交易为应用场景,由股票数据的获取、技术指标的实现,逐步进阶到策略的设计</span><span style="font-size:14px;">和回测,由浅入深、由技术到思维地为同学们讲解Python金融数据分析在股票量化交易中的应用</span><span style="font-size:14px;">。</span> </p> <p> <br /> </p> <p> <span style="font-size:14px;"><br /> </span> </p> <p> <img src="https://img-bss.csdnimg.cn/202012231043183686.png" alt="" /> </p> <p> <br /> </p> <p> <br /> </p> <p> <strong><span style="font-size:16px;color:#003399;">以Python为编程语言</span></strong> </p> <p> <strong><span style="font-size:16px;color:#003399;">解锁3大主流数据分析工具</span></strong> </p> <p> <br /> </p> <p> <span style="font-size:14px;">Python做金融具有先天优势,课程提取了Python数据分析工具NumPy、Pandas及可视化工具</span><span style="font-size:14px;">Matplotlib的关键点详细讲解,帮助同学掌握数据分析的关键技能。</span> </p> <p> <img src="https://img-bss.csdnimg.cn/202012231043472858.png" alt="" /> </p> <p> <strong><span style="font-size:16px;color:#003399;"><br /> </span></strong> </p> <p> <strong><span style="font-size:16px;color:#003399;">2大购课福利</span></strong> </p> <p> <strong><span style="font-size:16px;color:#003399;"><br /> </span></strong> </p> <p> <img src="https://img-bss.csdnimg.cn/202012300628195864.png" alt="" /> </p>
<p class="MsoNormal"> <span style="font-family:宋体;">(</span><span>1</span><span style="font-family:宋体;">)</span><span>HTML5 WebSocket</span><span style="font-family:宋体;">、异常重连、心跳检测;</span> </p> <p class="MsoNormal"> <span style="font-family:宋体;">(</span><span>2</span><span style="font-family:宋体;">)</span><span>SockJS</span><span style="font-family:宋体;">、</span><span>Stomp</span><span style="font-family:宋体;">、</span><span>RabbitMQ Stomp</span><span style="font-family:宋体;">消息代理;</span> </p> <p class="MsoNormal"> <span style="font-family:宋体;">(</span><span>3</span><span style="font-family:宋体;">)分别用</span><span>Nginx</span><span style="font-family:宋体;">和</span><span>Spring Cloud Gateway</span><span style="font-family:宋体;">实现多实例负载均衡;</span> </p> <p class="MsoNormal"> <span style="font-family:宋体;">(</span><span>4</span><span style="font-family:宋体;">)可靠消息推送(</span><span>Stomp</span><span style="font-family:宋体;">持久化队列、客户端</span><span>ACK</span><span style="font-family:宋体;">确认机制);</span> </p> <p class="MsoNormal"> <span style="font-family:宋体;">(</span><span>5</span><span style="font-family:宋体;">)</span><span>Java</span><span style="font-family:宋体;">原生、</span><span>Stomp</span><span style="font-family:宋体;">客户端实现(非浏览器客户端);</span> </p> <p class="MsoNormal"> <span style="font-family:宋体;">(</span><span>6</span><span style="font-family:宋体;">)</span><span>Websocket</span><span style="font-family:宋体;">拦截器结合</span><span> Spring security</span><span style="font-family:宋体;">、</span><span>jwt token</span><span style="font-family:宋体;">认证授权。</span> </p> <p class="MsoNormal"> <span style="font-family:宋体;">(</span><span>7</span><span style="font-family:宋体;">)</span><span>VUE+elementUI</span><span style="font-family:宋体;">前后分离实现。</span> </p>
DirectX修复工具(DirectX Repair)是一款系统级工具软件,简便易用。本程序为绿色版,无需安装,可直接运行。 本程序的主要功能是检测当前系统的DirectX状态,如果发现异常则进行修复。程序主要针对0xc000007b问题设计,可以完美修复该问题。本程序中包含了最新版的DirectX redist(Jun2010),并且全部DX文件都有Microsoft的数字签名,安全放心。 本程序为了应对一般电脑用户的使用,采用了易用的一键式设计,只要点击主界面上的“检测并修复”按钮,程序就会自动完成校验、检测、下载、修复以及注册的全部功能,无需用户的介入,大大降低了使用难度。在常规修复过程中,程序还会自动检测DirectX加速状态,在异常时给予用户相应提示。 本程序适用于多个操作系统,如Windows XP(需先安装.NET 2.0,详情请参阅“致Windows XP用户.txt”文件)、Windows Vista、Windows 7、Windows 8、Windows 8.1、Windows 8.1 Update、Windows 10,同时兼容32位操作系统和64位操作系统。本程序会根据系统的不同,自动调整任务模式,无需用户进行设置。 本程序的V4.0版分为标准版、增强版以及在线修复版。所有版本都支持修复DirectX的功能,而增强版则额外支持修复c++的功能。在线修复版功能与标准版相同,但其所需的数据包需要在修复时自动下载。各个版本之间,主程序完全相同,只是其配套使用的数据包不同。因此,标准版和在线修复版可以通过补全扩展包的形式成为增强版。本程序自V3.5版起,自带扩展功能。只要在主界面的“工具”菜单下打开“选项”对话框,找到“扩展”标签,点击其中的“开始扩展”按钮即可。扩展过程需要Internet连接,扩展成功后新的数据包可自动生效。扩展用时根据网络速度不同而不同,最快仅需数秒,最慢需要数分钟,烦请耐心等待。如扩展失败,可点击“扩展”界面左上角小锁图标切换为加密连接,即可很大程度上避免因防火墙或其他原因导致的连接失败。 本程序自V2.0版起采用全新的底层程序架构,使用了异步多线程编程技术,使得检测、下载、修复单独进行,互不干扰,快速如飞。新程序更改了自我校验方式,因此使用新版本的程序时不会再出现自我校验失败的错误;但并非取消自我校验,因此程序安全性与之前版本相同,并未降低。 程序有更新系统c++功能。由于绝大多数软件运行时需要c++的支持,并且c++的异常也会导致0xc000007b错误,因此程序在检测修复的同时,也会根据需要更新系统中的c++组件。自V3.2版本开始使用了全新的c++扩展包,可以大幅提高工业软件修复成功的概率。修复c++的功能仅限于增强版,标准版及在线修复版在系统c++异常时(非丢失时)会提示用户使用增强版进行修复。除常规修复外,新版程序还支持C++强力修复功能。当常规修复无效时,可以到本程序的选项界面内开启强力修复功能,可大幅提高修复成功率。请注意,请仅在常规修复无效时再使用此功能。 程序有两种窗口样式。正常模式即默认样式,适合绝大多数用户使用。另有一种简约模式,此时窗口将只显示最基本的内容,修复会自动进行,修复完成10秒钟后会自动退出。该窗口样式可以使修复工作变得更加简单快速,同时方便其他软件、游戏将本程序内嵌,即可进行无需人工参与的快速修复。开启简约模式的方法是:打开程序所在目录下的“Settings.ini”文件(如果没有可以自己创建),将其中的“FormStyle”一项的值改为“Simple”并保存即可。 新版程序支持命令行运行模式。在命令行中调用本程序,可以在路径后直接添加命令进行相应的设置。常见的命令有7类,分别是设置语言的命令、设置窗口模式的命令,设置安全级别的命令、开启强力修复的命令、设置c++修复模式的命令、控制Direct加速的命令、显示版权信息的命令。具体命令名称可以通过“/help”或“/?”进行查询。 程序有高级筛选功能,开启该功能后用户可以自主选择要修复的文件,避免了其他不必要的修复工作。同时,也支持通过文件进行辅助筛选,只要在程序目录下建立“Filter.dat”文件,其中的每一行写一个需要修复文件的序号即可。该功能仅针对高级用户使用,并且必须在正常窗口模式下才有效(简约模式时无效)。 本程序有自动记录日志功能,可以记录每一次检测修复结果,方便在出现问题时,及时分析和查找原因,以便找到解决办法。 程序的“选项”对话框中包含了7项高级功能。点击"常规”选项卡可以调整程序的基本运行情况,包括日志记录、安全级别控制、调试模式开启等。只有开启调试模式后才能在C
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页