# Video overview The Qualcomm^®^ Adreno^™^ Video Processing Unit (VPU) is a hardware-accelerated video engine that supports video playback (decode) and recording (encode) for various video codecs. Applications can offload video operations to the Adreno VPU using the [Qualcomm® Intelligent Multimedia SDK](https://docs.qualcomm.com/bundle/publicresource/topics/80-70030-50/qimsdk_landing_page.html) (IM SDK) or Video4Linux2 (V4L2), freeing up the CPU and GPU for other operations. Note See [Hardware SoCs](https://docs.qualcomm.com/bundle/publicresource/topics/80-70030-115/soc.html) supported on Qualcomm^®^ Linux^®^. ## Video components 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 - [Enable video](https://docs.qualcomm.com/doc/80-70030-20/topic/getting-started.html#concept-ulb-npk-lcc) - [Explore video sample applications](https://docs.qualcomm.com/doc/80-70030-20/topic/interfaces.html#concept-bpj-kg3-bzb) Last Published: Jun 26, 2026 [Previous Topic Video documentation](https://docs.qualcomm.com/bundle/publicresource/80-70030-20/topics/video-home-page.md) [Next Topic Enable video](https://docs.qualcomm.com/bundle/publicresource/80-70030-20/topics/getting-started.md)