Intel® Integrated Performance Primitives

How to use IIR functions for variable filters with multiple states?


I'm currently investigating IPP 8 and have a few problems with the biquad IIR support:

- ippsIIRInitAlloc is now deprecated, fine by me, we can allocate manually. However I need to be able to changes the IIR taps WITHOUT changing the filter state. ippsIIRInit seems to destroy the delay line, which makes it unusable. So the only way to change taps without using deprecated functions is to copy the delay line and set it back with ippsIIRInit, which is unacceptable. So what am I missing?

1D Box Blur


I want to impelment fast 1D Box Blur on an image.
I saw IPP's function 'SumWindowColumns' and 'SumWindowRow':

I was wondering, do they have efficient implementation which is independent of the Kernel Size?
This could be done using Integral Images or the trick to add a pixel and remove one.

ippsIIRGetStateSize returns HUGE numbers


I'm currently checking IPP 8 and it is saying that many functions related to memory allocation are deprecated. I understand the point, so I'm checking the ways to get the memory allocations done. 


int sz;
ippsIIRGetStateSize_BiQuad_32f(1, &sz); => 4576!!!
ippsIIRGetStateSize_BiQuad_64f(1, &sz); => 8560!!!
ippsIIRGetStateSize64f_BiQuad_32f(1, &sz); => 16752!!!

64 bit equivalent of ippiResizeCubic_32f_C1R and ippiResizeCubicInit_32f

I am modifying an existing code that  changes an image size using interpolation with two-parameter cubic filters. Current implementation is in 32 bits. I am implementing it for 64 bit. 32 bit implementation use methods ippiResizeCubic_32f_C1R, ippiResizeCubicInit_32f for resizing. I need their 64 bit equivalents. But documentation in links and shows that their 64 bit is not available.

Where are the IPP DLLs in w_inde_2015.1.016.exe


I just installed the evaluation of IPP from INDE, and I can see the .h files,  and the .lib files, but I cannot see the .DLL files.

I searched, and they do not appear on my disk.

Are they installed with the evaluation?

How do I get the IPP DLL files for evaluation?

Have the DLL files been removed from 8.x ? Where is this documented?

Thanks in advance.

Here is the heirarchy I see:

why ippsMalloc_64f function change default value of float.epsilon?

I have a C++ project  using Intel Compile, this project is called A.
This A project have 2 functions ( X& Y). Output of A project is dll and export 2 functions.
I have another C# project which imports 2 functions (X&Y) of A project, the project is called B.
The B project calls X function, doesn't call Y function. 

ippsResamplePolyphase sample usage quesiton


I need to resample my signal from 44100 hZ to 8000 hZ with similar method that Matlab does. As Matlab's help description says that resample method uses polyphase implementation:

 resample  Change the sampling rate of a signal.
    Y = resample(X,P,Q) resamples the sequence in vector X at P/Q times
    the original sample rate using a polyphase implementation.  Y is P/Q
    times the length of X (or the ceiling of this if P/Q is not an integer).  
    P and Q must be positive integers.

Extra data in SPS?

I'm working with a DynaColor H264 camera (using IPP to write a decoder). I'm playing games with the max_frame_buffering value to minimize latency. This requires that I unpack and repack the SPS. But (unless I'm making a dumb mistake) there seem to be 2 extra values at the end of this camera's SPS. I get 25 bytes (the '54' is the last one).

unsigned char src[256] = {

0x4d, 0x60, 0x1f, 0x8d, 0x68, 0x0c, 0x81, 0x37, 0xe5, 0xc0,

0x5b, 0x20, 0x00, 0x00, 0x03, 0x00, 0x20, 0x00, 0x00, 0x03,

0x00, 0xa1, 0xe2, 0x84, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00


Difficulty understanding FFT documentation

I'm having a hard time understanding the docs for implementing an FFT , and some other minor issues.

1) when I look at the intel folder in my build environment, I see several dynamic libraries. Which one is necessary to implement the FFT

2) Also not clear if I should be using mkl instead of ipp for FFT

3) In trying to follow the example for using the FFT here :

ippi function is undefined

I am trying to use the function ippiFilterBoxBorder and i keep getting a compiler error of
Error    4    error : identifier "y8_ippiFilterBoxBorder_16u_C1R" is undefined   
Error    3    error : identifier "y8_ippiFilterBoxBorderGetBufferSize" is undefined

If i change the FilterBoxBorder function to FilterBox (which is deprecated) everything compiles and runs with no issue.
I am using the latest c++ Intel compiler on windows

Any idea what am i doing wrong?


订阅 Intel® Integrated Performance Primitives