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

ID 790148
Date 6/24/2024
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

FIRMRGetSize

Computes the size of the context structure and work buffer for multi-rate FIR filtering.

Syntax

Case 1: Operation on a signal that has the same data type as the coefficients

IppStatus ippsFIRMRGetSize(int tapsLen, int upFactor, int downFactor, IppDataType tapsType, int* pSpecSize, int* pBufSize);

Case 2: Operation on a signal that has a data type different from the data type of the coefficients

IppStatus ippsFIRMRGetSize32f_32fc(int tapsLen, int upFactor, int downFactor, int* pSpecSize, int* pBufSize);

Include Files

ipps.h

Domain Dependencies

Headers: ippcore.h, ippvm.h

Libraries: ippcore.lib, ippvm.lib

Parameters

tapsLen

Length of the FIR filter.

upFactor

Multi-rate up factor.

downFactor

Multi-rate down factor.

tapsType

Data type of the coefficients. Supported values are Ipp32f, Ipp32fc, Ipp64f, and Ipp64fc.

pSpecSize

Pointer to the size of the FIR specification structure.

pBufSize

Pointer to the size of the work buffer required for FIR filtering.

Description

This function computes the following:

  • Size of the internal specification structure for multi-rate FIR filtering. The structure can be shared between all threads of the application.
  • Size of the work buffer for each thread.

For an example on how to use this function, refer to the example provided with the FIRMR function description.

Return Values

ippStsNoErr

Indicates no error.

ippStsNullPtrErr

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

ippStsSizeErr

Indicates an error when the tapsLen value is less than or equal to zero.

ippStsDataTypeErr

Indicates an error when the specified taps type is not supported.

ippStsFIRMRFactorErr

Indicates an error when the upFactor value or the downFactor value is less than zero.

ippStsExceededSizeErr

Indicates an error when the size of the work buffer exceeds the maximum of the data type positive value pointed by *int pBufSize.

See Also