1.视频输出模块的位置
作用:主动从内存相应位置读取视频和图形数据,并通过相应的显示设备输出。
2.视频输出模块需要理清楚的概念。
高清和标清显示设备:
-> SDK 将高清和标清显示设备分别标示为 DHDx 和 DSDx。(其中, x 为索引号,从 0开始取值,表示第几路高清/标清显示设备,例如第 0 路高清设备标示为 DHD0,第 0 路标清显示设备标示为 DSD0)
-> 所有高清和标清显示设备又可分别简称为 HD和 SD 设备。
-> 高清设备上可能会同时绑定两个视频层。
视频层:
-> 对于固定在每个设备上面对应的视频层, SDK 也对应采取 VHDx 和 VSDx 来标示,对于可以动态绑定视频层,用 PIP 来表示。
通道:
-> SDK 将通道归属于视频层管理。对于一个视频层,他上面的通道都是独立的。同时,不同的视频层上的通道也是独立的。
-> 对于系统绑定,应该用视频层和通道号来进行绑定配置;同时,对于回写的图像作为绑定源时,需要将回写内容所在的设备号和 0 通道号作为绑定源设置。
裁剪:
-> 是指视频层属性中画布大小( stImageSize) 中的宽高大于显示设备分辨率大小(stDispRect )中的宽高时,对画布进行裁剪以符合显示分辨率大小。
缩放:
-> 是指视频层属性中显示设备分辨率大小 (stDispRect )中的宽高大于画布大小(stImageSize) 中的宽高时,对画布进行放大以符合显示分辨率大小。
显示:
-> 每个 VHD(或 PIP)视频层总共有 x 个通道( x 的取值请参见下图),设备视频层内的通道不可重叠。
-> 高清视频层的通道没有缩放能力,需借助外部的 VPSS 进行缩放。
-> VI 或 VDEC 的源图像经由 VPSS 缩放后,输出到 VO 的某一通道显示。如果输出给 VO 通道的图像超过 VO 的通道区域大小,则 VO 将会对图像进行裁剪。
-> 高清视频层 VHD 支持对整个视频层进行放大,不支持裁剪。
-> PIP 视频层不支持放大,也不支持裁剪。
通道优先级:
-> 标清显示设备支持多个通道同时输出显示,按照优先级顺序对输出图像进行叠加,当各个通道的画面有重叠区域时,优先级高的图像显示在上层,如果各个通道优先级一致,则通道号越大的默认优先级越高。
PIP画面叠加:
-> PIP 实现的是高清设备上的 PIP 视频层画面与原视频层 VHD 画面叠加。高清设备上原视频层 VHD 层与 PIP 层都不支持各个通道的叠加。各个视频层通过配置显示优先级来确定视频层的输出位置,视频层显示优先级高的显示在上面。
分辨率:
-> 图像分辨率指图像本身的有效像素点数。
-> 显示分辨率指画面在显示设备上的有效显示区域。
-> 设备分辨率指该设备的输出有效像素点数,由设备时序决定。
局部放大:
-> 标清视频层支持将显示画面上的一部分图像进行放大显示,放大显示的源区域从源图像上截取,放大显示的目标区域是该显示通道的通道大小。
-> 高清视频层和 PIP 层对单个通道图像的缩放是通过 VPSS 模块实现,因此高清视频层或者 PIP 层需要配合 VPSS,以实现对源图像的局部放大。
-> 局部放大在水平方向和垂直方向所支持的最大比例为 16 倍。
图形层绑定:
-> 图形层绑定是指芯片支持将特定的某个图形层或鼠标层绑定到某个设备上。
-> Hi3518EV200 支持 1 个图形层( G0),固定绑定到 DSD0上。
视频层绑定:
->Hi3518EV200 VO 不支持 PIP 层。
-> 视频层绑定是指将 PIP 视频层绑定到高清设备上,与高清设备上原有的视频层进行画面叠加。 此时该视频层作为高清设备的叠加层。
-> 如果从绑定当前的设备切换到绑定另外一个设备,必须先禁用 PIP 层,再切换绑定的设备,即如果 PIP 层要从 DHD0 切换到 DHD1,必须先禁用 PIP 层,再解绑定 DHD0,最后绑定DHD1。 PIP 层默认绑定到 DHD0 上。