summaryrefslogtreecommitdiff
path: root/lib/rbcodec/codecs/libgme/emutables.h
blob: 739c8c390a3e75102b16468eeab99dcd78c00bbf (plain)
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
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
#ifndef _EMUTABLES_H_
#define _EMUTABLES_H_

/* Precalculated emu2413 tables for use in Rockbox, 
   Calculated for 44Khz sampling rate */

#include "emutypes.h"

static const e_uint16 sin_coeff[] = {
	255,   203,   171,   152,   139,   129,   120, 
	113,   107,   102,    97,    92,    88,    85, 
	 81,    78,    75,    72,    70,    67,    65, 
	 63,    61,    59,    57,    55,    53,    52, 
	 50,    48,    47,    45,    44,    43,    41, 
	 40,    39,    38,    37,    35,    34,    33, 
	 32,    31,    30,    29,    28,    28,    27, 
	 26,    25,    24,    23,    23,    22,    21, 
	 21,    20,    19,    19,    18,    17,    17, 
	 16,    16,    15,    14,    14,    13,    13, 
	 12,    12,    11,    11,    11,    10,    10, 
	  9,     9,     8,     8,     8,     7,     7, 
	  7,     6,     6,     6,     5,     5,     5, 
	  4,     4,     4,     4,     3,     3,     3, 
	  3,     2,     2,     2,     2,     2,     2, 
	  1,     1,     1,     1,     1,     1,     1, 
	  0,     0,     0,     0,     0,     0,     0, 
	  0,     0,     0,     0,     0,     0,     0, 
	  0,     0, 
};

static const e_int16 pm_coeff[] = {
	256,   256,   256,   256,   256,   256,   256, 
	256,   256,   256,   256,   256,   256,   256, 
	256,   256,   256,   256,   256,   256,   256, 
	256,   256,   256,   256,   256,   256,   256, 
	256,   256,   256,   256,   257,   257,   257, 
	257,   257,   257,   257,   257,   257,   257, 
	257,   257,   257,   257,   257,   257,   257, 
	257,   257,   257,   257,   257,   257,   257, 
	257,   257,   257,   257,   257,   257,   257, 
	258,   258,   258,   257,   257,   257,   257, 
	257,   257,   257,   257,   257,   257,   257, 
	257,   257,   257,   257,   257,   257,   257, 
	257,   257,   257,   257,   257,   257,   257, 
	257,   257,   257,   257,   257,   257,   256, 
	256,   256,   256,   256,   256,   256,   256, 
	256,   256,   256,   256,   256,   256,   256, 
	256,   256,   256,   256,   256,   256,   256, 
	256,   256,   256,   256,   256,   256,   256, 
	256,   256,   256,   255,   255,   255,   255, 
	255,   255,   255,   255,   255,   255,   255, 
	255,   255,   255,   255,   255,   255,   255, 
	255,   255,   255,   255,   255,   255,   255, 
	255,   255,   255,   255,   255,   255,   254, 
	254,   254,   254,   254,   254,   254,   254, 
	254,   254,   254,   254,   254,   254,   254, 
	254,   254,   254,   254,   254,   254,   254, 
	254,   254,   254,   254,   254,   254,   254, 
	254,   254,   254,   253,   254,   254,   254, 
	254,   254,   254,   254,   254,   254,   254, 
	254,   254,   254,   254,   254,   254,   254, 
	254,   254,   254,   254,   254,   254,   254, 
	254,   254,   254,   254,   254,   254,   254, 
	254,   255,   255,   255,   255,   255,   255, 
	255,   255,   255,   255,   255,   255,   255, 
	255,   255,   255,   255,   255,   255,   255, 
	255,   255,   255,   255,   255,   255,   255, 
	255,   255,   255,   255, 
};

static const e_int8 am_coeff[] = {
     13,    13,    13,    13,    13,    14,    14, 
     14,    14,    14,    15,    15,    15,    15, 
     15,    16,    16,    16,    16,    16,    17, 
     17,    17,    17,    17,    18,    18,    18, 
     18,    18,    19,    19,    19,    19,    19, 
     20,    20,    20,    20,    20,    21,    21, 
     21,    21,    21,    22,    22,    22,    22, 
     22,    23,    23,    23,    23,    23,    24, 
     24,    24,    24,    24,    25,    25,    25, 
     25,    26,    25,    25,    25,    25,    24, 
     24,    24,    24,    24,    23,    23,    23, 
     23,    23,    22,    22,    22,    22,    22, 
     21,    21,    21,    21,    21,    20,    20, 
     20,    20,    20,    19,    19,    19,    19, 
     19,    18,    18,    18,    18,    18,    17, 
     17,    17,    17,    17,    16,    16,    16, 
     16,    16,    15,    15,    15,    15,    15, 
     14,    14,    14,    14,    14,    13,    13, 
     13,    13,    13,    12,    12,    12,    12, 
     11,    11,    11,    11,    11,    10,    10, 
     10,    10,    10,     9,     9,     9,     9, 
      9,     8,     8,     8,     8,     8,     7, 
      7,     7,     7,     7,     6,     6,     6, 
      6,     6,     5,     5,     5,     5,     5, 
      4,     4,     4,     4,     4,     3,     3, 
      3,     3,     3,     2,     2,     2,     2, 
      2,     1,     1,     1,     1,     1,     0, 
      0,     0,     0,     0,     0,     0,     0, 
      0,     1,     1,     1,     1,     1,     2, 
      2,     2,     2,     2,     3,     3,     3, 
      3,     3,     4,     4,     4,     4,     4, 
      5,     5,     5,     5,     5,     6,     6, 
      6,     6,     6,     7,     7,     7,     7, 
      7,     8,     8,     8,     8,     8,     9, 
      9,     9,     9,     9,    10,    10,    10, 
     10,    10,    11,    11,    11,    11,    11, 
     12,    12,    12,    12,
};

static const e_int16 db2lin_coeff[]  = {
	255,   249,   244,   239,   233,   228,   224, 
	219,   214,   209,   205,   201,   196,   192, 
	188,   184,   180,   176,   172,   169,   165, 
	162,   158,   155,   151,   148,   145,   142, 
	139,   136,   133,   130,   127,   125,   122, 
	119,   117,   114,   112,   109,   107,   105, 
	102,   100,    98,    96,    94,    92,    90, 
	 88,    86,    84,    82,    81,    79,    77, 
	 76,    74,    72,    71,    69,    68,    66, 
	 65,    64,    62,    61,    60,    58,    57, 
	 56,    55,    53,    52,    51,    50,    49, 
	 48,    47,    46,    45,    44,    43,    42, 
	 41,    40,    39,    38,    38,    37,    36, 
	 35,    34,    34,    33,    32,    32,    31, 
	 30,    30,    29,    28,    28,    27,    27, 
	 26,    25,    25,    24,    24,    23,    23, 
	 22,    22,    21,    21,    20,    20,    19, 
	 19,    19,    18,    18,    17,    17,    17, 
	 16,    16,    16,    15,    15,    15,    14, 
	 14,    14,    13,    13,    13,    12,    12, 
	 12,    12,    11,    11,    11,    11,    10, 
	 10,    10,    10,    10,     9,     9,     9, 
	  9,     8,     8,     8,     8,     8,     8, 
	  7,     7,     7,     7,     7,     7,     6, 
	  6,     6,     6,     6,     6,     6,     5, 
	  5,     5,     5,     5,     5,     5,     5, 
	  5,     4,     4,     4,     4,     4,     4, 
	  4,     4,     4,     4,     3,     3,     3, 
	  3,     3,     3,     3,     3,     3,     3, 
	  3,     3,     3,     2,     2,     2,     2, 
	  2,     2,     2,     2,     2,     2,     2, 
	  2,     2,     2,     2,     2,     2,     2, 
	  2,     1,     1,     1,     1,     1,     1, 
	  1,     1,     1,     1,     1,     1,     1, 
	  1,     1,     1,     1,     1,     1,     1, 
	  1,     1,     1,     1,     1,     1,     1, 
	  1,     1,     1,     1,     1,     0,     0, 
	  0,     0,     0,     0,     0,     0,     0, 
	  0,     0,     0,     0,     0,     0,     0, 
	  0,     0,     0,     0,     0,     0,     0, 
	  0,     0,     0,     0,     0,     0,     0, 
	  0,     0,     0,     0,     0,     0,     0, 
	  0,     0,     0,     0,     0,     0,     0, 
	  0,     0,     0,     0,     0,     0,     0, 
	  0,     0,     0,     0,     0,     0,     0, 
	  0,     0,     0,     0,     0,     0,     0, 
	  0,     0,     0,     0,     0,     0,     0, 
	  0,     0,     0,     0,     0,     0,     0, 
	  0,     0,     0,     0,     0,     0,     0, 
	  0,     0,     0,     0,     0,     0,     0, 
	  0,     0,     0,     0,     0,     0,     0, 
	  0,     0,     0,     0,     0,     0,     0, 
	  0,     0,     0,     0,     0,     0,     0, 
	  0,     0,     0,     0,     0,     0,     0, 
	  0,     0,     0,     0,     0,     0,     0, 
	  0,     0,     0,     0,     0,     0,     0, 
	  0,     0,     0,     0,     0,     0,     0, 
	  0,     0,     0,     0,     0,     0,     0, 
	  0,     0,     0,     0,     0,     0,     0, 
	  0,     0,     0,     0,     0,     0,     0, 
	  0,     0,     0,     0,     0,     0,     0, 
	  0,     0,     0,     0,     0,     0,     0, 
	  0,     0,     0,     0,     0,     0,     0, 
	  0,     0,     0,     0,     0,     0,     0, 
	  0,     0,     0,     0,     0,     0,     0, 
	  0,     0,     0,     0,     0,     0,     0, 
	  0,     0,     0,     0,     0,     0,     0, 
	  0,     0,     0,     0,     0,     0,     0, 
	  0,     0,     0,     0,     0,     0,     0, 
	  0,     0,     0,     0,     0,     0,     0, 
	  0,     0,     0,     0,     0,     0,     0, 
	  0,     0,     0,     0,     0,     0,     0, 
	  0,     0,     0,     0,     0,     0,     0, 
	  0, 
};

static const e_uint16 ar_adjust_coeff[] = {
	127,  108,   98,   90,   84,   80,   75, 
	 72,   69,   66,   64,   61,   59,   57, 
	 56,   54,   52,   51,   49,   48,   47, 
	 45,   44,   43,   42,   41,   40,   39, 
	 38,   37,   36,   36,   35,   34,   33, 
	 33,   32,   31,   30,   30,   29,   29, 
	 28,   27,   27,   26,   26,   25,   24, 
	 24,   23,   23,   22,   22,   21,   21, 
	 21,   20,   20,   19,   19,   18,   18, 
	 17,   17,   17,   16,   16,   15,   15, 
	 15,   14,   14,   14,   13,   13,   13, 
	 12,   12,   12,   11,   11,   11,   10, 
	 10,   10,    9,    9,    9,    9,    8, 
	  8,    8,    7,    7,    7,    7,    6, 
	  6,    6,    6,    5,    5,    5,    4, 
	  4,    4,    4,    4,    3,    3,    3, 
	  3,    2,    2,    2,    2,    1,    1, 
	  1,    1,    1,    0,    0,    0,    0, 
	  0, 
};

#endif