Skip to main content

hi_mpi_sys_bind

hi_mpi_sys_set_chn_csc_matrix

函数功能

在处理图像或视频前,YUV与RGB之间格式转换场景下,如果需要调整色域转换参数时,在创建对应图像或视频处理通道后,可调用该接口设置色域转换参数。

约束说明

如果不调用本接口设置色域转换参数,默认使用BT601 wide标准的色域转换矩阵参数值

如果默认的色域转换参数不适用,仅需修改一次,该通道内的其它任务都使用修改后的色域转换参数,则在创建对应图像或视频处理通道后,可调用本接口设置色域转换参数,再调用具体的图像或视频处理接口,然后再调用对应的图像或视频处理结果获取接口。

如果默认的色域转换参数不适用,不同任务使用不同的色域转换参数,需多次修改,则在创建对应图像或视频处理通道后,在上一次任务执行结束后、下一次任务执行前调用本接口设置色域转换参数(如果上一次任务没有执行结束,就再次调用本接口设置色域转换参数,可能会导致任务处理的结果不正确),再调用具体的图像或视频处理接口,然后再调用对应的图像或视频处理结果获取接口。

调用顺序示例如下:

  1. hi_mpi_sys_set_chn_csc_matrix(第一次修改色域转换参数)
  2. hi_mpi_vpc_crop(抠图)
  3. hi_mpi_vpc_get_process_result(等待抠图任务结束)
  4. hi_mpi_sys_set_chn_csc_matrix(第二次修改色域转换参数)
  5. hi_mpi_vpc_resize(缩放)
  6. hi_mpi_vpc_get_process_result(等待缩放任务结束)

函数原型

hi_s32 hi_mpi_sys_set_chn_csc_matrix(hi_mod_id mode, hi_s32 chn, hi_csc_matrix csc_matrix, hi_csc_coefficient *csc_coefficient)

参数说明

参数名输入/输出说明
mode输入模块ID,当前只支持HI_ID_VDEC和HI_ID_VPC。
chn输入通道号。当mode设置为HI_ID_VDEC时,通道号范围请参见hi_mpi_vdec_create_chn处chn参数的取值范围;当mode设置为HI_ID_VPC时,通道号范围请参见hi_mpi_vpc_create_chn处chn参数的取值范围。
csc_matrix输入色域转换矩阵的数据标准。
csc_coefficient输入色域转换矩阵参数值的指针。 如果将csc_matrix参数设置为HI_CSC_MATRIX_USER,则需要使用csc_coefficient参数设置色域转换矩阵参数;否则,此处传任意值。

返回值说明

父主题: 公共接口

hi_mpi_sys_get_chn_csc_matrix

函数功能

用户使用该接口获取通道的色域转换矩阵参数值。

约束说明

函数原型

hi_s32 hi_mpi_sys_get_chn_csc_matrix(hi_mod_id mode, hi_s32 chn, hi_csc_matrix *csc_matrix, hi_csc_coefficient *csc_coefficient)

参数说明

参数名输入/输出说明
mode输入模块ID,当前只支持HI_ID_VDEC和HI_ID_VPC。
chn输入通道号。 当mode设置为HI_ID_VDEC时,通道号范围请参见hi_mpi_vdec_create_chn处chn参数的取值范围; 当mode设置为HI_ID_VPC时,通道号范围请参见hi_mpi_vpc_create_chn处chn参数的取值范围。
csc_matrix输出色域转换矩阵的数据标准的指针。
csc_coefficient输出色域转换矩阵参数值的指针。

返回值说明

父主题: 公共接口

hi_mpi_sys_get_image_align_info

函数功能

根据模块、图片宽高计算出宽高对齐后的值以及存放图片数据的内存大小。

约束说明

函数原型

hi_s32 hi_mpi_sys_get_image_align_info(const hi_module_type mod_type[], const hi_u32 mod_num, const hi_img_base_info *img_base_info, hi_img_align_info *img_align_info)

参数说明

参数名输入/输出说明
mod_type输入模块类型数组。 如果数组中只有一个模块,则系统内部按该模块的对齐值来计算;如果数组中有多个模块,则系统内部按多个模块中的最大对齐值来计算;如果将模块类型设置为HI_MOD_ALL,则系统内部会从所有模块中选取最大对齐值来计算,便于简化理解各模块的对齐差异,操作简便,但可能占用内存较大。
mod_num输入模块类型数组长度。
img_base_info输入图片基本信息结构体。
img_align_info输出图片对齐信息、内存大小的结构体。

返回值说明

父主题: 公共接口

hi_mpi_sys_bind

函数功能

调用本接口建立数据接收者与数据源之间的关联关系,同一个数据接收者只能绑定一个数据源,绑定后,数据源生成的数据将自动发送给接收者。

约束说明

  • 当前支持如下数据源、数据接收者之间的绑定关系:

    数据源数据接收者说明
    视频输入VI视频处理VPSSVPSS Group ID取值在[256, 264)范围内。
    视频解码VDEC视频处理VPSSVPSS Group ID取值在[0, 256)范围内。
    视频处理VPSS视频输出VOVPSS Group ID取值在[0, 256)范围内。
    音频解码ADEC音频输出AO-
    音频输入AI音频编码AENC-
  • 除以下场景可将设备号或通道号设置为0,其它场景均需根据实际使用的设备号、通道号来设置。

    • VI和VDEC作为数据源,是以通道为发送者,向其他模块发送数据,用户将设备号src_chn.dev_id参数设置为0,SDK不检查输入的设备号。
    • VPSS作为数据接收者时,是以设备(GROUP)为接收者,接收其他模块发来的数据,用户将通道号dst_chn.chn_id参数设置为0。

函数原型

hi_s32 hi_mpi_sys_bind(const hi_mpp_chn *src_chn, const hi_mpp_chn *dest_chn)

参数说明

参数名输入/输出说明
src_chn输入源通道指针。
dest_chn输入目的通道指针。

返回值说明

父主题: 公共接口

hi_mpi_sys_unbind

函数功能

调用本接口解除数据源与数据接收者之间的关联关系。

约束说明

  • dst_chn如果找不到绑定的源通道,则直接返回成功。如果找到了绑定的源通道,但是绑定的源通道和src_chn不匹配,则返回失败。

函数原型

hi_s32 hi_mpi_sys_unbind(const hi_mpp_chn *src_chn, const hi_mpp_chn *dest_chn)

参数说明

参数名输入/输出说明
src_chn输入源通道指针。
dest_chn输入目的通道指针。

返回值说明

父主题: 公共接口

功能及约束说明

  • AI(Audio Input)音频输入、AO(Audio Output)音频输出API主要实现配置及启用音频输入设备、获取音频帧数据、播放等功能,本章中的接口均不支持多进程**,且同一个设备ID不支持在多线程中使用**。

  • 对于内置Audio Codec,主要通过ioctl命令字实现对硬件设备的操作。

  • 在录音起始阶段,由于硬件存在资源准备的过程,因此可能在起始阶段瞬间存在音频数据波动现象,但并不影响后续录音功能。

  • 关于AI、AO设备的说明如下:

    表1 AO设备

    AO dev输出对接器件
    0对接外置codec0
    1对接外置codec1
    2内置codec
    3HDMI0
    4HDMI1

    表2 AI设备

    AI dev输入对接器件
    0对接外置codec0
    1对接外置codec1
    2内置codec

父主题: AI音频输入/AO音频输出

hi_mpi_ai_set_pub_attr

函数功能

设置AI设备属性。

约束说明

  • 仅支持I2S主模式。
  • 在双声道和右声道模式下,chn_cnt需为2;在左声道模式下,chn_cnt需为1。

函数原型

hi_s32 hi_mpi_ai_set_pub_attr(hi_audio_dev ai_dev, const hi_aio_attr *attr);

参数说明

参数名输入/输出说明。
ai_dev输入音频设备号,取值范围:[0, 2]。
attr输入AI设备属性。

返回值说明

参考资源

接口调用流程,参见音频获取&音频播放功能

父主题: AI音频输入/AO音频输出

在线提单