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

本文主要是介绍【海思SS528 | VO】MPP媒体处理软件V5.0 | 视频输出模块——学习笔记,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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

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

目录

  • 🎄一、概述
  • 🎄二、显示设备
  • 🎄三、视频层
  • 🎄四、VO通道
  • 🎄五、总结


在这里插入图片描述

🎄一、概述

海思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 》。

在这里插入图片描述
如果文章有帮助的话,点赞👍、收藏⭐,支持一波,谢谢 😁😁😁

这篇关于【海思SS528 | VO】MPP媒体处理软件V5.0 | 视频输出模块——学习笔记的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/449624

相关文章

Go学习记录之runtime包深入解析

《Go学习记录之runtime包深入解析》Go语言runtime包管理运行时环境,涵盖goroutine调度、内存分配、垃圾回收、类型信息等核心功能,:本文主要介绍Go学习记录之runtime包的... 目录前言:一、runtime包内容学习1、作用:① Goroutine和并发控制:② 垃圾回收:③ 栈和

Android学习总结之Java和kotlin区别超详细分析

《Android学习总结之Java和kotlin区别超详细分析》Java和Kotlin都是用于Android开发的编程语言,它们各自具有独特的特点和优势,:本文主要介绍Android学习总结之Ja... 目录一、空安全机制真题 1:Kotlin 如何解决 Java 的 NullPointerExceptio

重新对Java的类加载器的学习方式

《重新对Java的类加载器的学习方式》:本文主要介绍重新对Java的类加载器的学习方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、介绍1.1、简介1.2、符号引用和直接引用1、符号引用2、直接引用3、符号转直接的过程2、加载流程3、类加载的分类3.1、显示

Java学习手册之Filter和Listener使用方法

《Java学习手册之Filter和Listener使用方法》:本文主要介绍Java学习手册之Filter和Listener使用方法的相关资料,Filter是一种拦截器,可以在请求到达Servl... 目录一、Filter(过滤器)1. Filter 的工作原理2. Filter 的配置与使用二、Listen

利用Python快速搭建Markdown笔记发布系统

《利用Python快速搭建Markdown笔记发布系统》这篇文章主要为大家详细介绍了使用Python生态的成熟工具,在30分钟内搭建一个支持Markdown渲染、分类标签、全文搜索的私有化知识发布系统... 目录引言:为什么要自建知识博客一、技术选型:极简主义开发栈二、系统架构设计三、核心代码实现(分步解析

基于Python和MoviePy实现照片管理和视频合成工具

《基于Python和MoviePy实现照片管理和视频合成工具》在这篇博客中,我们将详细剖析一个基于Python的图形界面应用程序,该程序使用wxPython构建用户界面,并结合MoviePy、Pill... 目录引言项目概述代码结构分析1. 导入和依赖2. 主类:PhotoManager初始化方法:__in

用js控制视频播放进度基本示例代码

《用js控制视频播放进度基本示例代码》写前端的时候,很多的时候是需要支持要网页视频播放的功能,下面这篇文章主要给大家介绍了关于用js控制视频播放进度的相关资料,文中通过代码介绍的非常详细,需要的朋友可... 目录前言html部分:JavaScript部分:注意:总结前言在javascript中控制视频播放

Python基于wxPython和FFmpeg开发一个视频标签工具

《Python基于wxPython和FFmpeg开发一个视频标签工具》在当今数字媒体时代,视频内容的管理和标记变得越来越重要,无论是研究人员需要对实验视频进行时间点标记,还是个人用户希望对家庭视频进行... 目录引言1. 应用概述2. 技术栈分析2.1 核心库和模块2.2 wxpython作为GUI选择的优

Java进阶学习之如何开启远程调式

《Java进阶学习之如何开启远程调式》Java开发中的远程调试是一项至关重要的技能,特别是在处理生产环境的问题或者协作开发时,:本文主要介绍Java进阶学习之如何开启远程调式的相关资料,需要的朋友... 目录概述Java远程调试的开启与底层原理开启Java远程调试底层原理JVM参数总结&nbsMbKKXJx

Java深度学习库DJL实现Python的NumPy方式

《Java深度学习库DJL实现Python的NumPy方式》本文介绍了DJL库的背景和基本功能,包括NDArray的创建、数学运算、数据获取和设置等,同时,还展示了如何使用NDArray进行数据预处理... 目录1 NDArray 的背景介绍1.1 架构2 JavaDJL使用2.1 安装DJL2.2 基本操