annotate libgsmefr/vad.h @ 39:36e1363ad885

libgsmefr: initial import of ETSI header files
author Mychaela Falconia <falcon@freecalypso.org>
date Thu, 24 Nov 2022 07:38:23 +0000
parents
children af4b075d0313
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
39
36e1363ad885 libgsmefr: initial import of ETSI header files
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
1 /***************************************************************************
36e1363ad885 libgsmefr: initial import of ETSI header files
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
2 *
36e1363ad885 libgsmefr: initial import of ETSI header files
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
3 * File Name: vad.h
36e1363ad885 libgsmefr: initial import of ETSI header files
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
4 *
36e1363ad885 libgsmefr: initial import of ETSI header files
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
5 * Purpose: Contains the prototypes for all functions of voice activity
36e1363ad885 libgsmefr: initial import of ETSI header files
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
6 * detection. Also contains the type definition for the pseudo
36e1363ad885 libgsmefr: initial import of ETSI header files
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
7 * floating point data type.
36e1363ad885 libgsmefr: initial import of ETSI header files
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
8 *
36e1363ad885 libgsmefr: initial import of ETSI header files
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
9 **************************************************************************/
36e1363ad885 libgsmefr: initial import of ETSI header files
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
10
36e1363ad885 libgsmefr: initial import of ETSI header files
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
11 /* Struct for storing pseudo floating point exponent and mantissa */
36e1363ad885 libgsmefr: initial import of ETSI header files
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
12 struct _fp
36e1363ad885 libgsmefr: initial import of ETSI header files
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
13 {
36e1363ad885 libgsmefr: initial import of ETSI header files
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
14 Word16 e; /* exponent */
36e1363ad885 libgsmefr: initial import of ETSI header files
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
15 Word16 m; /* mantissa */
36e1363ad885 libgsmefr: initial import of ETSI header files
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
16 };
36e1363ad885 libgsmefr: initial import of ETSI header files
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
17
36e1363ad885 libgsmefr: initial import of ETSI header files
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
18 typedef struct _fp Pfloat;
36e1363ad885 libgsmefr: initial import of ETSI header files
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
19
36e1363ad885 libgsmefr: initial import of ETSI header files
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
20 void vad_reset (void);
36e1363ad885 libgsmefr: initial import of ETSI header files
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
21
36e1363ad885 libgsmefr: initial import of ETSI header files
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
22 Word16 vad_computation (
36e1363ad885 libgsmefr: initial import of ETSI header files
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
23 Word16 r_h[],
36e1363ad885 libgsmefr: initial import of ETSI header files
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
24 Word16 r_l[],
36e1363ad885 libgsmefr: initial import of ETSI header files
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
25 Word16 scal_acf,
36e1363ad885 libgsmefr: initial import of ETSI header files
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
26 Word16 rc[],
36e1363ad885 libgsmefr: initial import of ETSI header files
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
27 Word16 ptch
36e1363ad885 libgsmefr: initial import of ETSI header files
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
28 );
36e1363ad885 libgsmefr: initial import of ETSI header files
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
29
36e1363ad885 libgsmefr: initial import of ETSI header files
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
30 void energy_computation (
36e1363ad885 libgsmefr: initial import of ETSI header files
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
31 Word16 r_h[],
36e1363ad885 libgsmefr: initial import of ETSI header files
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
32 Word16 scal_acf,
36e1363ad885 libgsmefr: initial import of ETSI header files
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
33 Word16 rvad[],
36e1363ad885 libgsmefr: initial import of ETSI header files
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
34 Word16 scal_rvad,
36e1363ad885 libgsmefr: initial import of ETSI header files
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
35 Pfloat * acf0,
36e1363ad885 libgsmefr: initial import of ETSI header files
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
36 Pfloat * pvad
36e1363ad885 libgsmefr: initial import of ETSI header files
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
37 );
36e1363ad885 libgsmefr: initial import of ETSI header files
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
38
36e1363ad885 libgsmefr: initial import of ETSI header files
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
39 void acf_averaging (
36e1363ad885 libgsmefr: initial import of ETSI header files
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
40 Word16 r_h[],
36e1363ad885 libgsmefr: initial import of ETSI header files
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
41 Word16 r_l[],
36e1363ad885 libgsmefr: initial import of ETSI header files
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
42 Word16 scal_acf,
36e1363ad885 libgsmefr: initial import of ETSI header files
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
43 Word32 L_av0[],
36e1363ad885 libgsmefr: initial import of ETSI header files
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
44 Word32 L_av1[]
36e1363ad885 libgsmefr: initial import of ETSI header files
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
45 );
36e1363ad885 libgsmefr: initial import of ETSI header files
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
46
36e1363ad885 libgsmefr: initial import of ETSI header files
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
47 void predictor_values (
36e1363ad885 libgsmefr: initial import of ETSI header files
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
48 Word32 L_av1[],
36e1363ad885 libgsmefr: initial import of ETSI header files
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
49 Word16 rav1[],
36e1363ad885 libgsmefr: initial import of ETSI header files
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
50 Word16 *scal_rav1
36e1363ad885 libgsmefr: initial import of ETSI header files
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
51 );
36e1363ad885 libgsmefr: initial import of ETSI header files
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
52
36e1363ad885 libgsmefr: initial import of ETSI header files
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
53 void schur_recursion (
36e1363ad885 libgsmefr: initial import of ETSI header files
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
54 Word32 L_av1[],
36e1363ad885 libgsmefr: initial import of ETSI header files
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
55 Word16 vpar[]
36e1363ad885 libgsmefr: initial import of ETSI header files
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
56 );
36e1363ad885 libgsmefr: initial import of ETSI header files
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
57
36e1363ad885 libgsmefr: initial import of ETSI header files
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
58 void step_up (
36e1363ad885 libgsmefr: initial import of ETSI header files
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
59 Word16 np,
36e1363ad885 libgsmefr: initial import of ETSI header files
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
60 Word16 vpar[],
36e1363ad885 libgsmefr: initial import of ETSI header files
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
61 Word16 aav1[]
36e1363ad885 libgsmefr: initial import of ETSI header files
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
62 );
36e1363ad885 libgsmefr: initial import of ETSI header files
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
63
36e1363ad885 libgsmefr: initial import of ETSI header files
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
64 void compute_rav1 (
36e1363ad885 libgsmefr: initial import of ETSI header files
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
65 Word16 aav1[],
36e1363ad885 libgsmefr: initial import of ETSI header files
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
66 Word16 rav1[],
36e1363ad885 libgsmefr: initial import of ETSI header files
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
67 Word16 *scal_rav1
36e1363ad885 libgsmefr: initial import of ETSI header files
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
68 );
36e1363ad885 libgsmefr: initial import of ETSI header files
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
69
36e1363ad885 libgsmefr: initial import of ETSI header files
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
70 Word16 spectral_comparison (
36e1363ad885 libgsmefr: initial import of ETSI header files
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
71 Word16 rav1[],
36e1363ad885 libgsmefr: initial import of ETSI header files
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
72 Word16 scal_rav1,
36e1363ad885 libgsmefr: initial import of ETSI header files
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
73 Word32 L_av0[]
36e1363ad885 libgsmefr: initial import of ETSI header files
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
74 );
36e1363ad885 libgsmefr: initial import of ETSI header files
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
75
36e1363ad885 libgsmefr: initial import of ETSI header files
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
76 void threshold_adaptation (
36e1363ad885 libgsmefr: initial import of ETSI header files
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
77 Word16 stat,
36e1363ad885 libgsmefr: initial import of ETSI header files
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
78 Word16 ptch,
36e1363ad885 libgsmefr: initial import of ETSI header files
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
79 Word16 tone,
36e1363ad885 libgsmefr: initial import of ETSI header files
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
80 Word16 rav1[],
36e1363ad885 libgsmefr: initial import of ETSI header files
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
81 Word16 scal_rav1,
36e1363ad885 libgsmefr: initial import of ETSI header files
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
82 Pfloat pvad,
36e1363ad885 libgsmefr: initial import of ETSI header files
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
83 Pfloat acf0,
36e1363ad885 libgsmefr: initial import of ETSI header files
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
84 Word16 rvad[],
36e1363ad885 libgsmefr: initial import of ETSI header files
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
85 Word16 *scal_rvad,
36e1363ad885 libgsmefr: initial import of ETSI header files
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
86 Pfloat * thvad
36e1363ad885 libgsmefr: initial import of ETSI header files
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
87 );
36e1363ad885 libgsmefr: initial import of ETSI header files
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
88
36e1363ad885 libgsmefr: initial import of ETSI header files
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
89 void tone_detection (
36e1363ad885 libgsmefr: initial import of ETSI header files
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
90 Word16 rc[],
36e1363ad885 libgsmefr: initial import of ETSI header files
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
91 Word16 *tone
36e1363ad885 libgsmefr: initial import of ETSI header files
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
92 );
36e1363ad885 libgsmefr: initial import of ETSI header files
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
93
36e1363ad885 libgsmefr: initial import of ETSI header files
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
94 Word16 vad_decision (
36e1363ad885 libgsmefr: initial import of ETSI header files
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
95 Pfloat pvad,
36e1363ad885 libgsmefr: initial import of ETSI header files
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
96 Pfloat thvad
36e1363ad885 libgsmefr: initial import of ETSI header files
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
97 );
36e1363ad885 libgsmefr: initial import of ETSI header files
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
98
36e1363ad885 libgsmefr: initial import of ETSI header files
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
99 Word16 vad_hangover (
36e1363ad885 libgsmefr: initial import of ETSI header files
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
100 Word16 vvad
36e1363ad885 libgsmefr: initial import of ETSI header files
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
101 );
36e1363ad885 libgsmefr: initial import of ETSI header files
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
102
36e1363ad885 libgsmefr: initial import of ETSI header files
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
103 void periodicity_update (
36e1363ad885 libgsmefr: initial import of ETSI header files
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
104 Word16 lags[],
36e1363ad885 libgsmefr: initial import of ETSI header files
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
105 Word16 *ptch
36e1363ad885 libgsmefr: initial import of ETSI header files
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
106 );