Device Driver Interface (DDI)#
The SIPL Device Block Device Drivers Interface (DDI) is a set of C++ driver interface classes that third-party vendors must inherit and implement in their camera device drivers. SIPL orchestrates the high-level control of camera devices through DDI, and the device drivers in turn call on SIPL Device Block Camera Device Interface (CDI) APIs to perform hardware access operations.
Hardware-specific device drivers are dynamically loaded into the client process by SIPL according to the provided platform configuration (the data structure that specifies the constitution and topology of a camera system deployment). The decoupling of the DDI architecture from driver implementations allows for deeper customization by external vendors and customers, as well as better-defined modular and independent safety and security analyses apart from the core SIPL library code.