Functions and Restrictions
Function Description
Video Encoder (VENC) encodes YUV420SP NV12/NV21 8-bit images into H.264/H.265 video streams.
Resolution Restrictions
|
Model |
Resolution Range |
|---|---|
|
|
The width and height range from 128 to 4096. For H.264 streams, the maximum resolution must not exceed 4096 × 2304. |
|
|
114 × 114 to 8192 × 8192 |
Output stream resolution
VENC encodes images without changing the image resolution. Therefore, the output image resolution is the same as the input image resolution.
Restrictions on Stream/Image Formats, Width and Height Alignment, and Buffers
To implement the VENC function:
- Input buffer
Call acldvppMalloc or acldvppFree to allocate or free the input buffer on the device. The buffer lifetime is managed by the user. For details about the buffer size, see the formula in the following table.
For the
Atlas inference products , aclrtMalloc and aclrtFree can be called to allocate and free input buffer, respectively. During buffer allocation, you are advised to allocate buffers 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
|
Input Image Format |
Input Width and Height Alignment |
Input Width Stride, Height Stride, and Buffer Size |
Output Stream 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 × Height × 3/2 |
|
|
YUV420SP NV21 8-bit |
For details about the definition of the input image format, see acldvppPixelFormat. For details about the concepts such as width stride and height stride, see Terminology.