AdaptiveCodebookSearch_G723

Searches for the close loop pitch and the adaptive gain index.

Syntax

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);

Parameters

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.

Description

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.

Return Values

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.

Submit feedback on this help topic

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