Searches for the close loop pitch and the adaptive gain index.
IppStatus ippsAdaptiveCodebookSearch_G723(Ipp16s valBaseDelay, const Ipp16s* pSrcAdptTarget, const Ipp16s* pSrcImpulseResponse, Ipp16s* pSrcPrevExcitation, const Ipp32s* pSrcPrevError, Ipp16s* pResultCloseLag, Ipp16s* pResultAdptGainIndex, Ipp16s subFrame, Ipp16s sineDtct, IppSpchBitRate bitRate);
valBaseDelay |
Base delay, in the range [18,145]. |
pSrcAdptTarget |
Pointer to the adaptive target signal vector [60]. |
pSrcImpulseResponse |
Pointer to the impulse response vector [60]. |
pSrcPrevExcitation |
Pointer to the previous excitation vector [145]. |
pSrcPrevError |
Pointer to the previous error vector [5]. |
subFrame |
Subframe number, from 0 to 3. |
bitRate |
Transmit bit rate, equal to either IPP_SPCHBR_6300 or IPP_SPCHBR_5300. |
sineDtct |
Sine detector parameter. |
pResultCloseLag |
Pointer to the lag of close pitch. |
pResultAdptGainIndex |
Pointer to the index of the adaptive gain. |
The function ippsAdaptiveCodebookSearch_G723 is declared in the ippsc.h file. This function searches for the close loop pitch and the adaptive gain index. It is applied in subframes as follows:
1. For subframe 0 and 2, the close loop pitch lag is chosen in the range of [-1,1] around the appropriate open loop pitch. For subframe 1 and 3, the range is [-1, 3] around the open loop pitch.
2. Denote the close loop pitch as Li , i = 0...3. The pitch predictor gains are vector quantized. For 6.3Kbps bit rate, two codebooks are used with 85 entries and 170 entries, respectively. If L0 is less than 58 for subframe 0 and 1, or if L2 is less than 58 for subframe 2 and 3, then the 85-entry codebook is used for pitch gain quantization. Otherwise, the 170-entry codebook is used. For 5.3Kbps bit rate, the quantization is against a 170-entry codebook.
ippStsNoErr |
Indicates no error. |
ippStsNullPtrErr |
Indicates an error when one of the specified pointers is NULL. |
ippStsRangeErr |
Indicates an error when valBaseDelay is not in the range [18, 145], or subFrame is not in the range [0, 3], or bitRate is not a valid element of the enumerated type IppSpchBitRate. |
Copyright © 2000 - 2011, Intel Corporation. All rights reserved.