FreeCalypso > hg > gsm-codec-lib
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 |
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. |