SPRADE7 November   2023 AM62A3 , AM62A3-Q1 , AM62A7 , AM62A7-Q1 , AM62P-Q1

 

  1.   1
  2.   Abstract
  3.   Trademarks
  4. 1Introduction
  5. 2AM62A Processor
  6. 3AM62A Video Processing Unit (VPU) Capability
  7. 4AM62A JPEG Encode Capability
    1. 4.1 Open Source GStreamer Overview
    2. 4.2 TI-Provided V4L2 Drivers for Multimedia
    3. 4.3 Hardware-Accelerated GStreamer Plugins
  8. 5Software Driver Architecture
  9. 6Performance Measurements
  10. 7Multimedia Use Cases
    1. 7.1 Smart AI Box
    2. 7.2 Surveillance
  11. 8Summary
  12. 9References

Software Driver Architecture

As discussed in the previous section, At the user space level, TI uses GStreamer-an opensource framework for multimedia applications. The Gstreamer library in-turn interfaces with a Video for Linux (V4L2 plugin) which handles all the details specific to the underlying hardware accelerators.

Specifically, for the VPU the GStreamer based V4L2 plugin interfaces with the V4L2 codec kernel driver interface. The V4L2 driver in turn communicates with the firmware running on the encoder/decoder via inter-processor communication (IPC). Similarly, the JPEG driver is also based on the Video4Linux 2 (V4L2) API and is responsible for configuring both the JPEG encoder hardware and for generation of JPEG image headers once compressed image is generated. The driver is implemented using V4L2's M2M framework which is a framework for memory-to-memory devices that take data from memory, do some processing and write out processed data back to memory. The overall software driver architecture for leveraging encode/decode and JPEG encode functionality is shown in Figure 5-1.

GUID-20231120-SS0I-LBV1-F2KP-KQMLBWVGHCSR-low.svg Figure 5-1 Software Driver Architecture Overview