FreeCalypso > hg > gsm-codec-lib
view libgsmhr1/enc_state.h @ 611:f8759c856006
libgsmhr1/enc_state.h: add static vars from dtx.c
| author | Mychaela Falconia <falcon@freecalypso.org> |
|---|---|
| date | Thu, 05 Mar 2026 07:34:38 +0000 |
| parents | d18efcba03bc |
| children | ff5857556c44 |
line wrap: on
line source
/* * This library-internal header file provides definition for * struct gsmhr_encoder_state, the state structure for our speech * encoder engine. */ #ifndef enc_state_h #define enc_state_h #include "typedefs.h" #define CG_INT_MACS 6 /* Number of Multiply-Accumulates in */ /* one interpolation */ #define LMAX 142 /* largest lag (integer sense) */ #define LSMAX (LMAX+ CG_INT_MACS/2) /* Lag Search Array Length */ #define LPCSTARTINDEX 25 /* Where the LPC analysis window * starts */ #define INBUFFSZ LPCSTARTINDEX + A_LEN /* Input buffer size */ #define HNW_BUFF_LEN LSMAX #define LTP_LEN 147 /* 147==0x93 length of LTP history */ struct gsmhr_encoder_state { int dtx_mode; /* state variables from sp_enc.c */ Shortword swOldR0; Shortword swOldR0Index; struct NormSw psnsWSfrmEngSpace[2 * N_SUB]; Shortword pswHPFXState[4]; Shortword pswHPFYState[8]; Shortword pswOldFrmKs[NP]; Shortword pswOldFrmAs[NP]; Shortword pswOldFrmSNWCoefs[NP]; Shortword pswWgtSpeechSpace[F_LEN + LMAX + CG_INT_MACS / 2]; Shortword pswSpeech[INBUFFSZ]; /* input speech */ Shortword swPtch; /* DTX state variables from sp_enc.c */ Shortword swTxGsHistPtr; Shortword pswCNVSCode1[N_SUB]; Shortword pswCNVSCode2[N_SUB]; Shortword pswCNGsp0Code[N_SUB]; Shortword pswCNLpc[3]; Shortword swCNR0; /* DTX state variables from dtx.c */ Shortword swVadFrmCnt; short int siUpdPointer; Shortword swNElapsed; Longword pL_GsHist[N_SUB * (OVERHANG - 1)]; /* previously static vars inside swComfortNoise() */ struct cn_state { /* history of unquantized parameters */ Longword pL_R0Hist[OVERHANG]; Longword ppL_CorrHist[OVERHANG][NP + 1]; /* quantized reference parameters */ Shortword swQntRefR0; Shortword swRefGsIndex; int piRefVqCodewds[3]; /* handling of short speech bursts */ Shortword swShortBurst; /* state value of random generator */ Longword L_TxPNSeed; } cn_state; /* state variables from sp_frm.c */ Shortword pswAnalysisState[NP]; Shortword pswWStateNum[NP]; Shortword pswWStateDenom[NP]; /* state variables from sp_sfrm.c */ Shortword pswLtpStateBase[LTP_LEN + S_LEN]; Shortword pswHState[NP]; Shortword pswHNWState[HNW_BUFF_LEN]; /* from vad.c */ struct vad_state { Shortword pswRvad[9]; Shortword swNormRvad; Shortword swPt_sacf; Shortword swPt_sav0; Shortword swE_thvad; Shortword swM_thvad; Shortword swAdaptCount; Shortword swBurstCount; Shortword swHangCount; Shortword swOldLagCount; Shortword swVeryOldLagCount; Shortword swOldLag; Longword pL_sacf[27]; Longword pL_sav0[36]; Longword L_lastdm; } vad; }; #endif
