Functions and Restrictions

Function Description

JPEG Encoder (JPEGE) encodes YUV images into JPEG image files, for example, .jpg files.

Resolution Restrictions

  • Input resolution range:

    Model

    Resolution Range

    Atlas 200/300/500 Inference Product

    Atlas Training Series Product

    32 x 32 to 8192 x 8192

  • Output resolution range:

    JPEGE 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 Image Formats, Width and Height Alignment, and Buffers

During JPEGE image encoding, acldvppMalloc and acldvppFree are called to allocate and free the input and output buffers on the device. The buffer lifetime is managed by the user.

  • For details about the input buffer size, see the formula in the following table.
  • The output buffer size is the actual size of space occupied by the encoded image, and can be predicted by calling acldvppJpegPredictEncSize.

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.

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 or any multiple of 16, for example, 128 (which offers better performance).

The height stride supports the following configurations:

  • Set it to the height of the input image.
  • Round up the input height to the nearest multiple of 16 (at least 32),

    for example, when the JPEGE input comes from the JPEGD output whose height is rounded up to the nearest multiple of 16.

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

JPEG, for example, .jpg.

Only Huffman coding is supported. Arithmetic coding and progressive coding are not supported.

YUV420SP NV21 8-bit

YUV422 Packed YUYV 8-bit

Width: Must be a multiple of 2.

Height: No alignment requirement.

Width stride: Double the width and then round up the result to the nearest multiple of 16.

The height stride supports the following configurations:

  • Set it to the height of the input image.
  • Round up the input height to the nearest multiple of 16 (at least 32),

    for example, when the JPEGE input comes from the JPEGD output whose height is rounded up to the nearest multiple of 16.

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

YUV422 Packed UYVY 8-bit

YUV422 Packed YVYU 8-bit

YUV422 Packed VYUY 8-bit