K230 DPU API参考
1. 概述
1.1 概述
DPU 主要负责 3D 结构光的深度计算,为 3D 人脸识别提供深度信息。
1.2 功能描述
1.2.1 绑定模式调用流程
1.2.2 非绑定模式调用流程
2. API 参考
2.1 DPU 使用
该功能模块提供以下API:
- kd_mpi_dpu_init
- kd_mpi_dpu_delete
- kd_mpi_dpu_parse_file
- kd_mpi_dpu_set_dev_attr
- kd_mpi_dpu_get_dev_attr
- kd_mpi_dpu_set_ref_image
- kd_mpi_dpu_set_processed_ref_image
- kd_mpi_dpu_set_template_image
- kd_mpi_dpu_start_dev
- kd_mpi_dpu_set_chn_attr
- kd_mpi_dpu_get_chn_attr
- kd_mpi_dpu_start_chn
- kd_mpi_dpu_stop_chn
- kd_mpi_dpu_send_frame
- kd_mpi_dpu_get_frame
- kd_mpi_dpu_release_frame
2.1.1 kd_mpi_dpu_init
【描述】
初始化 dpu 设备
【语法】
k_s32 kd_mpi_dpu_init(k_dpu_init_t *init);
【参数】
参数名称 | 描述 | 输入/输出 |
---|---|---|
init | 初始化 dpu 设备的结构体指针。 | 输入 |
【返回值】
返回值 | 描述 |
---|---|
0 | 成功 |
非0 | 失败,其值参见错误码 |
【芯片差异】
无。
【需求】
- 头文件:mpi_dpu_api.h
- 库文件:libdpu.a
【注意】
无
【举例】
无
【相关主题】
2.1.2 kd_mpi_dpu_delete
【描述】
删除已经初始化的 dpu 设备。
【语法】
k_s32 kd_mpi_dpu_delete();
【参数】
参数名称 | 描述 | 输入/输出 |
---|---|---|
无 | 无 | 无 |
【返回值】
返回值 | 描述 |
---|---|
0 | 成功 |
非0 | 失败,其值参见错误码 |
【芯片差异】
无
【需求】
- 头文件:mpi_dpu_api.h
- 库文件:libdpu.a
【注意】
需要在对 dpu 设备初始化以后才可以调用此函数 delete dpu。
【举例】
无
【相关主题】
无
2.1.3 kd_mpi_dpu_parse_file
【描述】
从 dpu 配置文件中解析 dpu 配置参数。
【语法】
k_s32 kd_mpi_dpu_parse_file(const k_char *param_path, k_dpu_dev_param_t *param, k_dpu_lcn_param_t *lcn_param, k_dpu_ir_param_t *ir_param, k_dpu_user_space_t *g_temp_space);
【参数】
参数名称 | 描述 | 输入/输出 |
---|---|---|
param_path | 配置文件的路径 | 输入 |
param | dpu 设备参数的结构体指针,从配置文件中解析出来的设备参数保存在此结构体中 | 输出 |
lcn_param | lcn 通道参数的结构体指针,从配置文件中解析出来的通道参数保存在此结构体中。 | 输出 |
ir_param | ir 通道参数的结构体指针,从配置文件中解析出来的通道参数保存在此结构体中。 | 输出 |
g_temp_space | 模板图结构体指针,从配置文件中解析出来的模板图首地址保存在此结构体中。 | 输出 |
【返回值】
返回值 | 描述 |
---|---|
0 | 成功 |
非0 | 失败,其值参见错误码 |
【芯片差异】
无
【需求】
- 头文件:mpi_dpu_api.h
- 库文件:libdpu.a
【注意】
- dpu 设备参数包括长周期参数和短周期参数。
- lcn_param 和 ir_param 这两个通道参数是 dpu 设备参数的子集,如果已经配置了 dpu 设备参数,可以忽略这两个通道参数。如果需要更改这两个通道参数结构体中的参数,既可以更改通道参数以后调用 kd_mpi_dpu_set_chn_attr 来使更改生效,也可以更改设备参数以后调用 kd_mpi_dpu_set_dev_attr 来使更改生效。如果只更改了通道参数,那么调用 kd_mpi_dpu_set_chn_attr 效率更高。
- 模板图结构体中包含了从配置文件中解析出来的模板图的虚拟地址和物理地址,以及模板图的大小。
【举例】
无
【相关主题】
2.1.4 kd_mpi_dpu_set_dev_attr
【描述】
配置 dpu 设备属性。
【语法】
k_s32 kd_mpi_dpu_set_dev_attr(k_dpu_dev_attr_t *attr);
【参数】
参数名称 | 描述 | 输入/输出 |
---|---|---|
attr | dpu 设备属性 | 输入 |
【返回值】
返回值 | 描述 |
---|---|
0 | 成功 |
非0 | 失败,其值参见错误码 |
【芯片差异】
无
【需求】
- 头文件:mpi_dpu_api.h
- 库文件:libdpu.a
【注意】
- 只有对 dpu 设备初始化以后才可以调用此函数配置 dpu 设备属性。
- 在首次配置 dpu 设备属性时,应该将 attr 中的 tytz_temp_recfg 和 align_depth_recfg 配置为 K_TRUE,以使 dpu 加载对应参数。后续更改 dpu 设备属性时,如果对应的长周期参数没有改变,将这两个成员配置为 K_FALSE,可以节省 dpu 再次加载长周期参数的时间。
【举例】
无
【相关主题】
2.1.5 kd_mpi_dpu_get_dev_attr
【描述】
获取 dpu 设备属性。
【语法】
k_s32 kd_mpi_dpu_set_dev_attr(k_dpu_dev_attr_t *attr);
【参数】
参数名称 | 描述 | 输入/输出 |
---|---|---|
attr | dpu 设备属性 | 输出 |
【返回值】
返回值 | 描述 |
---|---|
0 | 成功 |
非0 | 失败,其值参见错误码 |
【芯片差异】
无
【需求】
- 头文件:mpi_dpu_api.h
- 库文件:libdpu.a
【注意】
无
【举例】
无
【相关主题】
2.1.6 kd_mpi_dpu_set_ref_image
【描述】
配置 dpu 参考图。
【语法】
k_s32 kd_mpi_dpu_set_ref_image(const k_char *ref_path);
【参数】
参数名称 | 描述 | 输入/输出 |
---|---|---|
ref_path | 参考图路径 | 输入 |
【返回值】
返回值 | 描述 |
---|---|
0 | 成功 |
非0 | 失败,其值参见错误码 |
【芯片差异】
无
【需求】
- 头文件:mpi_dpu_api.h
- 库文件:libdpu.a
【注意】
- 需要在配置 dpu 设备属性以后再调用此函数配置参考图。
【举例】
无
【相关主题】
无