FreeCalypso > hg > gsm-codec-lib
annotate libgsmhr1/enc_state.c @ 622:3ae5508f9a54 default tip
libgsmhr1/sp_sfrm.c: constify "ROM" static data
| author | Mychaela Falconia <falcon@freecalypso.org> |
|---|---|
| date | Thu, 05 Mar 2026 21:56:18 +0000 |
| parents | d18efcba03bc |
| children |
| rev | line source |
|---|---|
|
610
d18efcba03bc
libgsmhr1: capture speech encoder state
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1 /* |
|
d18efcba03bc
libgsmhr1: capture speech encoder state
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2 * Here we implement gsmhr_encoder_create() and gsmhr_encoder_reset() |
|
d18efcba03bc
libgsmhr1: capture speech encoder state
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
3 * functions: allocation and initialization of speech encoder state. |
|
d18efcba03bc
libgsmhr1: capture speech encoder state
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
4 */ |
|
d18efcba03bc
libgsmhr1: capture speech encoder state
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
5 |
|
d18efcba03bc
libgsmhr1: capture speech encoder state
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
6 #include <stdint.h> |
|
d18efcba03bc
libgsmhr1: capture speech encoder state
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
7 #include <stdlib.h> |
|
d18efcba03bc
libgsmhr1: capture speech encoder state
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
8 #include <string.h> |
|
d18efcba03bc
libgsmhr1: capture speech encoder state
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
9 #include "tw_gsmhr.h" |
|
d18efcba03bc
libgsmhr1: capture speech encoder state
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
10 #include "typedefs.h" |
|
d18efcba03bc
libgsmhr1: capture speech encoder state
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
11 #include "namespace.h" |
|
d18efcba03bc
libgsmhr1: capture speech encoder state
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
12 #include "enc_state.h" |
|
d18efcba03bc
libgsmhr1: capture speech encoder state
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
13 |
|
d18efcba03bc
libgsmhr1: capture speech encoder state
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
14 struct gsmhr_encoder_state *gsmhr_encoder_create(int dtx) |
|
d18efcba03bc
libgsmhr1: capture speech encoder state
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
15 { |
|
d18efcba03bc
libgsmhr1: capture speech encoder state
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
16 struct gsmhr_encoder_state *st; |
|
d18efcba03bc
libgsmhr1: capture speech encoder state
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
17 |
|
d18efcba03bc
libgsmhr1: capture speech encoder state
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
18 st = malloc(sizeof(struct gsmhr_encoder_state)); |
|
d18efcba03bc
libgsmhr1: capture speech encoder state
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
19 if (st) |
|
d18efcba03bc
libgsmhr1: capture speech encoder state
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
20 gsmhr_encoder_reset(st, dtx); |
|
d18efcba03bc
libgsmhr1: capture speech encoder state
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
21 return st; |
|
d18efcba03bc
libgsmhr1: capture speech encoder state
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
22 } |
|
d18efcba03bc
libgsmhr1: capture speech encoder state
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
23 |
|
d18efcba03bc
libgsmhr1: capture speech encoder state
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
24 static void vad_init_nonzero(struct vad_state *vst) |
|
d18efcba03bc
libgsmhr1: capture speech encoder state
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
25 { |
|
d18efcba03bc
libgsmhr1: capture speech encoder state
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
26 vst->pswRvad[0] = 24576; |
|
d18efcba03bc
libgsmhr1: capture speech encoder state
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
27 vst->swNormRvad = 7; |
|
d18efcba03bc
libgsmhr1: capture speech encoder state
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
28 vst->swE_thvad = 21; |
|
d18efcba03bc
libgsmhr1: capture speech encoder state
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
29 vst->swM_thvad = 21875; |
|
d18efcba03bc
libgsmhr1: capture speech encoder state
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
30 vst->swHangCount = -1; |
|
d18efcba03bc
libgsmhr1: capture speech encoder state
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
31 vst->swOldLag = 21; |
|
d18efcba03bc
libgsmhr1: capture speech encoder state
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
32 } |
|
d18efcba03bc
libgsmhr1: capture speech encoder state
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
33 |
|
d18efcba03bc
libgsmhr1: capture speech encoder state
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
34 void gsmhr_encoder_reset(struct gsmhr_encoder_state *st, int dtx) |
|
d18efcba03bc
libgsmhr1: capture speech encoder state
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
35 { |
|
d18efcba03bc
libgsmhr1: capture speech encoder state
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
36 int i; |
|
d18efcba03bc
libgsmhr1: capture speech encoder state
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
37 |
|
d18efcba03bc
libgsmhr1: capture speech encoder state
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
38 memset(st, 0, sizeof(struct gsmhr_encoder_state)); |
|
d18efcba03bc
libgsmhr1: capture speech encoder state
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
39 st->dtx_mode = dtx; |
|
d18efcba03bc
libgsmhr1: capture speech encoder state
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
40 vad_init_nonzero(&st->vad); |
|
d18efcba03bc
libgsmhr1: capture speech encoder state
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
41 st->swPtch = 1; |
|
d18efcba03bc
libgsmhr1: capture speech encoder state
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
42 st->swNElapsed = 50; |
|
d18efcba03bc
libgsmhr1: capture speech encoder state
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
43 } |
