hi_mpi_rgn_update_canvas
hi_mpi_rgn_get_display_attr
函数功能
获取区域的通道显示属性。
约束说明
区域必须已创建。
函数原型
hi_s32 hi_mpi_rgn_get_display_attr(hi_rgn_handle handle, const hi_mpp_chn *chn, hi_rgn_chn_attr *chn_attr)
参数说明
| 参数名 | 输入/输出 | 说明 |
|---|---|---|
| handle | 输入 | 区域句柄号。 取值范围:[0, 1024)。 |
| chn | 输入 | 通道结构体指针,不能为空。 该参数的详细配置请参见表2 region支持的模块信息。 |
| chn_attr | 输出 | 区域通道显示属性指针,不能为空。 |
返回值说明
- 0:获取数据成功
- 非0:失败,参见19.18.5-区域管理返回码
参考资源
接口调用流程,参见视频解码、处理和显示功能(NVR场景)。
父主题: Region区域管理
hi_mpi_rgn_get_canvas_info
函数功能
获取区域的显示画布信息。
约束说明
- 区域必须已创建。
- 主要用于OVERLAYEX类型导入位图数据 。
- 本接口用于获取区域对应的画布信息, 在得到画布地址之后,用户可直接对画布进行操作,譬如:将bmp数据直接填写到该画布中。 然后通过调用hi_mpi_rgn_update_canvas接口更新显示画布数据。
函数原型
hi_s32 hi_mpi_rgn_get_canvas_info(hi_rgn_handle handle, hi_rgn_canvas_info *canvas_info)
参数说明
| 参数名 | 输入/输出 | 说明 |
|---|---|---|
| handle | 输入 | 区域句柄号。 取值范围:[0, 1024)。 |
| canvas_info | 输出 | 区域显示画布信息。 |
返回值说明
- 0:获取数据成功
- 非0:失败,参见19.18.5-区域管理返回码
参考资源
接口调用流程,参见视频解码、处理和显示功能(NVR场景)。
父主题: Region区域管理
hi_mpi_rgn_update_canvas
函数功能
更新显示画布。
约束说明
- 区域必须已创建。
- 本接口配合hi_mpi_rgn_get_canvas_info使用 。 主要用于画布内存数据更新之后,进行画布切换显示。
- 每次调用本接口前,都必须先获取画布信息,然后在调用本接口进行更新。
- 本接口仅支持OVERLAYEX类型的区域 。
函数原型
hi_s32 hi_mpi_rgn_update_canvas(hi_rgn_handle handle)
参数说明
| 参数名 | 输入/输出 | 说明 |
|---|---|---|
| handle | 输入 | 区域句柄号。 取值范围:[0, 1024)。 |
返回值说明
- 0:获取数据成功
- 非0:失败,参见19.18.5-区域管理返回码
参考资源
接口调用流程,参见视频解码、处理和显示功能(NVR场景)。
父主题: Region区域管理
功能说明
VPSS模块接收VI/VDEC模块发送过来的图像,可对图像进行抠图、缩放、鱼眼矫正等处理,并实现同源输出两路不同分辨率的图像数据用于编码、预览或抓拍。
用户可调用hi_mpi_sys_bind接口,将VI/VDEC的视频流绑定到VPSS上,送给VPSS做进一步的处理,VPSS通过组Group以及组上的通道Channel来提供对应的处理能力,最终将图像输出给用户或下级模块(例如VO)。
图1 功能框图

VPSS相关概念说明如下:
-
Group
VPSS对用户提供组( Group )的概念,各个组通过分时复用方式共享VPSS硬件资源。
-
Channel
VPSS组的通道,一个VPSS组提供多个通道,每个通道具有独立的缩放、鱼眼矫正等功能。
-
FRC(Frame Rate Control)
帧率控制,按控制点分为组帧率控制和通道帧率控制。
- 组帧率控制,在hi_mpi_vpss_create_grp创建组时,可通过帧率控制属性控制各个Group对输入图像的接收。
- 通道帧率控制,在hi_mpi_vpss_set_chn_attr设置组通道属性时,可通过帧率控制属性控制各个通道图像的处理。
-
CROP
从图像中裁剪指定区域。
-
3DNR(Three-dimensional Noise Reduction)
3D去噪。通过参数配置,把图像中的高斯噪声去除,使得图像变得平滑,有助于降低编码码率。
-
Mosaic
马赛克,对 VPSS 输出图像在指定区域填充马赛克块。该功能需要配合区域管理功能一起使用。
-
Cover
视频遮挡区域,对 VPSS的输出图像填充纯色块。 该功能需要配合区域管理功能一起使用。
遮挡区域坐标类型分为绝对坐标遮挡和相对坐标比例遮挡。
-
Aspect Ratio
幅形比,指定输出画面相对于输入画面的宽高纵横比。
-
OverlayEx
视频叠加区域,对 VPSS物理通道的输出图像叠加位图。该功能需要配合区域管理功能一起使用。
-
FISHEYE
鱼眼矫正功能。
-
Scale
缩放,对图像进行缩小放大 。 缩放倍数指水平、垂直各缩放多少倍。
父主题: VPSS视频处理功能
约束说明
-
所有输入和输出分辨率的宽度必须以4像素对齐,高度必须4像素对齐。
-
视频防抖、畸变矫正下,鱼眼单矫正使用的是内部同一个硬件加速器,该加速器整体规格为4096*2160@45帧,所以仅开启鱼眼单区域矫正时,才能按4096*2160@45满规格运行,否则如果同时开启VI的视频防抖、畸变矫正功能,鱼眼规格降低,预计降一半。
-
VPSS的接口,除chn取流相关的接口(hi_mpi_vpss_get_chn_frame、hi_mpi_vpss_release_chn_frame)外,其他接口都不支持多线程并发调用。
-
在不同Group ID范围内的VPSS Group支持能力存在差别,相关的能力如下表所示:
VPSS Group ID范围 能力说明 Group ID取值在[0, 256)范围内 - 不支持3DNR功能。
- 与区域管理模块配合使用,支持马赛克、Cover、OSD等功能。
- 支持与VDEC、VO模块绑定,不支持与VI模块绑定(如何绑定请参考hi_mpi_sys_bind接口)。
- 输入、输出图像所支持处理的最小分辨率为64*64,最大分辨率为4096*8192。
- 若开启鱼眼矫正,输入图像分辨率约束为:宽在[1920,4096]范围内,高在[1080,8192]范围内。
- 不开启鱼眼矫正下,VPSS相关Group的整体处理性能规格为1200FPS@1080P。若开启OverlayEx视频叠加区域功能,则对整体性能规格有影响,影响程度取决于该功能的输出图片分辨率。
- 适用NVR场景,该场景支持多进程调用,具体使用流程请参见视频解码、处理和显示功能(NVR场景)。Group ID取值在[256, 264)范围内 - 支持3DNR功能。
- 不支持与区域管理模块配合使用。
- 支持与VI模块绑定,不支持与VDEC、VO模块绑定(如何绑定请参考hi_mpi_sys_bind接口)。
- 图像所支持处理的宽高有效范围为[64, 16384],包括通过hi_mpi_vpss_set_grp_crop设置的裁剪后的宽高或者通过hi_mpi_vpss_set_chn_attr接口设置的图像输出宽高。当用户调用hi_mpi_vpss_create_grp接口,开启3DNR后,图像宽高需满足如下约束:
- 不开启3DNR压缩:宽度[64, 16384];高度[64, 8192]。
- 开启3DNR压缩:宽度[640, 16384];高度[480, 4096]。
- 若开启鱼眼矫正,输入图像分辨率约束为:宽在[1920,8192]范围内,高在[1080,8192]范围内。
- VPSS整体处理性能规格为4096*2160@45帧。
- 适用Camera场景,该场景下VPSS需配套VI接口一起使用,VPSS相关业务必须和VI业务归属在同一个进程中实现,即只允许有一个进程实例在运行,具体使用流程请参见视频数据获取和处理功能(Camera场景)。
父主题: VPSS视频处理功能
在线提单