MI WARP API
1. API 参考¶
1.1. 功能模块 API¶
API名 | 功能 |
---|---|
MI_WARP_CreateDevice | 创建WARP设备 |
MI_WARP_DestroyDevice | 销毁WARP设备 |
MI_WARP_StartDev | 启动设备 |
MI_WARP_StopDev | 停止设备 |
MI_WARP_CreateChannel | 创建设备通道 |
MI_WARP_DestroyChannel | 销毁设备通道 |
MI_WARP_SetChnBin | 设置WARP配置参数表 |
MI_WARP_InitDev | 初始化WARP设备 |
MI_WARP_DeInitDev | 反初始化WARP设备 |
1.2. MI_WARP_CreateDevice¶
-
功能
调用此接口创建WARP设备。
-
语法
MI_ S32 MI_WARP_CreateDevice(MI_WARP_DEV devId);
-
形参
参数名称 描述 输入/输出 devId 设备ID。 输入 -
返回值
-
MI_WARP_OK, 创建设备成功。
-
其它, 创建设备失败,详情参照错误码。
-
-
依赖
-
头文件:mi_warp.h
-
库文件:libmi_warp.a
-
-
注意
-
根据设备ID创建WARP设备,设备ID不重复。
-
WARP设备创建后,再次调用将返回已创建。
-
-
举例
/*declaration*/ MI_S32 s32Ret = 0; MI_U8 *szBbTablePath=”BbTable.bin”; MI_U8 *szDisplaceTablePath = “DispTable.bin”; /* create WARP device*/ s32Ret = MI_WARP_CreateDevice(0); if (MI_OK != s32Ret) { return -1; } /*load bounding box table*/ s32Ret = MI_WARP_SetChnBin(0, 0, MI_WARP_BOUND_BOX_TABLE, szBbTablePath) if (MI_OK != s32Ret) { return -1; } /*load displacement table*/ s32Ret = MI_WARP_SetChnBin(0, 0, MI_WARP_DISP_ABSOLUTE_TABLE, szDisplaceTablePath) if (MI_OK != s32Ret) { return -1; } /*create WARP channel*/ s32Ret = MI_WARP_CreateChannel(0, 0); if (MI_OK != s32Ret) { return -1; } /*start WARP device*/ s32Ret = MI_WARP_StartDev (0); if (MI_OK != s32Ret) { return -1; } /*stop WARP device*/ MI_WARP_StopDev(0); /*destroy WARP channel*/ MI_WARP_DestroyChannel(0, 0); /*destroy WARP device*/ MI_WARP_DestroyDevice(0);
-
相关主题
1.3. MI_WARP_DestroyDevice¶
-
功能
调用此接口销毁WARP设备。
-
语法
MI_ S32 MI_WARP_DestroyDevice(MI_WARP_DEV devId);
-
形参
参数名称 描述 输入/输出 devId 设备ID。 输入 -
返回值
-
MI_WARP_OK,成功销毁WARP设备。
-
其它, 销毁WARP设备失败,详情参照错误码。
-
-
依赖
-
头文件:mi_warp.h
-
库文件:libmi_warp.a
-
-
注意
调用 MI_WARP_CreateDevice与 MI_WARP_DestroyDevice 的次数需要对应。
-
举例
-
相关主题
1.4. MI_WARP_StartDev¶
-
功能
使能设备。
-
语法
MI_S32 MI_WARP_StartDev(MI_WARP_DEV devId);
-
形参
参数名称 描述 输入/输出 devId 设备ID。 输入 -
返回值
-
MI_WARP_OK,成功。
-
其它, 使能设备失败,详情参照错误码。
-
-
依赖
-
头文件:mi_warp.h
-
库文件:libmi_warp.a
-
-
举例
-
相关主题
1.5. MI_WARP_StopDev¶
-
功能
禁用设备。
-
语法
MI_S32 MI_WARP_StopDev(MI_WARP_DEV devId);
-
形参
参数名称 描述 输入/输出 devId 设备ID。 输入 -
返回值
-
MI_WARP_OK,成功禁用设备。
-
其它, 禁用设备失败,详情参照错误码。
-
-
依赖
-
头文件:mi_warp.h
-
库文件:libmi_warp.a
-
-
举例
参考MI_WARP_CreateDevice举例 。
-
相关主题
1.6. MI_WARP_CreateChannel¶
-
功能
创建设备通道。
-
语法
MI_S32 MI_WARP_CreateChannel(MI_WARP_DEV devId, MI_WARP_CHN chnId);
-
形参
参数名称 描述 输入/输出 devId 设备ID。 输入 chnId 通道ID。 输入 -
返回值
-
MI_WARP_OK,创建设备通道成功。
-
其它, 创建设备通道失败,详情参照错误码。
-
-
依赖
-
头文件:mi_warp.h
-
库文件:libmi_warp.a
-
-
注意
-
设备通道ID不重复。
-
每个通道有一个输入口和一个输出口。
-
-
举例
参考MI_WARP_CreateDevice举例 。
-
相关主题
1.7. MI_WARP_DestroyChannel¶
-
功能
销毁设备通道。
-
语法
MI_S32 MI_WARP_DestroyChannel(MI_WARP_DEV devId, MI_WARP_CHN chnId);
-
形参
参数名称 描述 输入/输出 devId 设备ID。 输入 chnId 通道ID。 输入 -
返回值
-
MI_WARP_OK, 销毁设备通道成功。
-
其它,销毁设备通道失败,详情参照错误码。
-
-
依赖
-
头文件:mi_warp.h
-
库文件:libmi_warp.a
-
-
举例
参考MI_WARP_CreateDevice举例。
-
相关主题
1.8. MI_WARP_SetChnBin¶
-
功能
导入WARP配置文件。
-
语法
MI_S32 MI_WARP_SetChnBin(MI_WARP_DEV devId, MI_WARP_CHN chnId, MI_WARP_TableType_e eTableType, const MI_S8 *pTablePath);
-
形参
参数名称 描述 输入/输出 devId 设备ID。 输入 chnId 通道ID。 输入 eTableType WARP配置文件类型,有Bounding Box Table和Displacement Table两种。 输入 pTablePath 配置文件路径。 输入
1.9. MI_WARP_InitDev¶
-
描述
初始化WARP设备。
-
语法
MI_S32 MI_WARP_InitDev(MI_WARP_InitParam_t *pstInitParam);
-
参数
参数名称 描述 输入/输出 pstInitParam 设备初始化参数。 输入 -
返回值
-
MI_OK成功。
-
非MI_OK失败,参照错误码。
-
-
依赖
-
头文件:mi_warp.h
-
库文件:libmi_warp.a
-
1.10. MI_WARP_DeInitDev¶
-
描述
反初始WARP设备。
-
语法
MI_S32 MI_WARP_DeInitDev(void);
-
返回值
-
MI_OK成功。
-
非MI_OK失败,参照错误码。
-
-
依赖
-
头文件:mi_warp.h
-
库文件:libmi_warp.a
-
-
注意
-
此函数必须在初始化设备后调用,否则返回失败。
-
如果本接口在app退出前没有调用,内部会自动反初始化设备。
-
-
返回值
-
MI_WARP_OK,导入WARP配置成功。
-
其它,导入WARP配置失败,详情参照错误码。
-
-
依赖
-
头文件:mi_warp.h
-
库文件:libmi_warp.a
-
-
举例
参考MI_WARP_CreateDevice举例。
2. WARP 数据类型¶
2.1. 数据类型定义¶
函数 | 说明 |
---|---|
MI_WARP_DEV | WARP设备ID |
MI_DEV_CHN | WARP通道ID |
MI_WARP_TableType_e | WARP 配置文件类型 |
MI_WARP_InitParam_t | 定义WARP设备初始化参数 |
2.2. MI_WARP_DEV¶
-
说明
设备ID。
-
定义
typedef MI_U32 MI_WARP_DEV;
2.3. MI_WARP_CHN¶
-
说明
设备通道ID。
-
定义
typedef MI_U32 MI_WARP_CHN;
2.4. MI_WARP_TableType_e¶
-
说明
WARP设备配置文件类型。
-
定义
typedef enum { MI_WARP_DISP_ABSOLUTE_TABLE, MI_WARP_DISP_RELATIVE_TABLE, MI_WARP_BOUND_BOX_TABLE, MI_WARP_TABLE_TYPE_MAX }MI_WARP_TableType_e;
-
成员
成员 描述 MI_WARP_DISP_ABSOLUTE_TABLE WARP设备Displacement绝对位置表 MI_WARP_DISP_RELATIVE_TABLE WARP设备Displacement相对位置表 MI_WARP_BOUND_BOX_TABLE WARP设备BoundingBox表
2.5. MI_WARP_InitParam_t¶
-
说明
warp设备初始化参数
-
定义
typedef struct MI_WARP_InitParam_s { MI_U32 u32DevId; MI_U8 *u8Data; } MI_WARP_InitParam_t;
-
成员
成员名称 描述 u32DevId 设备ID u8Data 数据指针buffer -
相关数据类型及接口
3. 错误码¶
WARP API 错误码如下所示。
错误代码 | 宏定义 | 描述 |
---|---|---|
0xA0152003 | MI_ERR_WARP_ILLEGAL_PARAM | 非法参数 |
0xA0152006 | MI_ERR_WARP_NULL_PTR | 参数为空指针 |
0xA0152002 | MI_ERR_WARP_BUSY | 设备忙 |
0xA015201D | MI_ERR_WARP_FAIL | 操作失败 |
0xA0152001 | MI_ERR_WARP_INVALID_DEVID | 非法的设备ID |
0xA0152008 | MI_ERR_WARP_NOT_SUPPORT | 不支持的操作 |
0xA0152016 | MI_ERR_WARP_MOD_INITED | 模块已经初始化 |
0xA0152015 | MI_ERR_WARP_MOD_NOT_INIT | 模块未初始化 |
0xA0152280 | MI_ERR_WARP_DEV_OPENED | 设备已经启动 |
0xA0152281 | MI_ERR_WARP_DEV_NOT_OPEN | 设备未启动 |
0xA015201B | MI_ERR_WARP_DEV_NOT_STOP | 设备未停止 |
0xA0152282 | MI_ERR_WARP_DEV_NOT_CLOSE | 设备未关闭 |
0xA0152283 | MI_ERR_WARP_CHN_OPENED | 通道已经打开 |
0xA0152284 | MI_ERR_WARP_CHN_NOT_OPEN | 通道未开启 |
0xA0152285 | MI_ERR_WARP_CHN_NOT_STOP | 通道未停止 |
0xA0152286 | MI_ERR_WARP_CHN_STOPED | 通道已经停止 |
0xA0152287 | MI_ERR_WARP_CHN_NOT_CLOSE | 通道未关闭 |
0xA0152018 | MI_ERR_WARP_PORT_NOT_DISABLE | 端口未被禁用 |
0xA0152288 | MI_ERR_WARP_PORT_NOT_UNBIND | 端口未解绑 |