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.
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. |
Copyright © 2000 - 2011, Intel Corporation. All rights reserved.