FreeCalypso > hg > gsm-codec-lib
annotate dev/Makefile @ 581:e2d5cad04cbf
libgsmhr1 RxFE: store CN R0+LPC separately from speech
In the original GSM 06.06 code the ECU for speech mode is entirely
separate from the CN generator, maintaining separate state. (The
main intertie between them is the speech vs CN state variable,
distinguishing between speech and CN BFIs, in addition to the
CN-specific function of distinguishing between initial and update
SIDs.)
In the present RxFE implementation I initially thought that we could
use the same saved_frame buffer for both ECU and CN, overwriting
just the first 4 params (R0 and LPC) when a valid SID comes in.
However, I now realize it was a bad idea: the original code has a
corner case (long sequence of speech-mode BFIs to put the ECU in
state 6, then SID and CN-mode BFIs, then a good speech frame) that
would be broken by that buffer reuse approach. We could eliminate
this corner case by resetting the ECU state when passing through
a CN insertion period, but doing so would needlessly increase
the behavioral diffs between GSM 06.06 and our version.
Solution: use a separate CN-specific buffer for CN R0+LPC parameters,
and match the behavior of GSM 06.06 code in this regard.
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Thu, 13 Feb 2025 10:02:45 +0000 |
parents | 19f1aa01ea10 |
children |
rev | line source |
---|---|
224
b502321000aa
dev: new program a2s-regen
Mychaela Falconia <falcon@freecalypso.org>
parents:
222
diff
changeset
|
1 PROGS= a2s-regen efr-bit-packing efr-sid-insert efr-tidsp gsm0611-silence-fr \ |
277
37dc5c84bbe9
dev: generate RTP-packed GSM-FR DHF
Mychaela Falconia <falcon@freecalypso.org>
parents:
276
diff
changeset
|
2 gsmfr-dhf mk-256bytes s2a-regen s2u-regen s2u-regen-plus4 u2s-regen \ |
37dc5c84bbe9
dev: generate RTP-packed GSM-FR DHF
Mychaela Falconia <falcon@freecalypso.org>
parents:
276
diff
changeset
|
3 xmaxc-tables |
224
b502321000aa
dev: new program a2s-regen
Mychaela Falconia <falcon@freecalypso.org>
parents:
222
diff
changeset
|
4 DATAOUT=a2s-regen.out efr-bit-packing.out efr-sid-insert.out efr-tidsp.out \ |
277
37dc5c84bbe9
dev: generate RTP-packed GSM-FR DHF
Mychaela Falconia <falcon@freecalypso.org>
parents:
276
diff
changeset
|
5 gsm0611-silence-fr.out gsmfr-dhf.out s2a-regen.out s2u-regen.out \ |
37dc5c84bbe9
dev: generate RTP-packed GSM-FR DHF
Mychaela Falconia <falcon@freecalypso.org>
parents:
276
diff
changeset
|
6 s2u-regen-plus4.out u2s-regen.out xmaxc-tables.out |
1
6780b23654bd
libgsmfrp: starting with the silence frame
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
7 |
453
19f1aa01ea10
new approach to config & build for ThemWi software
Mychaela Falconia <falcon@freecalypso.org>
parents:
277
diff
changeset
|
8 include ../config.defs |
19f1aa01ea10
new approach to config & build for ThemWi software
Mychaela Falconia <falcon@freecalypso.org>
parents:
277
diff
changeset
|
9 |
1
6780b23654bd
libgsmfrp: starting with the silence frame
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
10 all: ${PROGS} ${DATAOUT} |
6780b23654bd
libgsmfrp: starting with the silence frame
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
11 |
224
b502321000aa
dev: new program a2s-regen
Mychaela Falconia <falcon@freecalypso.org>
parents:
222
diff
changeset
|
12 a2s-regen: a2s-regen.c |
b502321000aa
dev: new program a2s-regen
Mychaela Falconia <falcon@freecalypso.org>
parents:
222
diff
changeset
|
13 ${CC} ${CFLAGS} -o $@ $@.c |
b502321000aa
dev: new program a2s-regen
Mychaela Falconia <falcon@freecalypso.org>
parents:
222
diff
changeset
|
14 |
b502321000aa
dev: new program a2s-regen
Mychaela Falconia <falcon@freecalypso.org>
parents:
222
diff
changeset
|
15 a2s-regen.out: a2s-regen |
b502321000aa
dev: new program a2s-regen
Mychaela Falconia <falcon@freecalypso.org>
parents:
222
diff
changeset
|
16 ./a2s-regen > $@ |
b502321000aa
dev: new program a2s-regen
Mychaela Falconia <falcon@freecalypso.org>
parents:
222
diff
changeset
|
17 |
32
9639a44ae2e7
dev: efr-bit-packing helper program
Mychaela Falconia <falcon@freecalypso.org>
parents:
1
diff
changeset
|
18 efr-bit-packing: efr-bit-packing.c |
9639a44ae2e7
dev: efr-bit-packing helper program
Mychaela Falconia <falcon@freecalypso.org>
parents:
1
diff
changeset
|
19 ${CC} ${CFLAGS} -o $@ $@.c |
9639a44ae2e7
dev: efr-bit-packing helper program
Mychaela Falconia <falcon@freecalypso.org>
parents:
1
diff
changeset
|
20 |
9639a44ae2e7
dev: efr-bit-packing helper program
Mychaela Falconia <falcon@freecalypso.org>
parents:
1
diff
changeset
|
21 efr-bit-packing.out: efr-bit-packing |
9639a44ae2e7
dev: efr-bit-packing helper program
Mychaela Falconia <falcon@freecalypso.org>
parents:
1
diff
changeset
|
22 ./efr-bit-packing > $@ |
9639a44ae2e7
dev: efr-bit-packing helper program
Mychaela Falconia <falcon@freecalypso.org>
parents:
1
diff
changeset
|
23 |
35
3b5958f28a40
dev: efr-sid-insert helper program
Mychaela Falconia <falcon@freecalypso.org>
parents:
32
diff
changeset
|
24 efr-sid-insert: efr-sid-insert.c |
3b5958f28a40
dev: efr-sid-insert helper program
Mychaela Falconia <falcon@freecalypso.org>
parents:
32
diff
changeset
|
25 ${CC} ${CFLAGS} -o $@ $@.c |
3b5958f28a40
dev: efr-sid-insert helper program
Mychaela Falconia <falcon@freecalypso.org>
parents:
32
diff
changeset
|
26 |
3b5958f28a40
dev: efr-sid-insert helper program
Mychaela Falconia <falcon@freecalypso.org>
parents:
32
diff
changeset
|
27 efr-sid-insert.out: efr-sid-insert |
3b5958f28a40
dev: efr-sid-insert helper program
Mychaela Falconia <falcon@freecalypso.org>
parents:
32
diff
changeset
|
28 ./efr-sid-insert > $@ |
3b5958f28a40
dev: efr-sid-insert helper program
Mychaela Falconia <falcon@freecalypso.org>
parents:
32
diff
changeset
|
29 |
138
68215020852b
dev: add efr-tidsp table generator program
Mychaela Falconia <falcon@freecalypso.org>
parents:
35
diff
changeset
|
30 efr-tidsp: efr-tidsp.c |
68215020852b
dev: add efr-tidsp table generator program
Mychaela Falconia <falcon@freecalypso.org>
parents:
35
diff
changeset
|
31 ${CC} ${CFLAGS} -o $@ $@.c |
68215020852b
dev: add efr-tidsp table generator program
Mychaela Falconia <falcon@freecalypso.org>
parents:
35
diff
changeset
|
32 |
68215020852b
dev: add efr-tidsp table generator program
Mychaela Falconia <falcon@freecalypso.org>
parents:
35
diff
changeset
|
33 efr-tidsp.out: efr-tidsp |
68215020852b
dev: add efr-tidsp table generator program
Mychaela Falconia <falcon@freecalypso.org>
parents:
35
diff
changeset
|
34 ./efr-tidsp > $@ |
68215020852b
dev: add efr-tidsp table generator program
Mychaela Falconia <falcon@freecalypso.org>
parents:
35
diff
changeset
|
35 |
276
e4ca04586118
dev/gsm0611-silence-fr: rework to eliminate libgsm dependency
Mychaela Falconia <falcon@freecalypso.org>
parents:
247
diff
changeset
|
36 gsm0611-silence-fr: gsm0611-silence-fr.o pack_gsmfr_rtp.o |
e4ca04586118
dev/gsm0611-silence-fr: rework to eliminate libgsm dependency
Mychaela Falconia <falcon@freecalypso.org>
parents:
247
diff
changeset
|
37 ${CC} ${CFLAGS} -o $@ $@.o pack_gsmfr_rtp.o |
1
6780b23654bd
libgsmfrp: starting with the silence frame
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
38 |
6780b23654bd
libgsmfrp: starting with the silence frame
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
39 gsm0611-silence-fr.out: gsm0611-silence-fr |
6780b23654bd
libgsmfrp: starting with the silence frame
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
40 ./gsm0611-silence-fr > $@ |
6780b23654bd
libgsmfrp: starting with the silence frame
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
41 |
277
37dc5c84bbe9
dev: generate RTP-packed GSM-FR DHF
Mychaela Falconia <falcon@freecalypso.org>
parents:
276
diff
changeset
|
42 gsmfr-dhf: gsmfr-dhf.o pack_gsmfr_rtp.o |
37dc5c84bbe9
dev: generate RTP-packed GSM-FR DHF
Mychaela Falconia <falcon@freecalypso.org>
parents:
276
diff
changeset
|
43 ${CC} ${CFLAGS} -o $@ $@.o pack_gsmfr_rtp.o |
37dc5c84bbe9
dev: generate RTP-packed GSM-FR DHF
Mychaela Falconia <falcon@freecalypso.org>
parents:
276
diff
changeset
|
44 |
37dc5c84bbe9
dev: generate RTP-packed GSM-FR DHF
Mychaela Falconia <falcon@freecalypso.org>
parents:
276
diff
changeset
|
45 gsmfr-dhf.out: gsmfr-dhf |
37dc5c84bbe9
dev: generate RTP-packed GSM-FR DHF
Mychaela Falconia <falcon@freecalypso.org>
parents:
276
diff
changeset
|
46 ./gsmfr-dhf > $@ |
37dc5c84bbe9
dev: generate RTP-packed GSM-FR DHF
Mychaela Falconia <falcon@freecalypso.org>
parents:
276
diff
changeset
|
47 |
233
bbdefd2ef950
dev: new program mk-256bytes
Mychaela Falconia <falcon@freecalypso.org>
parents:
230
diff
changeset
|
48 mk-256bytes: mk-256bytes.c |
bbdefd2ef950
dev: new program mk-256bytes
Mychaela Falconia <falcon@freecalypso.org>
parents:
230
diff
changeset
|
49 ${CC} ${CFLAGS} -o $@ $@.c |
bbdefd2ef950
dev: new program mk-256bytes
Mychaela Falconia <falcon@freecalypso.org>
parents:
230
diff
changeset
|
50 |
222
842136bbd0da
dev: new program s2a-regen
Mychaela Falconia <falcon@freecalypso.org>
parents:
138
diff
changeset
|
51 s2a-regen: s2a-regen.c |
842136bbd0da
dev: new program s2a-regen
Mychaela Falconia <falcon@freecalypso.org>
parents:
138
diff
changeset
|
52 ${CC} ${CFLAGS} -o $@ $@.c |
842136bbd0da
dev: new program s2a-regen
Mychaela Falconia <falcon@freecalypso.org>
parents:
138
diff
changeset
|
53 |
842136bbd0da
dev: new program s2a-regen
Mychaela Falconia <falcon@freecalypso.org>
parents:
138
diff
changeset
|
54 s2a-regen.out: s2a-regen |
842136bbd0da
dev: new program s2a-regen
Mychaela Falconia <falcon@freecalypso.org>
parents:
138
diff
changeset
|
55 ./s2a-regen > $@ |
842136bbd0da
dev: new program s2a-regen
Mychaela Falconia <falcon@freecalypso.org>
parents:
138
diff
changeset
|
56 |
226
84d22eb72196
dev: new program s2u-regen
Mychaela Falconia <falcon@freecalypso.org>
parents:
224
diff
changeset
|
57 s2u-regen: s2u-regen.c |
84d22eb72196
dev: new program s2u-regen
Mychaela Falconia <falcon@freecalypso.org>
parents:
224
diff
changeset
|
58 ${CC} ${CFLAGS} -o $@ $@.c |
84d22eb72196
dev: new program s2u-regen
Mychaela Falconia <falcon@freecalypso.org>
parents:
224
diff
changeset
|
59 |
84d22eb72196
dev: new program s2u-regen
Mychaela Falconia <falcon@freecalypso.org>
parents:
224
diff
changeset
|
60 s2u-regen.out: s2u-regen |
84d22eb72196
dev: new program s2u-regen
Mychaela Falconia <falcon@freecalypso.org>
parents:
224
diff
changeset
|
61 ./s2u-regen > $@ |
84d22eb72196
dev: new program s2u-regen
Mychaela Falconia <falcon@freecalypso.org>
parents:
224
diff
changeset
|
62 |
228
67d60915fbbe
dev: new program s2u-regen-plus4
Mychaela Falconia <falcon@freecalypso.org>
parents:
226
diff
changeset
|
63 s2u-regen-plus4: s2u-regen-plus4.c |
67d60915fbbe
dev: new program s2u-regen-plus4
Mychaela Falconia <falcon@freecalypso.org>
parents:
226
diff
changeset
|
64 ${CC} ${CFLAGS} -o $@ $@.c |
67d60915fbbe
dev: new program s2u-regen-plus4
Mychaela Falconia <falcon@freecalypso.org>
parents:
226
diff
changeset
|
65 |
67d60915fbbe
dev: new program s2u-regen-plus4
Mychaela Falconia <falcon@freecalypso.org>
parents:
226
diff
changeset
|
66 s2u-regen-plus4.out: s2u-regen-plus4 |
67d60915fbbe
dev: new program s2u-regen-plus4
Mychaela Falconia <falcon@freecalypso.org>
parents:
226
diff
changeset
|
67 ./s2u-regen-plus4 > $@ |
67d60915fbbe
dev: new program s2u-regen-plus4
Mychaela Falconia <falcon@freecalypso.org>
parents:
226
diff
changeset
|
68 |
230
20750ffb1c3e
dev: new program u2s-regen
Mychaela Falconia <falcon@freecalypso.org>
parents:
228
diff
changeset
|
69 u2s-regen: u2s-regen.c |
20750ffb1c3e
dev: new program u2s-regen
Mychaela Falconia <falcon@freecalypso.org>
parents:
228
diff
changeset
|
70 ${CC} ${CFLAGS} -o $@ $@.c |
20750ffb1c3e
dev: new program u2s-regen
Mychaela Falconia <falcon@freecalypso.org>
parents:
228
diff
changeset
|
71 |
20750ffb1c3e
dev: new program u2s-regen
Mychaela Falconia <falcon@freecalypso.org>
parents:
228
diff
changeset
|
72 u2s-regen.out: u2s-regen |
20750ffb1c3e
dev: new program u2s-regen
Mychaela Falconia <falcon@freecalypso.org>
parents:
228
diff
changeset
|
73 ./u2s-regen > $@ |
20750ffb1c3e
dev: new program u2s-regen
Mychaela Falconia <falcon@freecalypso.org>
parents:
228
diff
changeset
|
74 |
247
56d3fbacd115
dev: new program xmaxc-tables
Mychaela Falconia <falcon@freecalypso.org>
parents:
233
diff
changeset
|
75 xmaxc-tables: xmaxc-tables.c |
56d3fbacd115
dev: new program xmaxc-tables
Mychaela Falconia <falcon@freecalypso.org>
parents:
233
diff
changeset
|
76 ${CC} ${CFLAGS} -o $@ $@.c |
56d3fbacd115
dev: new program xmaxc-tables
Mychaela Falconia <falcon@freecalypso.org>
parents:
233
diff
changeset
|
77 |
56d3fbacd115
dev: new program xmaxc-tables
Mychaela Falconia <falcon@freecalypso.org>
parents:
233
diff
changeset
|
78 xmaxc-tables.out: xmaxc-tables |
56d3fbacd115
dev: new program xmaxc-tables
Mychaela Falconia <falcon@freecalypso.org>
parents:
233
diff
changeset
|
79 ./xmaxc-tables > $@ |
56d3fbacd115
dev: new program xmaxc-tables
Mychaela Falconia <falcon@freecalypso.org>
parents:
233
diff
changeset
|
80 |
1
6780b23654bd
libgsmfrp: starting with the silence frame
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
81 clean: |
6780b23654bd
libgsmfrp: starting with the silence frame
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
82 rm -f *.o *.out ${PROGS} |