2
** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
3
** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com
5
** This program is free software; you can redistribute it and/or modify
6
** it under the terms of the GNU General Public License as published by
7
** the Free Software Foundation; either version 2 of the License, or
8
** (at your option) any later version.
10
** This program is distributed in the hope that it will be useful,
11
** but WITHOUT ANY WARRANTY; without even the implied warranty of
12
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
** GNU General Public License for more details.
15
** You should have received a copy of the GNU General Public License
16
** along with this program; if not, write to the Free Software
17
** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
19
** Any non-GPL usage of this software or parts of this software is strictly
22
** Software using this code must display the following message visibly in or
23
** on each copy of the software:
24
** "FAAD2 AAC/HE-AAC/HE-AACv2/DRM decoder (c) Nero AG, www.nero.com"
25
** in, for example, the about-box or help/startup screen.
27
** Commercial non-GPL licensing of this software is possible.
28
** For more info contact Nero AG through Mpeg4AAClicense@nero.com.
30
** $Id: hcb_3.h,v 1.4 2006/05/07 18:09:41 menno Exp $
33
/* Binary search huffman table HCB_3 */
36
static hcb_bin_quad hcb3[] = {
37
{ /* 0 */ 0, { 1, 2, 0, 0 } },
38
{ /* 1 */ 1, { 0, 0, 0, 0 } }, /* 0 */
39
{ /* 2 */ 0, { 1, 2, 0, 0 } },
40
{ /* 3 */ 0, { 2, 3, 0, 0 } },
41
{ /* 4 */ 0, { 3, 4, 0, 0 } },
42
{ /* 5 */ 0, { 4, 5, 0, 0 } },
43
{ /* 6 */ 0, { 5, 6, 0, 0 } },
44
{ /* 7 */ 0, { 6, 7, 0, 0 } },
45
{ /* 8 */ 0, { 7, 8, 0, 0 } },
46
{ /* 9 */ 1, { 1, 0, 0, 0 } }, /* 1000 */
47
{ /* 10 */ 1, { 0, 0, 0, 1 } }, /* 1001 */
48
{ /* 11 */ 1, { 0, 1, 0, 0 } }, /* 1010 */
49
{ /* 12 */ 1, { 0, 0, 1, 0 } }, /* 1011 */
50
{ /* 13 */ 0, { 4, 5, 0, 0 } },
51
{ /* 14 */ 0, { 5, 6, 0, 0 } },
52
{ /* 15 */ 0, { 6, 7, 0, 0 } },
53
{ /* 16 */ 0, { 7, 8, 0, 0 } },
54
{ /* 17 */ 1, { 1, 1, 0, 0 } },
55
{ /* 18 */ 1, { 0, 0, 1, 1 } },
56
{ /* 19 */ 0, { 6, 7, 0, 0 } },
57
{ /* 20 */ 0, { 7, 8, 0, 0 } },
58
{ /* 21 */ 0, { 8, 9, 0, 0 } },
59
{ /* 22 */ 0, { 9, 10, 0, 0 } },
60
{ /* 23 */ 0, { 10, 11, 0, 0 } },
61
{ /* 24 */ 0, { 11, 12, 0, 0 } },
62
{ /* 25 */ 1, { 0, 1, 1, 0 } }, /* 110100 */
63
{ /* 26 */ 1, { 0, 1, 0, 1 } }, /* 110101 */
64
{ /* 27 */ 1, { 1, 0, 1, 0 } }, /* 110110 */
65
{ /* 28 */ 1, { 0, 1, 1, 1 } }, /* 110111 */
66
{ /* 29 */ 1, { 1, 0, 0, 1 } }, /* 111000 */
67
{ /* 30 */ 1, { 1, 1, 1, 0 } }, /* 111001 */
68
{ /* 31 */ 0, { 6, 7, 0, 0 } },
69
{ /* 32 */ 0, { 7, 8, 0, 0 } },
70
{ /* 33 */ 0, { 8, 9, 0, 0 } },
71
{ /* 34 */ 0, { 9, 10, 0, 0 } },
72
{ /* 35 */ 0, { 10, 11, 0, 0 } },
73
{ /* 36 */ 0, { 11, 12, 0, 0 } },
74
{ /* 37 */ 1, { 1, 1, 1, 1 } }, /* 1110100 */
75
{ /* 38 */ 1, { 1, 0, 1, 1 } }, /* 1110101 */
76
{ /* 39 */ 1, { 1, 1, 0, 1 } }, /* 1110110 */
77
{ /* 40 */ 0, { 9, 10, 0, 0 } },
78
{ /* 41 */ 0, { 10, 11, 0, 0 } },
79
{ /* 42 */ 0, { 11, 12, 0, 0 } },
80
{ /* 43 */ 0, { 12, 13, 0, 0 } },
81
{ /* 44 */ 0, { 13, 14, 0, 0 } },
82
{ /* 45 */ 0, { 14, 15, 0, 0 } },
83
{ /* 46 */ 0, { 15, 16, 0, 0 } },
84
{ /* 47 */ 0, { 16, 17, 0, 0 } },
85
{ /* 48 */ 0, { 17, 18, 0, 0 } },
86
{ /* 49 */ 1, { 2, 0, 0, 0 } }, /* 11101110 */
87
{ /* 50 */ 1, { 0, 0, 0, 2 } }, /* 11101111 */
88
{ /* 51 */ 1, { 0, 0, 1, 2 } }, /* 11110000 */
89
{ /* 52 */ 1, { 2, 1, 0, 0 } }, /* 11110001 */
90
{ /* 53 */ 1, { 1, 2, 1, 0 } }, /* 11110010 */
91
{ /* 54 */ 0, { 13, 14, 0, 0 } },
92
{ /* 55 */ 0, { 14, 15, 0, 0 } },
93
{ /* 56 */ 0, { 15, 16, 0, 0 } },
94
{ /* 57 */ 0, { 16, 17, 0, 0 } },
95
{ /* 58 */ 0, { 17, 18, 0, 0 } },
96
{ /* 59 */ 0, { 18, 19, 0, 0 } },
97
{ /* 60 */ 0, { 19, 20, 0, 0 } },
98
{ /* 61 */ 0, { 20, 21, 0, 0 } },
99
{ /* 62 */ 0, { 21, 22, 0, 0 } },
100
{ /* 63 */ 0, { 22, 23, 0, 0 } },
101
{ /* 64 */ 0, { 23, 24, 0, 0 } },
102
{ /* 65 */ 0, { 24, 25, 0, 0 } },
103
{ /* 66 */ 0, { 25, 26, 0, 0 } },
104
{ /* 67 */ 1, { 0, 0, 2, 1 } },
105
{ /* 68 */ 1, { 0, 1, 2, 1 } },
106
{ /* 69 */ 1, { 1, 2, 0, 0 } },
107
{ /* 70 */ 1, { 0, 1, 1, 2 } },
108
{ /* 71 */ 1, { 2, 1, 1, 0 } },
109
{ /* 72 */ 1, { 0, 0, 2, 0 } },
110
{ /* 73 */ 1, { 0, 2, 1, 0 } },
111
{ /* 74 */ 1, { 0, 1, 2, 0 } },
112
{ /* 75 */ 1, { 0, 2, 0, 0 } },
113
{ /* 76 */ 1, { 0, 1, 0, 2 } },
114
{ /* 77 */ 1, { 2, 0, 1, 0 } },
115
{ /* 78 */ 1, { 1, 2, 1, 1 } },
116
{ /* 79 */ 1, { 0, 2, 1, 1 } },
117
{ /* 80 */ 1, { 1, 1, 2, 0 } },
118
{ /* 81 */ 1, { 1, 1, 2, 1 } },
119
{ /* 82 */ 0, { 11, 12, 0, 0 } },
120
{ /* 83 */ 0, { 12, 13, 0, 0 } },
121
{ /* 84 */ 0, { 13, 14, 0, 0 } },
122
{ /* 85 */ 0, { 14, 15, 0, 0 } },
123
{ /* 86 */ 0, { 15, 16, 0, 0 } },
124
{ /* 87 */ 0, { 16, 17, 0, 0 } },
125
{ /* 88 */ 0, { 17, 18, 0, 0 } },
126
{ /* 89 */ 0, { 18, 19, 0, 0 } },
127
{ /* 90 */ 0, { 19, 20, 0, 0 } },
128
{ /* 91 */ 0, { 20, 21, 0, 0 } },
129
{ /* 92 */ 0, { 21, 22, 0, 0 } },
130
{ /* 93 */ 1, { 1, 2, 0, 1 } }, /* 1111101010 */
131
{ /* 94 */ 1, { 1, 0, 2, 0 } }, /* 1111101011 */
132
{ /* 95 */ 1, { 1, 0, 2, 1 } }, /* 1111101100 */
133
{ /* 96 */ 1, { 0, 2, 0, 1 } }, /* 1111101101 */
134
{ /* 97 */ 1, { 2, 1, 1, 1 } }, /* 1111101110 */
135
{ /* 98 */ 1, { 1, 1, 1, 2 } }, /* 1111101111 */
136
{ /* 99 */ 1, { 2, 1, 0, 1 } }, /* 1111110000 */
137
{ /* 00 */ 1, { 1, 0, 1, 2 } }, /* 1111110001 */
138
{ /* 01 */ 1, { 0, 0, 2, 2 } }, /* 1111110010 */
139
{ /* 02 */ 1, { 0, 1, 2, 2 } }, /* 1111110011 */
140
{ /* 03 */ 1, { 2, 2, 1, 0 } }, /* 1111110100 */
141
{ /* 04 */ 1, { 1, 2, 2, 0 } }, /* 1111110101 */
142
{ /* 05 */ 1, { 1, 0, 0, 2 } }, /* 1111110110 */
143
{ /* 06 */ 1, { 2, 0, 0, 1 } }, /* 1111110111 */
144
{ /* 07 */ 1, { 0, 2, 2, 1 } }, /* 1111111000 */
145
{ /* 08 */ 0, { 7, 8, 0, 0 } },
146
{ /* 09 */ 0, { 8, 9, 0, 0 } },
147
{ /* 10 */ 0, { 9, 10, 0, 0 } },
148
{ /* 11 */ 0, { 10, 11, 0, 0 } },
149
{ /* 12 */ 0, { 11, 12, 0, 0 } },
150
{ /* 13 */ 0, { 12, 13, 0, 0 } },
151
{ /* 14 */ 0, { 13, 14, 0, 0 } },
152
{ /* 15 */ 1, { 2, 2, 0, 0 } }, /* 11111110010 */
153
{ /* 16 */ 1, { 1, 2, 2, 1 } }, /* 11111110011 */
154
{ /* 17 */ 1, { 1, 1, 0, 2 } }, /* 11111110100 */
155
{ /* 18 */ 1, { 2, 0, 1, 1 } }, /* 11111110101 */
156
{ /* 19 */ 1, { 1, 1, 2, 2 } }, /* 11111110110 */
157
{ /* 20 */ 1, { 2, 2, 1, 1 } }, /* 11111110111 */
158
{ /* 21 */ 1, { 0, 2, 2, 0 } }, /* 11111111000 */
159
{ /* 22 */ 1, { 0, 2, 1, 2 } }, /* 11111111001 */
160
{ /* 23 */ 0, { 6, 7, 0, 0 } },
161
{ /* 24 */ 0, { 7, 8, 0, 0 } },
162
{ /* 25 */ 0, { 8, 9, 0, 0 } },
163
{ /* 26 */ 0, { 9, 10, 0, 0 } },
164
{ /* 27 */ 0, { 10, 11, 0, 0 } },
165
{ /* 28 */ 0, { 11, 12, 0, 0 } },
166
{ /* 29 */ 1, { 1, 0, 2, 2 } }, /* 111111110100 */
167
{ /* 30 */ 1, { 2, 2, 0, 1 } }, /* 111111110101 */
168
{ /* 31 */ 1, { 2, 1, 2, 0 } }, /* 111111110110 */
169
{ /* 32 */ 1, { 2, 2, 2, 0 } }, /* 111111110111 */
170
{ /* 33 */ 1, { 0, 2, 2, 2 } }, /* 111111111000 */
171
{ /* 34 */ 1, { 2, 2, 2, 1 } }, /* 111111111001 */
172
{ /* 35 */ 1, { 2, 1, 2, 1 } }, /* 111111111010 */
173
{ /* 36 */ 1, { 1, 2, 1, 2 } }, /* 111111111011 */
174
{ /* 37 */ 1, { 1, 2, 2, 2 } }, /* 111111111100 */
175
{ /* 38 */ 0, { 3, 4, 0, 0 } },
176
{ /* 39 */ 0, { 4, 5, 0, 0 } },
177
{ /* 40 */ 0, { 5, 6, 0, 0 } },
178
{ /* 41 */ 1, { 0, 2, 0, 2 } }, /* 1111111111010 */
179
{ /* 42 */ 1, { 2, 0, 2, 0 } }, /* 1111111111011 */
180
{ /* 43 */ 1, { 1, 2, 0, 2 } }, /* 1111111111100 */
181
{ /* 44 */ 0, { 3, 4, 0, 0 } },
182
{ /* 45 */ 0, { 4, 5, 0, 0 } },
183
{ /* 46 */ 0, { 5, 6, 0, 0 } },
184
{ /* 47 */ 1, { 2, 0, 2, 1 } }, /* 11111111111010 */
185
{ /* 48 */ 1, { 2, 1, 1, 2 } }, /* 11111111111011 */
186
{ /* 49 */ 1, { 2, 1, 0, 2 } }, /* 11111111111100 */
187
{ /* 50 */ 0, { 3, 4, 0, 0 } },
188
{ /* 51 */ 0, { 4, 5, 0, 0 } },
189
{ /* 52 */ 0, { 5, 6, 0, 0 } },
190
{ /* 53 */ 1, { 2, 2, 2, 2 } }, /* 111111111111010 */
191
{ /* 54 */ 1, { 2, 2, 1, 2 } }, /* 111111111111011 */
192
{ /* 55 */ 1, { 2, 1, 2, 2 } }, /* 111111111111100 */
193
{ /* 56 */ 1, { 2, 0, 1, 2 } }, /* 111111111111101 */
194
{ /* 57 */ 1, { 2, 0, 0, 2 } }, /* 111111111111110 */
195
{ /* 58 */ 0, { 1, 2, 0, 0 } },
196
{ /* 59 */ 1, { 2, 2, 0, 2 } }, /* 1111111111111110 */
197
{ /* 60 */ 1, { 2, 0, 2, 2 } } /* 1111111111111111 */
2
** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
3
** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com
5
** This program is free software; you can redistribute it and/or modify
6
** it under the terms of the GNU General Public License as published by
7
** the Free Software Foundation; either version 2 of the License, or
8
** (at your option) any later version.
10
** This program is distributed in the hope that it will be useful,
11
** but WITHOUT ANY WARRANTY; without even the implied warranty of
12
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
** GNU General Public License for more details.
15
** You should have received a copy of the GNU General Public License
16
** along with this program; if not, write to the Free Software
17
** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
19
** Any non-GPL usage of this software or parts of this software is strictly
22
** The "appropriate copyright message" mentioned in section 2c of the GPLv2
23
** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com"
25
** Commercial non-GPL licensing of this software is possible.
26
** For more info contact Nero AG through Mpeg4AAClicense@nero.com.
28
** $Id: hcb_3.h,v 1.5 2007/11/01 12:34:11 menno Exp $
31
/* Binary search huffman table HCB_3 */
34
static hcb_bin_quad hcb3[] = {
35
{ /* 0 */ 0, { 1, 2, 0, 0 } },
36
{ /* 1 */ 1, { 0, 0, 0, 0 } }, /* 0 */
37
{ /* 2 */ 0, { 1, 2, 0, 0 } },
38
{ /* 3 */ 0, { 2, 3, 0, 0 } },
39
{ /* 4 */ 0, { 3, 4, 0, 0 } },
40
{ /* 5 */ 0, { 4, 5, 0, 0 } },
41
{ /* 6 */ 0, { 5, 6, 0, 0 } },
42
{ /* 7 */ 0, { 6, 7, 0, 0 } },
43
{ /* 8 */ 0, { 7, 8, 0, 0 } },
44
{ /* 9 */ 1, { 1, 0, 0, 0 } }, /* 1000 */
45
{ /* 10 */ 1, { 0, 0, 0, 1 } }, /* 1001 */
46
{ /* 11 */ 1, { 0, 1, 0, 0 } }, /* 1010 */
47
{ /* 12 */ 1, { 0, 0, 1, 0 } }, /* 1011 */
48
{ /* 13 */ 0, { 4, 5, 0, 0 } },
49
{ /* 14 */ 0, { 5, 6, 0, 0 } },
50
{ /* 15 */ 0, { 6, 7, 0, 0 } },
51
{ /* 16 */ 0, { 7, 8, 0, 0 } },
52
{ /* 17 */ 1, { 1, 1, 0, 0 } },
53
{ /* 18 */ 1, { 0, 0, 1, 1 } },
54
{ /* 19 */ 0, { 6, 7, 0, 0 } },
55
{ /* 20 */ 0, { 7, 8, 0, 0 } },
56
{ /* 21 */ 0, { 8, 9, 0, 0 } },
57
{ /* 22 */ 0, { 9, 10, 0, 0 } },
58
{ /* 23 */ 0, { 10, 11, 0, 0 } },
59
{ /* 24 */ 0, { 11, 12, 0, 0 } },
60
{ /* 25 */ 1, { 0, 1, 1, 0 } }, /* 110100 */
61
{ /* 26 */ 1, { 0, 1, 0, 1 } }, /* 110101 */
62
{ /* 27 */ 1, { 1, 0, 1, 0 } }, /* 110110 */
63
{ /* 28 */ 1, { 0, 1, 1, 1 } }, /* 110111 */
64
{ /* 29 */ 1, { 1, 0, 0, 1 } }, /* 111000 */
65
{ /* 30 */ 1, { 1, 1, 1, 0 } }, /* 111001 */
66
{ /* 31 */ 0, { 6, 7, 0, 0 } },
67
{ /* 32 */ 0, { 7, 8, 0, 0 } },
68
{ /* 33 */ 0, { 8, 9, 0, 0 } },
69
{ /* 34 */ 0, { 9, 10, 0, 0 } },
70
{ /* 35 */ 0, { 10, 11, 0, 0 } },
71
{ /* 36 */ 0, { 11, 12, 0, 0 } },
72
{ /* 37 */ 1, { 1, 1, 1, 1 } }, /* 1110100 */
73
{ /* 38 */ 1, { 1, 0, 1, 1 } }, /* 1110101 */
74
{ /* 39 */ 1, { 1, 1, 0, 1 } }, /* 1110110 */
75
{ /* 40 */ 0, { 9, 10, 0, 0 } },
76
{ /* 41 */ 0, { 10, 11, 0, 0 } },
77
{ /* 42 */ 0, { 11, 12, 0, 0 } },
78
{ /* 43 */ 0, { 12, 13, 0, 0 } },
79
{ /* 44 */ 0, { 13, 14, 0, 0 } },
80
{ /* 45 */ 0, { 14, 15, 0, 0 } },
81
{ /* 46 */ 0, { 15, 16, 0, 0 } },
82
{ /* 47 */ 0, { 16, 17, 0, 0 } },
83
{ /* 48 */ 0, { 17, 18, 0, 0 } },
84
{ /* 49 */ 1, { 2, 0, 0, 0 } }, /* 11101110 */
85
{ /* 50 */ 1, { 0, 0, 0, 2 } }, /* 11101111 */
86
{ /* 51 */ 1, { 0, 0, 1, 2 } }, /* 11110000 */
87
{ /* 52 */ 1, { 2, 1, 0, 0 } }, /* 11110001 */
88
{ /* 53 */ 1, { 1, 2, 1, 0 } }, /* 11110010 */
89
{ /* 54 */ 0, { 13, 14, 0, 0 } },
90
{ /* 55 */ 0, { 14, 15, 0, 0 } },
91
{ /* 56 */ 0, { 15, 16, 0, 0 } },
92
{ /* 57 */ 0, { 16, 17, 0, 0 } },
93
{ /* 58 */ 0, { 17, 18, 0, 0 } },
94
{ /* 59 */ 0, { 18, 19, 0, 0 } },
95
{ /* 60 */ 0, { 19, 20, 0, 0 } },
96
{ /* 61 */ 0, { 20, 21, 0, 0 } },
97
{ /* 62 */ 0, { 21, 22, 0, 0 } },
98
{ /* 63 */ 0, { 22, 23, 0, 0 } },
99
{ /* 64 */ 0, { 23, 24, 0, 0 } },
100
{ /* 65 */ 0, { 24, 25, 0, 0 } },
101
{ /* 66 */ 0, { 25, 26, 0, 0 } },
102
{ /* 67 */ 1, { 0, 0, 2, 1 } },
103
{ /* 68 */ 1, { 0, 1, 2, 1 } },
104
{ /* 69 */ 1, { 1, 2, 0, 0 } },
105
{ /* 70 */ 1, { 0, 1, 1, 2 } },
106
{ /* 71 */ 1, { 2, 1, 1, 0 } },
107
{ /* 72 */ 1, { 0, 0, 2, 0 } },
108
{ /* 73 */ 1, { 0, 2, 1, 0 } },
109
{ /* 74 */ 1, { 0, 1, 2, 0 } },
110
{ /* 75 */ 1, { 0, 2, 0, 0 } },
111
{ /* 76 */ 1, { 0, 1, 0, 2 } },
112
{ /* 77 */ 1, { 2, 0, 1, 0 } },
113
{ /* 78 */ 1, { 1, 2, 1, 1 } },
114
{ /* 79 */ 1, { 0, 2, 1, 1 } },
115
{ /* 80 */ 1, { 1, 1, 2, 0 } },
116
{ /* 81 */ 1, { 1, 1, 2, 1 } },
117
{ /* 82 */ 0, { 11, 12, 0, 0 } },
118
{ /* 83 */ 0, { 12, 13, 0, 0 } },
119
{ /* 84 */ 0, { 13, 14, 0, 0 } },
120
{ /* 85 */ 0, { 14, 15, 0, 0 } },
121
{ /* 86 */ 0, { 15, 16, 0, 0 } },
122
{ /* 87 */ 0, { 16, 17, 0, 0 } },
123
{ /* 88 */ 0, { 17, 18, 0, 0 } },
124
{ /* 89 */ 0, { 18, 19, 0, 0 } },
125
{ /* 90 */ 0, { 19, 20, 0, 0 } },
126
{ /* 91 */ 0, { 20, 21, 0, 0 } },
127
{ /* 92 */ 0, { 21, 22, 0, 0 } },
128
{ /* 93 */ 1, { 1, 2, 0, 1 } }, /* 1111101010 */
129
{ /* 94 */ 1, { 1, 0, 2, 0 } }, /* 1111101011 */
130
{ /* 95 */ 1, { 1, 0, 2, 1 } }, /* 1111101100 */
131
{ /* 96 */ 1, { 0, 2, 0, 1 } }, /* 1111101101 */
132
{ /* 97 */ 1, { 2, 1, 1, 1 } }, /* 1111101110 */
133
{ /* 98 */ 1, { 1, 1, 1, 2 } }, /* 1111101111 */
134
{ /* 99 */ 1, { 2, 1, 0, 1 } }, /* 1111110000 */
135
{ /* 00 */ 1, { 1, 0, 1, 2 } }, /* 1111110001 */
136
{ /* 01 */ 1, { 0, 0, 2, 2 } }, /* 1111110010 */
137
{ /* 02 */ 1, { 0, 1, 2, 2 } }, /* 1111110011 */
138
{ /* 03 */ 1, { 2, 2, 1, 0 } }, /* 1111110100 */
139
{ /* 04 */ 1, { 1, 2, 2, 0 } }, /* 1111110101 */
140
{ /* 05 */ 1, { 1, 0, 0, 2 } }, /* 1111110110 */
141
{ /* 06 */ 1, { 2, 0, 0, 1 } }, /* 1111110111 */
142
{ /* 07 */ 1, { 0, 2, 2, 1 } }, /* 1111111000 */
143
{ /* 08 */ 0, { 7, 8, 0, 0 } },
144
{ /* 09 */ 0, { 8, 9, 0, 0 } },
145
{ /* 10 */ 0, { 9, 10, 0, 0 } },
146
{ /* 11 */ 0, { 10, 11, 0, 0 } },
147
{ /* 12 */ 0, { 11, 12, 0, 0 } },
148
{ /* 13 */ 0, { 12, 13, 0, 0 } },
149
{ /* 14 */ 0, { 13, 14, 0, 0 } },
150
{ /* 15 */ 1, { 2, 2, 0, 0 } }, /* 11111110010 */
151
{ /* 16 */ 1, { 1, 2, 2, 1 } }, /* 11111110011 */
152
{ /* 17 */ 1, { 1, 1, 0, 2 } }, /* 11111110100 */
153
{ /* 18 */ 1, { 2, 0, 1, 1 } }, /* 11111110101 */
154
{ /* 19 */ 1, { 1, 1, 2, 2 } }, /* 11111110110 */
155
{ /* 20 */ 1, { 2, 2, 1, 1 } }, /* 11111110111 */
156
{ /* 21 */ 1, { 0, 2, 2, 0 } }, /* 11111111000 */
157
{ /* 22 */ 1, { 0, 2, 1, 2 } }, /* 11111111001 */
158
{ /* 23 */ 0, { 6, 7, 0, 0 } },
159
{ /* 24 */ 0, { 7, 8, 0, 0 } },
160
{ /* 25 */ 0, { 8, 9, 0, 0 } },
161
{ /* 26 */ 0, { 9, 10, 0, 0 } },
162
{ /* 27 */ 0, { 10, 11, 0, 0 } },
163
{ /* 28 */ 0, { 11, 12, 0, 0 } },
164
{ /* 29 */ 1, { 1, 0, 2, 2 } }, /* 111111110100 */
165
{ /* 30 */ 1, { 2, 2, 0, 1 } }, /* 111111110101 */
166
{ /* 31 */ 1, { 2, 1, 2, 0 } }, /* 111111110110 */
167
{ /* 32 */ 1, { 2, 2, 2, 0 } }, /* 111111110111 */
168
{ /* 33 */ 1, { 0, 2, 2, 2 } }, /* 111111111000 */
169
{ /* 34 */ 1, { 2, 2, 2, 1 } }, /* 111111111001 */
170
{ /* 35 */ 1, { 2, 1, 2, 1 } }, /* 111111111010 */
171
{ /* 36 */ 1, { 1, 2, 1, 2 } }, /* 111111111011 */
172
{ /* 37 */ 1, { 1, 2, 2, 2 } }, /* 111111111100 */
173
{ /* 38 */ 0, { 3, 4, 0, 0 } },
174
{ /* 39 */ 0, { 4, 5, 0, 0 } },
175
{ /* 40 */ 0, { 5, 6, 0, 0 } },
176
{ /* 41 */ 1, { 0, 2, 0, 2 } }, /* 1111111111010 */
177
{ /* 42 */ 1, { 2, 0, 2, 0 } }, /* 1111111111011 */
178
{ /* 43 */ 1, { 1, 2, 0, 2 } }, /* 1111111111100 */
179
{ /* 44 */ 0, { 3, 4, 0, 0 } },
180
{ /* 45 */ 0, { 4, 5, 0, 0 } },
181
{ /* 46 */ 0, { 5, 6, 0, 0 } },
182
{ /* 47 */ 1, { 2, 0, 2, 1 } }, /* 11111111111010 */
183
{ /* 48 */ 1, { 2, 1, 1, 2 } }, /* 11111111111011 */
184
{ /* 49 */ 1, { 2, 1, 0, 2 } }, /* 11111111111100 */
185
{ /* 50 */ 0, { 3, 4, 0, 0 } },
186
{ /* 51 */ 0, { 4, 5, 0, 0 } },
187
{ /* 52 */ 0, { 5, 6, 0, 0 } },
188
{ /* 53 */ 1, { 2, 2, 2, 2 } }, /* 111111111111010 */
189
{ /* 54 */ 1, { 2, 2, 1, 2 } }, /* 111111111111011 */
190
{ /* 55 */ 1, { 2, 1, 2, 2 } }, /* 111111111111100 */
191
{ /* 56 */ 1, { 2, 0, 1, 2 } }, /* 111111111111101 */
192
{ /* 57 */ 1, { 2, 0, 0, 2 } }, /* 111111111111110 */
193
{ /* 58 */ 0, { 1, 2, 0, 0 } },
194
{ /* 59 */ 1, { 2, 2, 0, 2 } }, /* 1111111111111110 */
195
{ /* 60 */ 1, { 2, 0, 2, 2 } } /* 1111111111111111 */