annotate libgsmhr1/typedefs.h @ 512:4f0ab833bec0

libgsmhr1: add parameter validation function
author Mychaela Falconia <falcon@freecalypso.org>
date Sun, 25 Aug 2024 18:42:27 +0000
parents 446a4a2955ba
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
65f672c43dc8 libgsmhr1/typedefs.h: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
12 #define LW_SIGN (long)0x80000000 /* sign bit */
65f672c43dc8 libgsmhr1/typedefs.h: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
13 #define LW_MIN (long)0x80000000
65f672c43dc8 libgsmhr1/typedefs.h: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
14 #define LW_MAX (long)0x7fffffff
65f672c43dc8 libgsmhr1/typedefs.h: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
15
65f672c43dc8 libgsmhr1/typedefs.h: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
16 #define SW_SIGN (short)0x8000 /* sign bit for Shortword type */
65f672c43dc8 libgsmhr1/typedefs.h: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
17 #define SW_MIN (short)0x8000 /* smallest Ram */
65f672c43dc8 libgsmhr1/typedefs.h: import original
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
18 #define SW_MAX (short)0x7fff /* largest Ram */
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