【海思SS528 | VO】MPP媒体处理软件V5.0 | 视频输出模块——学习笔记

😁博客主页😁:🚀https://blog.csdn.net/wkd_007🚀
🤑博客内容🤑:🍭嵌入式开发、Linux、C语言、C++、数据结构、音视频🍭
🤣本文内容🤣:🍭介绍🍭
😎金句分享😎:🍭你不能选择最好的,但最好的会来选择你------泰戈尔🍭

本文未经允许,不得转发!!!

目录


🎄一、概述

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

说明:本文介绍了主要的海思SS528平台的,如无特别说明,都是SS528平台的相关内容。

海思SS528的VO模块包含了三路显示设备:

  • 超高清显示设备DHD0(Device HD0,高清设备0)

    • 视频层VHD0(Video layer of DHD0)
    • 视频层VHD2(Video PIP layer)
    • 图形层G0(Graphic layer 0)
    • 图形层G2(Graphic layer 2)
    • 图形层G3(Graphic layer 3)
  • 高清显示设备DHD1(Device HD1,高清设备1)

    • 视频层VHD1(Video layer of DHD1)
    • 视频层VHD2(Video PIP layer)
    • 图形层G1(Graphic layer 1)
    • 图形层G2(Graphic layer 2)
    • 图形层G3(Graphic layer 3)
  • 标清显示设备DSD0(Device SD0,标清设备0)

    • 视频层VSD0(Video layer of DSD0)
    • 图形层G2(Graphic layer 2)
    • 图形层G3(Graphic layer 3)
      分辨率主要有以下几种概念:
  • 设备分辨率指该设备的输出有效像素点数,由设备时序决定。

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

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

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

🎄二、显示设备

SDK将高清和标清显示设备分别标示为 DHDx( Device High Definition x)和 DSDx( Device Standard Definition x),其中, x为索引号,从0开始取值,表示第几路高清/标清显示设备。例如第0路高清设备标示为DHD0,第0路标清显示设备标示为DSD0。所有高清和标清显示设备又可分别简称为HD和SD设备。由于DHD0能够支持到4K(3840x2160)的时序,因此DHD0也可以称之为超高清显示设备。

SS528V100各个显示设备支持的输出接口和最大输出时序如下图:

🎄三、视频层

视频层就是用来显示视频的,当我们将视频解码、处理后,最后可以将视频数据显示在视频层的某个通道上。

对于固定在每个显示设备上面对应的视频层, SDK也对应采取 VHDx( Video layer of HD x)和 VSDx( Video layer of SD x)来标示。

SS528V100平台有4个视频层,VHD0、VHD1、VSD0分别固定绑定在DHD0、DHD1、DSD0上面。而VHD2,也就是PIP层,支持动态绑定在DHD0或DHD1上。

SINGLE模式和MULTI模式

SINGLE模式和MULTI模式是对支持多区域的视频层而言的,即硬件支持多区域,为区别于软件上的通道概念,此处称为多区域。

SINGLE模式表示在硬件上配置一个显示区域, MULTI模式是在硬件上配置多个显示区域(大于等于1个区域)。

注意将多区域与通道区别开来,SINGLE模式和MULTI模式下都可以实现多通道显示,前者其所有通道被组织成一幅图像显示在一个区域内,后者其每个通道独立并独占一个显示区域。

另外,一个视频层只能工作在其中一种模式下。
视频层放大

SS528的视频层VHD0是在SINGLE模式下是支持放大的,在MUTIL模式,所有视频层不支持放大。

视频层支持放大情况下:当视频层的 img_size<display_rect 时, img_size放大(最大放大15倍)到display_rect显示; img_size>display_rect 时,显示为 img_size 与 display_rect 的交集。

视频层不支持放大情况下:显示为 img_size 与 display_rect 的交集。
解压和压缩

解压功能是视频层的功能,支持输入源图像是压缩数据(格式为行压缩), VO会进行解压显示。

SINGLE模式下,若VO支持解压缩能力,则由VO进行解压缩,否则将调用VGS进行解压缩;

在MULTI模式下,所有视频层支持的压缩模式或压缩模式组合如下。

🎄四、VO通道

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

对于系统绑定,应该使用视频层号和通道号来进行绑定配置;

SINGLE模式下:源图像缩放到通道区域大小。

MULTI模式下:显示为源图像与通道显示区域交集。

SS528各个视频层通道数:

  • VHD0:支持64通道(SINGLE模式)、支持64通道(MULTI模式)
  • VHD1:支持64通道(SINGLE模式)、支持64通道(MULTI模式)
  • VHD2(PIP):支持64通道(SINGLE模式)、不支持通道(MULTI模式)
  • VSD0:支持64通道(SINGLE模式)、不支持通道(MULTI模式)
    通道优先级

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

🎄五、总结

本文记录了一些VO模块相关的知识点,供日后学习、复习。

学习VO模块,我主要记录了设备、视频层、VO通道的一些知识点,除此之外,还有视频回写相关知识、通道图像局部放大视频层与图形层绑定单画面直通模式低功耗策略旋转输入和输出数据格式像素格式转换虚拟设备负载检测数据透传低延时角框功能等知识概念。这些可以参考《MPP媒体处理软件V5.0 》。

如果文章有帮助的话,点赞👍、收藏⭐,支持一波,谢谢 😁😁😁

相关推荐
REDcker3 天前
WebCodecs VideoDecoder 的 hardwareAcceleration 使用
前端·音视频·实时音视频·直播·webcodecs·videodecoder
gihigo19983 天前
基于TCP协议实现视频采集与通信
网络协议·tcp/ip·音视频
山河君3 天前
四麦克风声源定位实战:基于 GCC-PHAT + 最小二乘法实现 DOA
算法·音视频·语音识别·信号处理·最小二乘法·tdoa
音视频牛哥3 天前
Android平台RTMP/RTSP超低延迟直播播放器开发详解——基于SmartMediaKit深度实践
android·人工智能·计算机视觉·音视频·rtmp播放器·安卓rtmp播放器·rtmp直播播放器
qq_416276423 天前
通用音频表征的对比学习
学习·音视频
美狐美颜sdk3 天前
Android全局美颜sdk实现方案详解
人工智能·音视频·美颜sdk·视频美颜sdk·美狐美颜sdk
EasyDSS3 天前
私有化部署EasyDSS视频点播能力:全链路视频技术赋能,打造企业级视听新体验
音视频·hls·m3u8·点播技术·智能转码
qq_416276423 天前
DeLoRes——一种通用的音频表征学习新方法(DeLoRes(基于 Barlow Twins 的冗余最小化方法)
学习·音视频
Q_4582838683 天前
从定位到视频:808 + 1078 在各行业的落地实践
音视频
山顶望月川3 天前
实测MiniMax-Hailuo-02:当“开工大吉“变成“无字天书“,国产AI视频模型的能与之不能
人工智能·音视频