Developer Reference

  • 2020
  • 07/15/2020
  • Public Content
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
, and
ippCubic
.
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) .

Product and Performance Information

1

Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804