# 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-70020-50/overview.html) (IM SDK), or Video4Linux2 (V4L2) thereby freeing up the CPU and GPU for other operations. Note See [Hardware SoCs](https://docs.qualcomm.com/bundle/publicresource/topics/80-70020-115/soc.html) supported on Qualcomm^®^ Linux^®^. - Video software architecture consists of user space, kernel space, and hardware modules - User space consists of applications based on V4L2 or GStreamer - Kernel space consists of V4L2 framework and Adreno VPU driver - Hardware module consists of Adreno VPU firmware and hardware The following figure shows the modules present in the video software architecture: **Figure: High-level architecture of the video software** ## Next steps - [Enable video](https://docs.qualcomm.com/doc/80-70020-20/topic/getting-started.html#concept-ulb-npk-lcc) - [Explore video sample applications](https://docs.qualcomm.com/doc/80-70020-20/topic/interfaces.html#concept-bpj-kg3-bzb) Last Published: Jul 02, 2025 [Previous Topic Video documentation](https://docs.qualcomm.com/bundle/publicresource/80-70020-20/topics/video-home-page.md) [Next Topic Enable video](https://docs.qualcomm.com/bundle/publicresource/80-70020-20/topics/getting-started.md)