vpc_copy_make_border

Applicability

Product

Supported (√/x)

Atlas A3 training products/Atlas A3 inference products

Atlas A2 training products/Atlas A2 inference products

Atlas training products

x

Atlas inference products

Atlas 200I/500 A2 inference products

Function Usage

Makes the borders of the input image. This API is asynchronous.

Prototype

  • C Prototype
    1
    hi_s32 hi_mpi_vpc_copy_make_border(hi_vpc_chn chn, const hi_vpc_pic_info *source_pic, hi_vpc_pic_info *dest_pic, hi_vpc_make_border_info make_border_info, hi_u32 *task_id, hi_s32 milli_sec);
    
  • Python Function
    1
    task_id, ret = acl.himpi.vpc_copy_make_border(chn, source_pic, dest_pic, make_border_info, milli_sec)
    

Parameter Description

Parameter

Description

chn

Int, channel ID for image processing.

  • Atlas inference products: The value range of this parameter is [0, 256). The maximum number of channels is 256.
  • Atlas A2 training products/Atlas A2 inference products: The value range of this parameter is [0, 256). The maximum number of channels is 256.
  • Atlas 200I/500 A2 inference products: The value range of this parameter is [0, 128). The maximum number of channels is 128.
  • Atlas A3 training products/Atlas A3 inference products: The value range of this parameter is [0, 256). The maximum number of channels is 256.

source_pic

Dict, source image information. For details, see hi_vpc_pic_info. For details about related restrictions, see Restrictions.

dest_pic

Dict, destination image information. For details, see hi_vpc_pic_info.

make_border_info

Dict, information about border making. For details, see hi_vpc_make_border_info.

milli_sec

Int, timeout interval, in milliseconds.
  • -1: blocking mode.
  • 0: non-blocking mode.
  • > 0: timeout interval (timeout mode). The timeout interval varies with the operating system. The deviation is generally within a time slice of an operating system. For example, if the time slice of an operating system is 4 ms and the value of milli_sec is set to 1, the actual timeout interval ranges from 1 ms to 5 ms. When the CPU load is high, the timeout interval may fluctuate.

Return Value Description

Return Value

Description

task_id

Int, task ID, used to identify a task.

ret

Int, error code.

Restrictions

Version

Restriction

Atlas inference products

  • The input and output image resolutions must be in the range of (10 x 6, 4096 x 4096).
  • For details about the input and output image formats, width and height alignment, and buffer size, see Restrictions on Image Formats, Width and Height Alignment, and Buffers.

    The image width does not need to be a multiple of 16. However, the width stride must be a multiple of 16.

  • Due to restrictions on downsampling of YUV images, when the output image format is YUV420SP or YUV422SP, note the following:
    • For the YUV420SP output format, it is recommended that the border lengths at the top, bottom, left, and right of the image be even numbers.
    • For the output YUV422SP format, it is recommended that the border lengths at the left and right of the image be even numbers.

Atlas 200I/500 A2 inference products

Atlas A2 training products/Atlas A2 inference products

Atlas A3 training products/Atlas A3 inference products

  • The input and output image resolutions must be in the range of (10 x 6, 4096 x 8192).
  • For details about the input and output image formats, width and height alignment, and buffer size, see Restrictions on Image Formats, Width and Height Alignment, and Buffers.
  • The input and output image formats supported by this API vary according to the border type specified by make_border_info["border_type"].
    • For details about the supported input and output image formats when this parameter is set to HI_BORDER_CONSTANT or HI_BORDER_REPLICATE, see Restrictions on Image Formats, Width and Height Alignment, and Buffers.
    • When this parameter is set to HI_BORDER_REFLECT or HI_BORDER_REFLECT_101, the supported input and output image formats are as follows:
      HI_PIXEL_FORMAT_YUV_400 = 0,          // YUV400 8bit
      HI_PIXEL_FORMAT_YUYV_PACKED_422 = 7,  // YUV422Packed YUYV 8bit
      HI_PIXEL_FORMAT_UYVY_PACKED_422 = 8,  // YUV422Packed UYVY 8bit
      HI_PIXEL_FORMAT_YVYU_PACKED_422 = 9,  // YUV422Packed YVYU 8bit
      HI_PIXEL_FORMAT_VYUY_PACKED_422 = 10, // YUV422Packed VYUY 8bit
      HI_PIXEL_FORMAT_YUV_PACKED_444 = 11,  // YUV444 Package  8bit
      HI_PIXEL_FORMAT_RGB_888 = 12,         // RGB888
      HI_PIXEL_FORMAT_BGR_888 = 13,         // BGR888
      HI_PIXEL_FORMAT_ARGB_8888 = 14,       // ARGB8888       
      HI_PIXEL_FORMAT_ABGR_8888 = 15,       // ABGR8888
      HI_PIXEL_FORMAT_RGBA_8888 = 16,       // RGBA8888    
      HI_PIXEL_FORMAT_BGRA_8888 = 17,       // BGRA8888
      HI_PIXEL_FORMAT_YVU_PACKED_444 = 58,  // YVU444 Package 8bit
  • 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.
  • Due to restrictions on downsampling of YUV images, when the output image format is YUV420SP or YUV422SP, note the following:
    • For the YUV420SP output format, it is recommended that the border lengths at the top, bottom, left, and right of the image be even numbers.
    • For the output YUV422SP format, it is recommended that the border lengths at the left and right of the image be even numbers.