- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
i have used ipp many years for other codecsbut have never used a codec whose sampling rate was 16000. is the ippsFIR64f_16s_Sfs routine the correct way to do this conversion?
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The problem came from ippsFIRMR function. For those who want to use the ippsFIRMR function, the following are two simple examples:
upsampling()
{
IppsFIRState32f_16s *pState;
Ipp32f pTaps[2] = { 1.0,1.0};
int tapsLen = 2;
int upFactor = 2;
int upPhase = 0;
int downFactor =1;
int downPhase = 0;
Ipp16s *pDlyLine = NULL;
Ipp16s pSrc
Ipp16s pDst[14] ;
int numIters = n;
IppStatus status;
status = ippsFIRMRInitAlloc32f_16s( &pState, pTaps, tapsLen, upFactor, upPhase,
downFactor, downPhase, pDlyLine);
if( ippStsNoErr != status) return -1;
status = ippsFIR32f_16s_Sfs( pSrc, pDst, numIters, pState,0);
if( ippStsNoErr != status) return -1;
status = ippsFIRFree32f_16s( pState );
if( ippStsNoErr != status) return -1;
}
downsampling()
{
IppsFIRState32f_16s *pState;
Ipp32f pTaps[1] = { 1.0};
int tapsLen = 1;
int upFactor = 1;
int upPhase = 0;
int downFactor =2;
int downPhase = 0;
Ipp16s *pDlyLine = NULL;
Ipp16s pSrc
Ipp16s pDst[4] ;
int numIters = n;
IppStatus status;
status = ippsFIRMRInitAlloc32f_16s( &pState, pTaps, tapsLen, upFactor, upPhase,
downFactor, downPhase, pDlyLine);
if( ippStsNoErr != status) return -1;
status = ippsFIR32f_16s_Sfs( pSrc, pDst, numIters, pState,0);
if( ippStsNoErr != status) return -1;
status = ippsFIRFree32f_16s( pState );
if( ippStsNoErr != status) return -1;
}
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page