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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/213911.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Project 1: The Game of Hog(CS61A)

&#xff08;第一阶段&#xff09;问题 5a&#xff08;3 分&#xff09; 实现该函数&#xff0c;该函数模拟了完整的 Hog 游戏。球员 交替轮流掷骰子&#xff0c;直到其中一名玩家达到分数。playgoal 您现在可以忽略 Feral Hogs 规则和论点; 您将在问题 5b 中实现它。feral_h…

(学习笔记)Xposed模块编写(一)

前提&#xff1a;需要已经安装Xposed Installer 1. 新建一个AS项目 并把MainActvity和activity_main.xml这两个文件删掉&#xff0c;然后在AndriodManifest.xml中去掉这个Activity的声明 2. 在settings.gralde文件中加上阿里云的仓库地址&#xff0c;否则Xposed依赖无法下载 m…

Elasticsearch:什么是向量数据库?

向量数据库定义 向量数据库是将信息存储为向量的数据库&#xff0c;向量是数据对象的数值表示&#xff0c;也称为向量嵌入。 它利用这些向量嵌入的强大功能来对非结构化数据和半结构化数据&#xff08;例如图像、文本或传感器数据&#xff09;的海量数据集进行索引和搜索。 向…

操作系统相关--面试和笔试高频

操作系统 计算题 页面置换算法 先进先出&#xff08;FIFO&#xff09;更新算法&#xff1a;总是淘汰最先进入内存的页面。即目前出现次数最多的页面 最近最久未使用&#xff08;LRU&#xff09;更新算法&#xff1a;当需要更新一页时&#xff0c;选择在最近一段时间内最久没…

TensorRT安装及使用教程(ubuntu系统部署yolov7)

1 什么是TensorRT 一般的深度学习项目&#xff0c;训练时为了加快速度&#xff0c;会使用多 GPU 分布式训练。但在部署推理时&#xff0c;为了降低成本&#xff0c;往往使用单个 GPU 机器甚至嵌入式平台&#xff08;比如 NVIDIA Jetson&#xff09;进行部署&#xff0c;部署端也…

Xshell会话文件解密获取密码

Xshell会话文件解密获取密码 开发了一个小工具用于获取已存储的xshell会话密码功能简介截图展示下载地址 开发了一个小工具用于获取已存储的xshell会话密码 在日常开发中&#xff0c;服务器太多&#xff0c;密码记不住。使用xshell管理服务器会话&#xff0c;记住密码&#xf…

Docker容器(一)概述

一、虚拟化概述 1.1引⼊虚拟化技术的必要性 服务器只有5%的时间是在⼯作的&#xff1b;在其它时间服务器都处于“休眠”状态. 虚拟化前 每台主机⼀个操作系统; 软硬件紧密结合; 在同⼀个主机上运⾏多个应⽤程序通常会遭遇冲突; 系统的资源利⽤率低; 硬件成本⾼昂⽽且不够灵活…

开发猿的平平淡淡周末---2023/12/3

2023/12/3 天气晴 温度适宜 AM 早安八点多的世界&#xff0c;起来舒展了下腰&#xff0c;阳光依旧明媚&#xff0c;给平淡的生活带来了一丝暖意 日常操作&#xff0c;喂鸡&#xff0c;时政&#xff0c;洗漱&#xff0c;恰饭&#xff0c;肝会儿游戏 看会儿手机 ___看累…

【Windows】如何实现 Windows 上面的C盘默认文件夹的完美迁移

如何实现 Windows 上面的C盘默认文件夹的完美迁移 1. 遇到的问题 在我想迁移C盘的 下载 和 视频 文件夹的时候&#xff0c;遇到了这样的问题&#xff0c;在迁移之后&#xff0c;我显卡录像的视频还是保存到了C盘默认位置里&#xff0c;以及我迁移了 下载 之后下载的盘依然是在…

LeetCode刷题---反转链表

个人主页&#xff1a;元清加油_【C】,【C语言】,【数据结构与算法】-CSDN博客 个人专栏&#xff1a;http://t.csdnimg.cn/ZxuNL http://t.csdnimg.cn/c9twt 前言&#xff1a;这个专栏主要讲述递归递归、搜索与回溯算法&#xff0c;所以下面题目主要也是这些算法做的 我讲述…

MDETR 论文报告

MDETR - Modulated Detection for End-to-End Multi-Modal Understanding MDETR - Modulated Detection for End-to-End Multi-Modal Understanding发现问题主要贡献和创新点主要方法和技术MDETR 的架构损失函数1. 框预测损失2. 软标记预测损失3. 对比对齐损失4. 总损失 实验和…

Linux网络之连接跟踪 conntrack

一 Linux网络之连接跟踪 conntrack k8s 有关conntrack的分析 ① 什么是连接跟踪 netfilter连接跟踪 conntrack 详述 思考&#xff1a;连接跟踪模块会对哪些协议进行跟踪?TCP、UDP、ICMP、DCCP、SCTP、GRE ② 为什么需要连接跟踪 没有连接跟踪有很多问题是不好解决的&a…

C语言-内存分配

内存分配 1. 引入 int nums[10] {0}; //对int len 10; int nums[len] {0}; //错是因为系统的内存分配原则导致的2. 概述 在程序运行时&#xff0c;系统为了 更好的管理进程中的内存&#xff0c;所以有了 内存分配机制。 分配原则&#xff1a; 2.1 静态分配 静态分配原…

解决top-k问题--堆排序

目录 TOP-K问题 堆排序 考虑以下情况&#xff1a; 1.在n个数里面找最大的一个数 2.在n个数里面找最大的两个数 3.在n个数中求前k大的数 为什么不用大根堆呢&#xff1f; 代码 时间复杂度 TOP-K问题 即求数据结合中前K个最大的元素或者最小的元素&#xff0c;一般情况下数…

使用Redis构建任务队列

文章目录 第1关&#xff1a;先进先出任务队列第2关&#xff1a;优先级任务队列第3关&#xff1a;定时任务队列 第1关&#xff1a;先进先出任务队列 编程要求 在Begin-End区域编写 add_task(task_name) 函数&#xff0c;实现将任务加入队列的功能&#xff0c;具体参数与要求如下…

论文阅读——Loss odyssey in medical image segmentation

Loss odyssey in medical image segmentation github&#xff1a;https://github.com/JunMa11/SegLossOdyssey 这篇文章回顾了医学图像分割中的20种不同的损失函数&#xff0c;旨在回答&#xff1a;对于医学图像分割任务&#xff0c;我们应该选择哪种损失函数&#xff1f; 首…

使用 Kettle 完成数据 ETL

文章目录 使用 Kettle 完成数据 ETL数据清洗数据处理 使用 Kettle 完成数据 ETL 现在我们有一份网站的日志数据集&#xff0c;准备使用Kettle进行数据ETL。先将数据集加载到Hadoop集群中&#xff0c;然后对数据进行清洗&#xff0c;最后加载到Hive中。 在本地新建一个数据集文…

解决vscode中html部分无法嵌套注释

不管是React项目还是Vue项目&#xff0c;相信你一定遇到过同样的问题&#xff0c;如果想要注释的结构内部也存在注释&#xff0c;那么编译器会报以下问题 使用 HTML-Comment 这个插件即可解决问题 选中需要注释的区域并根据系统输入快捷键&#xff0c;可以发现就算嵌套了注释…

【论文解读】角色动画的一致可控的图像到视频合成

论文&#xff1a;https://arxiv.org/pdf/2311.17117.pdf 代码&#xff1a;https://github.com/HumanAIGC/AnimateAnyone 图片解释&#xff1a;给定参考图像&#xff08;每组中最左边的图像&#xff09;的一致且可控的角色动画结果。我们的方法能够对任意角色进行动画处理&#…

人工智能原理复习--不确定推理

文章目录 上一篇不确定推理概述主观Bayes(贝叶斯)方法可信度方法证据理论下一篇 上一篇 人工智能原理复习–确定性推理 不确定推理概述 常识具有不确定性。 常识往往对环境有极强的依存性。 其中已知事实和知识是构成推理的两个基本要素&#xff0c;不确定性可以理解为在缺…
最新文章