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

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

ResizeLanczosInit

Initializes the specification structure for image resizing with the Lanczos interpolation method.

Syntax

IppStatus ippiResizeLanczosInit_<mod>(IppiSize srcSize, IppiSize dstSize, Ipp32u numLobes, IppiResizeSpec_32f* pSpec, Ipp8u* pInitBuf);

Supported values for mod:

8u

16u

16s

32f

Platform-aware functions

IppStatus ippiResizeLanczosInit_L(IppiSizeL srcSize, IppiSizeL dstSize, IppDataType dataType, Ipp32u numLobes, IppiResizeSpec* pSpec, Ipp8u* pInitBuf);

IppStatus ippiResizeLanczosInit_8u_L(IppiSizeL srcSize, IppiSizeL dstSize, Ipp32u numLobes, IppHintAlgorithm hint, IppiResizeSpec* pSpec, Ipp8u* pInitBuf);

Threading layer (TL) functions

IppStatus ippiResizeLanczosInit_LT(IppiSizeL srcSize, IppiSizeL dstSize, IppDataType dataType, Ipp32u numChannels, Ipp32u numLobes, IppiResizeSpec_LT* pSpec, Ipp8u* pInitBuf);

Include Files

ippi.h

Flavors with the _LT suffix: ippi_tl.h

Flavors with the _L suffix: ippi_l.h

Domain Dependencies

Flavors declared in ippi.h:

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

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

Flavors declared in ippi_tl.h:

Libraries: ippcore.lib, ippvm.lib, ipps.lib, ippi.lib, ippcore_tl.lib, ippi_tl.lib

Parameters

srcSize

Size, in pixels, of the source image.

dstSize

Size, in pixels, of the destination image.

dataType

Data type of the image. Supported values: ipp8u, ipp16u, ipp16s, ipp32f, ipp64f.

hint

Computation algorithm for processing Ipp8u data. Possible values are:

ippAlgHintNone

The hint is absent. Equivalent toippAlgHintFast.

ippAlgHintFast

A faster but less accurate algorithm.

ippAlgHintAccurate

A slower but more accurate algorithm.

numChannels

Number of image channels. Possible values are 1, 3, or 4.

numLobes

Parameter for Lanczos filters. Possible values are 2 or 3.

pSpec

Pointer to the specification structure for the resize filter.

pInitBuf

Pointer to the temporary buffer for the cubic filter initialization.

Description

This function initializes the specification structure for the resize algorithm with the Lanczos filter interpolation method. This method is based on the 2-lobed or 3-lobed Lanczos window function as an interpolation function, depending on the value of the numLobes parameter.

Before using this function, you need to calculate the size of the specification structure and the external buffer pInitBuf using the ippiResizeGetSize function for the corresponding flavor.

NOTE:

The function with the parameter hint allows users to choose between a faster but less accurate algorithm and a slower but more accurate one. Without the parameter hint this function initializes the specification structure for the faster but less accurate algorithm for Ipp8u data type.

Return Values

ippStsNoErr

Indicates no error.

ippStsNullPtrErr

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

ippStsResizeNoOperation

Indicates an error when width or height of the image is equal to zero.

ippStsNotSupportedModeErr

Indicates an error when the requested mode is not supported.

ippStsDataTypeErr

Indicates an error if dataType has an illegal value.

ippStsExceededSizeErr

Indicates an error If width or height of the source or destination image exceeds 33554431 (0x1FFFFFF) (only for platform-aware and TL functions).

ippStsSizeErr

Indicates an error in the following cases:

  • If width or height of the source or destination image is negative,

  • If the source image size is less than the Lanczos interpolation filter size: 4x4 for the 2-lobed Lanczos function, or 6x6 for the 3-lobed Lanczos function.

See Also