FreeCalypso > hg > gsm-codec-lib
annotate CHANGES @ 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 | b66fb6be73c3 |
children |
rev | line source |
---|---|
554
b66fb6be73c3
CHANGES: list those planned for inclusion in gsm-codec-lib-r4
Mychaela Falconia <falcon@freecalypso.org>
parents:
486
diff
changeset
|
1 Changes from gsm-codec-lib-r3 to gsm-codec-lib-r4: |
b66fb6be73c3
CHANGES: list those planned for inclusion in gsm-codec-lib-r4
Mychaela Falconia <falcon@freecalypso.org>
parents:
486
diff
changeset
|
2 |
b66fb6be73c3
CHANGES: list those planned for inclusion in gsm-codec-lib-r4
Mychaela Falconia <falcon@freecalypso.org>
parents:
486
diff
changeset
|
3 * Libgsmfr2 evolved from version 2.0.0 to version 2.1.0: see |
b66fb6be73c3
CHANGES: list those planned for inclusion in gsm-codec-lib-r4
Mychaela Falconia <falcon@freecalypso.org>
parents:
486
diff
changeset
|
4 doc/FR1-library-history for the details. |
b66fb6be73c3
CHANGES: list those planned for inclusion in gsm-codec-lib-r4
Mychaela Falconia <falcon@freecalypso.org>
parents:
486
diff
changeset
|
5 |
b66fb6be73c3
CHANGES: list those planned for inclusion in gsm-codec-lib-r4
Mychaela Falconia <falcon@freecalypso.org>
parents:
486
diff
changeset
|
6 * Libgsmefr evolved from version 1.1.0 to version 1.2.0: see |
b66fb6be73c3
CHANGES: list those planned for inclusion in gsm-codec-lib-r4
Mychaela Falconia <falcon@freecalypso.org>
parents:
486
diff
changeset
|
7 doc/EFR-library-history for the details. |
b66fb6be73c3
CHANGES: list those planned for inclusion in gsm-codec-lib-r4
Mychaela Falconia <falcon@freecalypso.org>
parents:
486
diff
changeset
|
8 |
b66fb6be73c3
CHANGES: list those planned for inclusion in gsm-codec-lib-r4
Mychaela Falconia <falcon@freecalypso.org>
parents:
486
diff
changeset
|
9 * Command line utilities support the new hexadecimal file format of TW-TS-005 |
b66fb6be73c3
CHANGES: list those planned for inclusion in gsm-codec-lib-r4
Mychaela Falconia <falcon@freecalypso.org>
parents:
486
diff
changeset
|
10 Annex A for FR and EFR codecs (see doc/TW-TS-005 article): |
b66fb6be73c3
CHANGES: list those planned for inclusion in gsm-codec-lib-r4
Mychaela Falconia <falcon@freecalypso.org>
parents:
486
diff
changeset
|
11 |
b66fb6be73c3
CHANGES: list those planned for inclusion in gsm-codec-lib-r4
Mychaela Falconia <falcon@freecalypso.org>
parents:
486
diff
changeset
|
12 + tw5a-dump parses TW-TS-005 Annex A files in the same way how gsmrec-dump |
b66fb6be73c3
CHANGES: list those planned for inclusion in gsm-codec-lib-r4
Mychaela Falconia <falcon@freecalypso.org>
parents:
486
diff
changeset
|
13 parses gsmx binary files; |
b66fb6be73c3
CHANGES: list those planned for inclusion in gsm-codec-lib-r4
Mychaela Falconia <falcon@freecalypso.org>
parents:
486
diff
changeset
|
14 |
b66fb6be73c3
CHANGES: list those planned for inclusion in gsm-codec-lib-r4
Mychaela Falconia <falcon@freecalypso.org>
parents:
486
diff
changeset
|
15 + gsm[e]fr-decode-tw5[-r] are new speech decoder utilities that read their |
b66fb6be73c3
CHANGES: list those planned for inclusion in gsm-codec-lib-r4
Mychaela Falconia <falcon@freecalypso.org>
parents:
486
diff
changeset
|
16 input from TW-TS-005 Annex A files; |
b66fb6be73c3
CHANGES: list those planned for inclusion in gsm-codec-lib-r4
Mychaela Falconia <falcon@freecalypso.org>
parents:
486
diff
changeset
|
17 |
b66fb6be73c3
CHANGES: list those planned for inclusion in gsm-codec-lib-r4
Mychaela Falconia <falcon@freecalypso.org>
parents:
486
diff
changeset
|
18 + gsmx-to-tw5a and tw5a-to-gsmx conversion utilities should be sufficient for |
b66fb6be73c3
CHANGES: list those planned for inclusion in gsm-codec-lib-r4
Mychaela Falconia <falcon@freecalypso.org>
parents:
486
diff
changeset
|
19 most other use cases. |
b66fb6be73c3
CHANGES: list those planned for inclusion in gsm-codec-lib-r4
Mychaela Falconia <falcon@freecalypso.org>
parents:
486
diff
changeset
|
20 |
b66fb6be73c3
CHANGES: list those planned for inclusion in gsm-codec-lib-r4
Mychaela Falconia <falcon@freecalypso.org>
parents:
486
diff
changeset
|
21 * New command line utility gsmfr-tfo-xfrm exercises TFO transform addition to |
b66fb6be73c3
CHANGES: list those planned for inclusion in gsm-codec-lib-r4
Mychaela Falconia <falcon@freecalypso.org>
parents:
486
diff
changeset
|
22 libgsmfr2. |
b66fb6be73c3
CHANGES: list those planned for inclusion in gsm-codec-lib-r4
Mychaela Falconia <falcon@freecalypso.org>
parents:
486
diff
changeset
|
23 |
452
6e595f7d40e2
CHANGES: document changes for the upcoming release
Mychaela Falconia <falcon@freecalypso.org>
parents:
251
diff
changeset
|
24 Changes from gsm-codec-lib-r2 to gsm-codec-lib-r3: |
6e595f7d40e2
CHANGES: document changes for the upcoming release
Mychaela Falconia <falcon@freecalypso.org>
parents:
251
diff
changeset
|
25 |
6e595f7d40e2
CHANGES: document changes for the upcoming release
Mychaela Falconia <falcon@freecalypso.org>
parents:
251
diff
changeset
|
26 * Libgsmfrp has been replaced with libgsmfr2, a major version change per SemVer. |
6e595f7d40e2
CHANGES: document changes for the upcoming release
Mychaela Falconia <falcon@freecalypso.org>
parents:
251
diff
changeset
|
27 |
6e595f7d40e2
CHANGES: document changes for the upcoming release
Mychaela Falconia <falcon@freecalypso.org>
parents:
251
diff
changeset
|
28 * The former dependency on historical libgsm has been eliminated; the |
6e595f7d40e2
CHANGES: document changes for the upcoming release
Mychaela Falconia <falcon@freecalypso.org>
parents:
251
diff
changeset
|
29 functionality of libgsm (GSM 06.10 encoder and decoder implementation) has |
6e595f7d40e2
CHANGES: document changes for the upcoming release
Mychaela Falconia <falcon@freecalypso.org>
parents:
251
diff
changeset
|
30 been absorbed into libgsmfr2. |
6e595f7d40e2
CHANGES: document changes for the upcoming release
Mychaela Falconia <falcon@freecalypso.org>
parents:
251
diff
changeset
|
31 |
473
2d46abdfbe91
libgsmefr version 1.1.0 for DHF addition
Mychaela Falconia <falcon@freecalypso.org>
parents:
462
diff
changeset
|
32 * Libgsmefr version 1.1.0 exhibits approximately 2x performance improvement |
2d46abdfbe91
libgsmefr version 1.1.0 for DHF addition
Mychaela Falconia <falcon@freecalypso.org>
parents:
462
diff
changeset
|
33 over the original version, and also exhibits a small addition to the public |
2d46abdfbe91
libgsmefr version 1.1.0 for DHF addition
Mychaela Falconia <falcon@freecalypso.org>
parents:
462
diff
changeset
|
34 API: the RTP-encoded form of the standard EFR DHF is now provided as a const |
2d46abdfbe91
libgsmefr version 1.1.0 for DHF addition
Mychaela Falconia <falcon@freecalypso.org>
parents:
462
diff
changeset
|
35 datum. |
452
6e595f7d40e2
CHANGES: document changes for the upcoming release
Mychaela Falconia <falcon@freecalypso.org>
parents:
251
diff
changeset
|
36 |
6e595f7d40e2
CHANGES: document changes for the upcoming release
Mychaela Falconia <falcon@freecalypso.org>
parents:
251
diff
changeset
|
37 * New library added: libtwamr for 3GPP AMR-NB codec, serving as a replacement |
6e595f7d40e2
CHANGES: document changes for the upcoming release
Mychaela Falconia <falcon@freecalypso.org>
parents:
251
diff
changeset
|
38 for libopencore-amrnb in Themyscira GSM codec exploration workflows. |
6e595f7d40e2
CHANGES: document changes for the upcoming release
Mychaela Falconia <falcon@freecalypso.org>
parents:
251
diff
changeset
|
39 |
484
20d44cfc219c
CHANGES: list all new command line utils
Mychaela Falconia <falcon@freecalypso.org>
parents:
473
diff
changeset
|
40 * New command line utilities: |
20d44cfc219c
CHANGES: list all new command line utils
Mychaela Falconia <falcon@freecalypso.org>
parents:
473
diff
changeset
|
41 |
20d44cfc219c
CHANGES: list all new command line utils
Mychaela Falconia <falcon@freecalypso.org>
parents:
473
diff
changeset
|
42 + amrefr-* and twamr-* related to libtwamr: see doc/Codec-utils, |
20d44cfc219c
CHANGES: list all new command line utils
Mychaela Falconia <falcon@freecalypso.org>
parents:
473
diff
changeset
|
43 doc/AMR-EFR-hybrid-emu and doc/AMR-library-tests articles. |
20d44cfc219c
CHANGES: list all new command line utils
Mychaela Falconia <falcon@freecalypso.org>
parents:
473
diff
changeset
|
44 |
20d44cfc219c
CHANGES: list all new command line utils
Mychaela Falconia <falcon@freecalypso.org>
parents:
473
diff
changeset
|
45 + amrts-pcm8-compact: see doc/Utils-overview article. |
20d44cfc219c
CHANGES: list all new command line utils
Mychaela Falconia <falcon@freecalypso.org>
parents:
473
diff
changeset
|
46 |
20d44cfc219c
CHANGES: list all new command line utils
Mychaela Falconia <falcon@freecalypso.org>
parents:
473
diff
changeset
|
47 + gsmfr-* updates for libgsmfr2: see doc/Codec-utils article. |
20d44cfc219c
CHANGES: list all new command line utils
Mychaela Falconia <falcon@freecalypso.org>
parents:
473
diff
changeset
|
48 |
20d44cfc219c
CHANGES: list all new command line utils
Mychaela Falconia <falcon@freecalypso.org>
parents:
473
diff
changeset
|
49 + gsm[e]fr-dlcap-sync: see doc/Calypso-TCH-downlink article. |
452
6e595f7d40e2
CHANGES: document changes for the upcoming release
Mychaela Falconia <falcon@freecalypso.org>
parents:
251
diff
changeset
|
50 |
462
bada654a859b
CHANGES: document rm of gsmfr-hand-test and gsmfr-max-out
Mychaela Falconia <falcon@freecalypso.org>
parents:
455
diff
changeset
|
51 * gsmfr-* utilities set: gsmfr-hand-test and gsmfr-max-out hack programs have |
bada654a859b
CHANGES: document rm of gsmfr-hand-test and gsmfr-max-out
Mychaela Falconia <falcon@freecalypso.org>
parents:
455
diff
changeset
|
52 been dropped. These hack programs were never properly documented and were |
bada654a859b
CHANGES: document rm of gsmfr-hand-test and gsmfr-max-out
Mychaela Falconia <falcon@freecalypso.org>
parents:
455
diff
changeset
|
53 written only as part of a debug chase, in pursuit of a bug that ultimately |
bada654a859b
CHANGES: document rm of gsmfr-hand-test and gsmfr-max-out
Mychaela Falconia <falcon@freecalypso.org>
parents:
455
diff
changeset
|
54 turned out to be in our then-hacky patch to osmo-bts-sysmo. |
bada654a859b
CHANGES: document rm of gsmfr-hand-test and gsmfr-max-out
Mychaela Falconia <falcon@freecalypso.org>
parents:
455
diff
changeset
|
55 |
486
f35c8fd9ceba
CHANGES: document gsmrec-dump improvements
Mychaela Falconia <falcon@freecalypso.org>
parents:
484
diff
changeset
|
56 * gsmrec-dump now prints the bit-counting SID classification for both FRv1 and |
f35c8fd9ceba
CHANGES: document gsmrec-dump improvements
Mychaela Falconia <falcon@freecalypso.org>
parents:
484
diff
changeset
|
57 EFR codecs, and also identifies bit patterns that match the official DHF |
f35c8fd9ceba
CHANGES: document gsmrec-dump improvements
Mychaela Falconia <falcon@freecalypso.org>
parents:
484
diff
changeset
|
58 (decoder homing frame) for each codec. |
f35c8fd9ceba
CHANGES: document gsmrec-dump improvements
Mychaela Falconia <falcon@freecalypso.org>
parents:
484
diff
changeset
|
59 |
455
287063b9cf43
CHANGES: document the build process change
Mychaela Falconia <falcon@freecalypso.org>
parents:
452
diff
changeset
|
60 * The configuration and build process has been revamped: the full suite of |
287063b9cf43
CHANGES: document the build process change
Mychaela Falconia <falcon@freecalypso.org>
parents:
452
diff
changeset
|
61 libraries and utilities can now be installed in any desired file system |
287063b9cf43
CHANGES: document the build process change
Mychaela Falconia <falcon@freecalypso.org>
parents:
452
diff
changeset
|
62 location without contortions. |
287063b9cf43
CHANGES: document the build process change
Mychaela Falconia <falcon@freecalypso.org>
parents:
452
diff
changeset
|
63 |
251
946849291027
CHANGES: document changes since gsm-codec-lib-r1
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
64 Changes from gsm-codec-lib-r1 to gsm-codec-lib-r2: |
946849291027
CHANGES: document changes since gsm-codec-lib-r1
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
65 |
946849291027
CHANGES: document changes since gsm-codec-lib-r1
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
66 * Libgsmfrp evolved from version 1.0.0 to version 1.0.2; please see |
946849291027
CHANGES: document changes since gsm-codec-lib-r1
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
67 doc/FR1-Rx-DTX for a detailing listing of libgsmfrp changes. |
946849291027
CHANGES: document changes since gsm-codec-lib-r1
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
68 |
946849291027
CHANGES: document changes since gsm-codec-lib-r1
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
69 * Some new utilities have been developed for studying AMR: see |
946849291027
CHANGES: document changes since gsm-codec-lib-r1
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
70 doc/AMR-study-utils for more information. |
946849291027
CHANGES: document changes since gsm-codec-lib-r1
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
71 |
946849291027
CHANGES: document changes since gsm-codec-lib-r1
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
72 * The subject of conversions between 16-bit 2's complement linear PCM and 8-bit |
946849291027
CHANGES: document changes since gsm-codec-lib-r1
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
73 A-law and mu-law PCM formats (G.711) has been thoroughly studied, the findings |
946849291027
CHANGES: document changes since gsm-codec-lib-r1
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
74 have been documented in doc/PCM8-conversions, and some new command line |
946849291027
CHANGES: document changes since gsm-codec-lib-r1
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
75 utilities have been added, described in the same article. |
946849291027
CHANGES: document changes since gsm-codec-lib-r1
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
76 |
946849291027
CHANGES: document changes since gsm-codec-lib-r1
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
77 * Many new table generators have been added to the dev subdirectory; some of |
946849291027
CHANGES: document changes since gsm-codec-lib-r1
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
78 them may be useful to other software developers. |
946849291027
CHANGES: document changes since gsm-codec-lib-r1
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
79 |
946849291027
CHANGES: document changes since gsm-codec-lib-r1
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
80 * pcap utilities have been split off to a separate rtp-debug-utils repository; |
946849291027
CHANGES: document changes since gsm-codec-lib-r1
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
81 this split was made so that those utilities can be developed freely while the |
946849291027
CHANGES: document changes since gsm-codec-lib-r1
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
82 gsm-codec-lib repository remains under strict release process control. |