# Video decode

Source: [https://docs.qualcomm.com/doc/80-88500-4/topic/132_Video_decode.html](https://docs.qualcomm.com/doc/80-88500-4/topic/132_Video_decode.html)

Qualcomm Robotics RB5 has a dedicated hardware block called the VPU for carrying out
    the hardware decoding and encoding. For video decoding, the video decode (qtic2vdec) GStreamer
    plugin is used.

The VPU supports up to 4K240/8K60 decoding and 4K120/8K30 encoding of video resolution. Native
      decode support for H.265 Main 10, H.265 Main, H.264 High, and MPEG-2 codecs are also
      available.

For more information on Gstreamer plugins, see <cite class="cite">QRB5165.LU.2.0 Qualcomm Intelligent
        Multimedia SDK (IM SDK) Reference</cite> (80-88500-50).

- The video decode (qtic2vdec) GStreamer plugin uses the V4L2 IOCTLs to decode the H.264/H.265
        bitstream. This plugin is mainly used in playback and transcode use cases.
- For the playback use cases, the output of decoder (graphic buffer malloc (GBM) buffers) are relayed to the display framework (Wayland/Weston) for rendering. The GBM buffers shared between the three components, video decode, waylandsink, and Weston compositor, are zero-copy.

Table : Adreno VPU 665 Codec Specification – Decoder

| Decoder standard | Supported profile<br><br>and level | Minimum/Maximum resolution,<br><br>maximum frame rate, and<br><br>maximum bit rate | Maximum supported resolution,<br><br>frame rate, and bit rate | Limitations/tools not supported |
| --- | --- | --- | --- | --- |
| HEVC | Main profile 8-bit, up to level 6.1 Main tier, High tier<br><br><br>              <br>Main10, Main10HDR10, Main10HDR10Plus, profile up to level 6.1 Main/High tier,<br>                HLG/HDR10/HDR10+ schemes | <ul class="ul" id="Video_decode_132__ul_aw3_zfk_cxb"><br>                <li class="li">Minimum resolution: 128 × 128</li><br><br>                <li class="li">Maximum resolution: 8192 × 4320 or 4320 × 8192</li><br><br>                <li class="li">Maximum frame rate: 960 fps</li><br><br>                <li class="li">Maximum bit rate: 160 Mbps</li><br><br>              </ul> | <ul class="ul" id="Video_decode_132__ul_bw3_zfk_cxb"><br>                <li class="li">1280 × 720 at 960 fps, 160 Mbps</li><br><br>                <li class="li">1920 × 1088 at 480 fps, 160 Mbps</li><br><br>                <li class="li">3840 × 2160 at 240 fps, 80 Mbps</li><br><br>                <li class="li">3840 × 2160 at 120 fps, 160 Mbps</li><br><br>                <li class="li">4096 × 2160 at 120 fps, 80 Mbps</li><br><br>                <li class="li">7680 × 4320 at 30 fps, 120 Mbps</li><br><br>                <li class="li">7680 × 4320 at 60 fps, 80 Mbps</li><br><br>                <li class="li">8192 × 4320 at 30 fps, 120 Mbps</li><br><br>                <li class="li">8192 × 4320 at 48 fps, 80 Mbps</li><br><br>              </ul> | Individual slice-based decoding |
| H.264 | Constrained baseline, Baseline, main, high, constrained high profiles; up to<br>              level 6.1 | <ul class="ul" id="Video_decode_132__ul_cw3_zfk_cxb"><br>                <li class="li">Minimum resolution: 128 × 128</li><br><br>                <li class="li">Maximum resolution: 8192 × 4320 or 4320 × 8192</li><br><br>                <li class="li">Maximum frame rate: 960 fps</li><br><br>                <li class="li">Maximum bit rate: 220 Mbps (CAVLC), 160 Mbps (CABAC)</li><br><br>              </ul> | <ul class="ul" id="Video_decode_132__ul_dw3_zfk_cxb"><br>                <li class="li">1280 × 720 at 960 fps, 160 Mbps</li><br><br>                <li class="li">1920 × 1088 at 480 fps, 160 Mbps</li><br><br>                <li class="li">3840 × 2160 at 240 fps, 80 Mbps</li><br><br>                <li class="li">3840 × 2160 at 120 fps, 160 Mbps</li><br><br>                <li class="li">4096 × 2160 at 120 fps, 80 Mbps</li><br><br>                <li class="li">7680 × 4320 at 60 fps, 80 Mbps</li><br><br>                <li class="li">7680 × 4320 at 30 fps, 120 Mbps</li><br><br>                <li class="li">8192 × 4320 at 48 fps, 160 Mbps</li><br><br>                <li class="li">8192 × 4320 at 30 fps, 120 Mbps</li><br><br>              </ul> | <ul class="ul" id="Video_decode_132__ul_ew3_zfk_cxb"><br>                <li class="li">Flexible macroblock order (FMO)</li><br><br>                <li class="li">Arbitrary slice ordering (ASO)</li><br><br>                <li class="li">Redundant slices (RS)</li><br><br>                <li class="li">Data partition</li><br><br>                <li class="li">Individual slice-based decoding</li><br><br>                <li class="li">Non-progressive-only content up to 1920 × 1088</li><br><br>              </ul> |
| VP9 | Profile 0; 8-bit, up to level 6.1<br><br><br>              <br>Profile2, Profile2HDR, Profile2HDR10Plus; 10-bit, up to level 6.1, HLG/PQ/HDR10+<br>                schemes | <ul class="ul" id="Video_decode_132__ul_fw3_zfk_cxb"><br>                <li class="li">Minimum resolution: 128 × 128</li><br><br>                <li class="li">Maximum resolution: 8192 × 4320 or 4320 × 8192</li><br><br>                <li class="li">Maximum frame rate: 960 fps</li><br><br>                <li class="li">Maximum bit rate: 100 Mbps</li><br><br>              </ul> | <ul class="ul" id="Video_decode_132__ul_gw3_zfk_cxb"><br>                <li class="li">1280 × 720 at 960 fps, 100 Mbps</li><br><br>                <li class="li">1920 × 1088 at 480 fps, 100 Mbps</li><br><br>                <li class="li">3840 × 2160 at 240 fps, 30 Mbps</li><br><br>                <li class="li">3840 × 2160 at 120 fps, 30 Mbps</li><br><br>                <li class="li">4096 × 2160 at 120 fps, 30 Mbps</li><br><br>                <li class="li">7680 × 4320 at 60 fps, 30 Mbps</li><br><br>                <li class="li">7680 × 4320 at 30 fps, 50 Mbps</li><br><br>                <li class="li">8192 × 4320 at 48 fps, 30 Mbps</li><br><br>                <li class="li">8192 × 4320 at 30 fps, 50 Mbps</li><br><br>              </ul> | Profile 2, 12-bit is not supported |
| VP8 | Profile 0 (Main), version 0, version 1, version 2, and version 3 | <ul class="ul" id="Video_decode_132__ul_hw3_zfk_cxb"><br>                <li class="li">Minimum resolution: 128 × 128</li><br><br>                <li class="li">Maximum resolution: 4096 × 2160 or 2160 × 4096</li><br><br>                <li class="li">Maximum frame rate: 120 fps</li><br><br>                <li class="li">Maximum bit rate: 100 Mbps</li><br><br>              </ul> | <ul class="ul" id="Video_decode_132__ul_iw3_zfk_cxb"><br>                <li class="li">1280 × 720 at 120 fps, 100 Mbps</li><br><br>                <li class="li">1920 × 1088 at 120 fps, 100 Mbps</li><br><br>                <li class="li">3840 × 2160 at 30 fps, 100 Mbps</li><br><br>                <li class="li">4096 × 2160 at 30 fps, 100 Mbps</li><br><br>              </ul> | None |
| MPEG-2 | Simple and main profile | <ul class="ul" id="Video_decode_132__ul_jw3_zfk_cxb"><br>                <li class="li">Minimum resolution: 128 × 128</li><br><br>                <li class="li">Maximum resolution: 1920 × 1088 or 1088 × 1920</li><br><br>                <li class="li">Maximum frame rate: 30 fps</li><br><br>                <li class="li">Maximum bit rate: 40 Mbps</li><br><br>              </ul> | 1920 × 1088 at 30 fps, 40 Mbps | <ul class="ul" id="Video_decode_132__ul_kw3_zfk_cxb"><br>                <li class="li">Multiresolution processing inside video decoder</li><br><br>                <li class="li">Range mapping information is returned as meta data for external<br>                  postprocessing</li><br><br>              </ul> |
| HEIF/HEIC(HEVC Image coding) | Main still picture profile, level 6.1, Main tier/High tier | <ul class="ul" id="Video_decode_132__ul_lw3_zfk_cxb"><br>                <li class="li">Minimum resolution: 128 × 128</li><br><br>                <li class="li">Maximum single frame resolution: 8192 × 4320 or 4320 × 8192</li><br><br>                <li class="li">Maximum tiled frame resolution: 16384 × 16384</li><br><br>              </ul> | <ul class="ul" id="Video_decode_132__ul_mw3_zfk_cxb"><br>                <li class="li">Single image: 8192 × 4320</li><br><br>                <li class="li">Tiled image: 16384 x 16384</li><br><br>              </ul> | 10-bit is not supported |

For non-UBWC capability,  consider a lesser value of the UBWC codec capabilities or consider the
      following values:

| Decoder standard | Color formats | Minimum/Maximum resolution and maximum frame rate | Supported resolution, frame rate, and bit rate |
| --- | --- | --- | --- |
| All Adreno VPU 665 decoders | <ul class="ul" id="Video_decode_132__ul_o5g_bgk_cxb"><br>                <li class="li">VENUS_NV12</li><br><br>                <li class="li">VENUS_P010</li><br><br>              </ul> | <ul class="ul" id="Video_decode_132__ul_p5g_bgk_cxb"><br>                <li class="li">Minimum resolution: 128 ×128</li><br><br>                <li class="li">Maximum resolution: 8192 ×4320 or 4320 ×8192</li><br><br>                <li class="li">Maximum frame rate: 480 fps</li><br><br>                <li class="li">Maximum bit rate: 80 Mbps</li><br><br>              </ul> | <ul class="ul" id="Video_decode_132__ul_q5g_bgk_cxb"><br>                <li class="li">1280 ×720 at 480 fps, 80 Mbps </li><br><br>                <li class="li">1920 ×1088 at 240 fps, 80 Mbps</li><br><br>                <li class="li">3840 ×2160 at 120 fps, 80 Mbps</li><br><br>                <li class="li">7680 ×4320 at 30 fps, 60 Mbps</li><br><br>              </ul> |

## Multi-instance decoder use case

The following are the maximum number of playback nonsecure instances, which are subject to memory constraint, session buffer counts, codec type, and session type. For more information, see platform media\_codecs.xml file.

- 1 × (8192 × 4320 at 60 fps). A second 8K instance is not supported even though the frame rate of the first instance is less than 60 fps.
- 4 × (4096 × 2160 at 30 fps)
- 8 x (3840 x 2160 at 30 fps)
- 24 x (1920 x 1088 at 30 fps)
- 24 x (1280 x 720 at 30 fps)

**Parent Topic:** [Video](https://docs.qualcomm.com/doc/80-88500-4/topic/130_Video.html)

Last Published: Aug 18, 2023

[Previous Topic
Video](https://docs.qualcomm.com/bundle/publicresource/80-88500-4/topics/130_Video.md) [Next Topic
Video encode](https://docs.qualcomm.com/bundle/publicresource/80-88500-4/topics/133_Video_encode.md)