ISP API 开发指南
Revision History
Revision | Date | Author | Description |
---|---|---|---|
1.0 | 2024-8-29 | lizhirong | Initial draft |
SDK API 接口说明
ISP API
本节介绍 ISP 模块 API 使用方法,描述的 API 都是 ISP SDK 面向应用的,分为系统控制 API、图像效果设置 API 和 tuning 相关的 API,详细解释了相关的参数数据结构、错误码和返回值。主要面向 ISP 效果相关的 tuning 和算法工程师,以及图像相关相关的 setting 功能开发的应用工程师。
系统控制 API
系统控制 API 如下:
- ASR_ISP_Construct:构造 ISP pipeline 上下文环境接口。
- ASR_ISP_Destruct:析构 ISP pipeline 上下文环境接口。
- ASR_ISP_GetFwFrameInfoSize():获取 ISP firmware frameinfo 结构体大小接口。
- ASR_ISP_RegSensorCallBack:向 ISP pipeline 注册 sensor 回调函数接口。
- ASR_ISP_UnRegSensorCallBack:从 ISP pipeline 注销 sensor 回调函数接口。
- ASR_ISP_RegAfMotorCallBack:向 ISP pipeline 注册 sensor 马达回调函数接口。
- ASR_ISP_EnableOfflineMode:使能 ISP pipeline 的 Offline 模式接口。
- ASR_ISP_SetPubAttr:设置 ISP pipeline 公共属性接口。
- ASR_ISP_SetTuningParams:设置 ISP pipeline tuning 相关参数接口。
- ASR_ISP_SetChHwPipeID:设置 ISP pipeline channel 工作的真实硬件 pipe ID 接口。
- ASR_ISP_Init:初始化 ISP pipeline。
- ASR_ISP_DeInit:撤销 ISP pipeline 的初始化。
- ASR_ISP_EnablePDAF:使能 ISP pipeline 的 PDAF。
- ASR_ISP_SetFps:设置该 pipeline 上 sensor/ISP 工作的帧率。
- ASR_ISP_SetFrameinfoCallback:设置 ISP pipeline frameinfo 的回调。
- ASR_ISP_QueueFrameinfoBuffer:设置 ISP pipeline frameinfo buffer 的入队列。
- ASR_ISP_FlushFrameinfoBuffer:清除 ISP pipeline 上的 frameinfo buffer。
- ASR_ISP_Streamon:streamon ISP pipeline。
- ASR_ISP_Streamoff:streamoff ISP pipeline。
- ASR_ISP_TriggerRawCapture:触发 ISP pipeline 进行 Raw 拍照流程。
- ASR_ISP_ReInitPreviewChannel:重新初始化预览 channel。
- ASR_ISP_NotifyOnceHDRRawCapture:通知 ISP pipeline 进入一次 HDR Raw 拍照流程。
- ASR_ISP_UpdateNoneZslStreamAeParams:更新 sensor 相关 AE 的参数。
ASR_ISP_Construct
【描述】
构造 ISP pipeline 上下文环境。
【语法】
int ASR_ISP_Construct(uint32_t pipelineID);
【参数】
参数名称 | 描述 | 输入/输出 |
---|---|---|
pipelineID | ISP pipeline 的 ID | 输入 |
【返回值】
参数名称 | 描述 |
---|---|
0 | 成功 |
非 0 | 失败,值为错误码 |
【需求】
- 头文件:spm_cam_isp.h
- 库文件:libisp.so
【注意】
- 如 2.2.1 所述,输入参数 pipelineID 描述的是个虚拟的 pipeline,对应的是 ISPfirmware,一个 pipelineID 对应一个 firmware。
ASR_ISP_Destruct
【描述】
析构 ISP pipeline 上下文环境。
【语法】
int ASR_ISP_Destruct (uint32_t pipelineID);
【参数】
参数名称 | 描述 | 输入/输出 |
---|---|---|
pipelineID | ISP pipeline 的 ID | 输入 |
【返回值】
参数名称 | 描述 |
---|---|
0 | 成功 |
非 0 | 失败,值为错误码 |
【需求】
- 头文件:spm_cam_isp.h
- 库文件:libisp.so
ASR_ISP_GetFwFrameInfoSize
【描述】
获取 ISP Firmware frameinfo 结构体的大小。
【语法】
int ASR_ISP_GetFwFrameInfoSize ();
【参数】
无。
【返回值】
参数名称 | 描述 |
---|---|
>0 | 结构体大小 |
<0 | 失败,值为错误码 |
【需求】
- 头文件:spm_cam_isp.h
- 库文件:libisp.so