File: mit_hrtf_filter.h

package info (click to toggle)
libspatialaudio 0.3.0%2Bgit20180730%2Bdfsg1-2.1
  • links: PTS, VCS
  • area: main
  • in suites: sid, trixie
  • size: 468 kB
  • sloc: cpp: 2,293; ansic: 1,247; makefile: 5
file content (131 lines) | stat: -rw-r--r-- 5,697 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
/*############################################################################*/
/*#                                                                          #*/
/*#  MIT HRTF C Library                                                      #*/
/*#  Copyright © 2007 Aristotel Digenis                                      #*/
/*#                                                                          #*/
/*#  Filename:  mit_hrtf_filter.h                                            #*/
/*#  Version:   0.1                                                          #*/
/*#  Date:      04/05/2007                                                   #*/
/*#  Author(s): Aristotel Digenis                                            #*/
/*#  Credit:    Bill Gardner and Keith Martin                                #*/
/*#  Licence:   MIT                                                          #*/
/*#                                                                          #*/
/*############################################################################*/


#ifndef _MIT_HRTF_FILTER_H
#define _MIT_HRTF_FILTER_H

#define MIT_HRTF_AZI_POSITIONS_00    37
#define MIT_HRTF_AZI_POSITIONS_10    37
#define MIT_HRTF_AZI_POSITIONS_20    37
#define MIT_HRTF_AZI_POSITIONS_30    31
#define MIT_HRTF_AZI_POSITIONS_40    29
#define MIT_HRTF_AZI_POSITIONS_50    23
#define MIT_HRTF_AZI_POSITIONS_60    19
#define MIT_HRTF_AZI_POSITIONS_70    13
#define MIT_HRTF_AZI_POSITIONS_80    7
#define MIT_HRTF_AZI_POSITIONS_90    1

#define MIT_HRTF_44_TAPS    128
#define MIT_HRTF_48_TAPS    140
#define MIT_HRTF_88_TAPS    256
#define MIT_HRTF_96_TAPS    279

typedef struct mit_hrtf_filter_44_str
{
    short left[MIT_HRTF_44_TAPS];
    short right[MIT_HRTF_44_TAPS];
}mit_hrtf_filter_44;

typedef struct mit_hrtf_filter_48_str
{
    short left[MIT_HRTF_48_TAPS];
    short right[MIT_HRTF_48_TAPS];
}mit_hrtf_filter_48;

typedef struct mit_hrtf_filter_88_str
{
    short left[MIT_HRTF_88_TAPS];
    short right[MIT_HRTF_88_TAPS];
}mit_hrtf_filter_88;

typedef struct mit_hrtf_filter_96_str
{
    short left[MIT_HRTF_96_TAPS];
    short right[MIT_HRTF_96_TAPS];
}mit_hrtf_filter_96;

typedef struct mit_hrtf_filter_set_44_str
{
    mit_hrtf_filter_44 e_10[MIT_HRTF_AZI_POSITIONS_10];
    mit_hrtf_filter_44 e_20[MIT_HRTF_AZI_POSITIONS_20];
    mit_hrtf_filter_44 e_30[MIT_HRTF_AZI_POSITIONS_30];
    mit_hrtf_filter_44 e_40[MIT_HRTF_AZI_POSITIONS_40];
    mit_hrtf_filter_44 e00[MIT_HRTF_AZI_POSITIONS_00];
    mit_hrtf_filter_44 e10[MIT_HRTF_AZI_POSITIONS_10];
    mit_hrtf_filter_44 e20[MIT_HRTF_AZI_POSITIONS_20];
    mit_hrtf_filter_44 e30[MIT_HRTF_AZI_POSITIONS_30];
    mit_hrtf_filter_44 e40[MIT_HRTF_AZI_POSITIONS_40];
    mit_hrtf_filter_44 e50[MIT_HRTF_AZI_POSITIONS_50];
    mit_hrtf_filter_44 e60[MIT_HRTF_AZI_POSITIONS_60];
    mit_hrtf_filter_44 e70[MIT_HRTF_AZI_POSITIONS_70];
    mit_hrtf_filter_44 e80[MIT_HRTF_AZI_POSITIONS_80];
    mit_hrtf_filter_44 e90[MIT_HRTF_AZI_POSITIONS_90];
}mit_hrtf_filter_set_44;

typedef struct mit_hrtf_filter_set_48_str
{
    mit_hrtf_filter_48 e_10[MIT_HRTF_AZI_POSITIONS_10];
    mit_hrtf_filter_48 e_20[MIT_HRTF_AZI_POSITIONS_20];
    mit_hrtf_filter_48 e_30[MIT_HRTF_AZI_POSITIONS_30];
    mit_hrtf_filter_48 e_40[MIT_HRTF_AZI_POSITIONS_40];
    mit_hrtf_filter_48 e00[MIT_HRTF_AZI_POSITIONS_00];
    mit_hrtf_filter_48 e10[MIT_HRTF_AZI_POSITIONS_10];
    mit_hrtf_filter_48 e20[MIT_HRTF_AZI_POSITIONS_20];
    mit_hrtf_filter_48 e30[MIT_HRTF_AZI_POSITIONS_30];
    mit_hrtf_filter_48 e40[MIT_HRTF_AZI_POSITIONS_40];
    mit_hrtf_filter_48 e50[MIT_HRTF_AZI_POSITIONS_50];
    mit_hrtf_filter_48 e60[MIT_HRTF_AZI_POSITIONS_60];
    mit_hrtf_filter_48 e70[MIT_HRTF_AZI_POSITIONS_70];
    mit_hrtf_filter_48 e80[MIT_HRTF_AZI_POSITIONS_80];
    mit_hrtf_filter_48 e90[MIT_HRTF_AZI_POSITIONS_90];
}mit_hrtf_filter_set_48;

typedef struct mit_hrtf_filter_set_88_str
{
    mit_hrtf_filter_88 e_10[MIT_HRTF_AZI_POSITIONS_10];
    mit_hrtf_filter_88 e_20[MIT_HRTF_AZI_POSITIONS_20];
    mit_hrtf_filter_88 e_30[MIT_HRTF_AZI_POSITIONS_30];
    mit_hrtf_filter_88 e_40[MIT_HRTF_AZI_POSITIONS_40];
    mit_hrtf_filter_88 e00[MIT_HRTF_AZI_POSITIONS_00];
    mit_hrtf_filter_88 e10[MIT_HRTF_AZI_POSITIONS_10];
    mit_hrtf_filter_88 e20[MIT_HRTF_AZI_POSITIONS_20];
    mit_hrtf_filter_88 e30[MIT_HRTF_AZI_POSITIONS_30];
    mit_hrtf_filter_88 e40[MIT_HRTF_AZI_POSITIONS_40];
    mit_hrtf_filter_88 e50[MIT_HRTF_AZI_POSITIONS_50];
    mit_hrtf_filter_88 e60[MIT_HRTF_AZI_POSITIONS_60];
    mit_hrtf_filter_88 e70[MIT_HRTF_AZI_POSITIONS_70];
    mit_hrtf_filter_88 e80[MIT_HRTF_AZI_POSITIONS_80];
    mit_hrtf_filter_88 e90[MIT_HRTF_AZI_POSITIONS_90];
}mit_hrtf_filter_set_88;

typedef struct mit_hrtf_filter_set_96_str
{
    mit_hrtf_filter_96 e_10[MIT_HRTF_AZI_POSITIONS_10];
    mit_hrtf_filter_96 e_20[MIT_HRTF_AZI_POSITIONS_20];
    mit_hrtf_filter_96 e_30[MIT_HRTF_AZI_POSITIONS_30];
    mit_hrtf_filter_96 e_40[MIT_HRTF_AZI_POSITIONS_40];
    mit_hrtf_filter_96 e00[MIT_HRTF_AZI_POSITIONS_00];
    mit_hrtf_filter_96 e10[MIT_HRTF_AZI_POSITIONS_10];
    mit_hrtf_filter_96 e20[MIT_HRTF_AZI_POSITIONS_20];
    mit_hrtf_filter_96 e30[MIT_HRTF_AZI_POSITIONS_30];
    mit_hrtf_filter_96 e40[MIT_HRTF_AZI_POSITIONS_40];
    mit_hrtf_filter_96 e50[MIT_HRTF_AZI_POSITIONS_50];
    mit_hrtf_filter_96 e60[MIT_HRTF_AZI_POSITIONS_60];
    mit_hrtf_filter_96 e70[MIT_HRTF_AZI_POSITIONS_70];
    mit_hrtf_filter_96 e80[MIT_HRTF_AZI_POSITIONS_80];
    mit_hrtf_filter_96 e90[MIT_HRTF_AZI_POSITIONS_90];
}mit_hrtf_filter_set_96;

#endif // _MIT_HRTF_FILTER_H