跳到主要内容

hi_mpi_vi_send_pipe_yuv

hi_mpi_vi_set_pipe_frame_source

函数功能

设置VI 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 的数据来源。

返回值说明

参考资源

接口调用流程,参见视频数据获取功能

父主题: VI视频输入功能

hi_mpi_vi_get_pipe_frame_source

函数功能

获取VI 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 的数据来源。

返回值说明

父主题: 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)。

返回值说明

参考资源

接口调用流程,参见视频数据获取功能

父主题: VI视频输入功能

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)。

返回值说明

参考资源

接口调用流程,参见视频数据获取功能

父主题: VI视频输入功能

hi_mpi_vi_pipe_get_buffer

函数功能

获取内部空闲的内存块,用于用户指定输入数据。

约束说明

函数原型

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输出视频信息结构体指针。

返回值说明

参考资源

接口调用流程,参见视频数据获取功能

父主题: 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输入视频帧信息。

返回值说明

参考资源

接口调用流程,参见视频数据获取功能

父主题: VI视频输入功能

在线提单