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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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 }