QuantInv_AAC

Performs inverse quantization of Huffman symbols for current channel in-place.

Syntax

IppStatus ippsQuantInv_AAC_32s_I(Ipp32s* pSrcDstSpectralCoef, const Ipp16s* pScalefactor, int numWinGrp, const int* pWinGrpLen, int maxSfb, const Ipp8u* pSfbCb, int samplingRateIndex, int winLen);

Parameters

pSrcDstSpectralCoef

On input, pointer to the input quantized coefficients. 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 the destination inverse quantized coefficient 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. The maximum error of output pSrcDstSpectralCoef[i] is listed in the table "Computation Error List for pSrcDstSpectralCoef".

pScalefactor

Pointer to the scalefactor buffer. Buffer length must be more than or equal to 120.

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.

pSfbCb

Pointer to the scale factor band codebook, buffer length must be more than or equal to 120. Only maxSfb elements for each group are meaningful. There are no spaces between the sequence groups.

samplingRateIndex

Sampling rate index. Valid within [0, 11]. See Table 6.5 of ISO/IEC 13818 - 7: 1997.

winLen

Data number in one window.

Description

This function is declared in the ippac.h file. The function performs inverse quantization of Huffman symbols for the current channel as shown by the formula.

pSrcDst[i] = sign(pSrcDst[i]) * (pSrcDst[i]) 3/4 * 2 (1/2(pScalefactor[sfb] - 100))

See clause 10 of ISO/IEC 13818 - 7: 1997.

Computation Error List for pSrcDstSpectralCoef
Output Conditions
max(error (pSrcDstSpectralCoef [i])) Input abs (pSrcDstSpectralCoef [i]) Output abs (pSrcDstSpectralCoef[i])
3 <= 128 < 2 ^ 29
3 129~8191 <= 2 ^ 25
7 129~8191 < 2 ^ 29

Return Values

ippStsNoErr

Indicates no error.

ippStsNullPtrErr

Indicates an error when at least one of the specified pointers is NULL.

ippStsAacSmplRateIdxErr

Indicates an error when samplingRateIndex exceeds [0, 11].

ippStsAacMaxSfbErr

Indicates an error when maxSfb exceeds [0,IPP_AAC_MAX_SFB].

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;

ippStsAacCoefValErr

Indicates an error when the quantized coefficients value pointed to by pSrcDstSpectralCoef exceeds [-8191,8191].

Submit feedback on this help topic

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