ADV7619芯片分辨率、帧率、I/P 格式获取
ADV7619芯片数据获取
1、ADV7619
ADV7619是一款高质量、双输入、单输出(2:1)多路复用高清多媒体接口(HDMI)接收器。现需要获取输入视频数据的分辨率、色彩空间、I制/P制和帧率信息。
- 分辨率:单位英寸中所包含的像素点数。如 1920 x 1080。
- 色彩空间:一定的色彩范围,是一种色彩模型。如 RGB、YUV。
- I制/P制:I 表示采用交错式扫描视频显示方式,P 表示逐行扫描视频显示方式。
- 帧率:用于测量显示帧数的量度。所谓的测量单位为每秒显示帧数(Frames per Second,简称:FPS)或“赫兹”(Hz)。
2、数据获取
adv7619 芯片分为多个 IIC 从地址,对应地址如下:
#define IO_I2C_addr 0x98 /* same of the ADV7619_I2C */
#define CEC_I2C_addr 0x80
#define INFO_I2C_addr 0x7c
#define DPLL_I2C_addr 0x4c
#define KSV_I2C_addr 0x64
#define EDID_I2C_addr 0x6c
#define HDMI_I2C_addr 0x68
#define CP_I2C_addr 0x44
从对应的IIC地址中,读取相关寄存器,获取需要的视频信息。
2.1 颜色空间
从 HDMI 地址中获取寄存器数据,IIC 地址:0x68(HDMI_I2C_addr),寄存器地址:0x53。
假设读到的寄存器的值为 0xXX ,根据(0xXX & 0x0F)的值得到相对应的颜色空间。
2.2 I/P 格式
读取输入视频流的格式是 I 制还是 P 制。
从 HDMI 地址中获取寄存器数据,IIC 地址:0x68,寄存器地址:0x0B。
假设读到的寄存器的值为 0xXX,计算(0xXX & 0x20),结果大于 0 表示输入视频流为 I 制,否则为 P 制。
2.3 分辨率
视频分辨率分为像素宽和像素高。
像素宽从 HDMI 地址中获取寄存器数据,IIC地址:0x68,寄存器地址:0x07和0x08。
假设从寄存器 0x07 读到的值为 0xAA,从寄存器 0x08 读到的值为 0xBB,计算((0xAA & 0x1F) * 256 + 0xBB),得到的即为像素宽。
像素高从 HDMI 地址中获取寄存器数据,IIC 地址:0x68,如果输入视频流为P制,寄存器地址:0x09 和 0x0A,如果输入视频流为 I 制,寄存器地址:0x0B 和 0x0C。
假设从寄存器 0x09 或 0x0B 读到的值为 0xAA,从寄存器 0x0A 或 0x0C 读到的为 0xBB,计算((0xAA & 0x1F) * 256 + 0xBB),得到的即为像素高。
注意,以上获取的为有效像素数。
2.4 获取帧率
帧率计算公式如下:
其中:
- TMDS:时钟频率。
- Width:每行像素数(实际像素数,非有效像素数)。
- Height:行数。
以 1080P60 为例,相关参数对应的寄存器如下:
1. TMDS
从 HDMI 地址中获取寄存器数据,IIC 地址:0x68,寄存器地址:0x51 和 0x52。
0x51 寄存器计算出的频率单位为 MHz,0x52 寄存器计算出的频率单位为 1/128MHz。
以 1080P60 为例,0x51 和 0x52 寄存器数据分别为 0x4A(74) 和 0x3E(62)。计算实际的时钟频率为:
2.Width
从 HDMI 地址中获取寄存器数据,IIC 地址:0x68,寄存器地址:0x1E 和 0x1F。
以 1080P60 为例,0x1E 和 0x1F 寄存器数据分别为 0x8 和 0x98,计算每行像素数为 (0x8 & 0x3F)*256 + 0x98,结果为 2200。
3.Height
从 HDMI 中获取寄存器数据,IIC 地址:0x68,如果输入视频流为 P 制,寄存器地址:0x26 和 0x27;如果输入视频流为 I 制,寄存器地址为 0x28 和 0x29。
获得结果后,要将值除以 2。
以 1080P60 为例,0x26 和 0x27 寄存器数据分别为 0x8 和 0xCA,计算行数为:((0x8 & 0x3F)*256 + 0xCA)/2,结果为 1125。
4.计算结果
根据公式,1080P60 的帧率计算结果为:
取值为 60 HZ。
3、中断
当输入视频流的分辨率和帧率发生变化时,需要通知应用层重新获取视频信息。
由驱动程序获取中断后向应用层发送信号实现。需要分辨率和帧率变化时能产生相应中断。格式变化时会造成像素时钟频率的变化。
相关寄存器:
寄存器 | 地址 | 说明 |
---|---|---|
ADV7619 寄存器手册:
链接:https://pan.baidu.com/s/1r1onF-uk1FYgX2YXGOz__A
提取码:x48g