Processes mid-side (MS) stereo for pair channels in-place.
IppStatus ippsDecodeMsStereo_AAC_32s_I(Ipp32s* pSrcDstL, Ipp32s* pSrcDstR, int msMaskPres, const Ipp8u* pMsUsed, Ipp8u* pSfbCb, int numWinGrp, const int* pWinGrpLen, int maxSfb, int samplingRateIndex, int winLen);
pSrcDstL |
On input, pointer to left channel data in Q13.18 format. For short block, the coefficients are interleaved by scale factor window bands in each group. Buffer length must be more than or equal to 1024. |
On output, pointer to left channel data in Q13.18 format. For short blocks, the coefficients are interleaved by scale factor window bands in each group. Buffer length must be more than or equal to 1024. | |
pSrcDstR |
On input, pointer to right channel data in Q13.18 format. For short block, the coefficients are interleaved by scale factor window bands in each group. Buffer length must be more than or equal to 1024. |
On output, pointer to right channel data in Q13.18 format. For short blocks, the coefficients are interleaved by scale factor window bands in each group. Buffer length must be more than or equal to 1024. | |
msMaskPres |
MS stereo mask flag: 0 - MS off; 1 - MS on; 2 - MS all bands on. |
pMsUsed |
Pointer to the MS Stereo flag buffer. Buffer length must be more than or equal to 120. |
pSfbCb |
Pointer to the scale factor band codebook. |
If invert_intensity (group, sfb) = -1, and if *pSfbCb = INTERITY_HCB, let *pSfbCb = INTERITY_HCB2. | |
If *pSfbCb = INTERITY_HCB2, let *pSfbCb = INTERITY_HCB. | |
Buffer length must be more than or equal to 120. Store maxSfb elements for each group. There is no space between the sequence groups. | |
numWinGrp |
Group number. |
pWinGrpLen |
Pointer to the number of windows in each group. Buffer length must be more than or equal to 8. |
maxSfb |
Maximal scale factor bands number for the current block. |
samplingRateIndex |
Sampling rate index. Valid within [0, 11]. See Table 6.5 of ISO/IEC 13818 - 7: 1997. |
winLen |
Data number in one window. |
This function is declared in the ippac.h file. The function performs mid-side (MS) stereo process for pair channels and at the same time runs the invert_intensity(group, sfb) function and stores the values in the pSfbCb buffer.
In the case when MS stereo flag is on, the operation is performed according the following formulas:
pSrcDstL'[i] = pSrcDstL[i] + pSrcDstR[i] ;
pSrcDstR'[i] = pSrcDstL[i] - pSrcDstR[i] ;
See clause 12 of ISO/IEC 13818 - 7: 1997.
ippStsNoErr |
Indicates no error. |
ippStsNullPtrErr |
Indicates an error when at least one of the specified pointers is NULL. |
ippStsAacMaxSfbErr |
Indicates an error when the coefficient index calculated from samplingFreqIndex and maxSfb exceeds winLen in each window. |
ippStsAacSamplRateIdxErr |
Indicates an error when pChanInfor-> samplingRateIndex exceeds [0,11]. |
ippStsAacWinGrpErr |
Indicates an error when numWinGrp exceeds [0,8] for long window or is not equal to 1 for short window. |
ippStsAacWinLenErr |
Indicates an error when winLen is not equal 128 or 1024. |
ippStsStereoMaskErr |
Indicates an error when the stereo mask flag is not equal 1 or 2. |
Copyright © 2000 - 2011, Intel Corporation. All rights reserved.