hi_mpi_vi_get_chn_fd
hi_mpi_vi_get_chn_frame
函数功能
从指定VI通道获取的视频图像信息,图像信息主要包括:图像的宽度、高度、像素格式、时间戳以及YUV各分量的地址等等。
约束说明
-
调用本接口前,必须先调用hi_mpi_vi_create_pipe接口创建PIPE。
-
通道已启用且通道队列深度不为0时,才能调用本接口获取到图像。
-
支持多次获取后再释放,但建议获取和释放接口配对使用。
-
获取的地址信息来自模块内部使用的临时内存,因此使用完之后,必须要调用hi_mpi_vi_release_chn_frame接口释放其内存。
-
用户可结合hi_mpi_vi_get_chn_fd接口,采用select/epoll方式等待可读图像信息,等到有可用的视频输入数据后再通过非阻塞方式使用hi_mpi_vi_get_chn_frame获取图像。
函数原型
hi_s32 hi_mpi_vi_get_chn_frame(hi_vi_pipe vi_pipe, hi_vi_chn vi_chn, hi_video_frame_info *frame_info, hi_s32 milli_sec)
参数说明
| 参数名 | 输入/输出 | 说明 |
|---|---|---|
| vi_pipe | 输入 | PIPE号。 取值范围:[0, 8) |
| vi_chn | 输入 | VI通道号。 取值范围:[0, 1) |
| frame_info | 输入 | VI帧信息结构体。 |
| milli_sec | 输入 | 超时参数 。取值范围: - -1:表示阻塞模式,程序一直等待,直到获取到图像才返回; - 0:表示非阻塞模式; - >0: 配置具体的超时时间,单位为毫秒(ms),在配置的超时时间内如果没有获取到图像,则超时返回。 |
返回值说明
- 0:成功
- 非0:失败,参见VI视频输入返回码。
参考资源
接口调用流程,参见视频数据获取功能。
父主题: VI视频输入功能
hi_mpi_vi_release_chn_frame
函数功能
释放一帧从VI通道获取的图像。
约束说明
- 本接口需与hi_mpi_vi_get_chn_frame接口配对使用,接口调用次数保持一致,否则返回报错。
- 用户需先调用hi_mpi_vi_get_chn_frame接口获取frame_info,再将获取到的frame_info传入本接口,否则可能造成释放不成功。
函数原型
hi_s32 hi_mpi_vi_release_chn_frame(hi_vi_pipe vi_pipe, hi_vi_chn vi_chn, const hi_video_frame_info *frame_info)
参数说明
| 参数名 | 输入/输出 | 说明 |
|---|---|---|
| vi_pipe | 输入 | PIPE号。 取值范围:[0, 8) |
| vi_chn | 输入 | VI通道号。 取值范围:[0, 1) |
| frame_info | 输入 | VI帧信息结构体。 |
返回值说明
- 0:成功
- 非0:失败,参见VI视频输入返回码。
参考资源
接口调用流程,参见视频数据获取功能。
父主题: VI视频输入功能
hi_mpi_vi_get_chn_fd
函数功能
获取VI通道文件描述符 。
函数原型
hi_s32 hi_mpi_vi_get_chn_fd(hi_vi_pipe vi_pipe, hi_vi_chn vi_chn)
参数说明
| 参数名 | 输入/输出 | 说明 |
|---|---|---|
| vi_pipe | 输入 | PIPE号。 取值范围:[0, 8) |
| vi_chn | 输入 | VI通道号。 取值范围:[0, 1) |
返回值说明
当大于或等于0时,接口调用成功,返回对应句柄,否则表示接口调用失败。
参考资源
接口调用流程,参见视频数据获取功能。
父主题: VI视频输入功能
hi_mpi_vi_set_chn_low_delay_attr
函数功能
设置VI PIPE低延时属性 。
约束说明
-
调用本接口前,必须先调用hi_mpi_vi_create_pipe接口创建PIPE。
-
为确保设置的低延时生效,需:
- 调用hi_mpi_sys_bind接口绑定VI与VPSS。
- 已开启视频防抖(DIS)、镜头畸变校正(LDC)中的任意一个功能或组合功能。
函数原型
hi_s32 hi_mpi_vi_set_chn_low_delay_attr(hi_vi_pipe vi_pipe, hi_vi_chn vi_chn, const hi_vi_low_delay_info *delay_info)
参数说明
| 参数名 | 输入/输出 | 说明 |
|---|---|---|
| vi_pipe | 输入 | VI PIPE号。 取值范围:[0, 8) |
| vi_chn | 输入 | VI通道号。 取值范围:[0, 1) |
| delay_info | 输入 | 低延时功能参数结构体指针。 |
返回值说明
- 0:成功
- 非0:失败,参见VI视频输入返回码。
父主题: VI视频输入功能
hi_mpi_vi_get_chn_low_delay_attr
函数功能
获取VI通道低延时属性 。
约束说明
- 调用本接口前,必须先调用hi_mpi_vi_create_pipe接口创建PIPE。
函数原型
hi_s32 hi_mpi_vi_get_chn_low_delay_attr(hi_vi_pipe vi_pipe, hi_vi_chn vi_chn, hi_vi_low_delay_info *delay_info)
参数说明
| 参数名 | 输入/输出 | 说明 |
|---|---|---|
| vi_pipe | 输入 | VI PIPE号。 取值范围:[0, 8) |
| vi_chn | 输入 | VI通道号。 取值范围:[0, 1) |
| delay_info | 输出 | 低延时功能参数结构体指针。 |
返回值说明
- 0:成功
- 非0:失败,参见VI视频输入返回码。
父主题: VI视频输入功能
功能及约束说明
功能说明
叠加在视频上的OSD (On Screen Display)和遮挡在视频上的色块统称为区域。区域管理模块,用于统一管理这些区域资源,用于在视频上显示一些特定信息(如通道号、时间戳等)、或在视频中填充色块用于遮挡。
例如, 实际应用中,用户通过创建一个区域,通过调用hi_mpi_rgn_attach_to_chn接口,将该区域叠加到指定的一个或多个VPSS通道中,同时支持在每个通道中指定区域的显示属性,如位置、层次、透明度等。
基本概念
表1 概念解释
| 概念 | 描述 |
|---|---|
| 区域类型 | 区域类型包括以下: - OVERLAY :视频叠加区域 ,其中区域支持位图的加载 、 背景色更新 等功能。 - OVERLAYEX :扩展视频叠加区域,功能与 OVERLAY 类似,支持位图加载、背景色更新等。 - COVER :视频遮挡区域,其中区域支持纯色块遮挡。 - COVEREX :扩展视频遮挡区域,功能与 COVER 类似,支持纯色块遮挡。 - LINE :扩展的线条视频叠加区域,支持颜色、粗细等调节。 - MOSAIC:马赛克遮挡区域,支持精度调节。 - MOSAICEX:扩展的马赛克遮挡区域,支持精度调节。 - CORNER_RECTEX:角框区域,支持大小,颜色,粗细等调节。 其中,OVERLAYEX 类型的区域会绑定到VPSS的Channel上;MOSAIC、COVER 类型的区域会绑定到VPSS的Group上。VPSS的Group和Channel区别详见功能说明 |
| 区域层次 | 指区域的叠加级别,层次值越大,表示区域的显示级别越高。当发生重叠时,层次值大的将会覆盖层次值小的。 图1 层次叠加示意图 |
| 位图填充 | 指将位图的内存值填充到区域内存空间中,位图将会从区域的左上角开始填充。当位图小于区域时,只能填充一部分内存,剩余部分保持原有值;位图大小等于区域时,将刚好全部填充;当位图大于区域时,位图只能将自身和区域一样大小的内存信息填充到区域中。位图填充仅针对OVERLAYEX区域类型有效。 |
| 区域属性 | 用户创建一个区域时,需要设置该区域的属性信息,包含OVERLAYEX包含像素格式、大小、背景色等。 |
| 通道显示属性 | 指区域在某通道的显示特征 。 例如,MOSAIC的通道显示属性包含显示位置、区域大小、层次、mosaic块大小。 当区域的通道显示属性中的is_show(区域是否显示)为TRUE时,表示区域会显示在该通道中;反之,表示区域在该通道中存在,但处于隐藏状态。 |
约束说明
表2 region支持的模块信息
| 类型 | 支持模块(mod_id) | 设备号(dev_id)取值范围 | 通道号(chn_id)取值范围 |
|---|---|---|---|
| OVERLAY | 当前不支持 | - | - |
| COVER | VPSS(HI_ID_VPSS) | VPSS Group ID取值范围:[0,255] | 0 |
| OVERLAYEX | VPSS(HI_ID_VPSS) | VPSS Group ID取值范围:[0,255] | [0,1] |
| COVEREX | 当前不支持 | - | - |
| LINE | 当前不支持 | - | - |
| MOSAIC | VPSS(HI_ID_VPSS) | VPSS Group ID取值范围:[0,255] | 0 |
| MOSAICEX | 当前不支持 | - | - |
| CORNER_RECTEX | 当前不支持 | - | - |
父主题: Region区域管理
在线提单