The pipeline library uses a data structure to integrate the device, sensor, ISP context,
module, control, etc., and encapsulates many functions in this structure to operate the
devices, modules and controls.
You can use this library to manage the video devices, allocate video buffers, manage
captured images, control the ISP hardware, and handle the sensor behavior.
Pipeline Library Data Structure
API
The libISPC.a file is required for using the following API.
Table 1. STFLIB_ISP_GetVideoDevice
| Synopsis |
STFLIB_ISP_GetVideoDevice(
STF_VOID *pIspCtx,
EN_ISP_PORT_ID enIspPortId
);
|
| Description |
Gets a specific video device handle from the ISP
context. |
| Parameter |
- pIspCtx: ISP context handle
- enIspPortId: Video device ID
|
| Return |
STF_S8: Return positive identifier if the video device is
found or negative number otherwise. |
Table 2. STFLIB_ISP_GetVideoDevice2
| Synopsis |
STFLIB_ISP_GetVideoDevice2(
STF_VOID *pIspCtx,
CI_BUFFTYPE enBufferType
);
|
| Description |
Gets a specific video device handle from the ISP
context. |
| Parameter |
- pIspCtx: ISP context handle
- enBufferType: Video device buffer type
(CI_TYPE_UO … CI_TYPE_Y_HIST)
|
| Return |
STF_VOID *: Video device handle |
Table 3. STFLIB_ISP_GetModule
| Synopsis |
STFLIB_ISP_GetModule(
STF_VOID *pIspCtx,
EN_MODULE_ID enModuleId
);
|
| Description |
Gets a specific module handle from the ISP context. |
| Parameter |
- pIspCtx: ISP context handle
- enModuleId: Module ID
|
| Return |
STF_VOID *: Module handle |
Table 4. STFLIB_ISP_GetModuleName
| Synopsis |
STFLIB_ISP_GetModuleName(
STF_VOID *pIspCtx,
EN_MODULE_ID enModuleId
);
|
| Description |
Gets a specific module name from the ISP context. |
| Parameter |
- pIspCtx: ISP context handle
- enModuleId: Module ID
|
| Return |
STF_VOID *: Module handle |
Table 5. STFLIB_ISP_GetModuleRdmaBuf
| Synopsis |
STFLIB_ISP_GetModuleRdmaBuf(
STF_VOID *pIspCtx,
EN_MODULE_ID enModuleId
);
|
| Description |
Gets a specific module Rdma buffer from the ISP
context. |
| Parameter |
- pIspCtx: ISP context handle
- enModuleId: Module ID
|
| Return |
STF_VOID *: Rdma buffer pointer |
Table 6. STFLIB_ISP_GetModuleIspRdma
| Synopsis |
STFLIB_ISP_GetModuleIspRdma(
STF_VOID *pIspCtx,
EN_MODULE_ID enModuleId
);
|
| Description |
Gets a specific module IspRdma buffer from the ISP
context. |
| Parameter |
- pIspCtx: ISP context handle
- enModuleId: Module ID
|
| Return |
STF_VOID *: IspRdma handle |
Table 7. STFLIB_ISP_GetModuleRdma
| Synopsis |
STFLIB_ISP_GetModuleRdma(
STF_VOID *pIspCtx,
EN_MODULE_ID enModuleId
);
|
| Description |
Gets a specific module Rdma buffer from the ISP
context. |
| Parameter |
- pIspCtx: ISP context handle
- enModuleId: Module ID
|
| Return |
STF_VOID *: Rdma handle |
Table 8. STFLIB_ISP_GetModuleParam
| Synopsis |
STFLIB_ISP_GetModuleParam(
STF_VOID *pIspCtx,
EN_MODULE_ID enModuleId
);
|
| Description |
Gets a specific module parameter from the ISP
context. |
| Parameter |
- pIspCtx: ISP context handle
- enModuleId: Module ID
|
| Return |
STF_VOID *: Parameter handle |
Table 9. STFLIB_ISP_GetControl
| Synopsis |
STFLIB_ISP_GetControl(
STF_VOID *pIspCtx,
EN_CONTROL_ID enControlId
);
|
| Description |
Gets a specific control handle from the ISP context. |
| Parameter |
- pIspCtx: ISP context handle
- enControlId: Control ID
|
| Return |
STF_VOID *: Control handle |
Table 10. STFLIB_ISP_GetControlName
| Synopsis |
STFLIB_ISP_GetControlName(
STF_VOID *pIspCtx,
EN_CONTROL_ID enControlId
);
|
| Description |
Gets a specific control name from the ISP context. |
| Parameter |
- pIspCtx: ISP context handle
- enControlId: Control ID
|
| Return |
STF_VOID *: Control name |
Table 11. STFLIB_ISP_GetControlParam
| Synopsis |
STFLIB_ISP_GetControlParam(
STF_VOID *pIspCtx,
EN_CONTROL_ID enControlId
);
|
| Description |
Gets a specific control paramerer from the ISP
context. |
| Parameter |
- pIspCtx: ISP context handle
- enControlId: Control ID
|
| Return |
STF_VOID *: Parameter handle |
Table 12. STFLIB_ISP_IqTuningDebugInfoEnable
| Synopsis |
STFLIB_ISP_IqTuningDebugInfoEnable(
STF_VOID *pIspCtx,
STF_BOOL8 bEnable
);
|
| Description |
Enables or disables debug information print for the IQ tuning
command. |
| Parameter |
- pIspCtx: ISP context handle
- bEnable: Enables or disables debug
|
| Return |
- Success: 0
- Failure: Other values
|
Table 13. STFLIB_ISP_IsIqTuningDebugInfoEnable
| Synopsis |
STFLIB_ISP_IsIqTuningDebugInfoEnable(
STF_VOID *pIspCtx
);
|
| Description |
Returns the debug information print status of IQ
tuning. |
| Parameter |
- pIspCtx: ISP context handle
- bEnable: Enables or disables debug
|
| Return |
|
Table 14. STFLIB_ISP_PIPELINE_StructInitialize
| Synopsis |
STFLIB_ISP_PIPELINE_StructInitialize (
ST_PIPELINE *pstPipeline,
STF_U8 u8IspIdx,
CI_CONNECTION *pCIConnection,
ST_SENSOR *pstSensor,
EN_MEM_TYPE enMemType,
ST_SIZE stCaptureSize,
STF_BOOL8 bCheckSensorResolution
);
|
| Description |
Initializes pipeline structure. |
| Parameter |
- pstPipeline: Pipeline handle
- u8IspIdx: Indicates which ISP is used
- PCIConnection: Connection handle
- pstSensor: Sensor handle
- enMemType: Video buffer type
- stCaptureSize: Capture size
- bCherckSensorResolution: Check sensor output
size
|
| Return |
- Success: 0
- Failure: Other values
|
Table 15. STFLIB_ISP_StructUninitialize
| Synopsis |
STFLIB_ISP_PIPELINE_StructUninitialize(
ST_PIPELINE *pstPipeline
);
|
| Description |
Frees all allocated resources from the pipeline. |
| Parameter |
- pstPipeline: Pipeline handle
|
| Return |
- Success: 0
- Failure: Other values
|