hi_mpi_vi_pipe_get_buffer
hi_mpi_vi_send_pipe_raw
函数功能
通过VI PIPE发送RAW数据。
约束说明
- 调用本接口前,必须先依次调用hi_mpi_vi_create_pipe接口创建PIPE、调用hi_mpi_vi_start_pipe接口启动PIPE,在调用hi_mpi_vi_create_pipe接口创建PIPE时,PIPE属性的isp_bypass必须为HI_FALSE。
- 发送RAW数据前,需要先调用hi_mpi_vi_set_pipe_frame_source接口将PIPE的数据来源设置为HI_VI_PIPE_FRAME_SOURCE_USER,此时来自SENSOR的数据不再会送给ISP BE处理,ISP BE只会处理用户送下来的帧数据。
- WDR模式下,每个PIPE的RAW在frame_info存放的顺序必须与hi_mpi_vi_set_dev_bind_pipe接口绑定PIPE时的顺序保持一致,目的是保证长短曝光帧的顺序正确,每个PIPE的RAW的属性(宽高,像素格式,压缩等等)要与hi_mpi_vi_create_pipe接口创建时保持一致。
- 通过本接口发送RAW数据时,对RAW数据有如下要求:
- 送下来的RAW帧信息必须为真实有效的通过hi_mpi_vi_pipe_get_buffer接口获取的帧信息。
- RAW数据像素格式及图像大小必须与hi_mpi_vi_create_pipe接口创建PIPE时设置的像素格式及图像大小保持一致。
- RAW数据field必须为HI_VIDEO_FIELD_FRAME。
- RAW数据video_format必须为HI_VIDEO_FORMAT_LINEAR。
- RAW数据compress_mode仅支持HI_COMPRESS_MODE_NONE、HI_COMPRESS_MODE_LINE、HI_COMPRESS_MODE_FRAME。
- RAW数据动态范围dynamic_range必须为HI_DYNAMIC_RANGE_SDR8。
函数原型
hi_s32 hi_mpi_vi_send_pipe_raw(hi_u32 pipe_num, hi_vi_pipe pipe_id[], const hi_video_frame_info *frame_info[], hi_s32 milli_sec)
参数说明
| 参数名 | 输入/输出 | 说明 |
|---|---|---|
| pipe_num | 输入 | PIPE数量。 当工作模式为线性模式时,该参数取值为 1;当工作模式为WDR模式时,该参数取值需要与WDR的PIPE数相同。具体模式可通过hi_mpi_vi_set_dev_attr接口设置WDR属性配置。 |
| pipe_id | 输入 | PIPE号数组,数组内的元素个数与pipe_num参数值保证一致。 |
| frame_info | 输入 | RAW数据信息。 |
| milli_sec | 输入 | 超时参数 ,取值范围: - -1:表示阻塞模式; - 0:表示非阻塞模式; - >0: 配置具体的超时时间,单位为毫秒(ms)。 |
返回值说明
- 0:成功
- 非0:失败,参见VI视频输入返回码。
参考资源
接口调用流程,参见视频数据获取功能。
父主题: VI视频输入功能
hi_mpi_vi_pipe_get_buffer
函数功能
获取内部空闲的内存块,用于用户指定输入数据。
约束说明
- 调用本接口前,必须先调用hi_mpi_vi_create_pipe接口创建PIPE。
函数原型
hi_s32 hi_mpi_vi_pipe_get_buffer(hi_vi_pipe vi_pipe, hi_video_frame_info *frame_info)
参数说明
| 参数名 | 输入/输出 | 说明 |
|---|---|---|
| vi_pipe | 输入 | PIPE 号。 取值范围:[0, 8) |
| frame_info | 输出 | 视频信息结构体指针。 |
返回值说明
- 0:成功
- 非0:失败,参见VI视频输入返回码。
参考资源
接口调用流程,参见视频数据获取功能。
父主题: VI视频输入功能
hi_mpi_vi_pipe_release_buffer
函数功能
释放通过hi_mpi_vi_pipe_get_buffer接口获取的视频帧相关资源。
函数原型
hi_s32 hi_mpi_vi_pipe_release_buffer(hi_vi_pipe vi_pipe, const hi_video_frame_info *frame_info)
参数说明
| 参数名 | 输入/输出 | 说明 |
|---|---|---|
| vi_pipe | 输入 | PIPE 号。 取值范围:[0, 8) |
| frame_info | 输入 | 视频帧信息。 |
返回值说明
- 0:成功
- 非0:失败,参见VI视频输入返回码。
参考资源
接口调用流程,参见视频数据获取功能。
父主题: VI视频输入功能
hi_mpi_vi_set_pipe_vc_number
函数功能
设置VI物理PIPE对接前端sensor的VC号。
Atlas 200/500 A2推理产品,不支持该接口。
约束说明
- 必须调用hi_mpi_vi_create_pipe接口创建PIPE后、调用hi_mpi_vi_start_pipe接口前调用本接口 。
- 有部分sensor在2合1的WDR场景下输出的VC号为1、2等,如果不单独通过本接口指定VC号,则会与系统内部默认的VC号0、1不匹配,导致获取数据失败。
- 不支持虚拟PIPE。
函数原型
hi_s32 hi_mpi_vi_set_pipe_vc_number(hi_vi_pipe vi_pipe, hi_u32 vc_number)
参数说明
| 参数名 | 输入/输出 | 说明 |
|---|---|---|
| vi_pipe | 输入 | 物理PIPE号。 取值范围:[0, 4) |
| vc_number | 输入 | VC号。 取值范围:[0, 4) |
返回值说明
- 0:成功
- 非0:失败,参见VI视频输入返回码。
父主题: VI视频输入功能
在线提单