EDID 解读

article/2025/8/18 18:38:28
现在的显示设备比如显示器,电视等都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格式

http://chatgpt.dhexx.cn/article/Jan3MOI1.shtml

相关文章

HDMI设计2----EDID and E-EDID

1,EDID是什么?有什么用? 图1 应用场景 如图1所示的应用场景,PC将视频信号发送 到我们的设备上,经过一系列的传输和切换,设备将视频信号发送到显示器或者投影机上,也就是说,我们的设备位于PC和显…

EDID 解析

1、显示器的第24个字节是设置显示器的电源管理标准的。 各个位的作用如下,注意到标号为1的位是关于主画面。 3、Gamma源于CRT的响应曲线,即反映显像管的图像亮度与输入电子枪的信号电压的非线性关系的一个参数。对于CRT显示器而言,显像管电子…

EDID标准简介

小伙伴们在设计显示接口的时候,常常会遇到显示器支持格式的问题,这里呢就简要的介绍下格式握手的重要协议EDID。 EDID(ExtendedDisplay Indentification Data Standard)就是显示器通过DDC(Display DataChannel&#xf…

HDMI协议介绍(六)--EDID

目录 什么是EDID EDID结构 1)Header Information 头信息(厂商信息、EDID 版本等) (2)Basic Display Parameters and Features 基本显示参数(数字/模拟接口、屏幕尺寸、格式支持等) (3)色度信息 (4)Established Timings(VESA 定义的电脑使用 Timings) (5)Standard Timing…

EDID编辑器介绍

目录 1 EDID介绍2 DDC通道3 EDID编辑工具3.1 Phoenix EDID Designer3.2 Deltacast E-EDID Editor 4 EDID烧录工具 1 EDID介绍 EDID, Extended display identification data,中文名称扩展显示器识别数据,是VESA在制定DDC(Display Data Channel)显示器数据…

什么是EDID,EDID能做什么,EDID基本介绍

Q1: 为什么要写这篇文章? A1:在最近的工作中遇到了不少问题,其中很多都是和EDID相关的。可以说,作为一家以“显示”为生的企业,我们时时刻刻在与EDID打交道。EDID这东西很简单,但是如果不了解其基本原理和概…

EDID使用说明

来源:http://wenku.baidu.com/view/8f82728471fe910ef12df8f4.html Q1: 为什么要写这篇文章? A1:在最近的工作中遇到了不少问题,其中很多都是和EDID相关的。可以说,作为一家以“显示”为生的企业,我们时时刻刻在与EDID…

EDID解析

1 Instruction EDID: Extended Display Identification Data(扩展显示标识数据)是一种VESA (Video Electronics Standards Association)标准数据格式,其中包含有关显示器及其性能的参数,包括供应商信息、最…

EDID 详解

1 Instruction EDID: Extended Display Identification Data(扩展显示标识数据)是一种VESA (Video Electronics Standards Association)标准数据格式,其中包含有关显示器及其性能的参数,包括供应商信息、最…

EDID介绍

1.EDID是什么? EDID(Extend Display Identification Data)扩展显示器识别数据,是VESA在制定DDC(Display Data Channel)显示器数据通道通信协议时,制定的有关显示器识别数据的标准。其中包含有关…

EDID的简介和解析

from:EDID的简介和解析 - 花生红枣眼泪和小米 - 博客园 去年对EDID做了一个解析,下面是学习EDID过程中整理的资料。 一、EDID简介 EDID: Extended Display Identification Data (外部显示设备标识数据)----指DDC通讯中传输的显示设备数据。 Q1:EDID是…

有关交叉验证

https://sklearn.apachecn.org/docs/master/30.html 学习预测函数的参数,并在相同数据集上进行测试是一种错误的做法: 一个仅给出测试用例标签的模型将会获得极高的分数,但对于尚未出现过的数据它则无法预测出任何有用的信息。 这种情况称为 overfitting…

关于交叉验证

1、一文看懂 AI 数据集:训练集、验证集、测试集: https://zhuanlan.zhihu.com/p/98532085 2、机器学习之K折交叉验证 - 吉什么的文章 - 知乎 https://zhuanlan.zhihu.com/p/38121870 注意:cross_val_score() 传入的 X 和 y 是原始特征和标签…

Python 交叉验证模型评估

Python 交叉验证模型评估 1 声明 本文的数据来自网络,部分代码也有所参照,这里做了注释和延伸,旨在技术交流,如有冒犯之处请联系博主及时处理。 2 交叉验证模型评估简介 交叉验证(Cross Validation)是机…

交叉验证应用

交叉验证 另一种常用的模型选择方法是交叉验证( cross validation)。 如果给定的样本数据充足,进行模型选择的一种简单方法是随机地将数据集切分成三部分,分别为训练集(training set)、验证集(validation set)和测试集(testset)。训练集用来…

肝!交叉验证

概述Holdout 交叉验证K-Fold 交叉验证Leave-P-Out 交叉验证总结 概述 交叉验证是在机器学习建立模型和验证模型参数时常用的办法。 顾名思义,就是重复的使用数据,把得到的样本数据进行切分,组合为不同的训练集和测试集。 用训练集来训练模型&…

深度学习:交叉验证(Cross Validation)

首先,交叉验证的目的是为了让被评估的模型达到最优的泛化性能,找到使得模型泛化性能最优的超参值。在全部训练集上重新训练模型,并使用独立测试集对模型性能做出最终评价。 目前在一些论文里倒是没有特别强调这样的操作,很多研究使…

【笔记】【机器学习基础】交叉验证

(一)交叉验证 交叉验证(cross-validation)是一种评估泛化性能的统计学方法,它比单次划分训练集和测试集的方法更加稳定、全面。在交叉验证中,数据被多次划分,并且需要训练多个模型。 最常用的…

入坑codewars

前几天做LeetCode上的大数乘法,代码没错,可就是提交不成功,显示SyntaxError: Unexpected token var我把所有代码都注释掉,只留下return 1,依然报同样的错误。。。感觉LeetCode对JSer不是特别友好刚刚在node社区看到有人…

CodeWars 我二了

昨天刷题,不经意间刷出来一个小彩蛋👇 今天醒来便发现, 卧槽,自己出现在解答列表第二,这lima,我一个小辣鸡也上榜了?🐂 话不多说,看键 警告,长文劝退,不是我啰嗦,是这题目一直在bibi赖赖 Simple Fun #345: The Original Numbers Task Some players are playin…