Vpss 模块功能分析
VPSS(Video Process Sub-System)支持对一幅输入图像进行统一预处理,如去噪、去隔行等,然后再对各通道分别进行缩放、锐化等处理,最后输出多种不同分辨率的图像。
我们按照这个流程来看下vpss具体有哪些处理模块
以通道0为例子
->输入->Grp帧率控制->延迟(??)->软Crop->解压缩->降噪->去隔场->边界平滑->硬Crop->动态对比调节->视频遮挡->OSD功能->chn帧率控制->缩放(同时图像锐化)->比率控制(usr mode)->边界框设置->uv反序->压缩(压缩带宽)->输出
Vpss模块里需要注意两种模式的区分
Auto模式跟user模式。AUTO 模式主要用于一般场景,由后端绑定模块分配VPSS 的输出buffer,对后端自适应,AUTO 模式后端仅支持VO(MULTI 模式)和VENC 两个模块。
USER 模式主要用于通道一绑多,即一个通道绑定多个输出源;
在USER 模式下,VPSS 从公共VB 中取buffer,作为图像输出的buffer,后端可以不用绑定输出源,可以通过获取图像接口获取输出图像;如果要输入的分辨率放大时,也需要使用user模式
省mmz内存需注意:
主要跟nr和die有关。nr涉及到3dnr参数,里面用到时域跟空域的滤波,空域滤波使用自己的信息即可,但时域则一定需要前后帧的信息,所以会多占用内部vb。Die也一样,die是用来处理顶场跟底场信息的,由于早期摄像头(960H)的采集能力原因,保留了隔行采样,才会有这个顶场跟底场的概念,这种也需要两个vb,所以如果关闭这些功能,可以节省mmz,但相应的功能会没有。
关于我们主子模式时vpss的设置说明
主子模式使用有两点考量:
1.mmz省内存,分辨率越大,编码帧率越低,越适合使用主子属性
2.vpss的处理性能不足,当调试路数过多超出vpss的处理性能时,会产生掉帧问题,可以用主子属性方式来处理
需要了解的接口:
1.HI_MPI_VPSS_SetGrpSizer(VPSS_GRP VpssGrp, VPSS_SIZER_INFO_S *pstVpssSizerInfo) 设置VPSS 尺寸筛选信息,即满足筛选信息的图像会继续进行后续处理,不满足便丢帧。
2.HI_MPI_VPSS_SetPreScale(VPSS_GRP VpssGrp, VPSS_PRESCALE_INFO_S *pstPreScaleInfo)设置VPSS 预缩放属性。VPSS 预缩放主要用于混合采集的场景。当预缩放开启时,stDestSize 图像的宽高只能设置为VPSS 输入图像的1/2 或者和输入图像相等。经过预缩放之后VPSS 将输入的图像处理成stDestSize 设置的宽高大小然后再送给后面的NR,DCI 等模块。预缩放支持对输入图像水平方向做1/2 缩小,或者对垂直方向做1/2缩小,或者同时对水平和垂直方向做1/2 缩小。当stDestSize的宽设置为输入图像的1/2 时,对水平方向做1/2缩小;当stDestSize 的高设置为输入图像的1/2 时,对垂直方向做1/2 缩小。垂直方向1/2 缩小是软件通过对帧图像丢奇数行保留偶数行实现的。
看一路的信号绑定
Vpss 模块功能分析相关推荐
- python从指定文件夹导入模块_Python实现的在特定目录下导入模块功能分析
本文实例讲述了Python实现的在特定目录下导入模块功能.分享给大家供大家参考,具体如下: 方法1.在指定的目录下导入特定模块,(tab.py换行自动补齐语法模块) root@kali:~# ls / ...
- 初学者python笔记(time模块、random模块功能分析)
文章目录 一.time模块 1.时间戳: 2.两种结构化时间 二.random模块 1.说白了就是随机模块,得到随机数,或者随机的其他元素 2.写一个生成随机验证码的函数 本篇主要是关于Python中 ...
- 动态数码管verilog模块功能分析
学习正点原子FPGA开发板关于动态数码管章节: 实验任务是使用FPGA 开发板上的 6 位数码管以动态方式从 0 开始计数,每 100 ms 计数值增加 一,当计数值从 0 增加到 999999 后重 ...
- 好客租房153-地图找房模块功能分析
- 【HTCVR】VRTK插件模块功能分析之传送移动(一)
在HTC Vive设备上,我们戴着头戴显示器可以在一定的范围内自由走动,在现实中的移动会反映到虚拟世界中,我们称这个范围为"房间".但是,在我们的游览项目中,虚拟场景里可移动的范围 ...
- 【HTCVR】VRTK插件模块功能分析之传送移动(二)
上一篇中说明了两种传送方法:基础传送和高度调整传送,这一篇中我们将继续讨论其他的传送方法. 地形传送 示例场景 010_CameraRig_TerrainTeleporting 这个场景展示了在使用 ...
- 第二季3:海思MPP模块与视频缓冲池
以下内容源于朱有鹏课程,如有侵权,请告知删除. 一.MPP功能模块 1.MPP功能模块(MPP,media process platform,媒体处理平台) (1)MPP手册:\01.software ...
- 71-项目的广告管理模块和用户管理模块
项目的广告管理模块和用户管理模块 在上一个博客中(70章博客),我们完成了课程管理模块,接下来我们完成广告管理模块和用户管理模块 广告管理模块: 实现以下功能: 广告位列表查询 添加广告位 回显广告位 ...
- 1.海思项目整理 编译烧录+启动参数+sample编译+bayeRGBYUV+MPP(VB+VI+VPSS)
1.1.2.检测开发板 (4)SecureCRT监视打开,开发板开机,自动挂载到/home/aston/rootfs中 (5)自动加入/mnt中,执行./sample_venc即可 (6)在vlc中输 ...
最新文章
- ActiveMQ 消息服务(一)
- linux命令lsof
- 将cocos2dx项目从VS移植到Eclipse
- RESTful 架构详解
- UNIX环境高级编程8.9竞争条件
- 无法显示验证码去掉html,如何去除验证码-模版风格-易通免费企业网站系统 - Powered by CmsEasy...
- lisp如何将度分秒转换为弧度_重磅干货!如何利用Stata进行空间冷热点分析 | 社论前沿...
- hdu 1754 线段树 水题 单点更新 区间查询
- C++ const和static const的区别
- 技术选型和知识点介绍(上)
- vue实现点击复制文本功能
- HBase 官方文档0.97.0
- 第1章 Pandas基础
- linux防病毒软件_十大Linux最佳防病毒软件-Linux防病毒软件列表!
- 微信小程序判断手机号码格式正确与否的代码
- pcre_exec()详解
- java毕业生设计星星电影购票网站计算机源码+系统+mysql+调试部署+lw
- ::before 和:before 区别
- mysql 获取数据库中最大的日期
- 前端-html 点击 跳转页面
热门文章
- 企业微信常见问题及使用技巧
- BZOJ5465 : [APIO 2018] 选圆圈
- 0x3f3f3f3f知多少
- const int INF=0x3f3f3f3f;——ACM中的无穷大常量
- 南京理工大学计算机考研2020复试和录取,南京理工大学计算机考研复试科目
- 云服务器(阿里云,百度云,华为云,腾讯云)搭建Hadoop(Nameode,SecondaryNamenode,datanode)
- 破解Idea 1.3
- Kotlin闭包(支持函数式编程不再是梦想)
- canvas save()和canvas restore()状态的保存和恢复使用方法及实例
- 1156_S32K148 Flash例程分析