接上篇视频传输格式
划个水,这部分内容大多是这个截图比较多,
属性包和SDP的需要使用SS/SE进行封装。
属性数据(MSA)包
属性数据如下表所示,MSA只能在垂直消隐区发送,并且一帧只能发送一次。
其中,MSC0[0]是关键参数,他决定了MVID和NVID的值。
除了时间戳之外,视频属性数据需要保持不变,因为DPRX在解码的时候会和上一帧的属性数据做对比,以此来判断属性数据的正确性。
前面说到,无论使用几条lane,属性数据都要发送4遍,因为时间戳在变化,所以DPRX通过少数服从多数原则进行判断,也就是假如有一个数据和其他三个不一样,就选取3个相同的值作为正确的值。那如果2:2怎么办?—我也不知道,协议没说这件事,后续如果找到了我在回来补充。
属性包的传输只是是应于参数是静态的时候,如果参数是动态的(类似HDMI的可变刷新新率),那么可以配置sink端让其忽略属性包的数据,该能力在DPCD中MSA_TIMING_PAR_IGNORED bit in the DOWN_STREAM_PORT_COUNT register (DPCD Address 00007h, bit 6) 体现。
另外,MISC0和MISC1决定了视频数据的格式和色深等参数,因此我们controller中寄存器的定义要和该协议保持一致,具体定义如下表所示:
SDP包
下表描述了SDP包的类型,其中很重的是Transimission Timing。其中有个类型是VSC包,自刷新的PSR SDP就是通过该包发的。
VSC SDP
VSC SDP 包除了在发送3D视频图像使用外,还有一个重要的功能,就是在eDP的PSR中发送PSR SDP,来指示sink进入或者退出自刷。
新。其中VSC的中DB1 byte 控制自刷新的状态,具体如下表所示