FreeCalypso > hg > gsm-codec-lib
changeset 592:24aba0e7aa35 default tip
document AMR hex (TW-TS-005 Annex C) utilities addition
| author | Mychaela Falconia <falcon@freecalypso.org> |
|---|---|
| date | Fri, 07 Nov 2025 00:41:56 +0000 |
| parents | 2f1e91dd552b |
| children | |
| files | doc/AMR-hex-utils doc/TW-TS-005 doc/Utils-overview |
| diffstat | 3 files changed, 49 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/AMR-hex-utils Fri Nov 07 00:41:56 2025 +0000 @@ -0,0 +1,34 @@ +As Themyscira Wireless work extends further into AMR, we now have the option of +storing sequences of AMR RTP payloads in a TW-TS-005 hexadecimal file. (See +TW-TS-005 article.) TW-TS-005 was originally intended for FR/EFR and HRv1 +codecs, but beginning with spec version 1.1.0, newly added Annex C specifies +how TW-TS-005 hex format may be used for AMR. As explained in that annex, any +workflow involving TW-TS-005 Annex C hex files requires out-of-band knowledge +as to which RTP payload format is captured: bandwidth-efficient (BWE) or +octet-aligned (OA). + +The following format conversion utilities are provided for working with +TW-TS-005 Annex C hex files: + +amr-hex-bwe2oa Both input and output are hex files; input is BWE, output is OA. + +amr-hex-oa2bwe Both input and output are hex files; input is OA, output is BWE. + +amr-hexoa2ietf Input is a hex file in OA format, output is RFC 4867 storage + format (binary *.amr). + +amr-ietf2hexoa Input is RFC 4867 storage format (binary *.amr), output is + TW-TS-005 hex with RTP payloads in OA format. + +Input to amr-hex-oa2bwe and amr-hexoa2ietf conversion utilities may be either +standard RFC 4867 OA or TW-TS-006 OAX (OA extended) - however, extended +information content in OAX format cannot be converted to BWE or RFC 4867 storage +format, hence any such extended info will be lost. However, in the absence of +OAX, using only standard RTP payload formats per RFC 4867, conversion between +BWE and OA is lossless. + +Conversion from TW-TS-005 Annex C to RFC 4867 storage format is lossy: CMR field +exists in RTP and thus in TW-TS-005 hex recordings, but not in RFC 4867 storage +format. amr-ietf2hexoa conversion utility sets CMR to 15 (NO_DATA); if some +other CMR is desired, the desired effect can be trivially achieved by applying +sed to amr-ietf2hexoa output.
--- a/doc/TW-TS-005 Thu Nov 06 23:19:57 2025 +0000 +++ b/doc/TW-TS-005 Fri Nov 07 00:41:56 2025 +0000 @@ -3,17 +3,24 @@ Binary-file-format article. However, a newer hexadecimal format has now been standardized as Themyscira Wireless Technical Specification TW-TS-005: -https://www.freecalypso.org/specs/tw-ts-005-v010003.txt +https://www.freecalypso.org/specs/tw-ts-005-v010100.txt -The standard has two annexes intended for practical use: +The original version of this standard had two annexes intended for practical +use: * TW-TS-005 Annex A defines a representation format for FR and EFR codecs; * TW-TS-005 Annex B defines a representation format for HR codec. +The current version of TW-TS-005 linked above has two additional annexes: + +* TW-TS-005 Annex C specifies representation of AMR RTP payloads in hex files; +* TW-TS-005 Annex D specifies representation of CSD RTP payloads in hex files. + The present version of ThemWi GSM codec libraries & utilities suite includes some utilities that operate on TW-TS-005 Annex A hex files; support for Annex B will appear in a future version when our work on GSM-HR codec integration -progresses further. +progresses further. Support for Annex C is described in AMR-hex-utils article; +no utilities for Annex D exist as of this writing. TW-TS-005 Annex A vs gsmx binary format =======================================
--- a/doc/Utils-overview Thu Nov 06 23:19:57 2025 +0000 +++ b/doc/Utils-overview Fri Nov 07 00:41:56 2025 +0000 @@ -6,6 +6,11 @@ amr-cod2ietf amr-ietf2cod +amr-hex-bwe2oa See AMR-hex-utils article. +amr-hex-oa2bwe +amr-hexoa2ietf +amr-ietf2hexoa + amrefr-decode-r See AMR-EFR-hybrid-emu article. amrefr-encode-r amrefr-tseq-dec
