The Qualcomm® Adreno™ Video Processing Unit (VPU) is a hardware-accelerated video engine that supports video playback (decode) and recording (encode) for multiple video codecs. Applications can offload video operations to the Adreno VPU using the Qualcomm® Intelligent Multimedia SDK (IM SDK) or Video4Linux2 (V4L2), freeing up the CPU and GPU for other operations.
The video software architecture includes the following:
- User space: Consists of applications based on V4L2 or GStreamer
- Kernel space: Consists of the V4L2 framework and the Adreno VPU driver
- Hardware module: Consists of the Adreno VPU firmware and hardware
The following figure shows the modules in the video software architecture:

Figure: High-level architecture of the video software
Next steps