logo资料库

Intel IPP V8.1信号处理.pdf

第1页 / 共1252页
第2页 / 共1252页
第3页 / 共1252页
第4页 / 共1252页
第5页 / 共1252页
第6页 / 共1252页
第7页 / 共1252页
第8页 / 共1252页
资料共1252页,剩余部分请下载后查看
Intel® Integrated Performance Primitives Reference Manual, Volume 1: Signal Processing
Legal Information
Volume Overview
What's New
Notational Conventions
Intel® Integrated Performance Primitives Concepts
Function Naming
Data-Domain
Name
Data Types
Descriptors
Parameters
Structures and Enumerators
Library Version Structure
Complex Data Structures
Function Context Structures
Enumerators
Data Ranges
Data Alignment
Integer Scaling
Error Reporting
Code Examples
Support Functions
Version Information Functions
GetLibVersion
Memory Allocation Functions
Malloc
Free
Common Functions
GetStatusString
GetCpuType
GetCpuClocks
GetCpuFreqMhz
GetCpuFeatures
GetEnabledCpuFeatures
GetNumCoresOnDie
GetMaxCacheSizeB
SetFlushToZero
SetDenormAreZeros
AlignPtr
SetNumThreads
GetNumThreads
SetAffinity
Malloc
Free
Dispatcher Control Functions
StaticInit
Init
InitCpu
EnableCpu
Internationalization Functions
MeassageCatalogOpenI18n
MessageCatalogCloseI18n
GetMessageStatusI18n
StatusToMessageI18n
Vector Initialization Functions
Vector Initialization Functions
Copy
CopyLE, CopyBE
PackBits
Move
Set
Zero
Sample-Generating Functions
Tone-Generating Functions
ToneInitAllocQ15
ToneFree
ToneGetStateSizeQ15
ToneInitQ15
ToneQ15
Tone_Direct
ToneQ15_Direct
Triangle-Generating Functions
TriangleInitAllocQ15
TriangleFree
TriangleGetStateSizeQ15
TriangleInitQ15
TriangleQ15
Triangle_Direct
TriangleQ15_Direct
Uniform Distribution Functions
RandUniformInitAlloc
RandUniformFree
RandUniformInit
RandUniformGetSize
RandUniform
RandUniform_Direct
Gaussian Distribution Functions
RandGaussInitAlloc
RandGaussFree
RandGaussInit
RandGaussGetSize
RandGauss
RandGauss_Direct
Special Vector Functions
VectorJaehne
VectorSlope
VectorRamp
Essential Functions
Logical and Shift Functions
AndC
And
OrC
Or
XorC
Xor
Not
LShiftC
RShiftC
Arithmetic Functions
AddC
Add
AddProductC
AddProduct
MulC
Mul
SubC
SubCRev
Sub
DivC
DivCRev
Div
Div_Round
Abs
Sqr
Sqrt
Cubrt
Exp
Ln
10Log10
SumLn
Arctan
Normalize
Cauchy, CauchyD, CauchyDD2
Conversion Functions
SortAscend, SortDescend
SortIndexAscend, SortIndexDescend
SortRadixAscend, SortRadixDescend
SortRadixIndexAscend, SortRadixIndexDescend
SwapBytes
Convert
Join
JoinScaled
SplitScaled
Conj
ConjFlip
Magnitude
MagSquared
Phase
PowerSpectr
Real
Imag
RealToCplx
CplxToReal
DemodulateFM
Threshold
Threshold_LT, Threshold_GT
Threshold_LTAbs, Threshold_GTAbs
Threshold_LTVal, Threshold_GTVal, Threshold_LTValGTVal
Threshold_LTInv
CartToPolar
PolarToCart
MaxOrder
Preemphasize
Flip
FindNearestOne
FindNearest
Viterbi Decoder Functions
GetVarPointDV
CalcStatesDV
BuildSymblTableDV4D
UpdatePathMetricsDV
Windowing Functions
Understanding Window Functions
WinBartlett
WinBlackman
WinHamming
WinHann
WinKaiser
Statistical Functions
Sum
Max
MaxIndx
MaxAbs
MaxAbsIndx
Min
MinIndx
MinAbs
MinAbsIndx
MinMax
MinMaxIndx
Mean
StdDev
MeanStdDev
Norm
NormDiff
DotProd
MaxEvery, MinEvery
ZeroCrossing
CountInRange
Sampling Functions
SampleUp
SampleDown
Filtering Functions
Convolution and Correlation Functions
Special Arguments
AutoCorrNormGetBufferSize
AutoCorrNorm
CrossCorrNormGetBufferSize
CrossCorrNorm
ConvolveGetBufferSize
Convolve
Conv
ConvBiased
ConvCyclic
AutoCorr
CrossCorr
UpdateLinear
UpdatePower
Filtering Functions
SumWindow
FIR Filter Functions
FIRSRGetSize
FIRSRInit
FIRSR
FIRInitAlloc
FIRStreamInitAlloc
FIRMRInitAlloc
FIRMRStreamInitAlloc
FIRFree
FIRInit
FIRStreamInit
FIRMRInit
FIRMRStreamInit
FIRGetStateSize, FIRMRGetStateSize
FIRStreamGetStateSize, FIRMRStreamGetStateSize
FIRGetTaps
FIRSetTaps
FIRGetDlyLine
FIRSetDlyLine
FIROne
FIR
FIROne_Direct
FIR_Direct
FIRMR_Direct
FIRSparseInit
FIRSparseGetStateSize
FIRSparse
Examples of Using FIR Functions
FIR Filter Coefficient Generating Functions
FIRGenLowpass
FIRGenHighpass
FIRGenBandpass
FIRGenBandstop
Single-Rate FIR LMS Filter Functions
FIRLMSInitAlloc
FIRLMSFree
FIRLMSGetTaps
FIRLMSGetDlyLine
FIRLMSSetDlyLine
FIRLMS
FIRLMSOne_Direct
Multi-Rate FIR LMS Filter Functions
FIRLMSMRInitAlloc
FIRLMSMRFree
FIRLMSMRSetMu
FIRLMSMRUpdateTaps
FIRLMSMRGetTaps
FIRLMSMRSetTaps
FIRLMSMRGetTapsPointer
FIRLMSMRGetDlyLine
FIRLMSMRSetDlyLine
FIRLMSMRGetDlyVal
FIRLMSMRPutVal
FIRLMSMROne
FIRLMSMROneVal
IIR Filter Functions
IIRInitAlloc
IIRInitAlloc_BiQuad
IIRFree
IIRInit
IIRInit_BiQuad
IIRGetStateSize
IIRGetStateSize_BiQuad
IIRSetTaps
IIRGetDlyLine
IIRSetDlyLine
IIROne
IIR
IROne_Direct
IIROne_BiQuadDirect
IIR_Direct
IIR_BiQuadDirect
IIRSparseInit
IIRSparseGetStateSize
IIRSparse
IIRGenLowpass, IIRGenHighpass
Median Filter Functions
FilterMedian
Polyphase Resampling Functions
ResamplePolyphaseGetSize, ResamplePolyphaseFixedGetSize
ResamplePolyphaseInit, ResamplePolyphaseFixedInit
ResamplePolyphaseSetFixedFilter
ResamplePolyphaseGetFixedFilter
ResamplePolyphase, ResamplePolyphaseFixed
Transform Functions
Fourier Transform Functions
Special Arguments
Packed Formats
Format Conversion Functions
ConjPack
ConjPerm
ConjCcs
Functions for Packed Data Multiplication
MulPack
MulPerm
MulPackConj
Fast Fourier Transform Functions
FFTInitAlloc_R, FFTInitAlloc_C
FFTFree_R, FFTFree_C
FFTInit_R, FFTInit_C
FFTGetSize_R, FFTGetSize_C
FFTGetBufSize_R, FFTGetBufSize_C
FFTFwd_CToC
FFTInv_CToC
FFTFwd_RToPack, FFTFwd_RToPerm, FFTFwd_RToCCS
FFTInv_PackToR, FFTInv_PermToR, FFTInv_CCSToR
Discrete Fourier Transform Functions
DFTInitAlloc_R, DFTInitAlloc_C
DFTFree_R, DFTFree_C
DFTInit_R, DFTInit_C
DFTGetSize_R, DFTGetSize_C
DFTGetBufSize_R, DFTGetBufSize_C
DFTFwd_CToC
DFTInv_CToC
DFTFwd_RToPack, DFTFwd_RToPerm, DFTFwd_RToCCS
DFTInv_PackToR, DFTInv_PermToR, DFTInv_CCSToR
DFTOutOrdInitAlloc_C
DFTOutOrdFree_C
DFTOutOrdGetBufSize_C
DFTOutOrdFwd_CToC
DFTOutOrdInv_CToC
DFT for a Given Frequency (Goertzel) Functions
Goertz
GoertzTwo
Hartley Transform Functions
Hartley
Walsh-Hadamard Transform Functions
WHT
WHTGetBufferSize
Discrete Cosine Transform Functions
DCTFwdInitAlloc
DCTInvInitAlloc
DCTFwdFree
DCTInvFree
DCTFwdGetBufSize
DCTInvGetBufSize
DCTFwdInit
DCTInvInit
DCTFwdGetSize
DCTInvGetSize
DCTFwd
DCTInv
DCT4InitAlloc
DCT4Free
DCT4Init
DCT4GetSize
DCT4
Hilbert Transform Functions
HilbertInitAlloc
HilbertFree
Hilbert
Wavelet Transform Functions
Transforms for Fixed Filter Banks
WTHaarFwd, WTHaarInv
Transforms for User Filter Banks
WTFwdInitAlloc, WTInvInitAlloc
WTFwdFree, WTInvFree
WTFwd
WTFwdSetDlyLine, WTFwdGetDlyLine
WTInv
WTInvSetDlyLine, WTInvGetDlyLine
Wavelet Transforms Example
Data Integrity Functions
GF(2^m) Arithmetic Functions
GFGetSize
GFInit
GFAdd
GFSub
GFMul
GFDiv
GFPow
GFInv
GFNeg
GFLogAlpha
GFExpAlpha
Arithmetic Functions for Polynomials over GF(2^m)
PolyGFGetSize
PolyGFInit
PolyGFSetCoeffs
PolyGFSetDegree
PolyGFCopy
PolyGFGetRef
PolyGFAdd
PolyGFSub
PolyGFMod
PolyGFMul
PolyGFDiv
PolyGFShlC
PolyGFShrC
PolyGFIrreducible
PolyGFPrimitive
PolyGFValue
PolyGFDerive
PolyGFRoots
PolyGFGCD
Reed-Solomon Code Functions
RS Encoder Functions
RSEncodeGetSize
RSEncodeInit
RSEncodeGetBufferSize
RSEncode
RS Decoder Functions
RSDecodeGetSize
RSDecodeInit
RSDecodeBMGetBufferSize, RSDecodeEEGetBufferSize
RSDecodeBM, RSDecodeEE
Speech Coding Functions
Rounding Modes for Speech Codecs
Notational Conventions
Requirements
Data Structures
Common Functions
ConvPartial
InterpolateC_NR
Mul_NR
MulC_NR
MulPowerC_NR
AutoScale
DotProdAutoScale
InvSqrt
AutoCorr
AutoCorrLagMax
AutoCorr_NormE
CrossCorr
CrossCorrLagMax
SynthesisFilter
G.729 Functions
Basic Functions
DotProd_G729
Interpolate_G729
Linear Prediction Analysis Functions
AutoCorr_G729
LevinsonDurbin_G729
LPCToLSP_G729
LSFToLSP_G729
LSFQuant_G729
LSFDecode_G729
LSFDecodeErased_G729
LSPToLPC_G729
LSPQuant_G729
LSPToLSF_G729
LagWindow_G729
Codebook Search Functions
OpenLoopPitchSearch_G729
AdaptiveCodebookSearch_G729
DecodeAdaptiveVector_G729
FixedCodebookSearch_G729
GainCodebookSearch_G729
ToeplizMatrix_G729
Codebook Gain Functions
DecodeGain_G729
GainControl_G729
GainQuant_G729
AdaptiveCodebookContribution_G729
AdaptiveCodebookGain_G729
Filter Functions
ResidualFilter_G729
SynthesisFilter_G729
LongTermPostFilter_G729
ShortTermPostFilter_G729
TiltCompensation_G729
HarmonicFilter
HighPassFilterSize_G729
HighPassFilterInit_G729
HighPassFilter_G729
IIR16s_G729
PhaseDispersionGetStateSize_G729D
PhaseDispersionInit_G729D
PhaseDispersionUpdate_G729D
PhaseDispersion_G729D
Preemphasize_G729A
WinHybridGetStateSize_G729E
WinHybridInit_G729E
WinHybrid_G729E
RandomNoiseExcitation_G729B
FilteredExcitation_G729
G.729.1 Functions
FilterHighpassGetStateSize_G7291
FilterHighpassInit_G7291
FilterHighpass_G7291
FilterLowpass_G7291
QMFGetStateSize_G7291
QMFInit_G7291
QMFEncode_G7291
QMFDecode_G7291
LSFDecode_G7291
AdaptiveCodebookSearch_G7291
AdaptiveCodebookGain_G7291
AlgebraicCodebookSearchL1_G7291, AlgebraicCodebookSearchL2_G7291
GainQuant_G7291
EnvelopTime_G7291
EnvelopFrequency_G7291
GenerateExcitationGetStateSize_G7291
GenerateExcitationInit_G7291
GenerateExcitation_G7291
ShapeEnvelopTime_G7291
ShapeEnvelopFrequency_G7291
CompressEnvelopTime_G7291
MDCTFwd_G7291
MDCTInv_G7291
MDCTQuantFwd_G7291
MDCTQuantInv_G7291
MDCTPostProcess_G7291
GainControl_G7291
TiltCompensation_G7291
QuantParam_G7291
G.723.1 Functions
Linear Prediction Analysis Functions
AutoCorr_G723
AutoCorr_NormE_G723
LevinsonDurbin_G723
LPCToLSF_G723
LSFToLPC_G723
LSFDecode_G723
LSFQuant_G723
Codebook Search Functions
OpenLoopPitchSearch_G723
ACELPFixedCodebookSearch_G723
AdaptiveCodebookSearch_G723
MPMLQFixedCodebookSearch_G723
ToeplizMatrix_G723
Gain Quantization
GainQuant_G723
GainControl_G723
Filtering Functions
HighPassFilter_G723
IIR16s_G723
SynthesisFilter_G723
TiltCompensation_G723
HarmonicSearch_G723
HarmonicNoiseSubtract_G723
DecodeAdaptiveVector_G723
PitchPostFilter_G723
GSM-AMR Functions
Basic Functions
Interpolate_GSMAMR
FFTFwd_RToPerm_GSMAMR
LP Analysis and Quantization Functions
AutoCorr_GSMAMR
LevinsonDurbin_GSMAMR
LPCToLSP_GSMAMR
LSPToLPC_GSMAMR
LSFToLSP_GSMAMR
LSPQuant_GSMAMR
QuantLSPDecode_GSMAMR
Adaptive Codebook Functions
Open-Loop Pitch (OLP) Search
OpenLoopPitchSearchNonDTX_GSMAMR
OpenLoopPitchSearchDTXVAD1_GSMAMR
OpenLoopPitchSearchDTXVAD2_GSMAMR
ImpulseResponseTarget_GSMAMR
AdaptiveCodebookSearch_GSMAMR
AdaptiveCodebookDecode_GSMAMR
AdaptiveCodebookGain_GSMAMR
Fixed Codebook Search
AlgebraicCodebookSearch_GSMAMR
FixedCodebookDecode_GSMAMR
Discontinuous Transmission (DTX)
Preemphasize_GSMAMR
VAD1_GSMAMR
VAD2_GSMAMR
EncDTXSID_GSMAMR
EncDTXHandler_GSMAMR
EncDTXBuffer_GSMAMR, DecDTXBuffer_GSMAMR
Post Processing
PostFilter_GSMAMR
AMR Wideband Functions
LPC Analysis Functions
LPCToISP_AMRWB
ISPToLPC_AMRWB
ISPToISF_Norm_AMRWB
ISFToISP_AMRWB
Open-loop Pitch Analysis Functions
OpenLoopPitchSearch_AMRWB
Filtering Functions
ResidualFilter
HighPassFilterGetSize_AMRWB
HighPassFilterInit_AMRWB
HighPassFilter_AMRWB
HighPassFilterGetDlyLine_AMRWB
HighPassFilterSetDlyLine_AMRWB
Preemphasize_AMRWB
Deemphasize_AMRWB
SynthesisFilter_AMRWB
Discontinuous Transmission (DTX) Functions
VADGetSize_AMRWB
VADInit_AMRWB
VAD_AMRWB
VADGetEnergyLevel_AMRWB
Codebook Search Functions
AlgebraicCodebookSearch_AMRWB
AlgebraicCodebookDecode_AMRWB
AdaptiveCodebookGainCoeff_AMRWB
AdaptiveCodebookSearch_AMRWB
AdaptiveCodebookDecodeGetSize_AMRWB
AdaptiveCodebookDecodeInit_AMRWB
AdaptiveCodebookDecodeUpdate_AMRWB
AdaptiveCodebookDecode_AMRWB
Quantization Functions
ISFQuant_AMRWB
ISFQuantDecode_AMRWB
ISFQuantDTX_AMRWB
ISFQuantDecodeDTX_AMRWB
GainQuant_AMRWB
DecodeGain_AMRWB
EncDTXBuffer_AMRWB
DecDTXBuffer_AMRWB
AMR Wideband Plus Functions
SNR_AMRWBE
OpenLoopPitchSearch_AMRWBE
LPCToISP_AMRWBE
Filtering Functions
SynthesisFilter_AMRWBE
Deemphasize_AMRWBE
FIRGenMidBand_AMRWBE
PostFilterLowBand_AMRWBE
Fast Fourier Transform Functions
FFTFwd_RToPerm_AMRWBE
FFTInv_PermToR_AMRWBE
Codebook Search Functions
AdaptiveCodebookSearch_AMRWBE
AdaptiveCodebookDecode_AMRWBE
Resample Functions
Downsample_AMRWBE
Upsample_AMRWBE
BandSplit_AMRWBE
BandJoin_AMRWBE
BandSplitDownsample_AMRWBE
BandJoinUpsample_AMRWBE
ResamplePolyphase_AMRWBE
Quantization Functions
ISFQuantDecode_AMRWBE
ISFQuantDecodeHighBand_AMRWBE
ISFQuantHighBand_AMRWBE
GainQuant_AMRWBE
QuantTCX_AMRWBE
GainQuantTCX_AMRWBE
GainDecodeTCX_AMRWBE
EncodeMux_AMRWBE
DecodeDemux_AMRWBE
GSM Full Rate Functions
RPEQuantDecode_GSMFR
Deemphasize_GSMFR
ShortTermAnalysisFilter_GSMFR
ShortTermSynthesisFilter_GSMFR
HighPassFilter_GSMFR
Schur_GSMFR
WeightingFilter_GSMFR
Preemphasize_GSMFR
G.722.1 Functions
DCTFwd_G722, DCTFwd_G7221
DCTInv_ G722, DCTInvG7221
DecomposeMLTToDCT_G722,DecomposeMLTToDCT_G7221
DecomposeDCTToMLT_G722, DecomposeDCTToMLT_G7221
HuffmanEncode_G722
G.726 Functions
EncodeGetStateSize_G726
EncodeInit_G726
Encode_G726
DecodeGetStateSize_G726
DecodeInit_G726
Decode_G726
G.728 Functions
IIRGetStateSize_G728
IIR_Init_G728
IIR_G728
SynthesisFilterGetStateSize_G728
SynthesisFilterInit_G728
SyntesisFilter_G728
CombinedFilterGetStateSize_G728
CombinedFilterInit_G728
CombinedFilter_G728
PostFilterGetStateSize_G728
PostFilterInit_G728
PostFilter_G728
PostFilterAdapterGetStateSize_G728
PostFilterAdapterStateInit_G728
LPCInverseFilter_G728
PitchPeriodExtraction_G728
WinHybridGetStateSize_G728
WinHybridInit_G728
WinHybrid_G728
LevinsonDurbin_G728
CodebookSearch_G728
CodebookSearchTCQ_G728
ImpulseResponseEnergy_G728
Voice Enhancement Functions
Echo Canceller Functions
SubbandProcessGetSize
SubbandProcessInit
SubbandAnalysis
SubbandSynthesis
SubbandControllerGetSize_EC
SubbandControllerInit_EC
SubbandControllerUpdate_EC
SubbandController_EC
SubbandControllerReset_EC
SubbandControllerDTGetSize_EC
SubbandControllerDTInit_EC
SubbandControllerDTReset_EC
SubbandControllerDT_EC
SubbandControllerDTUpdate_EC
ToneDetectGetStateSize_EC
ToneDetectInit_EC
ToneDetect_EC
FullbandControllerGetSize_EC
FullbandControllerInit_EC
FullbandControllerUpdate_EC
FullbandController_EC
FullbandControllerReset_EC
FIR_EC
FIRSubband_EC, FIRSubbandLow_EC
FIRSubbandCoeffUpdate_EC, FIRSubbandLowCoeffUpdate_EC
NLMS_EC
Noise Reduction Functions
FilterNoiseGetStateSize
FilterNoiseInit
FilterNoiseLevel
FilterNoiseDetect_EC
FilterNoiseDetectModerate_EC
FilterNoiseSetMode_EC
FilterNoise
Code Examples
Automatic Audio Level Control Functions
ALCGetStateSize_G169
ALCInit_G169
ALCSetLevel_G169
ALCSetGain_G169
ALC_G169
G722 Sub-Band ADPCM Speech Codec Functions
ClassifyFrame_G722
DownsampleFilter_G722
FilterHighband_G722
SBADPCMEncodeStateSize_G722
SBADPCMEncodeInit_G722
SBADPCMEncode_G722
QMFEncode_G722
SBADPCMDecodeStateSize_G722
SBADPCMDecodeStateUpdate_G722
SBADPCMDecodeInit_G722
SBADPCMDecode_G722
QMFDecode_G722
Companding Functions
MuLawToLin
LinToMuLaw
ALawToLin
LinToALaw
MuLawToALaw
ALawToMuLaw
RT Audio Functions
LPCToLSP_RTA
LSPToLPC_RTA
LevinsonDurbin_RTA
QMFGetStateSize_RTA
QMFInit_RTA
QMFDecode_RTA
QMFEncode_RTA
PostFilterGetStateSize_RTA
PostFilterInit_RTA
PostFilter_RTA
AdaptiveCodebookSearch_RTA
FixedCodebookSearchBuffer_RTA, FixedCodebookSearchRandom_RTA
FixedCodebookSearch_RTA_GetBufferSize
LSPQuant_RTA
HighPassFilter_RTA
BandPassFilter_RTA
Audio Coding Functions
Interleaved to Multi-Row Format Conversion Functions
Interleave
Deinterleave
Spectral Data Prequantization Functions
Pow34
Pow43
Pow43Scale
Scale Factors Calculation Functions
CalcSF
Mantissa Conversion and Scaling Functions
Scale
MakeFloat
Modified Discrete Cosine Transform Functions
MDCTFwdInitAlloc, MDCTInvInitAlloc
MDCTFwdInit, MDCTInvInit
MDCTFwdFree, MDCTInvFree
MDCTFwdGetSize, MDCTInvGetSize
MDCTFwdGetBufSize, MDCTInvGetBufSize
MDCTFwd, MDCTInv
Block Filtering Functions
FIRBlockInitAlloc
FIRBlockFree
FIRBlockOne
Frequency Domain Prediction Functions
FDPInitAlloc
FDPInit
FDPFree
FDPGetSize
FDPReset
FDPResetSfb
FDPResetGroup
FDPFwd
FDPInv
VLC Functions
VLCDecodeEscBlock_MP3
VLCDecodeEscBlock_AAC
VLCDecodeUTupleEscBlock_MP3
VLCDecodeUTupleEscBlock_AAC
VLCCountEscBits_MP3
VLCCountEscBits_AAC
VLCEncodeEscBlock_MP3
VLCEncodeEscBlock_AAC
Psychoacoustic Functions
Spread
Vector Quantization Functions
VQCodeBookInitAlloc
VQCodeBookInit
VQCodeBookFree
VQCodeBookGetSize
VQPreliminarySelect
VQMainSelect
VQIndexSelect
VQReconstruction
MP3 Audio Coding Functions
Macros and Constants
Data Structures
MP3 Codec Enumerated Types
MP3 Audio Encoder
AnalysisPQMF_MP3
AnalysisFilterInit_PQMF_MP3
AnalysisFilterInitAlloc_PQMF_MP3
AnalysisFilterGetSize_PQMF_MP3
AnalysisFilterFree_PQMF_MP3
AnalysisFilter_PQMF_MP3
MDCTFwd_MP3
PsychoacousticModelTwo_MP3
JointStereoEncode_MP3
Quantize_MP3
PackScaleFactors_MP3
HuffmanEncode_MP3
PackFrameHeader_MP3
PackSideInfo_MP3
BitReservoirInit_MP3
MP3 Audio Decoder
UnpackFrameHeader MP3
UnpackSideInfo _MP3
UnpackScaleFactors_MP3
HuffmanDecode_MP3, HuffmanDecodeSfb_MP3, HuffmanDecodeSfbMbp_MP3
ReQuantize_MP3, ReQuantizeSfb_MP3
MDCTInv_MP3
MDCTInvWindow_MP3
SynthPQMF_MP3
SynthesisFilterInit_PQMF_MP3
SynthesisFilterInitAlloc_PQMF_MP3
SynthesisFilterGetSize_PQMF_MP3
SynthesisFilterFree_PQMF_MP3
SynthesisFilter_PQMF_MP3
Advanced Audio Coding Functions
Global Macros
Data Types and Structures
AAC Decoding Functions
MPEG-2 AAC Functions
UnpackADIFHeader_AAC
UnpackADTSFrameHeader_AAC
DecodePrgCfgElt_AAC
DecodeChanPairElt_AAC
NoiselessDecoder_LC_AAC
DecodeDatStrElt_AAC
DecodeFillElt_AAC
QuantInv_AAC
DecodeMsStereo_AAC
DecodeIsStereo_AAC
DeinterleaveSpectrum_AAC
DecodeTNS_AAC
MDCTInv_AAC_32s16s
MDCTInv_AAC_32s_I
MPEG-4 AAC Functions
DecodeMainHeader_AAC
DecodeExtensionHeader_AAC
DecodePNS_AAC
DecodeMsPNS_AAC
DecodeChanPairElt_MP4_AAC
LongTermReconstruct_AAC
MDCTFwd_AAC_32s
MDCTFwd_AAC_32s_I
EncodeTNS_AAC
LongTermPredict_AAC
NoiselessDecode_AAC
LtpUpdate_AAC
Spectral Band Replication Functions
SBR Audio Encoder Functions
DetectTransient_SBR
EstimateTNR_SBR
AnalysisFilterEncGetSize_SBR
AnalysisFilterEncInit_SBR
AnalysisFilterEnc_SBR
AnalysisFilterEncInitAlloc_SBR
AnalysisFilterEncFree_SBR
SBR Audio Decoder Functions
QMF Functions
Memory Allocation and Initialization
AnalysisFilterInitAlloc_SBR
SynthesisFilterInitAlloc_SBR
SynthesisDownFilterInitAlloc_SBR
Memory Release
AnalysisFilterFree_SBR
SynthesisFilterFree_SBR
SynthesisDownFilterFree_SBR
Size Getting
AnalysisFilterGetSize_SBR
SynthesisFilterGetSize_SBR
SynthesisDownFilterGetSize_SBR
Initialization
AnalysisFilterInit_SBR
SynthesisFilterInit_SBR
SynthesisDownFilterInit_SBR
QMF Main Functions
AnalysisFilter_SBR
SynthesisFilter_SBR
SynthesisDownFilter_SBR
Example of Using the Filter Functions
Prediction Functions
PredictCoef_SBR
PredictOneCoef_SBR
Parametric Stereo Functions
PS Audio Decoder Functions
AnalysisFilter_PS
DTS Audio Coding Functions
DTS Audio Decoder
SynthesisFilterInit_DTS
SynthesisFilterInitAlloc_DTS
SynthesisFilterGetSize_DTS
SynthesisFilterFree_DTS
SynthesisFilter_DTS
String Functions
String Manipulation
Find, FindRev
FindC, FindRevC
FindCAny, FindRevCAny
Insert
Remove
Compare
CompareIgnoreCase, CompareIgnoreCaseLatin
Equal
TrimC
TrimCAny, TrimStartCAny, TrimEndCAny
ReplaceC
Uppercase, UppercaseLatin
Lowercase, LowercaseLatin
Hash
Concat
ConcatC
SplitC
Regular Expressions
RegExpInitAlloc
RegExpFree
RegExpInit
RegExpGetSize
RegExpSetMatchLimit
RegExpFind
RegExpSetFormat
ConvertUTF
RegExpMultiGetSize
RegExpMultiInit
RegExpMultiInitAlloc
RegExpMultiFree
RegExpMultiAdd
RegExpMultiDelete
RegExpMultiModify
RegExpMultiFind
Example of Using Multipattern Functions
RegExpReplaceGetSize
RegExpReplaceInit
RegExpReplace
Fixed-Accuracy Arithmetic Functions
Arithmetic Functions
Add
Sub
Sqr
Mul
MulByConj
Conj
Abs
Arg
Power and Root Functions
Inv
Div
Sqrt
InvSqrt
Cbrt
InvCbrt
Pow2o3
Pow3o2
Pow
Powx
Hypot
Exponential and Logarithmic Functions
Exp
Expm1
Ln
Log10
Log1p
Trigonometric Functions
Cos
Sin
SinCos
CIS
Tan
Acos
Asin
Atan
Atan2
Hyperbolic Functions
Cosh
Sinh
Tanh
Acosh
Asinh
Atanh
Special Functions
Erf
Erfc
ErfInv
Rounding Functions
Floor
Ceil
Trunc
Round
NearbyInt
Rint
Modf
Data Compression Functions
Application Notes
VLC and Huffman Coding Functions
Data Compression VLC functions
VLCEncodeInitAlloc
VLCEncodeFree
VLCEncodeInit
VLCEncodeGetSize
VLCEncodeBlock
VLCEncodeOne
VLCCountBits
VLCDecodeInitAlloc
VLCDecodeFree
VLCDecodeInit
VLCDecodeGetSize
VLCDecodeBlock
VLCDecodeOne
Example of Using VLC Coding Functions
VLCDecodeUTupleInitAlloc
VLCDecodeUTupleFree
VLCDecodeUTupleInit
VLCDecodeUTupleGetSize
VLCDecodeUTupleBlock
VLCDecodeUTupleOne
Huffman Coding
EncodeHuffInitAlloc
HuffFree
EncodeHuffInit
HuffGetSize
EncodeHuffOne
EncodeHuff
EncodeHuffFinal
HuffGetLenCodeTable
DecodeHuffInitAlloc
DecodeHuffInit
DecodeHuffOne
DecodeHuff
HuffGetDstBuffSize
HuffLenCodeTablePack
HuffLenCodeTableUnpack
Dictionary-Based Compression Functions
LZSS Compression Functions
EncodeLZSSInitAlloc
LZSSFree
EncodeLZSSInit
LZSSGetSize
EncodeLZSS
EncodeLZSSFlush
DecodeLZSSInitAlloc
DecodeLZSSInit
DecodeLZSS
ZLIB Coding Functions
Special Parameters
EncodeLZ77Init
EncodeLZ77GetSize
EncodeLZ77InitAlloc
LZ77Free
EncodeLZ77
EncodeLZ77SelectMode
EncodeLZ77FixedHuff
EncodeLZ77DynamicHuff
EncodeLZ77StoredBlock
EncodeLZ77SetDictionary, DecodeLZ77SetDictionary
EncodeLZ77Flush
EncodeLZ77GetPairs
EncodeLZ77SetPairs
EncodeLZ77GetStatus
EncodeLZ77SetStatus
EncodeLZ77Reset
DecodeLZ77Init
DecodeLZ77GetSize
DecodeLZ77InitAlloc
DecodeLZ77
DecodeLZ77GetBlockType
DecodeLZ77FixedHuff
DecodeLZ77DynamicHuff
DecodeLZ77FixedHuffFull, DecodeLZ77DynamicHuffFull
DecodeLZ77StoredBlock
DecodeLZ77StoredHuff
DecodeLZ77GetPairs
DecodeLZ77SetPairs
DecodeLZ77GetStatus
DecodeLZ77SetStatus
DecodeLZ77Reset
DecodeLZ77CopyState_8u
Adler32
CRC32, CRC32C
DeflateLZ77
DeflateDictionarySet
DeflateUpdateHash
DeflateHuff
InflateBuildHuffTable
Inflate
Example of Using Intel IPP ZLIB Coding Functions
LZO Compression Functions
Special Parameters
EncodeLZOGetSize
EncodeLZOInit
EncodeLZO
DecodeLZO
DecodeLZOSafe
BWT-Based Compression Functions
Burrows-Wheeler Transform
BWTFwdGetSize
BWTFwd
BWTFwdGetBufSize_SelectSort
BWTFwd_SelectSort
BWTInvGetSize
BWTInv
BWTGetSize_SmallBlock
BWTFwd_SmallBlock
BWTInv_SmallBlock
Generalized Interval Transformation Coding
Special Parameters
EncodeGITInitAlloc
GITFree
EncodeGITInit
EncodeGITGetSize
EncodeGIT
DecodeGITInitAlloc
DecodeGITInit
DecodeGITGetSize
DecodeGIT
Move To Front Functions
MTFInitAlloc
MTFFree
MTFInit
MTFGetSize
MTFFwd
MTFInv
Run Length Encoding Functions
EncodeRLE
DecodeRLE
bzip2 Coding Functions
EncodeRLEInitAlloc_BZ2
RLEFree_BZ2
EncodeRLEInit_BZ2
RLEGetSize_BZ2
EncodeRLE_BZ2
EncodeRLEFlush_BZ2
RLEGetInUseTable
DecodeRLE_BZ2
DecodeRLEStateInit_BZ2
DecodeRLEState_BZ2
DecodeRLEStateFlush_BZ2
EncodeZ1Z2_BZ2
DecodeZ1Z2_BZ2
ReduceDictionary
ExpandDictionary
CRC32_BZ2
EncodeHuffGetSize_BZ2
EncodeHuffInit_BZ2
EncodeHuffInitAlloc_BZ2
EncodeHuffFree_BZ2
PackHuffContext_BZ2
EncodeHuff_BZ2
DecodeHuffGetSize_BZ2
DecodeHuffInit_BZ2
DecodeHuffInitAlloc_BZ2
DecodeHuffFree_BZ2
UnpackHuffContext_BZ2
DecodeHuff_BZ2
DecodeBlockGetSize_BZ2
DecodeBlock_BZ2
Long Term Evolution (LTE) Wireless Support Functions
MIMO MMSE Estimator
MimoMMSE
Handling of Special Cases
Deprecated Signal Processing Functions
Bibliography
Glossary
Intel® Integrated Performance Primitives Reference Manual, Volume 1: Signal Processing IPP 8.1 Document Number: A24968-039US Legal Information
Intel® Integrated Performance Primitives Reference Manual, Volume 1: Signal Processing Legal Information INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL PRODUCTS. NO LICENSE, EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, TO ANY INTELLECTUAL PROPERTY RIGHTS IS GRANTED BY THIS DOCUMENT. EXCEPT AS PROVIDED IN INTEL'S TERMS AND CONDITIONS OF SALE FOR SUCH PRODUCTS, INTEL ASSUMES NO LIABILITY WHATSOEVER AND INTEL DISCLAIMS ANY EXPRESS OR IMPLIED WARRANTY, RELATING TO SALE AND/OR USE OF INTEL PRODUCTS INCLUDING LIABILITY OR WARRANTIES RELATING TO FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR INFRINGEMENT OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT. A "Mission Critical Application" is any application in which failure of the Intel Product could result, directly or indirectly, in personal injury or death. SHOULD YOU PURCHASE OR USE INTEL'S PRODUCTS FOR ANY SUCH MISSION CRITICAL APPLICATION, YOU SHALL INDEMNIFY AND HOLD INTEL AND ITS SUBSIDIARIES, SUBCONTRACTORS AND AFFILIATES, AND THE DIRECTORS, OFFICERS, AND EMPLOYEES OF EACH, HARMLESS AGAINST ALL CLAIMS COSTS, DAMAGES, AND EXPENSES AND REASONABLE ATTORNEYS' FEES ARISING OUT OF, DIRECTLY OR INDIRECTLY, ANY CLAIM OF PRODUCT LIABILITY, PERSONAL INJURY, OR DEATH ARISING IN ANY WAY OUT OF SUCH MISSION CRITICAL APPLICATION, WHETHER OR NOT INTEL OR ITS SUBCONTRACTOR WAS NEGLIGENT IN THE DESIGN, MANUFACTURE, OR WARNING OF THE INTEL PRODUCT OR ANY OF ITS PARTS. Intel may make changes to specifications and product descriptions at any time, without notice. Designers must not rely on the absence or characteristics of any features or instructions marked "reserved" or "undefined". Intel reserves these for future definition and shall have no responsibility whatsoever for conflicts or incompatibilities arising from future changes to them. The information here is subject to change without notice. Do not finalize a design with this information. The products described in this document may contain design defects or errors known as errata which may cause the product to deviate from published specifications. Current characterized errata are available on request. Contact your local Intel sales office or your distributor to obtain the latest specifications and before placing your product order. Copies of documents which have an order number and are referenced in this document, or other Intel literature, may be obtained by calling 1-800-548-4725, or go to: http:// www.intel.com/design/literature.htm MPEG-1, MPEG-2, MPEG-4, H.261, H.263, H.264, MP3, DV, VC-1, MJPEG, AC3, AAC, G.711, G.722, G.722.1, G.722.2, AMRWB, Extended AMRWB (AMRWB+), G.167, G.168, G.169, G.723.1, G.726, G.728, G.729, G. 729.1, GSM AMR, GSM FR are international standards promoted by ISO, IEC, ITU, ETSI, 3GPP and other organizations. Implementations of these standards, or the standard enabled platforms may require licenses from various entities, including Intel Corporation. Software and workloads used in performance tests may have been optimized for performance only on Intel microprocessors. Performance tests, such as SYSmark and MobileMark, are measured using specific computer systems, components, software, operations and functions. Any change to any of those factors may cause the results to vary. You should consult other information and performance tests to assist you in fully evaluating your contemplated purchases, including the performance of that product when combined with other products. BlueMoon, BunnyPeople, Celeron, Celeron Inside, Centrino, Centrino Inside, Cilk, Core Inside, E-GOLD, Flexpipe, i960, Intel, the Intel logo, Intel AppUp, Intel Atom, Intel Atom Inside, Intel CoFluent, Intel Core, Intel Inside, Intel Insider, the Intel Inside logo, Intel NetBurst, Intel NetMerge, Intel NetStructure, Intel SingleDriver, Intel SpeedStep, Intel Sponsors of Tomorrow., the Intel Sponsors of Tomorrow. logo, Intel StrataFlash, Intel vPro, Intel Xeon Phi, Intel XScale, InTru, the InTru logo, the InTru Inside logo, InTru soundmark, Itanium, Itanium Inside, MCS, MMX, Pentium, Pentium Inside, Puma, skoool, the skoool logo, SMARTi, Sound Mark, Stay With It, The Creators Project, The Journey Inside, Thunderbolt, Ultrabook, vPro Inside, VTune, Xeon, Xeon Inside, X-GOLD, XMM, X-PMU and XPOSYS are trademarks of Intel Corporation in the U.S. and/or other countries. *Other names and brands may be claimed as the property of others. 2
Microsoft, Windows, and the Windows logo are trademarks, or registered trademarks of Microsoft Corporation in the United States and/or other countries. Java is a registered trademark of Oracle and/or its affiliates. Copyright© 2000-2014, Intel Corporation. All rights reserved. Legal Information 3
1 Intel® Integrated Performance Primitives Reference Manual, Volume 1: Signal Processing Volume Overview 1 This manual describes the structure, operation and functions of the Intel® Integrated Performance Primitives (Intel® IPP) for Intel® architecture that operate on one-dimensional signals. The manual explains the concepts of Intel IPP, as well as specific data type definitions and operation models used in the signal processing domain, and provides detailed descriptions of the Intel IPP signal processing functions. The functions are combined in groups by their functionality. Each group of functions is described in a separate chapter (chapters 3 through 14). For more information about signal processing concepts and algorithms, refer to the books and papers listed in the Bibliography. What's New This Reference Manual documents Intel® Integrated Performance Primitives (Intel® IPP) 8.1 release. Notational Conventions The code and syntax used in this manual for function and variable declarations are written in the ANSI C style. However, versions of Intel IPP for different processors or operating systems may, of necessity, vary slightly. This manual uses the following notational conventions: Explanation Used in the text for the Intel IPP constant identifiers. Mixed with the uppercase in structure names; also used in function names, code examples and call statements. Example IPPI_MAX_64S IppLibraryVersion, void ippsFree() Parameters in function prototypes and parameters description. value, srcStep Used to represent a discrete 1D signal. The notation x(n) refers to a conceptual signal, while the notation x[n] refers to an actual vector. Both of these are annotated to indicate a specific finite range of values. x[n], 0 ≤ n< len Typically, the number of elements in vectors is denoted by len. Vector names contain square brackets as distinct from vector elements with current index n. The expression pDst[n] = pSrc[n] + val implies that each element pDst[n] of the vector pDst is computed for each n in the range from 0 to len-1. Special cases are regarded and described separately. Convention THIS TYPE STYLE This type style This type style x(n) and x[n 4
Volume Overview 1 Example IppsROI, IppLibraryVersion Convention Ipp and Ipp prefixes Explanation All structures and enumerators, specific for a particular data- domain have the Ipp prefix, while those common for entire Intel IPP software have the Ipp prefix. See Also Function Naming 5
2 Intel® Integrated Performance Primitives Reference Manual, Volume 1: Signal Processing Intel® Integrated Performance Primitives Concepts 2 This chapter explains the structure of the Intel® Integrated Performance Primitives (Intel® IPP) software and some of the basic concepts used in the signal processing part of Intel IPP. It also defines function naming conventions in the manual, describes the supported data formats and operation modes. Function Naming Naming conventions for the Intel IPP functions are similar for all covered domains. Function names in Intel IPP have the following general format: ipp_< datatype>[_]() The elements of this format are explained in the sections that follow. NOTE In this manual, each function is introduced by its short name (without the ipps prefix and modifiers) and a brief description of its purpose. The ipps prefix in function names is always used in the code examples. In the text, this prefix is usually omitted when referring to the function group. Data-Domain The data-domain element is a single character that denotes the group of functionality to which a given function belongs. The main distinction among these groups is the type of input data. Intel IPP supports the following data-domains: s i m r realistic rendering functionality and 3D data processing (type of input data type depends on supported rendering techniques) signal processing (input data is a 1D signal) images and video processing (input data is a 2D image) small matrix operations (input data is a matrix) operations on signals of the fixed length g For example, function names that begin with ipps signify that respective functions are used for signal processing. Name The name element identifies what function does and has the following format: = [_modifier] The operation component is one ore more words, acronyms, and abbreviations that describe the core operation. The modifier component, if present, is a word or abbreviation that denotes a slight modification or variation of the given function. 6
For example, names without modifiers: Add, Threshold, FirGenLowPass; with modifiers: ippsFFTInv_CToC, Threshold_LT. Intel® Integrated Performance Primitives Concepts 2 Data Types The datatype field indicates data types used by the function, in the following format: , where bit depth = <1|8|16|32|64> and bit interpretation[ c] Here u indicates “unsigned integer”, s indicates “signed integer”, f indicates “floating point”, and c indicates “complex”. Intel IPP supports the data types of the source and destination for signal processing functions listed in the table below. NOTE In the lists of function parameters, the Ipp prefix is added to the data type. For example, 8-bit signed data is denoted as Ipp8s type. These Intel IPP-specific data types are defined in the respective library header files. Data Types Supported by Intel IPP for Signal Processing Intel IPP Type Ipp8u Ipp8s Ipp16u Ipp16s Ipp16sc Ipp32u Ipp32s Ipp32f Ipp32fc Ipp64s Ipp64f Ipp64fc Usual C Type unsigned char signed char unsigned short signed short complex short unsigned int signed int float complex float __int64 (Windows*) or long long (Linux*) double complex double Type 8u 8s 16u 16s 16sc 32u 32s 32f 32fc 64s 64f 64fc For functions that operate on a single data type, the datatype field contains only one of the values listed above. If a function operates on source and destination signals that have different data types, the respective data type identifiers are listed in the function name in order of source and destination as follows: = [src2Datatype][dstDatatype] For example, the function ippsDotProd_16s16sc_Sfs computes the dot product of 16-bit short and 16-bit complex short source vectors and stores the result in a 16-bit complex short destination vector. The dstDatatype modifier is not present in the name because the second operand and the result are of the same type. The result is scaled and saturated. There are several data types, namely 24u, 24s and 16f that are not supported by Intel IPP, but can be readily converted to the supported data types for further processing by the library functions. 7
2 Intel® Integrated Performance Primitives Reference Manual, Volume 1: Signal Processing For the unsigned 24u data, each vector element consists of three consecutive bytes represented as Ipp8u data types. It has a little-endian byte order when a lower order byte is at the lower address. These data may be converted to and from 32u or 32f data types by using the appropriate flavors of the Intel IPP function ippsConvert. For the signed 24s data, each vector element consists of three consecutive bytes represented as Ipp8u data types. It has a little-endian byte order when a lower order byte is at the lower address. The sign is represented by the most significant bit of the highest order byte. These data may be converted to and from 32s or 32f data types by using the appropriate flavors of the Intel IPP function ippsConvert. For the 16f format, 16-bit floating point data (half type) can represent positive and negative numbers, whose magnitude is between roughly 6.1e-5 and 6.5e4, with a relative error of 9.8e-4 ; numbers smaller than 6.1e-5 can be represented with an absolute error of 6.0e-8 . All integers from -2048 to +2048 can be represented exactly. The figure below illustrates the bit-layout for a half number: s is the sign-bit, e is the exponent, and m is the significand. These data may be converted to and from 16s and 32f data types by using the appropriate flavors of the Intel IPP function ippsConvert. Descriptors The descriptors element further describes the operation. Descriptors are individual characters that indicate additional details of the operation. The following descriptors are used in signal processing functions: Descriptor I Sfs P Description Operation is in-place (default is not-in-place). Saturation and fixed scaling mode (default is saturation and no scaling). Operation is performed for the specified number of vectors. Example ippsAdd_16s_I ippsConvert_16s8s_Sfs ippsIIR_32f _P If the function has more than one descriptor, they are presented in the function name in alphabetical order. Many functions have no descriptors listed above. Such functions operate with the default behavior. Parameters The parameters element specifies the function parameters (arguments). The order of parameters is as follows: • All source operands. Constants follow vectors. • All destination operands. Constants follow vectors. 8
分享到:
收藏