Intel IPP Integration Wrappers Developer Guide and Reference

ID 751823
Date 1/18/2023
Public
Document Table of Contents

iwiCopyMakeBorder

Syntax

class IwiCopyMakeBorderParams: public ::IwiCopyMakeBorderParams
{
public:
    IW_BASE_PARAMS_CONSTRUCTORS(IwiCopyMakeBorderParams, iwiCopyMakeBorder_SetDefaultParams)
    IwiCopyMakeBorderParams() {}
};

IW_DECL_CPP(IppStatus) iwiCopyMakeBorder(
    const IwiImage                 &srcImage,
    IwiImage                       &dstImage,
    IwiBorderSize                   borderSize,
    IwiBorderType                   border,
    const IwiCopyMakeBorderParams  &auxParams   = IwiCopyMakeBorderParams(),
    const IwiTile                  &tile        = IwiTile()
);

Parameters

srcImage

Reference to the source image.

dstImage

Reference to the destination image. The image must start inside the border.

borderSize

Size of the border to reconstruct.

border

Extrapolation algorithm for out of image pixels processing. Supported values:

ippBorderConst

Values of all border pixels are set to a constant.

ippBorderRepl

Border is replicated from the edge pixels.

ippBorderMirror

Border pixels are mirrored from the source image boundary pixels.

ippBorderInMem

Border is obtained from the source image pixels in memory.

auxParams

Reference to the auxiliary parameters structure.

tile

Reference to the IwiTile object for tiling. By default, no tiling is used.

Description

This function copies image data to the destination image and constructs a border of specified size. The destination image must have enough memory for a border according to the inMemSize member. For more information, refer to the iwiCopyMakeBorder function description in C Reference.

Return Values

ippStsNoErr

No errors.

Exception Values

ippStsNotSupportedModeErr

Specified combination of parameters' values is not supported.

ippStsSizeErr

  • Values of the size fields are illegal.

  • border.borderTop or border.borderLeft is greater than the corresponding inMemSize value of the destination image.

  • dst_width + dst_inMemSize.borderRight < min_width + border.borderRight

  • dst_height + dst_inMemSize.borderBottom < min_height + border.borderBottom

ippStsNullPtrErr

At least one of the pointers (except tile) is NULL.