# Video architecture The video software stack consists of a client application that interacts with the Adreno VPU using the V4L2 framework. The following figure shows the video software architecture for the decoder and the encoder. The image on the left shows the decoder architecture, and the image on the right shows the encoder architecture. **Figure: Video decoder and encoder software architecture** The following table lists the components of the video software architecture: Table: Components of video software architecture | Component | Description | | --- | --- | | User application | Interacts with the FileSource for decoder and the Camera Source for encoder based on GStreamer/V4L2 | | V4L2 framework | | | Adreno VPU driver | | | Adreno VPU | Functions as a hardware accelerated engine that decodes and encodes a video with minimal power consumption | ## Video feature summary The Adreno VPU provides the following video decoding and encoding features: | Use case | Feature | QCS6490 | Qualcomm Dragonwing ^™^ IQ-8275/Qualcomm Dragonwing ^™^ IQ-9075 | | --- | --- | --- | --- | |
**Codecs** | H.264 (8‑bit decoder) | ✔ | ✔ | |
**Codecs** | HEVC (8‑bit decoder) | ✔ | ✔ | |
**Codecs** | HEVC (10‑bit decoder) | ✔ | ✔ | |
**Codecs** | VP9 (8‑bit decoder) | ✔ | ✔ | |
**Codecs** | VP9 (10‑bit decoder) | ✔ | ✔ | |
**Codecs** | AV1 (8‑bit decoder) | ✖ | ✔ | |
**Codecs** | AV1 (10‑bit decoder) | ✖ | ✔ | |
**Codecs** | H.264 (8‑bit encoder) | ✔ | ✔ | |
**Codecs** | HEVC (8‑bit encoder) | ✔ | ✔ | |
**Features** | [B-frame encode](https://docs.qualcomm.com/doc/80-70030-20/topic/feature-descriptions.html#beframeencode) | ✔ | ✔ | |
**Features** | [Encoder initial QP override](https://docs.qualcomm.com/doc/80-70030-20/topic/feature-descriptions.html#qpoverride) | ✔ | ✔ | |
**Features** | [Hierarchical-P encode](https://docs.qualcomm.com/doc/80-70030-20/topic/feature-descriptions.html#hierarchical) | ✔ | ✖ | |
**Features** | [Slice encode](https://docs.qualcomm.com/doc/80-70030-20/topic/feature-descriptions.html#sliceencode) | ✔ | ✖ | |
**Features** | [Intra-refresh](https://docs.qualcomm.com/doc/80-70030-20/topic/feature-descriptions.html#interarefresh) | ✔ | ✖ | |
**Features** | [Preprocessing](https://docs.qualcomm.com/doc/80-70030-20/topic/feature-descriptions.html#videoencoder) | ✔ | ✖ | |
**Features** | [Rate control](https://docs.qualcomm.com/doc/80-70030-20/topic/feature-descriptions.html#ratecontrol) | ✔ | ✔ | |
**Features** | [Long term reference (LTR)](https://docs.qualcomm.com/doc/80-70030-20/topic/feature-descriptions.html#longterm) | ✔ | ✖ | |
**Features** | [Dynamic properties](https://docs.qualcomm.com/doc/80-70030-20/topic/feature-descriptions.html#dynamicencoder) | ✔ | ✔ | | **Concurrency** | Multi-instance support | ✔ | ✔ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ## Video capabilities Tab QCS6490 Tab IQ-8275 Tab IQ-9075 The Adreno VPU on QCS6490 is a sixth-generation video processing unit that comes with the following capabilities: > > > Table: Adreno VPU features and capabilities for QCS6490 > > > | Feature | Capability | > | --- | --- | > | Video decode | Up to 4096 × 2160 at 60 fps for H.264/HEVC/VP9 | > | Video encode | Up to 4096 × 2160 at 30 fps for H.264/HEVC | > | Multichannel capability | | > | High frame rate capture | 1280 × 720 at 480 fps or 1920 × 1088 at 240 fps | > | Maximum macroblocks per second | 2088960


The maximum macroblocks per second is calculated using the following formula:


(aligned width × aligned height × fps)/(macroblock size)


For example, (4096 × 2176 × 60)/256=2088960 | > > > > For more information on the decode and encode capabilities of QCS6490, see [Advanced video specifications](https://docs.qualcomm.com/doc/80-70030-20/topic/feature-descriptions.html#qcs6490). The Adreno VPU on Dragonwing IQ-8275 is a seventh-generation video processing unit that comes with the following capabilities: > > > Table: Adreno VPU features and capabilities for IQ-8275 > > > | **Feature** | **Capability** | > | --- | --- | > | Video decode | | > | Video encode | Up to 4096 × 2160 at 60 fps for H.264/HEVC | > | Multichannel capability | | > | High framerate capture | 1920 × 1088 at 240 fps or 3840 × 2160 at 60 fps | > | Maximum macroblocks per second | 3916800


The maximum macroblocks per second is calculated using the following formula:


(aligned width × aligned height × fps)/(macroblock size)


For example, (3840 × 2176 × 120)/256 = 3916800 | > > > > For more information on the decode and encode capabilities of Dragonwing IQ-8275, see [Advanced video specifications](https://docs.qualcomm.com/doc/80-70030-20/topic/feature-descriptions.html#qcs8275). The Adreno VPU on Dragonwing IQ-9075 is a seventh-generation video processing unit that comes with the following capabilities: > > > Table: Adreno VPU features and capabilities for IQ-9075 > > > | Feature | Capability | > | --- | --- | > | Video decode | | > | Video encode | Up to 7680 × 4320 at 30 fps for H.264/HEVC | > | Multichannel capability | | > | High frame rate capture | 1920 × 1088 at 480 fps or 3840 × 2160 at 120 fps | > | Maximum macroblocks per second | 7833600



>
>
> The maximum macroblocks per second is calculated using the following formula:
>
>
> (aligned width × aligned height × fps)/(macroblock size)
>
>
> For example, (3840 × 2176 × 240)/256 = 7833600 | > > > > For more information on the decode and encode capabilities of Dragonwing IQ-9075, see [Advanced video specifications](https://docs.qualcomm.com/doc/80-70030-20/topic/feature-descriptions.html#qcs9075). ## Next steps - [Advanced video specifications](https://docs.qualcomm.com/doc/80-70030-20/topic/feature-descriptions.html#section-tmv-51x-k1c-eputla-02-14-24-1638-44-607) Last Published: Jun 26, 2026 [Previous Topic Enable video](https://docs.qualcomm.com/bundle/publicresource/80-70030-20/topics/getting-started.md) [Next Topic Build video source components](https://docs.qualcomm.com/bundle/publicresource/80-70030-20/topics/software.md) Source: [https://docs.qualcomm.com/doc/80-70030-20/topic/architecture.html](https://docs.qualcomm.com/doc/80-70030-20/topic/architecture.html)