FreeCalypso > hg > gsm-codec-lib
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 |
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 |