VDEC Functions and Restrictions

Function Description

Video Decoder (VDEC) decodes videos. After internal VPC processing, VDEC outputs images in specified formats. For details, see Restrictions on Stream/Image Formats, Width and Height Alignment, and Buffers.

Resolution Restrictions

Input stream resolution:

Model

Resolution Range

Atlas A3 training product / Atlas A3 inference product

Atlas A2 training product / Atlas A2 inference product

Atlas inference product

Atlas training product

128 x 128 to 4096 x 4096

Atlas 200I/500 A2 inference product

H.264 input streams: 128 x 128 to 8192 x 8192

H.265 input streams: 128 x 128 to 5400 x 8192

Output image resolution:

Model

Resolution Range

Atlas A3 training product / Atlas A3 inference product

Atlas A2 training product / Atlas A2 inference product

Atlas inference product

Atlas training product

10 x 6 to 4096 x 4096

Atlas 200I/500 A2 inference product

The maximum resolution of the output image is 8192 x 8192. When the width of the input stream is less than or equal to 4096, the minimum resolution of the output image is 10 x 6. Otherwise, the minimum resolution of the output image is 128 x 128.

Restrictions on Stream/Image Formats, Width and Height Alignment, and Buffers

In terms of the VDEC function, the input/output buffer lifetime is managed by the user.

  • Input buffer

    Call the acldvppMalloc/ acldvppFree or aclrtMalloc/ aclrtFree interface to allocate or release the memory. The memory size is the size of the memory occupied by the actual input streams.

    The memory allocated by calling acldvppMalloc is the dedicated memory for media data processing. However, the address space of the dedicated memory is limited. If the memory planning is concerned or the memory resources are limited, you are advised to call aclrtMalloc to allocate the memory when using the VDEC function.

  • Output buffer:

    Call the acldvppMalloc API to allocate the output buffer on the device, and call the acldvppFree API to free the output buffer. For details about the buffer size, see the formula in the following table.

During VDEC video decoding, the input streams support the following formats:
  • H.264 BP/MP/HP level 5.1 YUV420 streams (Annex-B raw video streams only)
  • H.265 8-/10-bit level 5.1 YUV420 streams (Annex-B raw video streams only)

During VDEC video decoding, the output image format, width and height alignment requirements, and memory size requirements vary according to product models, as described in the following table. For details about the definition of the output image format, see acldvppPixelFormat. For details about the concepts such as width stride and height stride, see Terminology.

Table 1 Restrictions on the stream/image format, width and height alignment, and buffer size of Atlas A3 training product / Atlas A3 inference product , Atlas A2 training product / Atlas A2 inference product , and Atlas 200I/500 A2 inference product

Output Format

Output Width and Height

Output Width Stride, Height Stride, and Buffer Size

YUV420SP NV12 8bit

YUV420SP NV21 8bit

Width: Must be a multiple of 2.

Height: Must be a multiple of 2.

Width stride: No alignment requirement. The value is the same as width and ranges from 10 to 24576.

Height stride: No alignment requirements. The value is the same as the height and ranges from 6 to 24576.

Buffer size (in bytes) ≥ Width stride x Height stride x 3/2

RGB888

BGR888

No alignment requirement.

Width stride = Width x 3. The value ranges from 30 to 24576.

Height stride: No alignment requirement. The value ranges from 6 to 24576.

Buffer size (in bytes) ≥ Width stride x Height stride

Table 2 Atlas training product Restrictions on the stream/image format, width and height alignment, and buffer size

Output Format

Output Width and Height

Output Width Stride, Height Stride, and Buffer Size

YUV420SP NV12 8bit

YUV420SP NV21 8bit

Width: Must be a multiple of 2.

Height: Must be a multiple of 2.

Width stride: Round up the width to the nearest multiple of 16. If the configured width of the output image is less than 16, the minimum width stride must be at least 32.

Height stride: Round up the height to the nearest multiple of 2.

Buffer size (in bytes) ≥ Width stride x Height stride x 3/2

Table 3 Atlas inference product Restrictions on the stream/image format, width and height alignment, and buffer size

Output Format

Output Width and Height

Output Width Stride, Height Stride, and Buffer Size

YUV420SP NV12 8bit

YUV420SP NV21 8bit

Width: Must be a multiple of 2.

Height: Must be a multiple of 2.

Width stride: Round up the width to the nearest multiple of 16. If the configured width of the output image is less than 16, the minimum width stride must be at least 32.

Height stride: Round up the height to the nearest multiple of 2.

Buffer size (in bytes) ≥ Width stride x Height stride x 3/2

RGB888

BGR888

No alignment requirement.

Width stride: Round up the width to the nearest multiple of 16 and multiply the result by 3.

Height stride: No alignment requirement.

Buffer size (in bytes) ≥ Width stride x Height stride

Other Restrictions

  • VDEC decodes a stream fed in frame mode.
  • Bad frames or frame loss in the stream may cause VDEC frame loss.
  • VDEC decodes only the H.264 8-bit streams encoded in interlaced mode.