annotate libgsmhr1/typedefs.h @ 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 02a3c88b415d
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
498
65f672c43dc8 libgsmhr1/typedefs.h: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
1 /*******************************************************************
65f672c43dc8 libgsmhr1/typedefs.h: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
2 *
65f672c43dc8 libgsmhr1/typedefs.h: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
3 * typedef statements of types used in all half-rate GSM routines
65f672c43dc8 libgsmhr1/typedefs.h: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
4 *
65f672c43dc8 libgsmhr1/typedefs.h: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
5 ******************************************************************/
65f672c43dc8 libgsmhr1/typedefs.h: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
6
65f672c43dc8 libgsmhr1/typedefs.h: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
7 #ifndef __TYPEDEFS
65f672c43dc8 libgsmhr1/typedefs.h: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
8 #define __TYPEDEFS
65f672c43dc8 libgsmhr1/typedefs.h: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
9
499
446a4a2955ba libgsmhr1/typedefs.h: initial port
Mychaela Falconia <falcon@freecalypso.org>
parents: 498
diff changeset
10 #include <stdint.h>
498
65f672c43dc8 libgsmhr1/typedefs.h: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
11
572
02a3c88b415d libgsmhr1/typedefs.h: don't use long/short types
Mychaela Falconia <falcon@freecalypso.org>
parents: 499
diff changeset
12 #define LW_SIGN (int32_t)0x80000000 /* sign bit */
02a3c88b415d libgsmhr1/typedefs.h: don't use long/short types
Mychaela Falconia <falcon@freecalypso.org>
parents: 499
diff changeset
13 #define LW_MIN (int32_t)0x80000000
02a3c88b415d libgsmhr1/typedefs.h: don't use long/short types
Mychaela Falconia <falcon@freecalypso.org>
parents: 499
diff changeset
14 #define LW_MAX (int32_t)0x7fffffff
498
65f672c43dc8 libgsmhr1/typedefs.h: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
15
572
02a3c88b415d libgsmhr1/typedefs.h: don't use long/short types
Mychaela Falconia <falcon@freecalypso.org>
parents: 499
diff changeset
16 #define SW_SIGN (int16_t)0x8000 /* sign bit for Shortword type */
02a3c88b415d libgsmhr1/typedefs.h: don't use long/short types
Mychaela Falconia <falcon@freecalypso.org>
parents: 499
diff changeset
17 #define SW_MIN (int16_t)0x8000 /* smallest Ram */
02a3c88b415d libgsmhr1/typedefs.h: don't use long/short types
Mychaela Falconia <falcon@freecalypso.org>
parents: 499
diff changeset
18 #define SW_MAX (int16_t)0x7fff /* largest Ram */
498
65f672c43dc8 libgsmhr1/typedefs.h: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
19
65f672c43dc8 libgsmhr1/typedefs.h: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
20 /* Definition of Types *
65f672c43dc8 libgsmhr1/typedefs.h: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
21 ***********************/
65f672c43dc8 libgsmhr1/typedefs.h: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
22
499
446a4a2955ba libgsmhr1/typedefs.h: initial port
Mychaela Falconia <falcon@freecalypso.org>
parents: 498
diff changeset
23 typedef int32_t Longword; /* 32 bit "accumulator" (L_*) */
446a4a2955ba libgsmhr1/typedefs.h: initial port
Mychaela Falconia <falcon@freecalypso.org>
parents: 498
diff changeset
24 typedef int16_t Shortword; /* 16 bit "register" (sw*) */
446a4a2955ba libgsmhr1/typedefs.h: initial port
Mychaela Falconia <falcon@freecalypso.org>
parents: 498
diff changeset
25 typedef int16_t ShortwordRom; /* 16 bit ROM data (sr*) */
446a4a2955ba libgsmhr1/typedefs.h: initial port
Mychaela Falconia <falcon@freecalypso.org>
parents: 498
diff changeset
26 typedef int32_t LongwordRom; /* 32 bit ROM data (L_r*) */
498
65f672c43dc8 libgsmhr1/typedefs.h: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
27
65f672c43dc8 libgsmhr1/typedefs.h: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
28 struct NormSw
65f672c43dc8 libgsmhr1/typedefs.h: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
29 { /* normalized Shortword fractional
65f672c43dc8 libgsmhr1/typedefs.h: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
30 * number snr.man precedes snr.sh (the
65f672c43dc8 libgsmhr1/typedefs.h: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
31 * shift count)i */
65f672c43dc8 libgsmhr1/typedefs.h: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
32 Shortword man; /* "mantissa" stored in 16 bit
65f672c43dc8 libgsmhr1/typedefs.h: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
33 * location */
65f672c43dc8 libgsmhr1/typedefs.h: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
34 Shortword sh; /* the shift count, stored in 16 bit
65f672c43dc8 libgsmhr1/typedefs.h: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
35 * location */
65f672c43dc8 libgsmhr1/typedefs.h: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
36 };
65f672c43dc8 libgsmhr1/typedefs.h: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
37
65f672c43dc8 libgsmhr1/typedefs.h: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
38 /* Global constants *
65f672c43dc8 libgsmhr1/typedefs.h: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
39 ********************/
65f672c43dc8 libgsmhr1/typedefs.h: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
40
65f672c43dc8 libgsmhr1/typedefs.h: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
41 #define NP 10 /* order of the lpc filter */
65f672c43dc8 libgsmhr1/typedefs.h: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
42 #define N_SUB 4 /* number of subframes */
65f672c43dc8 libgsmhr1/typedefs.h: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
43 #define F_LEN 160 /* number of samples in a frame */
65f672c43dc8 libgsmhr1/typedefs.h: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
44 #define S_LEN 40 /* number of samples in a subframe */
65f672c43dc8 libgsmhr1/typedefs.h: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
45 #define A_LEN 170 /* LPC analysis length */
65f672c43dc8 libgsmhr1/typedefs.h: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
46 #define OS_FCTR 6 /* maximum LTP lag oversampling
65f672c43dc8 libgsmhr1/typedefs.h: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
47 * factor */
65f672c43dc8 libgsmhr1/typedefs.h: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
48
65f672c43dc8 libgsmhr1/typedefs.h: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
49 #define OVERHANG 8 /* vad parameter */
65f672c43dc8 libgsmhr1/typedefs.h: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
50
65f672c43dc8 libgsmhr1/typedefs.h: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
51 #endif