Intel IPP Integration Wrappers Developer Guide and Reference

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

iwiCopyMakeBorder

Syntax

typedef struct _IwiCopyMakeBorderParams
{
    int reserved;
} IwiCopyMakeBorderParams;
static IW_INLINE void iwiCopyMakeBorder_SetDefaultParams(
    IwiCopyMakeBorderParams *pParams
)
IW_DECL(IppStatus) iwiCopyMakeBorder(
    const IwiImage                 *pSrcImage,
    IwiImage                       *pDstImage,
    IppiBorderSize                  borderSize,
    IppiBorderType                  border,
    const Ipp64f                   *pBorderVal,
    const IwiCopyMakeBorderParams  *pAuxParams,
    const IwiTile                  *pTile
);

Parameters

pSrcImage

Pointer to the source image.

pDstImage

Pointer to the start of the destination image data.

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.

ippBorderInMem

Border is obtained from the source image pixels in memory.

ippBorderMirror

Border pixels are mirrored from the source image boundary pixels.

pBorderVal

Pointer to an array of values to assign to pixels of the constant border, one element of the array for each channel of the image. This parameter is applicable only to the ippBorderConst border type and can be NULL for other border types.

pAuxParams

Pointer to the auxiliary parameters structure. If NULL, default parameters are used.

pTile

Pointer to the IwiTile structure for tiling. If NULL, the whole image is processed.

Auxiliary Arguments

Argument Default Value Description

reserved

0

Reserved value.

Description

This function copies image data to the destination image and constructs a border of the specified size. The destination image must have enough memory for a border according to the inMemSize member.

This function supports the following features:

Feature Support
Internal threading No
Manual tiling Yes
IwiTile simple tiling Yes
IwiTile pipeline tiling Yes

Return Values

ippStsNotSupportedModeErr

The selected function mode 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 pTile) is NULL.

ippStsNoErr

No errors.