DecodeIsStereo_AAC

Processes intensity stereo for pair channels.

Syntax

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);

Parameters

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.

Description

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])

Note iconNote

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.

Return Values

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.

Submit feedback on this help topic

Copyright © 2000 - 2011, Intel Corporation. All rights reserved.