FreeCalypso > hg > gsm-codec-lib
diff doc/Binary-file-format @ 10:820d88b97924
libtest: implement binary file reader
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Sat, 19 Nov 2022 23:57:42 +0000 |
parents | |
children | 598ee3ce238b |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/Binary-file-format Sat Nov 19 23:57:42 2022 +0000 @@ -0,0 +1,21 @@ +We (Themyscira Wireless) define our own binary file format for testing of GSM +06.10 (FR) and EFR codec functions; this format of ours is an extension of +classic .gsm format from libgsm/toast. The original libgsm file format is a +directly abutted sequence of 33-byte libgsm frames, equivalent to RTP frames +for GSM FR, with the upper nibble of the first byte in each frame equal to 0xD, +serving as a signature. We simply extend this idea: our version is still a +directly abutted sequence of binary records, but each record is now one of 3 +possibilities: + +- a 33-byte GSM FR frame in libgsm/RTP format, 0xD signature +- a 31-byte GSM EFR frame in RTP format (ETSI TS 101 318), 0xC signature +- a 2-byte Themyscira-extension BFI marker, 0xBF signature + +File reading functions begin by reading only one byte; this byte, once decoded, +tells us how many more bytes need to be read, and frame synchronization is thus +maintained. + +FR and EFR frames are not expected to be mixed in the same stream recording; +our low-level binary file reading function will grok such mixing just fine, but +each higher-level test program is expected to be written for only one codec, +either FR or EFR.