I'm trying to resample 44.1kHz 16 bit stereo to 48kHz 16 bit stereo with Intel IPP.
Since I'm new in IPP world, after a few days of reading tons of documentation, I'm nowhere.
What I have is this:
// imagine that we call this only once somewhere during the 'initialization'.
Ipp16s * pSourceBuffer = ippsMalloc_16s( 16 * 1024 ); Ipp64f * pTaps = ippsMalloc_64f( 8192 ); // is 8192 too much??? IppStatus result = ippsFIRGenLowpass_64f( 0.2, pTaps, 8192, ippWinHann, ippTrue ); Ipp16s * pDest = ippsMalloc_16s( 2 * samplesToConvert / 3 );
I'm not sure that above lines are 100% correct for my needs.
I tried using ippsFIRMR32s_Direct_16s_Sfs(), but the 'pTaps' parameter should be of 'Ipp32s *' type, and I have 'Ipp64f*'.
There is also an ippsFIRMRInitAlloc64f_32s() function, but I still can't figure out what to do next with the 'IppsFIRState64f_32s *'.
Some pseudo code would help a lot (if possible).
Basically, I'm trying to create a code that will resample incoming buffers. From a PCM file for example. The point is to get fast resampling with high quality.