Directly filters a single sample through the biquad IIR filter.
IppStatus ippsIIROne_BiQuadDirect_16s(Ipp16s src, Ipp16s* pDtsVal, const Ipp16s* pTaps, int numBq, Ipp32s* pDlyLine);
IppStatus ippsIIROne_BiQuadDirect_16s_I(Ipp16s* pSrcDtsVal, const Ipp16s* pTaps, int numBq, Ipp32s* pDlyLine);
src |
Input sample. |
pDstVal |
Pointer to the output filtered sample. |
pSrcDstVal |
Pointer to the input and output sample for in-place operation. |
pTaps |
Pointer to the array containing the taps. The number of elements in the array is 6*numBq. |
numBq |
Number of cascades of biquads. |
pDlyLine |
Pointer to the array containing the delay line values. The number of elements in the array is 2*numBq. |
The function ippsIIROne_BiQuadDirect is declared in the ipps.h file. This function filters a single sample src (pSrcDstVal for in-place flavors) through a biquad IIR filter and stores the result in pDstVal (pSrcDstVal). The number of cascades of biquads is defined by the numBq value. The 2*numBq-length array pDlyLine specifies the delay line values. The 6*numBq-length array pTaps specifies the taps arranged in the array as follows:
B0,0, B0,1, B0,2, A0,0, A0,1, A0,2; B1,0, B1,1, B1,2, A1,0, A1,1, A1,2; . . . AnumBq-1,2
Values An,0 ≥ 0, Bn,0 ≥ 0 hold the scale factors (and not divisors) for all the other taps of each section.
ippStsNoErr |
Indicates no error. |
ippStsMemAllocErr |
Indicates an error when no memory is allocated. |
ippStsNullPtrErr |
Indicates an error when one of the specified pointers is NULL. |
ippStsIIROrderErr |
Indicates an error when numBq is less than or equal to 0. |
ippStsScaleRangeErr |
Indicates an error when An,0 is less than 0. |
ippStsContextMatchErr |
Indicates an error when the state identifier is incorrect |
Copyright © 2000 - 2011, Intel Corporation. All rights reserved.