Intel® Integrated Performance Primitives (Intel® IPP) Developer Guide and Reference

ID 790148
Date 10/31/2024
Public
Document Table of Contents

WarpAffineGetSize

Computes the size of the specification structure and the size of the external work buffer for the warp affine transform.

Syntax

IppStatus ippiWarpAffineGetSize(IppiSize srcSize, IppiSize dstSize, IppDataType dataType, const double coeffs[2][3], IppiInterpolationType interpolation, IppiWarpDirection direction, IppiBorderType borderType, int* pSpecSize, int* pInitBufSize);

Include Files

ippi.h

Flavors with the _L suffix: ippi_l.h

Domain Dependencies

Headers: ippcore.h, ippvm.h, ipps.h

Libraries: ippcore.lib, ippvm.lib, ipps.lib

Parameters

srcSize

Size of the source image, in pixels.

dstSize

Size of the destination image, in pixels.

dataType

Data type of the source and destination images. Supported values: ipp8u, ipp16u, ipp16s, ipp32f, and ipp64f.

coeffs

Coefficients for the affine transform.

interpolation

Interpolation method. Supported values: ippNearest, ippLinear, andippCubic.

direction

Transformation direction. Supported values:

ippWarpForward

Forward transformation

ippWarpBackward

Backward transformation

borderType

Type of border. Possible values are:

ippBorderConst

Values of all border pixels are set to constant.

ippBorderRepl

Border is replicated from the edge pixels.

ippBorderTransp

Outer pixels are not processed.

ippBorderInMem

Border is obtained from the source image pixels in memory.

Mixed borders are also supported. They can be obtained by the bitwise operation OR between ippBorderTransp and the ippBorderInMemTop, ippBorderInMemBottom, ippBorderInMemLeft, ippBorderInMemRight values.

pSpecSize

Pointer to the size, in bytes, of the specification structure.

pInitBufSize

Pointer to the size, in bytes, of the temporary buffer.

Description

This function computes the size of the specification structure and the external work buffer for the following functions, depending on the interpolation parameter: WarpAffineNearestInit, WarpAffineLinearInit, or WarpAffineCubicInit.

Return Values

ippStsNoErr

Indicates no error.

ippStsNullPtrErr

Indicates an error when one of the specified pointers is NULL.

ippStsNoOperation

Indicates a warning if width or height of any image is zero.

ippStsSizeErr

Indicates an error If the width or height of the source or destination image is less than, or equal to one.

ippStsDataTypeErr

Indicates an error when dataType has an illegal value.

ippStsWarpDirectionErr

Indicates an error when direction has an illegal value.

ippStsInterpolationErr

Indicates an error when interpolation has an illegal value.

ippStsNotSupportedModeErr

Indicates an error if the requested mode is not supported.

ippStsCoeffErr

Indicates an error when affine transformation is singular.

ippStsBorderErr

Indicates an error when borderType has an illegal value.

ippStsWrongIntersectQuad

Indicates a warning that no operation is performed if the transformed source image extended with borders has no intersection with the destination image.

ippStsExceededSizeErr

Indicates an error in the following cases:
  • If one of the calculated sizes exceeds maximum of the pSpecSize variable data type positive value (the size of one of the processed images is too large).

  • If width or height of the destination image or the source image exceeds 33554431 (0x1FFFFFF) .

See Also