NoiselessDecode_AAC

Performs noiseless decoding.

Syntax

IppStatus ippsNoiselessDecode_AAC(Ipp8u** ppBitStream, int* pOffset, IppAACMainHeader* pAACMainHeader, Ipp16s* pDstScaleFactor, Ipp32s* pDstQuantizedSpectralCoef, Ipp8u* pDstSfbCb, Ipp8s* pDstTnsFiltCoef, IppAACChanInfo* pChanInfo, int winSequence, int maxSfb, int commonWin, int scaleFlag, int audioObjectType);

Parameters

ppBitStream

Double pointer to the bitstream to be parsed. It is updated after decoding.

pOffset

Pointer to the offset in one byte. It is updated after decoding.

pAACMainHeader

Pointer to main header information. Not used for scalable objects.

When commonWin== 0 && scaleFlag ==0, you need to decode LTP information and save it in pAACMainHeader-> pLtpInfo[].

pChanInfo

Pointer to channel information structure.

windowSequence

Window type, short or long.

maxSfb

Number of scale factor bands.

commonWin

Indicates if the channel pair uses the same ICS information.

scaleFlag

Flag indicating whether the scalable type is used.

audioObjectType

Audio object type indicator: 1 indicates the main type, 2 indicates the LC type, 6 indicates the scalable mode.

pDstScaleFactor

Pointer to the parsed scalefactor.

pDstQuantizedSpectralCoef

Pointer to the quantized spectral coefficients after Huffman decoding.

pDstSfbCb

Pointer to the scale factor codebook index.

pDstTnsFiltCoef

Pointer to TNS filter coefficients. Not used for scalable objects.

Description

This function is declared in the ippac.h file. This is a general noiseless decoding module for MPEG-2 and MPEG-4 objects.

In case one scale factor band uses PNS in MPEG-4 AAC scalable object, pDstScaleFactor contains the noise energy for this scale factor band and pDstSfbCb[sfb] must be NOISE_HCB(13). The spectrum in this scale factor band is not necessarily Huffman-decoded, and the pDstQuantizedSpectralCoef of this scale factor band can be zero.

In AAC scalable object, pDstTnsFiltCoef and pAACMainHeader are not used.

Return Values

ippStsNoErr

Indicates no error.

ippStsNullPtrErr

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

ippStsAacBitOffsetErr

Indicates an error when pOffset is out of the range [0,7].

ippStsAacComWinErr

Indicates an error when commonWin exceeds [0,1].

ippStsAacMaxSfbErr

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

ippStsAacSmplRateIdxErr

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

ippStsAacCoefValErr

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

Submit feedback on this help topic

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