annotate doc/AMR-study-utils @ 585:3c6bf0d26ee7 default tip

TW-TS-005 reader: fix maximum line length bug TW-TS-005 section 4.1 states: The maximum allowed length of each line is 80 characters, not including the OS-specific newline encoding. The implementation of this line length limit in the TW-TS-005 hex file reader function in the present suite was wrong, such that lines of the full maximum length could not be read. Fix it. Note that this bug affects comment lines too, not just actual RTP payloads. Neither Annex A nor Annex B features an RTP payload format that goes to the maximum of 40 bytes, but if a comment line goes to the maximum allowed length of 80 characters not including the terminating newline, the bug will be triggered, necessitating the present fix.
author Mychaela Falconia <falcon@freecalypso.org>
date Tue, 25 Feb 2025 07:49:28 +0000
parents e26b974f7ba3
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
458
e26b974f7ba3 doc/AMR-study-utils: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents: 218
diff changeset
1 Historical article from 2023-04
e26b974f7ba3 doc/AMR-study-utils: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents: 218
diff changeset
2 ===============================
e26b974f7ba3 doc/AMR-study-utils: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents: 218
diff changeset
3
e26b974f7ba3 doc/AMR-study-utils: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents: 218
diff changeset
4 The following article was written in 2023-04, a year before the introduction of
e26b974f7ba3 doc/AMR-study-utils: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents: 218
diff changeset
5 libtwamr. All of the utilities described in this article, plus even older
e26b974f7ba3 doc/AMR-study-utils: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents: 218
diff changeset
6 gsm-amr2efr and gsm-efr2amr utilities described in AMR-EFR-conversion article,
e26b974f7ba3 doc/AMR-study-utils: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents: 218
diff changeset
7 are implemented in amrconv subdirectory of the present source package, and are
e26b974f7ba3 doc/AMR-study-utils: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents: 218
diff changeset
8 entirely independent of libtwamr - they predate this library.
e26b974f7ba3 doc/AMR-study-utils: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents: 218
diff changeset
9
e26b974f7ba3 doc/AMR-study-utils: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents: 218
diff changeset
10 Original article follows; the utilities described therein are still useful:
e26b974f7ba3 doc/AMR-study-utils: update for the current situation
Mychaela Falconia <falcon@freecalypso.org>
parents: 218
diff changeset
11
218
f4f68c652e98 doc: document AMR study utilities
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
12 As of this writing (2023-04), the main emphasis here at Themyscira Wireless is
f4f68c652e98 doc: document AMR study utilities
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
13 on classic FR and EFR codecs, particularly the latter, rather than AMR.
f4f68c652e98 doc: document AMR study utilities
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
14 However, given the close relation between GSM EFR and the highest MR122 mode of
f4f68c652e98 doc: document AMR study utilities
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
15 AMR, we are starting to explore AMR a little too, focusing on the reference C
f4f68c652e98 doc: document AMR study utilities
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
16 implementation and various published test sequences. Working in this direction,
f4f68c652e98 doc: document AMR study utilities
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
17 we have developed the following AMR study and exploration utilities:
f4f68c652e98 doc: document AMR study utilities
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
18
f4f68c652e98 doc: document AMR study utilities
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
19 amr-cod-parse This utility reads the *.cod binary file format used by 3GPP
f4f68c652e98 doc: document AMR study utilities
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
20 reference code and test sequences for AMR-encoded speech, groks
f4f68c652e98 doc: document AMR study utilities
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
21 every frame and dumps all recorded parameters in human-readable
f4f68c652e98 doc: document AMR study utilities
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
22 form.
f4f68c652e98 doc: document AMR study utilities
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
23
f4f68c652e98 doc: document AMR study utilities
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
24 amr-ietf-parse A similar AMR parse/dump utility to amr-cod-parse, but reading
f4f68c652e98 doc: document AMR study utilities
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
25 the more common IETF RFC 4867 *.amr binary file format instead.
f4f68c652e98 doc: document AMR study utilities
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
26
f4f68c652e98 doc: document AMR study utilities
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
27 amr-cod2ietf These two utilities convert between 3GPP *.cod and IETF *.amr
f4f68c652e98 doc: document AMR study utilities
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
28 amr-ietf2cod formats. amr-cod2ietf converts from *.cod to *.amr;
f4f68c652e98 doc: document AMR study utilities
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
29 amr-ietf2cod converts in the opposite direction.
f4f68c652e98 doc: document AMR study utilities
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
30
f4f68c652e98 doc: document AMR study utilities
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
31 Just like ETSI *.cod and *.dec formats for EFR, 3GPP *.cod format for AMR is
f4f68c652e98 doc: document AMR study utilities
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
32 endian-dependent. Our amr-cod-parse and amr-cod2ietf utilities expect LE byte
f4f68c652e98 doc: document AMR study utilities
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
33 order by default, matching the official test sequences in
f4f68c652e98 doc: document AMR study utilities
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
34 ts_126074v170001p0.zip; they also support BE byte order with -b option.
f4f68c652e98 doc: document AMR study utilities
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
35 However, our amr-ietf2cod utility (rarely needed) emits its cod-format output
f4f68c652e98 doc: document AMR study utilities
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
36 in the local machine's native byte order.