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.