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