我是靠谱客的博主 大意狗,最近开发中收集的这篇文章主要介绍海思Hi3519A MPP从入门到精通(四 视频输出),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

VO(Video Output,视频输出)模块主动从内存相应位置读取视频和图形数据,并通过相应的显示设备输出视频和图形。

1. 基本概念

3519A芯片支持的显示/回写设备、视频层和图形层见下表。

注:缩写解释
DHD0:Device HD0,超高清设备 0。
DHD1:Device HD1,高清设备 1。
VHD0:Video layer of HD0,超高清视频层 0,隶属于 DHD0。
VHD1:Video layer of HD1,高清视频层 1,隶属于 DHD1。
VHD2:Video layer of HD 2,高清视频层 2,Hi3559AV100 上隶属于 DHD0, Hi3519AV100/Hi3556AV100 上可以绑定至 DHD0 或者 DHD1,用作 PIP 层。
WD:Write Back Channel Device,回写通道设备。
图形层 G3:Graphic layer 3,用作鼠标层,DHD0 和 DHD1 中均有此项,但只能绑定其中一个设备,G3 默认绑定在 DHD1 上。

2. 模块划分

视频输出(VO)实现启用视频输出设备或通道、发送视频数据到输出通道等功能。

该功能模块提供以下 API(Application Programming Interface,应用程序编程接口),下面分别从设备、视频层、通道、回写、图形层等方面进行介绍。

3. 模块功能

3.1 视频回写

将回写设备称之为 WD(Write Back Channel Device)。

回写功能:捕获视频层和设备级的视频数据,可用于显示和编码。

回写设备的使用依赖于被回写的设备,既可以回写设备级(视频层与图形层叠加后)的视频数据,也可以回写视频层的数据。

3.2 通道

SDK 将通道归属于视频层管理,一个视频层上可显示多个视频,每一个视频显示区域称为一个通道,视频被限制通道内,通道被限制在视频层内。对于一个视频层,其上面的通道都是独立的。同时,不同的视频层上的通道也是独立的。对于通道的排号上面不存在跨层的连续。

对于系统绑定,应该使用视频层号和通道号来进行绑定配置;另外,对于回写的图像作为输出源时,需要使用回写内容所在的设备号和 0 通道号进行绑定配置。

3.3 缩放和显示

每个 VHD 超高清视频层 (Hi3559AV100ES/Hi3559AV100/Hi3519AV100/Hi3516CV500/Hi3516EV200: VHD0)只有 x 个通道(x 的取值请参见表 4-3),设备视频层内的通道不可重叠。 超高清视频层的通道具有缩放能力。VI 或 VDEC 的源图像经由缩放后,输出到 VO 的某一通道显示。如果输出给 VO 通道的图像超过 VO 的通道区域大小,则 VO 将会对图像进行缩放。

Hi3519AV100 超高清视频 层不支持视频层的缩放。视频层的通道通过 VGS 实现缩放,并叠加为一整幅图像,并将这一整幅图像的数据配给硬件显示。

视频层在显示视频图像上的策略为:对于支持缩放的视频层,则对视频进行缩放显示,对于不支持缩放的视频层,则对于视频进行裁剪显示。

3.4 通道优先级

超高清和高清显示设备软件上支持多个通道同时输出显示,按照优先级顺序对输出图像进行叠加,当各个通道的画面有重叠区域时,优先级高的图像显示在上层,如果各个通道优先级一致,则通道号越大的默认优先级越高。

3.5 分辨率

分辨率主要有以下 3 种概念:

− 设备分辨率指该设备的输出有效像素点数,由设备时序决定。

− 显示分辨率指画面在显示设备上的有效显示区域,由视频层属性中的 stDispRect 成员决定。

− 画布分辨率指 VGS 拼接时使用的一块输出视频数据的内存区域,由视频层属 性中的 stImageSize 决定。直通时无此定义。

− 图像分辨率指图像本身的有效像素点数,由实际的显示图像分辨率决定。

3.6  图形层绑定

图形层绑定是指芯片支持将特定的某个图形层绑定到某个设备上。

Hi3519AV100 支持 3 个图形层(G0,G1,G3),G0 固定绑定到 DHD0 上, G1 固定绑定到 DHD1 上,即 G0 只能与 VHD0 叠加显示,G1 只能与 VHD1 叠加显示;G3 可动态绑定到 DHD0 或 DHD1,即 G3 或者与 VHD0 叠加显示, 或者与 VHD1 叠加显示,G3 默认绑定在 DHD0 上。

3.7 单画面直通模式

单画面直通模式是指在 SINGLE 模式下,VO 通道中的图像不经过 VGS 模块处理而直接显示出来,节省一次 VGS 搬移过程,并且 VO 无需申请私有内存,但是需要满足以下条件才会选择走直通模式:
− VO 通道使能,且只有一个通道显示;
− VO 没有显示 OSD 和 COVER;
− VO 没有使能边框;
− VO 没有使能抗闪;
− VO 没有电子放大;
− VO 通道图像像素格式和设置的像素格式一致;
− VO 通道图像视频格式为 LINEAR(包括 LINEAR DISCRETE 格式)
− VO 通道图像大小(FrameSize)=通道大小(ChnRect)=画布大小(ImageSize)
− Hi3519AV100 上还需要满足不使能幅形比的条件;Hi3519AV100 的 VHD1 和 VHD2 视频层还需要满足输入图像为非压缩图像的条件。
如果不满足直通模式的条件,由于 VO 默认不分配内存,因此需要在使能视频层之前调用 HI_MPI_VO_SetDisplayBufLen 接口设置缓冲长度来确定分配内存,否则 VO 将不会输出视频显示,

3.8 低功耗策略

VO 模块使用低功耗策略,在模块加载后或者用例退出后 VO 时钟是关闭的,这时候手动读写 VO 模块的寄存器可能会有读写错误或者卡死的现象。

4. API功能

视频输出(VO)实现启用视频输出设备或通道、发送视频数据到输出通道等功能。

API从设备、视频层、通道、回写、图形层等方面进行划分。

最后

以上就是大意狗为你收集整理的海思Hi3519A MPP从入门到精通(四 视频输出)的全部内容,希望文章能够帮你解决海思Hi3519A MPP从入门到精通(四 视频输出)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(51)

评论列表共有 0 条评论

立即
投稿
返回
顶部