FreeCalypso > hg > gsm-codec-lib
comparison 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 |
comparison
equal
deleted
inserted
replaced
9:4229247843c0 | 10:820d88b97924 |
---|---|
1 We (Themyscira Wireless) define our own binary file format for testing of GSM | |
2 06.10 (FR) and EFR codec functions; this format of ours is an extension of | |
3 classic .gsm format from libgsm/toast. The original libgsm file format is a | |
4 directly abutted sequence of 33-byte libgsm frames, equivalent to RTP frames | |
5 for GSM FR, with the upper nibble of the first byte in each frame equal to 0xD, | |
6 serving as a signature. We simply extend this idea: our version is still a | |
7 directly abutted sequence of binary records, but each record is now one of 3 | |
8 possibilities: | |
9 | |
10 - a 33-byte GSM FR frame in libgsm/RTP format, 0xD signature | |
11 - a 31-byte GSM EFR frame in RTP format (ETSI TS 101 318), 0xC signature | |
12 - a 2-byte Themyscira-extension BFI marker, 0xBF signature | |
13 | |
14 File reading functions begin by reading only one byte; this byte, once decoded, | |
15 tells us how many more bytes need to be read, and frame synchronization is thus | |
16 maintained. | |
17 | |
18 FR and EFR frames are not expected to be mixed in the same stream recording; | |
19 our low-level binary file reading function will grok such mixing just fine, but | |
20 each higher-level test program is expected to be written for only one codec, | |
21 either FR or EFR. |