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 模块功能分析相关推荐

  1. python从指定文件夹导入模块_Python实现的在特定目录下导入模块功能分析

    本文实例讲述了Python实现的在特定目录下导入模块功能.分享给大家供大家参考,具体如下: 方法1.在指定的目录下导入特定模块,(tab.py换行自动补齐语法模块) root@kali:~# ls / ...

  2. 初学者python笔记(time模块、random模块功能分析)

    文章目录 一.time模块 1.时间戳: 2.两种结构化时间 二.random模块 1.说白了就是随机模块,得到随机数,或者随机的其他元素 2.写一个生成随机验证码的函数 本篇主要是关于Python中 ...

  3. 动态数码管verilog模块功能分析

    学习正点原子FPGA开发板关于动态数码管章节: 实验任务是使用FPGA 开发板上的 6 位数码管以动态方式从 0 开始计数,每 100 ms 计数值增加 一,当计数值从 0 增加到 999999 后重 ...

  4. 好客租房153-地图找房模块功能分析

  5. 【HTCVR】VRTK插件模块功能分析之传送移动(一)

    在HTC Vive设备上,我们戴着头戴显示器可以在一定的范围内自由走动,在现实中的移动会反映到虚拟世界中,我们称这个范围为"房间".但是,在我们的游览项目中,虚拟场景里可移动的范围 ...

  6. 【HTCVR】VRTK插件模块功能分析之传送移动(二)

    上一篇中说明了两种传送方法:基础传送和高度调整传送,这一篇中我们将继续讨论其他的传送方法. 地形传送 示例场景 010_CameraRig_TerrainTeleporting  这个场景展示了在使用 ...

  7. 第二季3:海思MPP模块与视频缓冲池

    以下内容源于朱有鹏课程,如有侵权,请告知删除. 一.MPP功能模块 1.MPP功能模块(MPP,media process platform,媒体处理平台) (1)MPP手册:\01.software ...

  8. 71-项目的广告管理模块和用户管理模块

    项目的广告管理模块和用户管理模块 在上一个博客中(70章博客),我们完成了课程管理模块,接下来我们完成广告管理模块和用户管理模块 广告管理模块: 实现以下功能: 广告位列表查询 添加广告位 回显广告位 ...

  9. 1.海思项目整理 编译烧录+启动参数+sample编译+bayeRGBYUV+MPP(VB+VI+VPSS)

    1.1.2.检测开发板 (4)SecureCRT监视打开,开发板开机,自动挂载到/home/aston/rootfs中 (5)自动加入/mnt中,执行./sample_venc即可 (6)在vlc中输 ...

最新文章

  1. ActiveMQ 消息服务(一)
  2. linux命令lsof
  3. 将cocos2dx项目从VS移植到Eclipse
  4. RESTful 架构详解
  5. UNIX环境高级编程8.9竞争条件
  6. 无法显示验证码去掉html,如何去除验证码-模版风格-易通免费企业网站系统 - Powered by CmsEasy...
  7. lisp如何将度分秒转换为弧度_重磅干货!如何利用Stata进行空间冷热点分析 | 社论前沿...
  8. hdu 1754 线段树 水题 单点更新 区间查询
  9. C++ const和static const的区别
  10. 技术选型和知识点介绍(上)
  11. vue实现点击复制文本功能
  12. HBase 官方文档0.97.0
  13. 第1章 Pandas基础
  14. linux防病毒软件_十大Linux最佳防病毒软件-Linux防病毒软件列表!
  15. 微信小程序判断手机号码格式正确与否的代码
  16. pcre_exec()详解
  17. java毕业生设计星星电影购票网站计算机源码+系统+mysql+调试部署+lw
  18. ::before 和:before 区别
  19. mysql 获取数据库中最大的日期
  20. 前端-html 点击 跳转页面

热门文章

  1. 企业微信常见问题及使用技巧
  2. BZOJ5465 : [APIO 2018] 选圆圈
  3. 0x3f3f3f3f知多少
  4. const int INF=0x3f3f3f3f;——ACM中的无穷大常量
  5. 南京理工大学计算机考研2020复试和录取,南京理工大学计算机考研复试科目
  6. 云服务器(阿里云,百度云,华为云,腾讯云)搭建Hadoop(Nameode,SecondaryNamenode,datanode)
  7. 破解Idea 1.3
  8. Kotlin闭包(支持函数式编程不再是梦想)
  9. canvas save()和canvas restore()状态的保存和恢复使用方法及实例
  10. 1156_S32K148 Flash例程分析