StarFive ISP Control Workflow
The ISP SDK is a high-level API and it encapsulates the functionality for interacting with the ISP, and provides a convenient method to handle and control ISP and sensor behaviors, such as:
- Video device management.
- Buffer allocations.
- Image shot management.
- Streaming control.
- IOCTL command.
- Module configuration.
- Adaptive control.
- Sensor control, etc.
Besides the SDK, StarFive also provides the application of stf_isp_ctrl, namely the StarFive ISP Control. The application invokes the ISP SDK API to make the ISP hardware keep processing every stream automatically. It uses the SDK library to operate the ISP mainly in the following steps:
- Fetch the statistical collection data.
- Pass the statistics data to registered controls for the adaptive control.
- Loop registered modules to convert the high-level parameters to ISP register values.
- Send these register values to kernel driver through the IOCTL command.
- Program the ISP.
- Return the statistics buffer to video device after completing the registers update.
The following diagram shows the standard StarFive ISP control workflow.
The following diagram shows the loop of all registered controls.
The following diagram shows the loop of all registered modules.