hi_mpi_vi_set_pipe_frame_source
hi_mpi_vi_get_pipe_frame
函数功能
获取VI物理PIPE的数据。
约束说明
-
调用本接口前,必须先调用hi_mpi_vi_create_pipe接口创建PIPE。
-
调用hi_mpi_vi_set_pipe_frame_dump_attr接口开启dump、设置depth, 否则内部不会预留临时的内存空间,最终导致获取不到图像数据。
-
不支持虚拟PIPE。
函数原型
hi_s32 hi_mpi_vi_get_pipe_frame(hi_vi_pipe vi_pipe, hi_video_frame_info *frame_info, hi_s32 milli_sec)
参数说明
| 参数名 | 输入/输出 | 说明 |
|---|---|---|
| vi_pipe | 输入 | 物理 PIPE 号。 取值范围:[0, 4) |
| frame_info | 输出 | VI PIPE 数据信息的指针。 |
| milli_sec | 输入 | 超时参数 ,取值范围: - -1:表示阻塞模式; - 0:表示非阻塞模式; - >0: 配置具体的超时时间,单位为毫秒(ms)。 |
返回值说明
- 0:成功
- 非0:失败,参见VI视频输入返回码。
参考资源
接口调用流程,参见视频数据获取功能。
父主题: VI视频输入功能
hi_mpi_vi_release_pipe_frame
函数功能
释放VI PIPE的数据。
约束说明
- 本接口需与 hi_mpi_vi_get_pipe_frame接口配对使用,接口调用次数保持一致,否则返回报错。
- 用户需先调用hi_mpi_vi_get_pipe_frame接口获取frame_info,再将获取到的frame_info传入本接口,否则可能造成释放不成功。
函数原型
hi_s32 hi_mpi_vi_release_pipe_frame(hi_vi_pipe vi_pipe, const hi_video_frame_info *frame_info)
参数说明
| 参数名 | 输入/输出 | 说明 |
|---|---|---|
| vi_pipe | 输入 | 物理PIPE号。 取值范围:[0, 4) |
| frame_info | 输入 | VI PIPE数据信息的指针。 |
返回值说明
- 0:成功
- 非0:失败,参见VI视频输入返回码。
参考资源
接口调用流程,参见视频数据获取功能。
父主题: VI视频输入功能
hi_mpi_vi_set_pipe_frame_source
函数功能
设置VI PIPE数据的来源。
约束说明
- 调用本接口前,必须先调用hi_mpi_vi_create_pipe接口创建PIPE。
函数原型
hi_s32 hi_mpi_vi_set_pipe_frame_source(hi_vi_pipe vi_pipe, const hi_vi_pipe_frame_source source)
参数说明
| 参数名 | 输入/输出 | 说明 |
|---|---|---|
| vi_pipe | 输入 | PIPE 号。 取值范围:[0, 8) |
| source | 输入 | PIPE 的数据来源。 |
返回值说明
- 0:成功
- 非0:失败,参见VI视频输入返回码。
参考资源
接口调用流程,参见视频数据获取功能。
父主题: VI视频输入功能
hi_mpi_vi_get_pipe_frame_source
函数功能
获取VI PIPE数据的来源。
约束说明
- 调用本接口前,必须先调用hi_mpi_vi_create_pipe接口创建PIPE。
函数原型
hi_s32 hi_mpi_vi_get_pipe_frame_source(hi_vi_pipe vi_pipe, hi_vi_pipe_frame_source *source)
参数说明
| 参数名 | 输入/输出 | 说明 |
|---|---|---|
| vi_pipe | 输入 | PIPE 号。 取值范围:[0, 8) |
| source | 输出 | PIPE 的数据来源。 |
返回值说明
- 0:成功
- 非0:失败,参见VI视频输入返回码。
父主题: VI视频输入功能
hi_mpi_vi_send_pipe_yuv
函数功能
通过VI PIPE发送YUV数据。
约束说明
- 调用本接口前,必须先调用hi_mpi_vi_start_pipe接口启动PIPE。
- 发送YUV数据前,需要先调用hi_mpi_vi_set_pipe_frame_source接口将PIPE的数据来源设置为HI_VI_PIPE_FRAME_SOURCE_USER,此时来自SENSOR的数据不再会送给ISP BE处理,ISP BE只会处理用户送下来的帧数据。
- 通过本接口发送YUV数据时,对YUV数据有如下要求:
- YUV数据的宽高必须与hi_mpi_vi_create_pipe接口创建PIPE时设置的size宽高保持一致。
- 送下来的YUV帧信息必须为真实有效的通过hi_mpi_vi_pipe_get_buffer接口获取的帧信息。
- YUV数据像素格式必须与hi_mpi_vi_create_pipe接口创建PIPE时设置的像素格式保持一致。
- YUV数据field必须为HI_VIDEO_FIELD_FRAME。
- YUV数据视频格式video_format必须为HI_VIDEO_FORMAT_LINEAR。
- YUV数据压缩模式compress_mode必须为不压缩HI_COMPRESS_MODE_NONE。
- YUV数据动态范围dynamic_range必须为HI_DYNAMIC_RANGE_SDR8、HI_DYNAMIC_RANGE_SDR10、HI_DYNAMIC_RANGE_XDR。
- WDR模式下,不支持调用本接口。
- 只能从BE送,不支持从FE送。
函数原型
hi_s32 hi_mpi_vi_send_pipe_yuv(hi_vi_pipe vi_pipe, const hi_video_frame_info *frame_info, hi_s32 milli_sec)
参数说明
| 参数名 | 输入/输出 | 说明 |
|---|---|---|
| vi_pipe | 输入 | PIPE 号。 取值范围:[0, 8) |
| frame_info | 输入 | VI 帧信息结构指针。 |
| milli_sec | 输入 | 超时参数 ,取值范围: - -1:表示阻塞模式; - 0:表示非阻塞模式; - >0: 配置具体的超时时间,单位为毫秒(ms)。 |
返回值说明
- 0:成功
- 非0:失败,参见VI视频输入返回码。
参考资源
接口调用流程,参见视频数据获取功能。
父主题: VI视频输入功能
在线提单