Intel® Integrated Performance Primitives
Deliberate problems developing high-performance vision, signal, security, and storage applications.

Error while FIR filtering

Anonymous38
Beginner
443 Views
Hi all,

I am using the filtering function ippsFIRInitAlloc32f_16s to allocate memory and the function ippsFIR32f_16s_ISfs
for filtering.
The memoery allocation is not giving me any error.
However the filtering is giving me an error ippStsContextMatchErr.

Could anyone tell me what this error means?

Thanks

Sharwari
0 Kudos
2 Replies
Vladimir_Dudnik
Employee
443 Views

Hi Sharwari,

could you please provide piece of code for us to see what can be wrong?

Regards,
Vladimir

0 Kudos
Anonymous38
Beginner
443 Views
Hi Vladimir,
Thanks for your mail.
The code looks like this. The function ippFIR32f is called multiple times.

static IppsFIRState32f_16s* ppState; //global variable

void ippFIR32f(Ipp16s *channelData,float *floatTaps) // channelData is the data to be filtered //and floatTaps is the pointer to the taps array
{

Ipp16s* pDlyLine=NULL;
IppStatus status;
int i,j;

status=ippsFIRInitAlloc32f_16s(&ppState,floatTaps,NTAPS,pDlyLine); //NTAPS= no.of taps
if(status!=ippStsNoErr){
printf(" ippsFIRInitAlloc32f_16s error=%d message=%s",status,ippGetStatusString(status));
}

for(j=0;j status=ippsFIR32f_16s_ISfs((channelData+j),FIRCHUNKSIZE,ppState,0);
if (status!=ippStsNoErr){
printf(" ippsFIR32f_16s_ISfs status=%d message=%s",status,ippGetStatusString(status));
}
}
ippsFIRFree32f_16s(ppState);

}

When I execute this code it is giving the error.
ippsFIR32f_16s_ISfs status=-17 message=Context parameter doesn't match the operation

Regards,
Sharwari

0 Kudos
Reply