acldvppVpcBatchCropResizeMakeBorderAsync

Applicable Products

Product

Supported

Ascend 950PR / Ascend 950DT

x

Atlas A3 training products / Atlas A3 inference products

√

Atlas A2 training products / Atlas A2 inference products

√

Atlas 200I/500 A2 inference products

√

Atlas inference products

√

Atlas training products

x

Function

Crops one or more ROIs from one or more input images, resizes each cropped image, pads each resized image, and loads each padded image to the output buffer. This API is asynchronous.

Prototype

1
2
3
4
5
6
7
8
9
aclError acldvppVpcBatchCropResizeMakeBorderAsync(acldvppChannelDesc *channelDesc,
acldvppBatchPicDesc *srcBatchPicDescs,
uint32_t *roiNums,
uint32_t size,
acldvppBatchPicDesc *dstBatchPicDescs,
acldvppRoiConfig *cropAreas[],
acldvppBorderConfig *borderCfgs[],
acldvppResizeConfig *resizeConfig,
aclrtStream stream)

Parameters

Parameter

Input/Output

Description

channelDesc

Input

Pointer to the channel description.

Must be the same as the channelDesc argument passed to the acldvppCreateChannel call.

srcBatchPicDescs

Input

Pointer to the description of batch input images.

roiNums

Input

Pointer to the number of crop ROIs of each input image. The maximum number of crop ROIs is 256.

roiNums is an array. The sum of the elements is up to 256, which must be consistent with batchSize in the dstBatchPicDescs structure.

roiNums[0]+...+roiNums[size-1] <= 256

size

Input

Length of the roiNums array, up to 256.

dstBatchPicDescs

Input/Output

Pointer to the description of batch output images.

When dstBatchPicDescs is used as an input, the user needs to:

cropAreas

Input

Pointer array for the crop ROIs.

Call acldvppCreateRoiConfig to create an ROI configuration in advance.

The cropAreas or borderCfgs array length is the same as the value of batchSize in the dstBatchPicDescs structure.

borderCfgs

Input

Pointer array for the border configurations.

The elements in the borderCfgs array match those in cropAreas with ordering preserved.

The borderType member can only be set to BORDER_CONSTANT or BORDER_REPLICATE.

resizeConfig

Input

Pointer to the image resizing configuration.

Call acldvppCreateResizeConfig to create an image resizing configuration in advance.

The width or height of the resized image output by VPC is that of the output image minus the padding length.

stream

Input

Stream. For details, see aclrtStream.

Returns

0 on successful task delivery; else, failure. For details, see aclError.

Restrictions

Model

Restriction

Atlas inference products

  • Input image resolution and format:
    • When the input image resolution is within the range of [10 × 6, 4096 × 4096], the input image formats described in Restrictions on Image Formats, Width and Height Alignment, and Buffers are supported.
    • When the width or height of the input image is within the range of (4096, 8192], the supported formats are as follows:
      The following enum values of acldvppPixelFormat are supported:
      PIXEL_FORMAT_YUV_400 = 0,               // YUV400 8bit
      PIXEL_FORMAT_YUV_SEMIPLANAR_420 = 1,    // YUV420SP NV12 8bit   
      PIXEL_FORMAT_YVU_SEMIPLANAR_420 = 2,    // YUV420SP NV21 8bit 
      PIXEL_FORMAT_YUV_SEMIPLANAR_422 = 3,    // YUV422SP 8bit
      PIXEL_FORMAT_YVU_SEMIPLANAR_422 = 4,    // YVU422SP 8bit
      PIXEL_FORMAT_YUV_SEMIPLANAR_444 = 5,    // YUV444SP 8bit
      PIXEL_FORMAT_YVU_SEMIPLANAR_444 = 6,    // YVU444SP 8bit
      PIXEL_FORMAT_YUYV_PACKED_422 = 7,       // YUV422Packed YUYV 8bit
      PIXEL_FORMAT_UYVY_PACKED_422 = 8,       // YUV422Packed UYVY 8bit
      PIXEL_FORMAT_YVYU_PACKED_422 = 9,       // YUV422Packed YVYU 8bit
      PIXEL_FORMAT_VYUY_PACKED_422 = 10,      // YUV422Packed VYUY 8bit
  • For details about the output image resolution and format, see Restrictions on Image Formats, Width and Height Alignment, and Buffers.
  • For details about the restrictions on the width and height alignment, buffer size, and image format, see Restrictions on Image Formats, Width and Height Alignment, and Buffers.
  • When the input and output images are in ARGB8888, ABGR8888, RGBA8888, or BGRA8888 format, the A component value changes to 0 after resizing by calling this API.
  • For details about the API description and restrictions, see Restrictions on Image Cropping and Pasting.
  • Due to restrictions on downsampling of YUV images, note the following:
    • For the YUV420SP output format, even numbers are recommended for the border lengths at the top, bottom, left, and right of the image.
    • For the YUV422SP output format, even numbers are recommended for the border lengths at the left and right of the image.

Atlas A3 training products / Atlas A3 inference products

Atlas A2 training products / Atlas A2 inference products

Atlas 200I/500 A2 inference products

  • For details about the restrictions on the image resolution, image format, width and height alignment, and buffer size, see Restrictions on Image Formats, Width and Height Alignment, and Buffers.
  • When the input and output images are in ARGB8888, ABGR8888, RGBA8888, or BGRA8888 format, the A component value changes to 0 after resizing by calling this API.
  • For details about the API description and restrictions, see Restrictions on Image Cropping and Pasting.
  • Due to restrictions on downsampling of YUV images, note the following:
    • For the YUV420SP output format, even numbers are recommended for the border lengths at the top, bottom, left, and right of the image.
    • For the YUV422SP output format, even numbers are recommended for the border lengths at the left and right of the image.