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

ID 790148
Date 3/22/2024
Public
Document Table of Contents

WarpQuadGetSize

Computes the size of the specification structure and the size of the temporary buffer for warping an arbitrary quadrangle in the source image to the quadrangle in the destination image.

Syntax

IppStatus ippiWarpQuadGetSize(IppiSize srcSize, const double srcQuad[4][2], IppiSize dstSize, const double dstQuad[4][2], IppiWarpTransformType transform, IppDataType dataType, IppiInterpolationType interpolation, IppiBorderType borderType, int* pSpecSize, int* pInitBufSize);

Include Files

ippi.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.

srcQuad

Quadrangle in the source image.

dstSize

Size of the destination image, in pixels.

dstQuad

Quadrangle in the destination image.

transform

Type of the warp tranform. Supported values:

ippWarpAffine

Affine warping

ippWarpPerspective

Perspective warping

dataType

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

interpolation

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

borderType

Type of border. Supported values:

ippBorderTransp

Outer pixels are not processed.

ippBorderInMem

Border is obtained from the source image pixels in memory.

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 temporary buffer for the following functions, depending on the interpolation parameter: ippiWarpQuadNearestInit, ippiWarpQuadLinearInit, or ippiWarpQuadCubicInit.

Return Values

ippStsNoErr

Indicates no error.

ippStsNullPtrErr

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

ippStsSizeErr

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

  • If one of the calculated sizes exceeds the maximum positive 32-bit signed integer value. The size of the one of the processed images is too large.

ippStsDataTypeErr

Indicates an error when dataType has an illegal value.

ippStsWarpTransformErr

Indicates an error when transform has an illegal value.

ippStsInterpolationErr

Indicates an error when interpolation has an illegal value.

ippStsQuadErr

Indicates an error when any of the given quadrangles is non-convex or degenerates into a triangle, line, or point.

ippStsWrongIntersectQuad

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

ippStsAffineQuadChanged

Indicates a warning when coordinates of the fourth vertex of dstQuad are changed by the function, if transform is set to ippWarpAffine.

ippStsBorderErr

Indicates an error when borderType has an illegal value.

See Also