Functions and Restrictions

For the Atlas training product , this function is not supported.

For the Atlas A2 training product / Atlas A2 inference product , this function is not supported.

For the Atlas A3 training product / Atlas A3 inference product , this function is not supported.

Description

Video Encoder (VENC) encodes YUV420SP NV12/NV21 8-bit images into H.264/H.265 video streams.

Single-process and multi-thread scenarios are not supported.

Resolution Restrictions

  • Input resolution range:

    Version

    Resolution Range

    Atlas inference product

    The width and height range from 128 to 4096. For H.264 streams, the maximum resolution must not exceed 4096 x 2304.

    Atlas 200I/500 A2 inference product

    114 x 114 to 8192 x 8192

  • Output stream resolution:

    VENC only encodes images and does not change the image resolution. Therefore, the resolution of the output image is the same as that of the input image.

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

To implement the VENC function:

  • Input buffer

    The acl.media.dvpp_malloc API needs to be called to allocate the input buffer on the device, and the acl.media.dvpp_free API needs to be called to free the input buffer. The lifecycle of the input buffer is managed by the user. For details about the buffer size, see the formula in the following table.

    For the Atlas inference product , you can also call acl.rt.malloc/acl.rt.free to allocate or free memory. When allocating memory, you are advised to allocate memory of the ACL_MEM_MALLOC_HUGE_FIRST type. Huge page buffer has better performance and therefore is preferred. The lifetime of the buffer is also managed by the user. For details about the buffer size, see the calculation formula in the following table.

  • Output buffer

    The output buffer is managed by the system.

For details about the input image format, see acldvppPixelFormat. For details about the width stride and height stride, see Terminology.

Table 1 Restrictions on the image format, width and height alignment, and buffer size

Input Format

Input Width and Height

Input Width Stride, Height Stride, and Buffer Size

Output Format

YUV420SP NV12 8-bit

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.

The height stride does not need to be configured.

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

  • H.264 BP/MP/HP
  • H.265 MP (slice streams only)

YUV420SP NV21 8-bit