FreeCalypso > hg > gsm-codec-lib
annotate libgsmhr1/sp_dec.h @ 594:83d46a16db1b
libgsmhr1/sp_dec.[ch]: import original
| author | Mychaela Falconia <falcon@freecalypso.org> |
|---|---|
| date | Thu, 04 Dec 2025 01:45:00 +0000 |
| parents | |
| children |
| rev | line source |
|---|---|
|
594
83d46a16db1b
libgsmhr1/sp_dec.[ch]: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1 #ifndef __SP_DEC |
|
83d46a16db1b
libgsmhr1/sp_dec.[ch]: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2 #define __SP_DEC |
|
83d46a16db1b
libgsmhr1/sp_dec.[ch]: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
3 |
|
83d46a16db1b
libgsmhr1/sp_dec.[ch]: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
4 #include "typedefs.h" |
|
83d46a16db1b
libgsmhr1/sp_dec.[ch]: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
5 |
|
83d46a16db1b
libgsmhr1/sp_dec.[ch]: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
6 /*_________________________________________________________________________ |
|
83d46a16db1b
libgsmhr1/sp_dec.[ch]: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
7 | | |
|
83d46a16db1b
libgsmhr1/sp_dec.[ch]: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
8 | Function Prototypes | |
|
83d46a16db1b
libgsmhr1/sp_dec.[ch]: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
9 |_________________________________________________________________________| |
|
83d46a16db1b
libgsmhr1/sp_dec.[ch]: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
10 */ |
|
83d46a16db1b
libgsmhr1/sp_dec.[ch]: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
11 |
|
83d46a16db1b
libgsmhr1/sp_dec.[ch]: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
12 void speechDecoder(Shortword pswParameters[], |
|
83d46a16db1b
libgsmhr1/sp_dec.[ch]: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
13 Shortword pswDecodedSpeechFrame[]); |
|
83d46a16db1b
libgsmhr1/sp_dec.[ch]: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
14 |
|
83d46a16db1b
libgsmhr1/sp_dec.[ch]: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
15 void aFlatRcDp(Longword *pL_R, Shortword *pswRc); |
|
83d46a16db1b
libgsmhr1/sp_dec.[ch]: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
16 |
|
83d46a16db1b
libgsmhr1/sp_dec.[ch]: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
17 void b_con(Shortword swCodeWord, short siNumBits, |
|
83d46a16db1b
libgsmhr1/sp_dec.[ch]: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
18 Shortword pswVectOut[]); |
|
83d46a16db1b
libgsmhr1/sp_dec.[ch]: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
19 |
|
83d46a16db1b
libgsmhr1/sp_dec.[ch]: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
20 void fp_ex(Shortword swOrigLagIn, Shortword pswLTPState[]); |
|
83d46a16db1b
libgsmhr1/sp_dec.[ch]: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
21 |
|
83d46a16db1b
libgsmhr1/sp_dec.[ch]: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
22 Shortword g_corr1(Shortword *pswIn, Longword *pL_out); |
|
83d46a16db1b
libgsmhr1/sp_dec.[ch]: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
23 |
|
83d46a16db1b
libgsmhr1/sp_dec.[ch]: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
24 Shortword g_corr1s(Shortword pswIn[], Shortword swEngyRShft, |
|
83d46a16db1b
libgsmhr1/sp_dec.[ch]: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
25 Longword *pL_out); |
|
83d46a16db1b
libgsmhr1/sp_dec.[ch]: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
26 |
|
83d46a16db1b
libgsmhr1/sp_dec.[ch]: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
27 void getSfrmLpc(short int siSoftInterpolation, |
|
83d46a16db1b
libgsmhr1/sp_dec.[ch]: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
28 Shortword swPrevR0, Shortword swNewR0, |
|
83d46a16db1b
libgsmhr1/sp_dec.[ch]: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
29 Shortword pswPrevFrmKs[], |
|
83d46a16db1b
libgsmhr1/sp_dec.[ch]: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
30 Shortword pswPrevFrmAs[], |
|
83d46a16db1b
libgsmhr1/sp_dec.[ch]: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
31 Shortword pswPrevFrmPFNum[], |
|
83d46a16db1b
libgsmhr1/sp_dec.[ch]: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
32 Shortword pswPrevFrmPFDenom[], |
|
83d46a16db1b
libgsmhr1/sp_dec.[ch]: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
33 Shortword pswNewFrmKs[], |
|
83d46a16db1b
libgsmhr1/sp_dec.[ch]: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
34 Shortword pswNewFrmAs[], |
|
83d46a16db1b
libgsmhr1/sp_dec.[ch]: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
35 Shortword pswNewFrmPFNum[], |
|
83d46a16db1b
libgsmhr1/sp_dec.[ch]: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
36 Shortword pswNewFrmPFDenom[], |
|
83d46a16db1b
libgsmhr1/sp_dec.[ch]: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
37 struct NormSw *psnsSqrtRs, |
|
83d46a16db1b
libgsmhr1/sp_dec.[ch]: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
38 Shortword *ppswSynthAs[], |
|
83d46a16db1b
libgsmhr1/sp_dec.[ch]: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
39 Shortword *ppswPFNumAs[], |
|
83d46a16db1b
libgsmhr1/sp_dec.[ch]: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
40 Shortword *ppswPFDenomAs[]); |
|
83d46a16db1b
libgsmhr1/sp_dec.[ch]: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
41 |
|
83d46a16db1b
libgsmhr1/sp_dec.[ch]: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
42 void get_ipjj(Shortword swLagIn, |
|
83d46a16db1b
libgsmhr1/sp_dec.[ch]: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
43 Shortword *pswIp, Shortword *pswJj); |
|
83d46a16db1b
libgsmhr1/sp_dec.[ch]: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
44 |
|
83d46a16db1b
libgsmhr1/sp_dec.[ch]: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
45 short int interpolateCheck(Shortword pswRefKs[], |
|
83d46a16db1b
libgsmhr1/sp_dec.[ch]: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
46 Shortword pswRefCoefsA[], |
|
83d46a16db1b
libgsmhr1/sp_dec.[ch]: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
47 Shortword pswOldCoefsA[], |
|
83d46a16db1b
libgsmhr1/sp_dec.[ch]: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
48 Shortword pswNewCoefsA[], |
|
83d46a16db1b
libgsmhr1/sp_dec.[ch]: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
49 Shortword swOldPer, |
|
83d46a16db1b
libgsmhr1/sp_dec.[ch]: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
50 Shortword swNewPer, |
|
83d46a16db1b
libgsmhr1/sp_dec.[ch]: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
51 Shortword swRq, |
|
83d46a16db1b
libgsmhr1/sp_dec.[ch]: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
52 struct NormSw *psnsSqrtRsOut, |
|
83d46a16db1b
libgsmhr1/sp_dec.[ch]: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
53 Shortword pswCoefOutA[]); |
|
83d46a16db1b
libgsmhr1/sp_dec.[ch]: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
54 |
|
83d46a16db1b
libgsmhr1/sp_dec.[ch]: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
55 void lpcFir(Shortword pswInput[], Shortword pswCoef[], |
|
83d46a16db1b
libgsmhr1/sp_dec.[ch]: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
56 Shortword pswState[], Shortword pswFiltOut[]); |
|
83d46a16db1b
libgsmhr1/sp_dec.[ch]: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
57 |
|
83d46a16db1b
libgsmhr1/sp_dec.[ch]: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
58 void lpcIir(Shortword pswInput[], Shortword pswCoef[], |
|
83d46a16db1b
libgsmhr1/sp_dec.[ch]: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
59 Shortword pswState[], Shortword pswFiltOut[]); |
|
83d46a16db1b
libgsmhr1/sp_dec.[ch]: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
60 |
|
83d46a16db1b
libgsmhr1/sp_dec.[ch]: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
61 void lpcIrZsIir(Shortword pswCoef[], Shortword pswFiltOut[]); |
|
83d46a16db1b
libgsmhr1/sp_dec.[ch]: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
62 |
|
83d46a16db1b
libgsmhr1/sp_dec.[ch]: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
63 void lpcZiIir(Shortword pswCoef[], Shortword pswState[], |
|
83d46a16db1b
libgsmhr1/sp_dec.[ch]: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
64 Shortword pswFiltOut[]); |
|
83d46a16db1b
libgsmhr1/sp_dec.[ch]: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
65 |
|
83d46a16db1b
libgsmhr1/sp_dec.[ch]: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
66 void lpcZsFir(Shortword pswInput[], Shortword pswCoef[], |
|
83d46a16db1b
libgsmhr1/sp_dec.[ch]: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
67 Shortword pswFiltOut[]); |
|
83d46a16db1b
libgsmhr1/sp_dec.[ch]: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
68 |
|
83d46a16db1b
libgsmhr1/sp_dec.[ch]: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
69 void lpcZsIir(Shortword pswInput[], Shortword pswCoef[], |
|
83d46a16db1b
libgsmhr1/sp_dec.[ch]: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
70 Shortword pswFiltOut[]); |
|
83d46a16db1b
libgsmhr1/sp_dec.[ch]: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
71 |
|
83d46a16db1b
libgsmhr1/sp_dec.[ch]: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
72 void lpcZsIirP(Shortword pswCommonIO[], Shortword pswCoef[]); |
|
83d46a16db1b
libgsmhr1/sp_dec.[ch]: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
73 |
|
83d46a16db1b
libgsmhr1/sp_dec.[ch]: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
74 Shortword r0BasedEnergyShft(Shortword swR0Index); |
|
83d46a16db1b
libgsmhr1/sp_dec.[ch]: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
75 |
|
83d46a16db1b
libgsmhr1/sp_dec.[ch]: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
76 short rcToADp(Shortword swAscale, Shortword pswRc[], |
|
83d46a16db1b
libgsmhr1/sp_dec.[ch]: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
77 Shortword pswA[]); |
|
83d46a16db1b
libgsmhr1/sp_dec.[ch]: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
78 |
|
83d46a16db1b
libgsmhr1/sp_dec.[ch]: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
79 void rcToCorrDpL(Shortword swAshift, Shortword swAscale, |
|
83d46a16db1b
libgsmhr1/sp_dec.[ch]: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
80 Shortword pswRc[], Longword pL_R[]); |
|
83d46a16db1b
libgsmhr1/sp_dec.[ch]: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
81 |
|
83d46a16db1b
libgsmhr1/sp_dec.[ch]: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
82 void res_eng(Shortword pswReflecCoefIn[], Shortword swRq, |
|
83d46a16db1b
libgsmhr1/sp_dec.[ch]: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
83 struct NormSw *psnsSqrtRsOut); |
|
83d46a16db1b
libgsmhr1/sp_dec.[ch]: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
84 |
|
83d46a16db1b
libgsmhr1/sp_dec.[ch]: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
85 void rs_rr(Shortword pswExcitation[], struct NormSw snsSqrtRs, |
|
83d46a16db1b
libgsmhr1/sp_dec.[ch]: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
86 struct NormSw *snsSqrtRsRr); |
|
83d46a16db1b
libgsmhr1/sp_dec.[ch]: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
87 |
|
83d46a16db1b
libgsmhr1/sp_dec.[ch]: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
88 void rs_rrNs(Shortword pswExcitation[], struct NormSw snsSqrtRs, |
|
83d46a16db1b
libgsmhr1/sp_dec.[ch]: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
89 struct NormSw *snsSqrtRsRr); |
|
83d46a16db1b
libgsmhr1/sp_dec.[ch]: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
90 |
|
83d46a16db1b
libgsmhr1/sp_dec.[ch]: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
91 Shortword scaleExcite(Shortword pswVect[], |
|
83d46a16db1b
libgsmhr1/sp_dec.[ch]: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
92 Shortword swErrTerm, struct NormSw snsRS, |
|
83d46a16db1b
libgsmhr1/sp_dec.[ch]: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
93 Shortword pswScldVect[]); |
|
83d46a16db1b
libgsmhr1/sp_dec.[ch]: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
94 |
|
83d46a16db1b
libgsmhr1/sp_dec.[ch]: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
95 Shortword sqroot(Longword L_SqrtIn); |
|
83d46a16db1b
libgsmhr1/sp_dec.[ch]: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
96 |
|
83d46a16db1b
libgsmhr1/sp_dec.[ch]: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
97 void v_con(Shortword pswBVects[], Shortword pswOutVect[], |
|
83d46a16db1b
libgsmhr1/sp_dec.[ch]: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
98 Shortword pswBitArray[], short int siNumBVctrs); |
|
83d46a16db1b
libgsmhr1/sp_dec.[ch]: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
99 |
|
83d46a16db1b
libgsmhr1/sp_dec.[ch]: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
100 #endif |
