Processes intensity stereo for pair channels.
IppStatus ippsDecodeIsStereo_AAC_32s(const Ipp32s* pSrcL, Ipp32s* pDstR, const Ipp16s* pScalefactor, const Ipp8u* pSfbCb, int numWinGrp, const int* pWinGrpLen, int maxSfb, int samplingRateIndex, int winLen);
pSrcL |
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. |
pScalefactor |
Pointer to the scalefactor buffer. Buffer length must be more than or equal to 120. |
pSfbCb |
Pointer to the scale factor band codebook, buffer length must be more than or equal to 120. Store maxSfb elements for each group.There is no space between the sequence groups. |
Respective values of pSfbCb[sfb] equal to 1, -1, or 0 indicate the intensity stereo mode, that is, direct, inverse, or none. | |
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 scalefactor 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. |
pDstR |
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. |
This function is declared in the ippac.h file. The function processes intensity stereo for pair channels.
Operation in performed according to the following formula.
pDstR[i] = pSrc[i] * is_intensity(g, sfb) * 2 (-1/4(pScalefactor[sfb])
invert_intensity(g, sfb) is not used in the formula, because it is already decoded and stored in pSfbCb[sfb] in the MS stereo process primitive. Refer to 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 to 128 or 1024. |
Copyright © 2000 - 2011, Intel Corporation. All rights reserved.