Audio Coding Functions

Intel® IPP for audio coding includes general purpose functions applicable in several codecs and a number of specific functions for MPEG-4 audio encoder and decoder (see [ISO14496]), MP3 encoder and decoder. These functions implement pipeline blocks with large computational complexity.

The current set of functions is sufficient to implement a portable optimized MPEG-4 AAC Main profile decoder and a portable optimized MPEG-1, 2 Layer III encoder (see [ISO/IEC 11172-3] and [ISO13818]).

Also this chapter includes Spectral Band Replication (SBR) functions as an audio coding bandwidth extension technology, which is standardized in ISO/IEC 14496-3:2001/Amd.1:2003 [ISO14496A].

The full list of functions is given in the table below.

Intel IPP Audio Coding Functions 
Function Base Name Operation
Interleaved to Multi-Row Format Conversion Functions
Interleave Converts signal from non-interleaved to interleaved format.
Deinterleave Converts signal from interleaved to non-interleaved format.
Spectral Data Prequantization Functions
Pow34 Raises a vector to the power of 3/4.
Pow43 Raises a vector to the power of 4/3.
Pow43Scale Raises a vector to the power of 4/3 with scaling.
Scale Factors Calculation Functions
CalcSF Restores actual scale factors from the bit stream values.
Mantissa Conversion and Scaling Functions
Scale Applies scale factors to spectral bands in accordance with spectral bands boundaries.
MakeFloat Converts mantissa and exponent arrays to float arrays.
Modified Discrete Cosine Transform Functions
MDCTFwdInitAlloc, MDCTInvInitAlloc Create and initialize modified discrete cosine transform specification structure.
MDCTFwdInit, MDCTInvInit Initialize modified discrete cosine transform specification structure.
MDCTFwdFree, MDCTInvFree Close modified discrete cosine transform specification structure.
MDCTFwdGetSize, MDCTInvGetSize Get the size of MDCT specification structure, initialization, and work buffer.
MDCTFwdGetBufSize, MDCTInvGetBufSize Get the size of MDCT work buffer.
MDCTFwd, MDCTInv Compute forward or inverse MDCT of a signal.
Block Filtering Functions
FIRBlockInitAlloc Initializes FIR block filter state.
FIRBlockFree Closes FIR block filter state.
FIRBlockOne Filters vector of sample through FIR block filter.
Frequency Domain Prediction Functions
FDPInitAlloc Creates and initializes predictor state.
FDPInit Initializes FDP state.
FDPFree Closes FDP state.
FDPGetSize Gets size of FDP state structure.
FDPReset Resets predictors for all spectral lines.
FDPResetSfb Resets predictor-specific information in some scale factor bands.
FDPResetGroup Resets predictors for group of spectral lines.
FDPFwd Performs frequency domain prediction procedure and calculates prediction error.
FDPInv Retrieves input signal from prediction error, using frequency domain prediction procedure.
VLC Functions
VLCDecodeEscBlock_MP3 Parses the bitstream and decodes variable length code for MP3 using signed VLC tables.
VLCDecodeEscBlock_AAC Parses the bitstream and decodes variable length code for AAC using signed VLC tables.
VLCDecodeUTupleEscBlock_MP3 Parses the bitstream and decodes variable length code for MP3 using unsigned multi-tupled VLC tables.
VLCDecodeUTupleEscBlock_AAC Parses the bitstream and decodes variable length code for AAC using unsigned multi-tupled VLC tables.
VLCCountEscBits_MP3 Calculates the number of bits necessary for encoding in MP3 format.
VLCCountEscBits_AAC Calculates the number of bits necessary for encoding in AAC format.
VLCEncodeEscBlock_MP3 Encodes an array of values into destination bitstream in MP3 format and advances bitstream pointer.
VLCEncodeEscBlock_AAC Encodes an array of values into destination bitstream in AAC format and advances bitstream pointer.
Psychoacoustic Functions  
Spread Computes spreading function.
Vector Quantization Functions  
VQCodeBookInitAlloc Allocates memory and initializes the codebook state structure.
VQCodeBookInit Initializes the codebook state structure.
VQCodeBookFree Closes the codebook state structure.
VQCodeBookGetSize Gets size of the codebook state structure.
VQPreliminarySelect Selects candidates for the nearest code vector of codebooks.
VQMainSelect Finds optimal indexes with minimal distortion.
VQIndexSelect Finds optimal vector set for specified number of codebooks.
VQReconstruction Reconstructs vectors from indexes.
MP3 Encoder Functions
AnalysisPQMF_MP3 Implements stage 1 of MP3 hybrid analysis filterbank.
AnalysisFilterInit_PQMF_MP3 Initializes PQMF MP3 analysis specification structure.
AnalysisFilterInitAlloc_PQMF_MP3 Allocates memory and initializes the PQMF MP3 analysis specification structure.
AnalysisFilterGetSize_PQMF_MP3 Returns size of PQMF MP3 analysis specification structure.
AnalysisFilterFree_PQMF_MP3 Frees memory allocated for PQMF MP3 analysis specification structure.
AnalysisFilter_PQMF_MP3 Transforms PQMF MP3-processed subband signals into time domain samples.
MDCTFwd_MP3 Implements stage 2 of the MP3 hybrid analysis filterbank.
PsychoacousticModelTwo_MP3 Implements the ISO/IEC 11172-3 psych-acoustic model recommendation 2 to estimate the masked threshold and perceptual entropy associated with a block of PCM audio input.
JointStereoEncode_MP3 Transforms independent left and right channel spectral coefficient vectors into combined mid/side (MS) and/or intensity (IS) mode coefficient vectors suitable for quantization.
Quantize_MP3 Quantizes the spectral coefficients generated by the analysis filterbank.
PackScaleFactors_MP3 Applies noiseless coding to the scale factors and then packs the output into the bitstream buffer.
HuffmanEncode_MP3 Applies lossless Huffman encoding to the quantized samples and packs the output into the bitstream buffer.
PackFrameHeader_MP3 Packs the content of the frame header into the bitstream.
PackSideInfo_MP3 Packs the side information into the bitstream buffer.
BitReservoirInit_MP3 Initializes all elements of the bit reservoir state structure.
MP3 Decoder Functions
UnpackFrameHeader_MP3 Unpacks the audio frame header.
UnpackSideInfo_MP3 Unpacks the side information from the input bitstream for use during the decoding of the associated frame.
UnpackScaleFactors_MP3 Unpacks scale factors.
HuffmanDecode_MP3, HuffmanDecodeSfb_MP3, HuffmanDecodeSfbMbp_MP3 Decodes Huffman data.
ReQuantize_MP3, ReQuantizeSfb_MP3 Requantizes the decoded Huffman symbols.
MDCTInv_MP3 Performs the first stage of hybrid synthesis filter bank.
MDCTInvWindow_MP3 Performs 36 or 18 points IMDCT and windowing depending on the block type.
SynthPQMF_MP3 Performs the second stage of hybrid synthesis filter bank.
SynthesisFilterInit_PQMF_MP3 Initializes PQMF MP3 synthesis specification structure.
SynthesisFilterInitAlloc_PQMF_MP3 Allocates memory for PQMF MP3 synthesis specification structure and initializes it.
SynthesisFilterGetSize_PQMF_MP3 Returns size of PQMF MP3 synthesis specification structure.
SynthesisFilterFree_PQMF_MP3 Frees memory allocated for PQMF MP3 synthesis specification structure.
SynthesisFilter_PQMF_MP3 Transforms PQMF MP3-processed subband signals into time domain samples.
AAC Decoder Functions  
UnpackADIFHeader_AAC Gets the AAC ADIF format header.
UnpackADTSFrameHeader_AAC Gets ADTS frame header from the input bitstream.
DecodePrgCfgElt_AAC Gets program configuration element from the input bitstream.
DecodeChanPairElt_AAC Gets channel_pair_element from the input bitstream.
NoiselessDecoder_LC_AAC Decodes all the data for one channel.
DecodeDatStrElt_AAC Gets data stream element from the input bitstream.
DecodeFillElt_AAC Gets the fill element from the input bitstream.
QuantInv_AAC Performs inverse quantization of Huffman symbols for current channel in-place.
DecodeMsStereo_AAC Processes MS stereo for pair channels in-place.
DecodeIsStereo_AAC Processes intensity stereo for pair channels.
DeinterleaveSpectrum_AAC Deinterleaves the coefficients for short block.
DecodeTNS_AAC Decodes for Temporal Noise Shaping in-place.
MDCTInv_AAC_32s16s Maps the time-frequency domain signal into time domain and generates 1024 reconstructed 16-bit signed little-endian PCM samples.
MDCTInv_AAC_32s_I Computes inverse modified discrete cosine transform (MDCT), windowing and overlapping of signals.
DecodeMainHeader_AAC Gets main header information and main layer information from bit stream.
DecodeExtensionHeader_AAC Get extension header information and extension layer information from bit stream.
DecodePNS_AAC Implements perceptual noise substitution coding within an ICS.
DecodeMsPNS_AAC Implements perceptual noise substitution coding in the case of joint coding.
DecodeChanPairElt_MP4_AAC Gets channel_pair_element from the input bitstream
LongTermReconstruct_AAC Uses Long Term Reconstruct to reduce the redundancy of a signal between successive coding frames.
MDCTFwd_AAC_32s Generates spectrum coefficient of PCM samples.
MDCTFwd_AAC_32s_I Computes forward modified discrete cosine transform (MDCT) of windowed signals.
EncodeTNS_AAC Performs reversion of TNS in the Long Term Reconstruct loop in-place.
LongTermPredict_AAC Gets the predicted time domain signals in the Long Term Reconstruct (LTP) loop.
NoiselessDecode_AAC Performs noiseless decoding.
LtpUpdate_AAC Performs required buffer update in the Long Term Reconstruct (LTP) loop.
SBR Audio Encoder Functions  
DetectTransient_SBR Estimates stationarity of signal by calculating deviation of spectrum audio signal.
EstimateTNR_SBR Measures Tonality-to-Noise Ratio of complex QMF subband samples.
AnalysisFilterEncGetSize_SBR Returns sizes of analysis SBR specification structures and work buffers.
AnalysisFilterEncInit_SBR Initializes analysis SBR specification structure.
AnalysisFilterEnc_SBR Performs subband filtering of the input audio signal.
AnalysisFilterEncInitAlloc_SBR Allocates memory and and initializes analysis SBR specification structure.
AnalysisFilterFree_SBR Closes analysis SBR specification structure.
SBR Audio Decoder Functions  
AnalysisFilterInitAlloc_SBR Allocates memory and initializes analysis SBR specification structure for real and complex signals.
SynthesisFilterInitAlloc_SBR Allocates memory and initializes synthesis SBR specification structure for real and complex signals.
SynthesisDownFilterInitAlloc_SBR Allocates memory and initializes downsample synthesis SBR specification structure for real and complex signals.
AnalysisFilterFree_SBR Closes analysis SBR specification structure for real and complex signals.
SynthesisFilterFree_SBR Closes synthesis SBR specification structure for real and complex signals.
SynthesisDownFilterFree_SBR Closes downsample synthesis SBR specification structure for real and complex signals.
AnalysisFilterGetSize_SBR Returns size of analysis FilterSpec_SBR specification structures, init and work buffers.
SynthesisFilterGetSize_SBR Returns size of synthesis FilterSpec_SBR specification structures, init and work buffers.
SynthesisDownFilterGetSize_SBR Returns size of downsample synthesis FilterSpec_SBR specification structures, init and work buffers.
AnalysisFilterInit_SBR Initializes analysis SBR specification structure.
SynthesisFilterInit_SBR Initializes synthesis SBR specification structure.
SynthesisDownFilterInit_SBR Initializes downsample synthesis specification structure.
AnalysisFilter_SBR Transforms time domain signal output from the core decoder into frequency subband signals.
SynthesisFilter_SBR Transforms SBR-processed subband signals into time domain samples.
SynthesisDownFilter_SBR Transforms SBR-processed subband signals into time domain samples and performs downsampling at the same time.
PredictCoef_SBR Obtains prediction filter coefficients using covariance method.
PredictOneCoef_SBR Obtains one prediction filter coefficient using covariance method
Parametric Stereo Functions  
AnalysisFilter_PS Increases frequency resolution of the first lower subbands by hybrid filtering.
DTS Audio Coding Functions  
SynthesisFilterInit_DTS Initializes DTS synthesis filter specification structure.
SynthesisFilterInitAlloc_DTS Allocates memory for DTS synthesis filter specification structure and initilaizes it.
SynthesisFilterGetSize_DTS Returns size of DTS synthesis filter specification structure.
SynthesisFilterFree_DTS Frees memory allocated for DTS synthesis filter specification structure.
SynthesisFilter_DTS Transforms QMF DTS-processed subband signals into time domain samples.


Submit feedback on this help topic

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