Qualcomm Robotics RB5/RB6 - Software Capture Subsystem
This section gives you an overview of the Software APIs available for video capture and custom camera sensor driver development in the Qualcomm Robotics RB5/RB6. The two ways are, the Camera Hal Interface (CHI) image processing driver and the V4L2 API, the latter option is only supported for UVC-compliant cameras.
Camera Hal Interface (CHI)[1]
The CHI API works as a low latency interface between the HAL3 Framework and the camera hardware. CHI offers a flexible fine-grained control over the camera pipeline and access to the several processing engines within the Qualcomm Spectra 480 ISP to allow for customizable use cases. The following are some of the customizable features from the Qualcomm Spectra camera driver you can take advantage from while using CHI:
- CHI override module: An addition ot he HAL3 Interface for explicit image processing pipeline generation, processing engine selection, such as ISP, DSP , and CPU and multi-frame control for any HAL3 camera application.
- CHI pipeline: To construct image processing pipelines consisting of internal camera driver stack Fixed-funtion ISP blocks, or extended nodes, invoked by an external API called native API, which drives features such as, OpenCL and FastCV.
- CHI node extensions: A feature that allows hooks to offload processing on the CPU, GPU or DSP.
- CHI stats overrides: A feature to override Qualcomm's default statistics algorithms, without the need for driver changes.
- CHI Sensor XML: A feature that allows device manufacturers or developers to create drivers, specifying parameters inside structure-defined XML files for specific hardware components in a camera, such as the camera module, the image sensor, actuators, EEPROM and flash.
V4L2 API[2]
Camera devices compliant with USB Device Class (UVC), can be connected via the USB ports available in the Qualcomm Robotics RB5/RB6 mainboard and a driver implementing the V4L2 API is required for them to function, for example, with a camera application that uses standard V4L2 IOCTLs to set properties on the camera or to get video frames.
References