Function: dvpp_vpc_crop_async

Applicability

Product

Supported

Atlas 350 Accelerator Card

x

Atlas A3 training product/Atlas A3 inference product

Atlas A2 training product/Atlas A2 inference product

Atlas training product

Atlas inference product

Atlas 200I/500 A2 inference product

Description

Crops the input image based on a specified area and stores the cropped image to the output buffer as the output image. This API is asynchronous.

Prototype

  • C Prototype
    1
    aclError acldvppVpcCropAsync(acldvppChannelDesc *channelDesc, acldvppPicDesc *inputDesc, acldvppPicDesc *outputDesc, acldvppRoiConfig *cropArea, aclrtStream stream)
    
  • Python Function
    1
    ret = acl.media.dvpp_vpc_crop_async(dvpp_channel_desc, input_dvpp_pic_desc, output_dvpp_pic_desc, crop_area, stream)
    

Parameters

Parameter

Description

dvpp_channel_desc

Int, pointer address of the channel description. The value must be the same as that of dvpp_channel_desc specified when the acl.media.dvpp_create_channel API is called to create a channel.

input_dvpp_pic_desc

Int, pointer address of the input image information.
  • Call the acl.media.dvpp_create_pic_desc API to create the image description.
  • Call the acl.media.dvpp_set_pic_desc APIs to set image description parameters (such as the image format, width, and height).

output_dvpp_pic_desc

  • Int, pointer address of the output image information.

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

  • Call the acl.media.dvpp_create_pic_desc API to create the image description.
  • Call the acl.media.dvpp_set_pic_desc APIs to set the image description (including the buffer address, buffer size, image format, and image resolution).

crop_area

Int, pointer address of the position of the cropping area. Call acl.media.dvpp_create_roi_config to create an ROI configuration.

stream

Int, stream object.

Return Value

Return Value

Description

ret

Int, error code.

  • 0 indicates the success of task delivery.
  • Other values indicate the failure of task delivery.

Restrictions

Version

Restrictions

Atlas training product

  • Input image size and format:
    • When the input image size is in the range of [10 x 6, 4096 x 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 in the range of (4096, 8192], the supported formats are as follows:
      The following enum values of acldvppPixelFormat are supported:
      PIXEL_FORMAT_YUV_SEMIPLANAR_420 = 1,       // YUV420SP NV12 8bit   
      PIXEL_FORMAT_YVU_SEMIPLANAR_420 = 2,       // YUV420SP NV21 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 and buffer size of each image format, see Restrictions on Image Formats, Width and Height Alignment, and Buffers.
  • If the area of the output image is inconsistent with that of the crop_area, the image is resized again. The default scaling algorithm is the high-order filtering algorithm developed by Huawei.
  • Because the crop ROI obtained by calling this API is directly used as the output image, its size must not be greater than 4096 x 4096.

Atlas inference product

  • Input image size and format:
    • When the input image size is in the range of [10 x 6, 4096 x 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 in 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 and buffer size of each image format, see Restrictions on Image Formats, Width and Height Alignment, and Buffers.
  • If the area of the output image is inconsistent with that of the crop_area, the image is resized again. The default scaling algorithm is the widely used Bilinear algorithm.
  • Because the crop ROI obtained by calling this API is directly used as the output image, its size must not be greater than 4096 x 4096.

Atlas A2 training product/Atlas A2 inference product

Atlas 200I/500 A2 inference product

Atlas A3 training product/Atlas A3 inference product

  • Input and output image sizes:
    • Input image resolution: 10 x 6 to 8192 x 8192
    • Output image resolution: 10 x 6 to 4096 x 8192
  • For details about the restrictions on the image format, width and height alignment, and memory, see Restrictions on Image Formats, Width and Height Alignment, and Buffers.
  • If the area of the output image is inconsistent with that of the crop_area, the image is resized again. The default scaling algorithm is the widely used Bilinear algorithm.
  • Because the crop ROI obtained by calling this API is directly used as the output image, its size must not be greater than 4096 x 8192.