FFmpeg coverage


Directory: ../../../ffmpeg/
File: src/libavcodec/dcahuff.c
Date: 2022-11-28 23:49:43
Exec Total Coverage
Lines: 26 26 100.0%
Branches: 12 12 100.0%

Line Branch Exec Source
1 /*
2 * DCA compatible decoder - huffman tables
3 * Copyright (C) 2004 Gildas Bazin
4 * Copyright (C) 2007 Konstantin Shishkov
5 *
6 * This file is part of FFmpeg.
7 *
8 * FFmpeg is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU Lesser General Public
10 * License as published by the Free Software Foundation; either
11 * version 2.1 of the License, or (at your option) any later version.
12 *
13 * FFmpeg is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 * Lesser General Public License for more details.
17 *
18 * You should have received a copy of the GNU Lesser General Public
19 * License along with FFmpeg; if not, write to the Free Software
20 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
21 */
22
23 #include <stddef.h>
24
25 #include "libavutil/macros.h"
26
27 #include "dcadata.h"
28 #include "dcahuff.h"
29
30 static const uint8_t bitalloc_12_vlc_bits[DCA_BITALLOC_12_COUNT] = {
31 9, 7, 7, 9, 9
32 };
33
34 #define SCALES_VLC_BITS 9
35 static const uint8_t tnl_grp_sizes[] = { 37, 34, 31, 28, 23 };
36
37 const uint8_t ff_dca_bitalloc_sizes[DCA_CODE_BOOKS] = {
38 3, 5, 7, 9, 13, 17, 25, 33, 65, 129
39 };
40
41 const int8_t ff_dca_bitalloc_offsets[DCA_CODE_BOOKS] = {
42 -1, -2, -3, -4, -6, -8, -12, -16, -32, -64
43 };
44
45 static const uint8_t bitalloc_maxbits[DCA_CODE_BOOKS][7] = {
46 { 2 },
47 { 4, 3, 3 },
48 { 5, 5, 4 },
49 { 6, 5, 6 },
50 { 7, 6, 5 },
51 { 9, 8, 7, 9, 8, 8, 8 },
52 { 9, 9, 8, 9, 8, 9, 9 },
53 { 9, 9, 9, 9, 9, 9, 9 },
54 { 9, 9, 9, 9, 9, 9, 9 },
55 { 9, 9, 9, 9, 9, 9, 9 }
56 };
57
58 const uint8_t ff_dca_vlc_src_tables[][2] = {
59 /* bitalloc_3 - 3 entries */
60 { 1, 1 }, { 2, 2 }, { 0, 2 },
61 /* bitalloc_5_a - 5 entries */
62 { 2, 1 }, { 3, 2 }, { 1, 3 }, { 4, 4 }, { 0, 4 },
63 /* bitalloc_5_b - 5 entries */
64 { 3, 2 }, { 1, 2 }, { 2, 2 }, { 4, 3 }, { 0, 3 },
65 /* bitalloc_5_c - 5 entries */
66 { 2, 1 }, { 3, 3 }, { 1, 3 }, { 4, 3 }, { 0, 3 },
67 /* bitalloc_7_a - 7 entries */
68 { 3, 1 }, { 5, 3 }, { 2, 3 }, { 4, 3 }, { 1, 4 },
69 { 0, 5 }, { 6, 5 },
70 /* bitalloc_7_b - 7 entries */
71 { 2, 2 }, { 4, 2 }, { 5, 3 }, { 0, 5 }, { 6, 5 },
72 { 1, 4 }, { 3, 2 },
73 /* bitalloc_7_c - 7 entries */
74 { 0, 4 }, { 6, 4 }, { 1, 4 }, { 5, 4 }, { 2, 2 },
75 { 4, 2 }, { 3, 2 },
76 /* bitalloc_9_a - 9 entries */
77 { 4, 1 }, { 7, 4 }, { 2, 4 }, { 3, 3 }, { 0, 6 },
78 { 8, 6 }, { 1, 5 }, { 6, 4 }, { 5, 3 },
79 /* bitalloc_9_b - 9 entries */
80 { 5, 2 }, { 2, 3 }, { 6, 3 }, { 4, 2 }, { 0, 5 },
81 { 8, 5 }, { 1, 5 }, { 7, 5 }, { 3, 3 },
82 /* bitalloc_9_c - 9 entries */
83 { 5, 2 }, { 2, 3 }, { 7, 4 }, { 0, 6 }, { 8, 6 },
84 { 1, 5 }, { 4, 2 }, { 6, 3 }, { 3, 3 },
85 /* bitalloc_13_a - 13 entries */
86 { 6, 1 }, { 7, 3 }, { 9, 4 }, { 10, 5 }, { 1, 6 },
87 { 11, 6 }, { 4, 4 }, { 8, 4 }, { 0, 7 }, { 12, 7 },
88 { 2, 6 }, { 3, 5 }, { 5, 4 },
89 /* bitalloc_13_b - 13 entries */
90 { 6, 2 }, { 8, 3 }, { 10, 4 }, { 3, 4 }, { 1, 5 },
91 { 11, 5 }, { 9, 4 }, { 5, 3 }, { 7, 3 }, { 0, 6 },
92 { 12, 6 }, { 2, 5 }, { 4, 4 },
93 /* bitalloc_13_c - 13 entries */
94 { 4, 3 }, { 0, 5 }, { 12, 5 }, { 2, 4 }, { 8, 3 },
95 { 5, 3 }, { 7, 3 }, { 6, 3 }, { 10, 4 }, { 1, 5 },
96 { 11, 5 }, { 3, 4 }, { 9, 4 },
97 /* bitalloc_17_a - 17 entries */
98 { 12, 4 }, { 13, 6 }, { 14, 8 }, { 15, 10 }, { 0, 12 },
99 { 16, 12 }, { 1, 11 }, { 2, 9 }, { 3, 7 }, { 4, 5 },
100 { 6, 3 }, { 8, 2 }, { 10, 3 }, { 5, 4 }, { 11, 4 },
101 { 7, 3 }, { 9, 3 },
102 /* bitalloc_17_b - 17 entries */
103 { 8, 2 }, { 10, 3 }, { 15, 6 }, { 2, 6 }, { 3, 5 },
104 { 13, 5 }, { 14, 6 }, { 0, 8 }, { 16, 8 }, { 1, 7 },
105 { 5, 4 }, { 11, 4 }, { 7, 3 }, { 9, 3 }, { 4, 5 },
106 { 12, 5 }, { 6, 4 },
107 /* bitalloc_17_c - 17 entries */
108 { 10, 3 }, { 15, 5 }, { 2, 5 }, { 4, 4 }, { 12, 4 },
109 { 14, 5 }, { 0, 7 }, { 16, 7 }, { 1, 6 }, { 7, 3 },
110 { 9, 3 }, { 5, 4 }, { 11, 4 }, { 8, 3 }, { 3, 5 },
111 { 13, 5 }, { 6, 4 },
112 /* bitalloc_17_d - 17 entries */
113 { 8, 1 }, { 0, 9 }, { 16, 9 }, { 1, 9 }, { 15, 9 },
114 { 2, 8 }, { 14, 8 }, { 3, 7 }, { 13, 7 }, { 4, 6 },
115 { 12, 6 }, { 5, 5 }, { 11, 5 }, { 6, 4 }, { 10, 4 },
116 { 7, 3 }, { 9, 3 },
117 /* bitalloc_17_e - 17 entries */
118 { 8, 1 }, { 7, 3 }, { 9, 3 }, { 10, 4 }, { 3, 6 },
119 { 13, 6 }, { 5, 5 }, { 11, 5 }, { 0, 8 }, { 16, 8 },
120 { 2, 7 }, { 4, 6 }, { 12, 6 }, { 14, 7 }, { 1, 8 },
121 { 15, 8 }, { 6, 5 },
122 /* bitalloc_17_f - 17 entries */
123 { 15, 6 }, { 0, 8 }, { 16, 8 }, { 1, 7 }, { 3, 5 },
124 { 4, 4 }, { 6, 3 }, { 10, 3 }, { 12, 4 }, { 13, 5 },
125 { 2, 6 }, { 14, 6 }, { 7, 3 }, { 9, 3 }, { 8, 3 },
126 { 5, 4 }, { 11, 4 },
127 /* bitalloc_17_g - 17 entries */
128 { 6, 3 }, { 10, 3 }, { 5, 4 }, { 11, 4 }, { 0, 8 },
129 { 16, 8 }, { 2, 7 }, { 3, 6 }, { 4, 5 }, { 12, 5 },
130 { 13, 6 }, { 14, 7 }, { 1, 8 }, { 15, 8 }, { 8, 2 },
131 { 7, 3 }, { 9, 3 },
132 /* bitalloc_25_a - 25 entries */
133 { 10, 3 }, { 14, 3 }, { 8, 4 }, { 16, 4 }, { 11, 3 },
134 { 13, 3 }, { 21, 8 }, { 22, 10 }, { 23, 12 }, { 0, 14 },
135 { 24, 14 }, { 1, 13 }, { 2, 11 }, { 3, 9 }, { 4, 8 },
136 { 20, 8 }, { 5, 7 }, { 19, 7 }, { 7, 5 }, { 17, 5 },
137 { 6, 6 }, { 18, 6 }, { 12, 3 }, { 9, 4 }, { 15, 4 },
138 /* bitalloc_25_b - 25 entries */
139 { 3, 6 }, { 21, 6 }, { 23, 7 }, { 2, 7 }, { 22, 7 },
140 { 0, 9 }, { 24, 9 }, { 1, 8 }, { 8, 4 }, { 11, 3 },
141 { 13, 3 }, { 16, 4 }, { 6, 5 }, { 18, 5 }, { 9, 4 },
142 { 15, 4 }, { 12, 3 }, { 4, 6 }, { 20, 6 }, { 7, 5 },
143 { 17, 5 }, { 5, 6 }, { 19, 6 }, { 10, 4 }, { 14, 4 },
144 /* bitalloc_25_c - 25 entries */
145 { 7, 4 }, { 17, 4 }, { 12, 3 }, { 20, 5 }, { 22, 6 },
146 { 0, 8 }, { 24, 8 }, { 1, 7 }, { 8, 4 }, { 16, 4 },
147 { 5, 5 }, { 19, 5 }, { 9, 4 }, { 15, 4 }, { 3, 6 },
148 { 21, 6 }, { 6, 5 }, { 10, 4 }, { 14, 4 }, { 18, 5 },
149 { 23, 7 }, { 2, 7 }, { 4, 6 }, { 11, 4 }, { 13, 4 },
150 /* bitalloc_25_d - 25 entries */
151 { 10, 3 }, { 14, 3 }, { 9, 4 }, { 15, 4 }, { 8, 5 },
152 { 16, 5 }, { 7, 6 }, { 17, 6 }, { 0, 12 }, { 24, 12 },
153 { 1, 12 }, { 23, 12 }, { 2, 11 }, { 22, 11 }, { 3, 10 },
154 { 21, 10 }, { 5, 8 }, { 6, 7 }, { 18, 7 }, { 19, 8 },
155 { 4, 9 }, { 20, 9 }, { 12, 2 }, { 11, 3 }, { 13, 3 },
156 /* bitalloc_25_e - 25 entries */
157 { 9, 4 }, { 15, 4 }, { 7, 5 }, { 17, 5 }, { 2, 7 },
158 { 22, 7 }, { 5, 6 }, { 19, 6 }, { 0, 8 }, { 24, 8 },
159 { 3, 7 }, { 11, 3 }, { 13, 3 }, { 8, 5 }, { 16, 5 },
160 { 21, 7 }, { 1, 8 }, { 23, 8 }, { 6, 6 }, { 18, 6 },
161 { 4, 7 }, { 20, 7 }, { 10, 4 }, { 14, 4 }, { 12, 2 },
162 /* bitalloc_25_f - 25 entries */
163 { 13, 3 }, { 12, 3 }, { 7, 4 }, { 17, 4 }, { 5, 5 },
164 { 19, 5 }, { 8, 4 }, { 16, 4 }, { 4, 6 }, { 20, 6 },
165 { 6, 5 }, { 9, 4 }, { 15, 4 }, { 18, 5 }, { 23, 8 },
166 { 0, 10 }, { 24, 10 }, { 1, 9 }, { 3, 7 }, { 21, 7 },
167 { 2, 8 }, { 22, 8 }, { 10, 4 }, { 14, 4 }, { 11, 4 },
168 /* bitalloc_25_g - 25 entries */
169 { 14, 3 }, { 17, 5 }, { 4, 7 }, { 20, 7 }, { 6, 6 },
170 { 9, 4 }, { 12, 2 }, { 15, 4 }, { 18, 6 }, { 3, 8 },
171 { 21, 8 }, { 5, 7 }, { 8, 5 }, { 11, 3 }, { 13, 3 },
172 { 16, 5 }, { 19, 7 }, { 0, 10 }, { 24, 10 }, { 2, 9 },
173 { 22, 9 }, { 1, 10 }, { 23, 10 }, { 7, 6 }, { 10, 4 },
174 /* bitalloc_33_a - 33 entries */
175 { 15, 3 }, { 17, 3 }, { 16, 3 }, { 21, 4 }, { 8, 6 },
176 { 24, 6 }, { 10, 5 }, { 12, 4 }, { 20, 4 }, { 22, 5 },
177 { 7, 7 }, { 25, 7 }, { 0, 13 }, { 32, 13 }, { 1, 13 },
178 { 31, 13 }, { 2, 12 }, { 30, 12 }, { 3, 11 }, { 29, 11 },
179 { 4, 10 }, { 28, 10 }, { 6, 8 }, { 26, 8 }, { 5, 9 },
180 { 27, 9 }, { 13, 4 }, { 19, 4 }, { 14, 4 }, { 18, 4 },
181 { 9, 6 }, { 23, 6 }, { 11, 5 },
182 /* bitalloc_33_b - 33 entries */
183 { 8, 5 }, { 24, 5 }, { 12, 4 }, { 16, 3 }, { 20, 4 },
184 { 3, 7 }, { 29, 7 }, { 6, 6 }, { 9, 5 }, { 23, 5 },
185 { 26, 6 }, { 31, 8 }, { 2, 8 }, { 4, 7 }, { 13, 4 },
186 { 19, 4 }, { 10, 5 }, { 22, 5 }, { 14, 4 }, { 18, 4 },
187 { 28, 7 }, { 30, 8 }, { 0, 10 }, { 32, 10 }, { 1, 9 },
188 { 7, 6 }, { 25, 6 }, { 5, 7 }, { 27, 7 }, { 11, 5 },
189 { 21, 5 }, { 15, 4 }, { 17, 4 },
190 /* bitalloc_33_c - 33 entries */
191 { 25, 5 }, { 31, 7 }, { 2, 7 }, { 4, 6 }, { 12, 4 },
192 { 20, 4 }, { 13, 4 }, { 19, 4 }, { 8, 5 }, { 24, 5 },
193 { 28, 6 }, { 30, 7 }, { 0, 9 }, { 32, 9 }, { 1, 8 },
194 { 5, 6 }, { 27, 6 }, { 14, 4 }, { 18, 4 }, { 9, 5 },
195 { 23, 5 }, { 15, 4 }, { 17, 4 }, { 10, 5 }, { 22, 5 },
196 { 16, 4 }, { 3, 7 }, { 29, 7 }, { 6, 6 }, { 11, 5 },
197 { 21, 5 }, { 26, 6 }, { 7, 6 },
198 /* bitalloc_33_d - 33 entries */
199 { 18, 3 }, { 21, 5 }, { 8, 7 }, { 24, 7 }, { 10, 6 },
200 { 13, 4 }, { 16, 2 }, { 19, 4 }, { 22, 6 }, { 7, 8 },
201 { 25, 8 }, { 9, 7 }, { 12, 5 }, { 15, 3 }, { 17, 3 },
202 { 20, 5 }, { 23, 7 }, { 6, 9 }, { 26, 9 }, { 5, 10 },
203 { 27, 10 }, { 4, 11 }, { 28, 11 }, { 3, 12 }, { 29, 12 },
204 { 0, 14 }, { 32, 14 }, { 1, 14 }, { 31, 14 }, { 2, 13 },
205 { 30, 13 }, { 11, 6 }, { 14, 4 },
206 /* bitalloc_33_e - 33 entries */
207 { 19, 4 }, { 11, 5 }, { 21, 5 }, { 15, 3 }, { 17, 3 },
208 { 5, 7 }, { 27, 7 }, { 2, 8 }, { 30, 8 }, { 6, 7 },
209 { 9, 6 }, { 23, 6 }, { 14, 4 }, { 16, 2 }, { 18, 4 },
210 { 12, 5 }, { 20, 5 }, { 26, 7 }, { 3, 8 }, { 29, 8 },
211 { 0, 9 }, { 32, 9 }, { 4, 8 }, { 7, 7 }, { 10, 6 },
212 { 22, 6 }, { 25, 7 }, { 28, 8 }, { 1, 9 }, { 31, 9 },
213 { 8, 7 }, { 24, 7 }, { 13, 5 },
214 /* bitalloc_33_f - 33 entries */
215 { 11, 4 }, { 21, 4 }, { 5, 6 }, { 27, 6 }, { 8, 5 },
216 { 12, 4 }, { 20, 4 }, { 24, 5 }, { 4, 7 }, { 28, 7 },
217 { 6, 6 }, { 13, 4 }, { 19, 4 }, { 14, 4 }, { 18, 4 },
218 { 9, 5 }, { 23, 5 }, { 15, 4 }, { 17, 4 }, { 16, 4 },
219 { 26, 6 }, { 31, 9 }, { 0, 11 }, { 32, 11 }, { 1, 10 },
220 { 3, 8 }, { 29, 8 }, { 2, 9 }, { 30, 9 }, { 10, 5 },
221 { 22, 5 }, { 7, 6 }, { 25, 6 },
222 /* bitalloc_33_g - 33 entries */
223 { 12, 4 }, { 20, 4 }, { 29, 8 }, { 1, 9 }, { 31, 9 },
224 { 6, 7 }, { 8, 6 }, { 10, 5 }, { 22, 5 }, { 24, 6 },
225 { 26, 7 }, { 4, 8 }, { 28, 8 }, { 15, 3 }, { 17, 3 },
226 { 13, 4 }, { 19, 4 }, { 2, 9 }, { 30, 9 }, { 0, 10 },
227 { 32, 10 }, { 3, 9 }, { 7, 7 }, { 9, 6 }, { 11, 5 },
228 { 21, 5 }, { 23, 6 }, { 25, 7 }, { 5, 8 }, { 27, 8 },
229 { 16, 3 }, { 14, 4 }, { 18, 4 },
230 /* bitalloc_65_a - 65 entries */
231 { 35, 4 }, { 30, 4 }, { 34, 4 }, { 42, 5 }, { 23, 5 },
232 { 31, 4 }, { 33, 4 }, { 32, 4 }, { 41, 5 }, { 19, 6 },
233 { 45, 6 }, { 16, 7 }, { 48, 7 }, { 20, 6 }, { 24, 5 },
234 { 40, 5 }, { 44, 6 }, { 14, 8 }, { 50, 8 }, { 57, 11 },
235 { 4, 13 }, { 60, 13 }, { 6, 12 }, { 58, 12 }, { 3, 14 },
236 { 61, 14 }, { 2, 15 }, { 62, 15 }, { 0, 16 }, { 64, 16 },
237 { 1, 16 }, { 63, 16 }, { 8, 11 }, { 12, 9 }, { 52, 9 },
238 { 10, 10 }, { 54, 10 }, { 25, 5 }, { 39, 5 }, { 17, 7 },
239 { 47, 7 }, { 21, 6 }, { 26, 5 }, { 38, 5 }, { 43, 6 },
240 { 15, 8 }, { 49, 8 }, { 18, 7 }, { 27, 5 }, { 37, 5 },
241 { 28, 5 }, { 36, 5 }, { 46, 7 }, { 56, 11 }, { 5, 13 },
242 { 59, 13 }, { 7, 12 }, { 9, 11 }, { 55, 11 }, { 13, 9 },
243 { 51, 9 }, { 11, 10 }, { 53, 10 }, { 22, 6 }, { 29, 5 },
244 /* bitalloc_65_b - 65 entries */
245 { 48, 6 }, { 3, 9 }, { 61, 9 }, { 6, 8 }, { 11, 7 },
246 { 53, 7 }, { 58, 8 }, { 7, 8 }, { 17, 6 }, { 31, 4 },
247 { 33, 4 }, { 24, 5 }, { 40, 5 }, { 32, 4 }, { 47, 6 },
248 { 18, 6 }, { 25, 5 }, { 39, 5 }, { 46, 6 }, { 57, 8 },
249 { 63, 10 }, { 2, 10 }, { 4, 9 }, { 12, 7 }, { 52, 7 },
250 { 13, 7 }, { 19, 6 }, { 26, 5 }, { 38, 5 }, { 45, 6 },
251 { 51, 7 }, { 8, 8 }, { 56, 8 }, { 27, 5 }, { 37, 5 },
252 { 20, 6 }, { 44, 6 }, { 60, 9 }, { 62, 10 }, { 0, 12 },
253 { 64, 12 }, { 1, 11 }, { 5, 9 }, { 59, 9 }, { 14, 7 },
254 { 50, 7 }, { 9, 8 }, { 55, 8 }, { 28, 5 }, { 36, 5 },
255 { 21, 6 }, { 43, 6 }, { 29, 5 }, { 35, 5 }, { 15, 7 },
256 { 49, 7 }, { 22, 6 }, { 42, 6 }, { 10, 8 }, { 54, 8 },
257 { 16, 7 }, { 30, 5 }, { 34, 5 }, { 23, 6 }, { 41, 6 },
258 /* bitalloc_65_c - 65 entries */
259 { 23, 5 }, { 41, 5 }, { 50, 6 }, { 8, 7 }, { 56, 7 },
260 { 24, 5 }, { 40, 5 }, { 15, 6 }, { 49, 6 }, { 25, 5 },
261 { 39, 5 }, { 16, 6 }, { 48, 6 }, { 26, 5 }, { 38, 5 },
262 { 60, 8 }, { 5, 8 }, { 9, 7 }, { 55, 7 }, { 10, 7 },
263 { 27, 5 }, { 37, 5 }, { 17, 6 }, { 47, 6 }, { 28, 5 },
264 { 36, 5 }, { 54, 7 }, { 59, 8 }, { 62, 9 }, { 0, 11 },
265 { 64, 11 }, { 1, 10 }, { 18, 6 }, { 29, 5 }, { 35, 5 },
266 { 46, 6 }, { 11, 7 }, { 53, 7 }, { 19, 6 }, { 45, 6 },
267 { 30, 5 }, { 34, 5 }, { 31, 5 }, { 33, 5 }, { 6, 8 },
268 { 58, 8 }, { 12, 7 }, { 20, 6 }, { 44, 6 }, { 52, 7 },
269 { 3, 9 }, { 61, 9 }, { 7, 8 }, { 32, 5 }, { 21, 6 },
270 { 43, 6 }, { 13, 7 }, { 51, 7 }, { 22, 6 }, { 42, 6 },
271 { 57, 8 }, { 63, 10 }, { 2, 10 }, { 4, 9 }, { 14, 7 },
272 /* bitalloc_65_d - 65 entries */
273 { 31, 3 }, { 33, 3 }, { 48, 8 }, { 11, 10 }, { 53, 10 },
274 { 14, 9 }, { 50, 9 }, { 9, 11 }, { 55, 11 }, { 12, 10 },
275 { 17, 8 }, { 20, 7 }, { 44, 7 }, { 23, 6 }, { 41, 6 },
276 { 26, 5 }, { 38, 5 }, { 29, 4 }, { 35, 4 }, { 32, 3 },
277 { 47, 8 }, { 52, 10 }, { 60, 13 }, { 3, 14 }, { 61, 14 },
278 { 7, 12 }, { 57, 12 }, { 5, 13 }, { 59, 13 }, { 15, 9 },
279 { 18, 8 }, { 46, 8 }, { 21, 7 }, { 43, 7 }, { 24, 6 },
280 { 40, 6 }, { 27, 5 }, { 37, 5 }, { 30, 4 }, { 34, 4 },
281 { 49, 9 }, { 10, 11 }, { 54, 11 }, { 13, 10 }, { 51, 10 },
282 { 8, 12 }, { 56, 12 }, { 0, 15 }, { 64, 15 }, { 1, 15 },
283 { 63, 15 }, { 2, 15 }, { 62, 15 }, { 4, 14 }, { 6, 13 },
284 { 58, 13 }, { 16, 9 }, { 19, 8 }, { 45, 8 }, { 22, 7 },
285 { 42, 7 }, { 25, 6 }, { 39, 6 }, { 28, 5 }, { 36, 5 },
286 /* bitalloc_65_e - 65 entries */
287 { 33, 3 }, { 21, 6 }, { 43, 6 }, { 26, 5 }, { 38, 5 },
288 { 16, 7 }, { 48, 7 }, { 22, 6 }, { 42, 6 }, { 10, 8 },
289 { 54, 8 }, { 4, 9 }, { 60, 9 }, { 11, 8 }, { 27, 5 },
290 { 37, 5 }, { 17, 7 }, { 47, 7 }, { 23, 6 }, { 30, 4 },
291 { 34, 4 }, { 32, 3 }, { 41, 6 }, { 53, 8 }, { 5, 9 },
292 { 59, 9 }, { 18, 7 }, { 46, 7 }, { 12, 8 }, { 52, 8 },
293 { 24, 6 }, { 28, 5 }, { 36, 5 }, { 40, 6 }, { 6, 9 },
294 { 58, 9 }, { 13, 8 }, { 19, 7 }, { 45, 7 }, { 51, 8 },
295 { 0, 10 }, { 64, 10 }, { 7, 9 }, { 57, 9 }, { 1, 10 },
296 { 63, 10 }, { 14, 8 }, { 50, 8 }, { 8, 9 }, { 56, 9 },
297 { 20, 7 }, { 44, 7 }, { 25, 6 }, { 39, 6 }, { 15, 8 },
298 { 49, 8 }, { 2, 10 }, { 62, 10 }, { 9, 9 }, { 55, 9 },
299 { 3, 10 }, { 61, 10 }, { 29, 5 }, { 35, 5 }, { 31, 4 },
300 /* bitalloc_65_f - 65 entries */
301 { 28, 4 }, { 36, 4 }, { 26, 5 }, { 38, 5 }, { 24, 6 },
302 { 40, 6 }, { 22, 7 }, { 42, 7 }, { 20, 8 }, { 44, 8 },
303 { 18, 9 }, { 46, 9 }, { 48, 10 }, { 50, 11 }, { 12, 12 },
304 { 52, 12 }, { 0, 14 }, { 64, 14 }, { 1, 14 }, { 63, 14 },
305 { 10, 13 }, { 54, 13 }, { 2, 14 }, { 62, 14 }, { 3, 14 },
306 { 61, 14 }, { 4, 14 }, { 60, 14 }, { 5, 14 }, { 59, 14 },
307 { 6, 14 }, { 58, 14 }, { 7, 14 }, { 57, 14 }, { 8, 14 },
308 { 56, 14 }, { 11, 13 }, { 15, 11 }, { 31, 3 }, { 33, 3 },
309 { 29, 4 }, { 35, 4 }, { 27, 5 }, { 37, 5 }, { 25, 6 },
310 { 39, 6 }, { 23, 7 }, { 41, 7 }, { 21, 8 }, { 43, 8 },
311 { 19, 9 }, { 45, 9 }, { 17, 10 }, { 47, 10 }, { 49, 11 },
312 { 13, 12 }, { 51, 12 }, { 53, 13 }, { 9, 14 }, { 55, 14 },
313 { 14, 12 }, { 16, 11 }, { 32, 3 }, { 30, 4 }, { 34, 4 },
314 /* bitalloc_65_g - 65 entries */
315 { 36, 4 }, { 40, 5 }, { 44, 6 }, { 48, 7 }, { 12, 8 },
316 { 52, 8 }, { 8, 9 }, { 56, 9 }, { 4, 10 }, { 60, 10 },
317 { 0, 11 }, { 64, 11 }, { 5, 10 }, { 17, 7 }, { 21, 6 },
318 { 25, 5 }, { 29, 4 }, { 35, 4 }, { 39, 5 }, { 43, 6 },
319 { 47, 7 }, { 13, 8 }, { 51, 8 }, { 30, 4 }, { 9, 9 },
320 { 55, 9 }, { 59, 10 }, { 1, 11 }, { 63, 11 }, { 10, 9 },
321 { 18, 7 }, { 22, 6 }, { 26, 5 }, { 34, 4 }, { 38, 5 },
322 { 42, 6 }, { 46, 7 }, { 14, 8 }, { 50, 8 }, { 31, 4 },
323 { 33, 4 }, { 54, 9 }, { 6, 10 }, { 58, 10 }, { 2, 11 },
324 { 62, 11 }, { 7, 10 }, { 11, 9 }, { 19, 7 }, { 23, 6 },
325 { 27, 5 }, { 37, 5 }, { 41, 6 }, { 45, 7 }, { 15, 8 },
326 { 49, 8 }, { 32, 4 }, { 53, 9 }, { 57, 10 }, { 3, 11 },
327 { 61, 11 }, { 16, 8 }, { 20, 7 }, { 24, 6 }, { 28, 5 },
328 /* bitalloc_129_a - 129 entries */
329 { 66, 4 }, { 31, 8 }, { 97, 8 }, { 19, 9 }, { 109, 9 },
330 { 6, 10 }, { 122, 10 }, { 7, 10 }, { 121, 10 }, { 52, 6 },
331 { 76, 6 }, { 43, 7 }, { 85, 7 }, { 59, 5 }, { 69, 5 },
332 { 32, 8 }, { 96, 8 }, { 20, 9 }, { 108, 9 }, { 33, 8 },
333 { 53, 6 }, { 75, 6 }, { 95, 8 }, { 8, 10 }, { 120, 10 },
334 { 21, 9 }, { 44, 7 }, { 84, 7 }, { 107, 9 }, { 9, 10 },
335 { 119, 10 }, { 34, 8 }, { 94, 8 }, { 22, 9 }, { 106, 9 },
336 { 45, 7 }, { 54, 6 }, { 74, 6 }, { 83, 7 }, { 10, 10 },
337 { 118, 10 }, { 23, 9 }, { 35, 8 }, { 93, 8 }, { 105, 9 },
338 { 11, 10 }, { 117, 10 }, { 46, 7 }, { 60, 5 }, { 68, 5 },
339 { 82, 7 }, { 24, 9 }, { 104, 9 }, { 36, 8 }, { 55, 6 },
340 { 73, 6 }, { 92, 8 }, { 12, 10 }, { 116, 10 }, { 25, 9 },
341 { 47, 7 }, { 81, 7 }, { 37, 8 }, { 91, 8 }, { 103, 9 },
342 { 13, 10 }, { 115, 10 }, { 26, 9 }, { 102, 9 }, { 48, 7 },
343 { 64, 4 }, { 63, 4 }, { 65, 4 }, { 56, 6 }, { 72, 6 },
344 { 61, 5 }, { 67, 5 }, { 80, 7 }, { 38, 8 }, { 90, 8 },
345 { 0, 11 }, { 128, 11 }, { 14, 10 }, { 114, 10 }, { 1, 11 },
346 { 127, 11 }, { 27, 9 }, { 101, 9 }, { 49, 7 }, { 79, 7 },
347 { 39, 8 }, { 89, 8 }, { 57, 6 }, { 71, 6 }, { 15, 10 },
348 { 113, 10 }, { 28, 9 }, { 100, 9 }, { 2, 11 }, { 126, 11 },
349 { 16, 10 }, { 40, 8 }, { 88, 8 }, { 50, 7 }, { 78, 7 },
350 { 112, 10 }, { 3, 11 }, { 125, 11 }, { 29, 9 }, { 99, 9 },
351 { 17, 10 }, { 111, 10 }, { 41, 8 }, { 87, 8 }, { 58, 6 },
352 { 4, 11 }, { 124, 11 }, { 18, 10 }, { 30, 9 }, { 98, 9 },
353 { 110, 10 }, { 5, 11 }, { 123, 11 }, { 51, 7 }, { 70, 6 },
354 { 77, 7 }, { 42, 8 }, { 86, 8 }, { 62, 5 },
355 /* bitalloc_129_b - 129 entries */
356 { 67, 5 }, { 21, 8 }, { 107, 8 }, { 33, 7 }, { 95, 7 },
357 { 13, 9 }, { 115, 9 }, { 22, 8 }, { 47, 6 }, { 81, 6 },
358 { 62, 5 }, { 66, 5 }, { 34, 7 }, { 94, 7 }, { 48, 6 },
359 { 63, 5 }, { 65, 5 }, { 80, 6 }, { 106, 8 }, { 121, 10 },
360 { 127, 12 }, { 2, 12 }, { 4, 11 }, { 14, 9 }, { 23, 8 },
361 { 105, 8 }, { 35, 7 }, { 93, 7 }, { 49, 6 }, { 64, 5 },
362 { 79, 6 }, { 114, 9 }, { 8, 10 }, { 120, 10 }, { 24, 8 },
363 { 36, 7 }, { 50, 6 }, { 78, 6 }, { 92, 7 }, { 104, 8 },
364 { 15, 9 }, { 113, 9 }, { 51, 6 }, { 77, 6 }, { 37, 7 },
365 { 91, 7 }, { 25, 8 }, { 103, 8 }, { 38, 7 }, { 52, 6 },
366 { 76, 6 }, { 90, 7 }, { 16, 9 }, { 112, 9 }, { 26, 8 },
367 { 53, 6 }, { 75, 6 }, { 102, 8 }, { 124, 11 }, { 5, 11 },
368 { 9, 10 }, { 119, 10 }, { 10, 10 }, { 39, 7 }, { 89, 7 },
369 { 27, 8 }, { 101, 8 }, { 54, 6 }, { 74, 6 }, { 40, 7 },
370 { 88, 7 }, { 17, 9 }, { 111, 9 }, { 28, 8 }, { 100, 8 },
371 { 118, 10 }, { 123, 11 }, { 126, 12 }, { 0, 14 }, { 128, 14 },
372 { 1, 13 }, { 18, 9 }, { 55, 6 }, { 73, 6 }, { 41, 7 },
373 { 87, 7 }, { 56, 6 }, { 72, 6 }, { 29, 8 }, { 99, 8 },
374 { 42, 7 }, { 86, 7 }, { 110, 9 }, { 11, 10 }, { 117, 10 },
375 { 19, 9 }, { 109, 9 }, { 57, 6 }, { 71, 6 }, { 43, 7 },
376 { 85, 7 }, { 58, 6 }, { 70, 6 }, { 30, 8 }, { 98, 8 },
377 { 44, 7 }, { 84, 7 }, { 31, 8 }, { 97, 8 }, { 59, 6 },
378 { 69, 6 }, { 6, 11 }, { 122, 11 }, { 12, 10 }, { 20, 9 },
379 { 108, 9 }, { 116, 10 }, { 3, 12 }, { 125, 12 }, { 7, 11 },
380 { 45, 7 }, { 60, 6 }, { 68, 6 }, { 83, 7 }, { 32, 8 },
381 { 96, 8 }, { 46, 7 }, { 82, 7 }, { 61, 6 },
382 /* bitalloc_129_c - 129 entries */
383 { 101, 7 }, { 113, 8 }, { 120, 9 }, { 127, 11 }, { 2, 11 },
384 { 4, 10 }, { 28, 7 }, { 100, 7 }, { 46, 6 }, { 82, 6 },
385 { 16, 8 }, { 112, 8 }, { 29, 7 }, { 47, 6 }, { 81, 6 },
386 { 48, 6 }, { 80, 6 }, { 99, 7 }, { 30, 7 }, { 98, 7 },
387 { 17, 8 }, { 111, 8 }, { 49, 6 }, { 79, 6 }, { 50, 6 },
388 { 78, 6 }, { 31, 7 }, { 97, 7 }, { 9, 9 }, { 119, 9 },
389 { 18, 8 }, { 110, 8 }, { 124, 10 }, { 5, 10 }, { 10, 9 },
390 { 51, 6 }, { 77, 6 }, { 32, 7 }, { 96, 7 }, { 52, 6 },
391 { 76, 6 }, { 33, 7 }, { 95, 7 }, { 53, 6 }, { 75, 6 },
392 { 19, 8 }, { 109, 8 }, { 34, 7 }, { 54, 6 }, { 74, 6 },
393 { 94, 7 }, { 118, 9 }, { 123, 10 }, { 126, 11 }, { 0, 13 },
394 { 128, 13 }, { 1, 12 }, { 20, 8 }, { 55, 6 }, { 73, 6 },
395 { 108, 8 }, { 11, 9 }, { 117, 9 }, { 35, 7 }, { 93, 7 },
396 { 36, 7 }, { 56, 6 }, { 72, 6 }, { 92, 7 }, { 21, 8 },
397 { 107, 8 }, { 57, 6 }, { 71, 6 }, { 37, 7 }, { 91, 7 },
398 { 58, 6 }, { 70, 6 }, { 22, 8 }, { 106, 8 }, { 38, 7 },
399 { 59, 6 }, { 69, 6 }, { 90, 7 }, { 12, 9 }, { 116, 9 },
400 { 23, 8 }, { 60, 6 }, { 68, 6 }, { 39, 7 }, { 89, 7 },
401 { 61, 6 }, { 67, 6 }, { 105, 8 }, { 6, 10 }, { 122, 10 },
402 { 13, 9 }, { 40, 7 }, { 62, 6 }, { 66, 6 }, { 88, 7 },
403 { 24, 8 }, { 104, 8 }, { 63, 6 }, { 65, 6 }, { 41, 7 },
404 { 87, 7 }, { 115, 9 }, { 3, 11 }, { 125, 11 }, { 7, 10 },
405 { 25, 8 }, { 42, 7 }, { 64, 6 }, { 86, 7 }, { 103, 8 },
406 { 14, 9 }, { 114, 9 }, { 43, 7 }, { 85, 7 }, { 26, 8 },
407 { 102, 8 }, { 44, 7 }, { 84, 7 }, { 121, 10 }, { 8, 10 },
408 { 15, 9 }, { 27, 8 }, { 45, 7 }, { 83, 7 },
409 /* bitalloc_129_d - 129 entries */
410 { 72, 5 }, { 83, 7 }, { 34, 9 }, { 94, 9 }, { 40, 8 },
411 { 51, 6 }, { 62, 4 }, { 66, 4 }, { 77, 6 }, { 88, 8 },
412 { 18, 12 }, { 110, 12 }, { 9, 14 }, { 119, 14 }, { 14, 13 },
413 { 19, 12 }, { 29, 10 }, { 99, 10 }, { 24, 11 }, { 104, 11 },
414 { 46, 7 }, { 57, 5 }, { 71, 5 }, { 82, 7 }, { 35, 9 },
415 { 93, 9 }, { 41, 8 }, { 52, 6 }, { 63, 4 }, { 65, 4 },
416 { 76, 6 }, { 87, 8 }, { 30, 10 }, { 98, 10 }, { 109, 12 },
417 { 114, 13 }, { 6, 15 }, { 122, 15 }, { 10, 14 }, { 25, 11 },
418 { 103, 11 }, { 15, 13 }, { 113, 13 }, { 20, 12 }, { 47, 7 },
419 { 58, 5 }, { 70, 5 }, { 81, 7 }, { 36, 9 }, { 92, 9 },
420 { 42, 8 }, { 53, 6 }, { 64, 4 }, { 75, 6 }, { 86, 8 },
421 { 31, 10 }, { 97, 10 }, { 108, 12 }, { 118, 14 }, { 7, 15 },
422 { 121, 15 }, { 0, 16 }, { 128, 16 }, { 1, 16 }, { 127, 16 },
423 { 2, 16 }, { 126, 16 }, { 3, 16 }, { 125, 16 }, { 26, 11 },
424 { 102, 11 }, { 11, 14 }, { 117, 14 }, { 16, 13 }, { 21, 12 },
425 { 48, 7 }, { 59, 5 }, { 69, 5 }, { 80, 7 }, { 37, 9 },
426 { 91, 9 }, { 43, 8 }, { 54, 6 }, { 74, 6 }, { 85, 8 },
427 { 32, 10 }, { 96, 10 }, { 107, 12 }, { 112, 13 }, { 4, 16 },
428 { 124, 16 }, { 8, 15 }, { 12, 14 }, { 27, 11 }, { 101, 11 },
429 { 22, 12 }, { 106, 12 }, { 49, 7 }, { 60, 5 }, { 68, 5 },
430 { 79, 7 }, { 38, 9 }, { 90, 9 }, { 44, 8 }, { 55, 6 },
431 { 73, 6 }, { 84, 8 }, { 33, 10 }, { 95, 10 }, { 116, 14 },
432 { 120, 15 }, { 5, 16 }, { 123, 16 }, { 17, 13 }, { 111, 13 },
433 { 13, 14 }, { 115, 14 }, { 28, 11 }, { 100, 11 }, { 23, 12 },
434 { 105, 12 }, { 50, 7 }, { 61, 5 }, { 67, 5 }, { 78, 7 },
435 { 39, 9 }, { 89, 9 }, { 45, 8 }, { 56, 6 },
436 /* bitalloc_129_e - 129 entries */
437 { 70, 5 }, { 59, 5 }, { 69, 5 }, { 60, 5 }, { 68, 5 },
438 { 37, 7 }, { 91, 7 }, { 45, 6 }, { 61, 5 }, { 67, 5 },
439 { 62, 5 }, { 66, 5 }, { 63, 5 }, { 65, 5 }, { 64, 5 },
440 { 83, 6 }, { 97, 8 }, { 102, 9 }, { 18, 11 }, { 110, 11 },
441 { 22, 10 }, { 38, 7 }, { 46, 6 }, { 82, 6 }, { 90, 7 },
442 { 32, 8 }, { 96, 8 }, { 47, 6 }, { 81, 6 }, { 106, 10 },
443 { 15, 12 }, { 113, 12 }, { 19, 11 }, { 27, 9 }, { 101, 9 },
444 { 23, 10 }, { 105, 10 }, { 39, 7 }, { 89, 7 }, { 33, 8 },
445 { 95, 8 }, { 48, 6 }, { 80, 6 }, { 49, 6 }, { 79, 6 },
446 { 40, 7 }, { 88, 7 }, { 28, 9 }, { 100, 9 }, { 109, 11 },
447 { 6, 15 }, { 122, 15 }, { 9, 14 }, { 12, 13 }, { 116, 13 },
448 { 119, 14 }, { 0, 16 }, { 4, 16 }, { 3, 16 }, { 2, 16 },
449 { 24, 10 }, { 104, 10 }, { 16, 12 }, { 112, 12 }, { 20, 11 },
450 { 34, 8 }, { 94, 8 }, { 50, 6 }, { 78, 6 }, { 41, 7 },
451 { 87, 7 }, { 51, 6 }, { 77, 6 }, { 52, 6 }, { 76, 6 },
452 { 29, 9 }, { 99, 9 }, { 35, 8 }, { 42, 7 }, { 86, 7 },
453 { 93, 8 }, { 108, 11 }, { 1, 16 }, { 128, 16 }, { 126, 16 },
454 { 127, 16 }, { 124, 16 }, { 125, 16 }, { 7, 15 }, { 13, 13 },
455 { 115, 13 }, { 10, 14 }, { 118, 14 }, { 25, 10 }, { 103, 10 },
456 { 17, 12 }, { 111, 12 }, { 21, 11 }, { 53, 6 }, { 75, 6 },
457 { 54, 6 }, { 74, 6 }, { 43, 7 }, { 85, 7 }, { 55, 6 },
458 { 73, 6 }, { 30, 9 }, { 98, 9 }, { 36, 8 }, { 92, 8 },
459 { 107, 11 }, { 121, 15 }, { 5, 16 }, { 123, 16 }, { 8, 15 },
460 { 120, 15 }, { 14, 13 }, { 114, 13 }, { 11, 14 }, { 117, 14 },
461 { 26, 10 }, { 31, 9 }, { 56, 6 }, { 72, 6 }, { 57, 6 },
462 { 71, 6 }, { 44, 7 }, { 84, 7 }, { 58, 6 },
463 /* bitalloc_129_f - 129 entries */
464 { 42, 6 }, { 86, 6 }, { 43, 6 }, { 85, 6 }, { 107, 8 },
465 { 114, 9 }, { 9, 10 }, { 119, 10 }, { 30, 7 }, { 98, 7 },
466 { 31, 7 }, { 44, 6 }, { 84, 6 }, { 45, 6 }, { 83, 6 },
467 { 97, 7 }, { 22, 8 }, { 106, 8 }, { 46, 6 }, { 82, 6 },
468 { 32, 7 }, { 96, 7 }, { 47, 6 }, { 81, 6 }, { 15, 9 },
469 { 113, 9 }, { 23, 8 }, { 105, 8 }, { 10, 10 }, { 118, 10 },
470 { 16, 9 }, { 48, 6 }, { 80, 6 }, { 33, 7 }, { 95, 7 },
471 { 49, 6 }, { 79, 6 }, { 50, 6 }, { 78, 6 }, { 112, 9 },
472 { 3, 12 }, { 125, 12 }, { 6, 11 }, { 122, 11 }, { 7, 11 },
473 { 24, 8 }, { 34, 7 }, { 51, 6 }, { 77, 6 }, { 94, 7 },
474 { 104, 8 }, { 11, 10 }, { 117, 10 }, { 17, 9 }, { 52, 6 },
475 { 76, 6 }, { 53, 6 }, { 75, 6 }, { 35, 7 }, { 93, 7 },
476 { 54, 6 }, { 74, 6 }, { 55, 6 }, { 73, 6 }, { 25, 8 },
477 { 103, 8 }, { 36, 7 }, { 56, 6 }, { 72, 6 }, { 57, 6 },
478 { 71, 6 }, { 92, 7 }, { 111, 9 }, { 121, 11 }, { 127, 13 },
479 { 2, 13 }, { 4, 12 }, { 12, 10 }, { 18, 9 }, { 110, 9 },
480 { 58, 6 }, { 70, 6 }, { 59, 6 }, { 69, 6 }, { 60, 6 },
481 { 68, 6 }, { 61, 6 }, { 67, 6 }, { 62, 6 }, { 66, 6 },
482 { 26, 8 }, { 102, 8 }, { 37, 7 }, { 63, 6 }, { 65, 6 },
483 { 64, 6 }, { 91, 7 }, { 38, 7 }, { 90, 7 }, { 27, 8 },
484 { 101, 8 }, { 116, 10 }, { 124, 12 }, { 126, 13 }, { 0, 15 },
485 { 128, 15 }, { 1, 14 }, { 8, 11 }, { 19, 9 }, { 109, 9 },
486 { 13, 10 }, { 115, 10 }, { 39, 7 }, { 89, 7 }, { 28, 8 },
487 { 100, 8 }, { 40, 7 }, { 88, 7 }, { 41, 7 }, { 87, 7 },
488 { 20, 9 }, { 108, 9 }, { 29, 8 }, { 99, 8 }, { 120, 11 },
489 { 5, 12 }, { 123, 12 }, { 14, 10 }, { 21, 9 },
490 /* bitalloc_129_g - 129 entries */
491 { 64, 4 }, { 88, 7 }, { 9, 11 }, { 119, 11 }, { 17, 10 },
492 { 25, 9 }, { 33, 8 }, { 41, 7 }, { 87, 7 }, { 49, 6 },
493 { 79, 6 }, { 57, 5 }, { 71, 5 }, { 95, 8 }, { 103, 9 },
494 { 111, 10 }, { 2, 12 }, { 126, 12 }, { 10, 11 }, { 18, 10 },
495 { 110, 10 }, { 26, 9 }, { 34, 8 }, { 42, 7 }, { 86, 7 },
496 { 50, 6 }, { 78, 6 }, { 58, 5 }, { 70, 5 }, { 94, 8 },
497 { 102, 9 }, { 118, 11 }, { 3, 12 }, { 125, 12 }, { 11, 11 },
498 { 117, 11 }, { 19, 10 }, { 109, 10 }, { 27, 9 }, { 35, 8 },
499 { 43, 7 }, { 85, 7 }, { 51, 6 }, { 77, 6 }, { 59, 5 },
500 { 69, 5 }, { 93, 8 }, { 101, 9 }, { 4, 12 }, { 124, 12 },
501 { 12, 11 }, { 20, 10 }, { 28, 9 }, { 100, 9 }, { 36, 8 },
502 { 44, 7 }, { 84, 7 }, { 52, 6 }, { 76, 6 }, { 60, 5 },
503 { 68, 5 }, { 92, 8 }, { 108, 10 }, { 116, 11 }, { 5, 12 },
504 { 123, 12 }, { 13, 11 }, { 115, 11 }, { 21, 10 }, { 29, 9 },
505 { 99, 9 }, { 37, 8 }, { 45, 7 }, { 83, 7 }, { 53, 6 },
506 { 75, 6 }, { 61, 5 }, { 67, 5 }, { 91, 8 }, { 107, 10 },
507 { 6, 12 }, { 122, 12 }, { 14, 11 }, { 22, 10 }, { 106, 10 },
508 { 30, 9 }, { 98, 9 }, { 38, 8 }, { 46, 7 }, { 82, 7 },
509 { 54, 6 }, { 74, 6 }, { 62, 5 }, { 66, 5 }, { 90, 8 },
510 { 114, 11 }, { 7, 12 }, { 121, 12 }, { 15, 11 }, { 113, 11 },
511 { 23, 10 }, { 105, 10 }, { 31, 9 }, { 97, 9 }, { 39, 8 },
512 { 47, 7 }, { 81, 7 }, { 55, 6 }, { 73, 6 }, { 63, 5 },
513 { 65, 5 }, { 89, 8 }, { 0, 13 }, { 128, 13 }, { 8, 12 },
514 { 16, 11 }, { 24, 10 }, { 32, 9 }, { 96, 9 }, { 104, 10 },
515 { 112, 11 }, { 120, 12 }, { 1, 13 }, { 127, 13 }, { 40, 8 },
516 { 48, 7 }, { 80, 7 }, { 56, 6 }, { 72, 6 },
517 /* bit_alloc_12[0] - 12 entries */
518 { 0, 1 }, { 1, 2 }, { 2, 3 }, { 3, 4 }, { 4, 5 },
519 { 5, 6 }, { 11, 9 }, { 10, 9 }, { 9, 9 }, { 8, 9 },
520 { 7, 8 }, { 6, 8 },
521 /* bit_alloc_12[1] - 12 entries */
522 { 1, 2 }, { 2, 3 }, { 4, 5 }, { 11, 7 }, { 10, 7 },
523 { 9, 7 }, { 8, 7 }, { 7, 7 }, { 6, 7 }, { 5, 6 },
524 { 3, 5 }, { 0, 1 },
525 /* bit_alloc_12[2] - 12 entries */
526 { 0, 2 }, { 4, 3 }, { 7, 4 }, { 11, 7 }, { 10, 7 },
527 { 9, 6 }, { 8, 5 }, { 3, 3 }, { 2, 3 }, { 6, 4 },
528 { 5, 4 }, { 1, 3 },
529 /* bit_alloc_12[3] - 12 entries */
530 { 2, 2 }, { 3, 3 }, { 4, 4 }, { 5, 5 }, { 6, 6 },
531 { 7, 7 }, { 8, 8 }, { 9, 9 }, { 11, 10 }, { 10, 10 },
532 { 1, 2 }, { 0, 2 },
533 /* bit_alloc_12[4] - 12 entries */
534 { 1, 2 }, { 2, 3 }, { 3, 4 }, { 4, 5 }, { 9, 8 },
535 { 8, 8 }, { 6, 7 }, { 7, 8 }, { 11, 9 }, { 10, 9 },
536 { 5, 7 }, { 0, 1 },
537 /* scale_factor[0] - 129 entries */
538 { 66, 3 }, { 69, 5 }, { 55, 8 }, { 73, 8 }, { 40, 13 },
539 { 88, 13 }, { 41, 13 }, { 87, 13 }, { 42, 13 }, { 86, 13 },
540 { 43, 13 }, { 85, 13 }, { 44, 13 }, { 84, 13 }, { 45, 13 },
541 { 83, 13 }, { 46, 13 }, { 82, 13 }, { 47, 13 }, { 81, 13 },
542 { 51, 11 }, { 77, 11 }, { 48, 13 }, { 80, 13 }, { 50, 12 },
543 { 78, 12 }, { 49, 13 }, { 79, 13 }, { 54, 9 }, { 74, 9 },
544 { 58, 6 }, { 61, 4 }, { 64, 2 }, { 67, 4 }, { 70, 6 },
545 { 57, 7 }, { 71, 7 }, { 60, 5 }, { 63, 3 }, { 65, 3 },
546 { 68, 5 }, { 56, 8 }, { 72, 8 }, { 53, 10 }, { 75, 10 },
547 { 52, 11 }, { 76, 11 }, { 0, 14 }, { 128, 14 }, { 1, 14 },
548 { 127, 14 }, { 2, 14 }, { 126, 14 }, { 3, 14 }, { 125, 14 },
549 { 4, 14 }, { 124, 14 }, { 5, 14 }, { 123, 14 }, { 6, 14 },
550 { 122, 14 }, { 7, 14 }, { 121, 14 }, { 8, 14 }, { 120, 14 },
551 { 9, 14 }, { 119, 14 }, { 10, 14 }, { 118, 14 }, { 11, 14 },
552 { 117, 14 }, { 12, 14 }, { 116, 14 }, { 13, 14 }, { 115, 14 },
553 { 14, 14 }, { 114, 14 }, { 15, 14 }, { 113, 14 }, { 16, 14 },
554 { 112, 14 }, { 17, 14 }, { 111, 14 }, { 18, 14 }, { 110, 14 },
555 { 19, 14 }, { 109, 14 }, { 20, 14 }, { 108, 14 }, { 21, 14 },
556 { 107, 14 }, { 22, 14 }, { 106, 14 }, { 23, 14 }, { 105, 14 },
557 { 24, 14 }, { 104, 14 }, { 25, 14 }, { 103, 14 }, { 26, 14 },
558 { 102, 14 }, { 27, 14 }, { 101, 14 }, { 28, 14 }, { 100, 14 },
559 { 29, 14 }, { 99, 14 }, { 30, 14 }, { 98, 14 }, { 31, 14 },
560 { 97, 14 }, { 32, 14 }, { 96, 14 }, { 33, 14 }, { 95, 14 },
561 { 34, 14 }, { 94, 14 }, { 35, 14 }, { 93, 14 }, { 36, 14 },
562 { 92, 14 }, { 37, 14 }, { 91, 14 }, { 38, 14 }, { 90, 14 },
563 { 39, 14 }, { 89, 14 }, { 59, 6 }, { 62, 4 },
564 /* scale_factor[1] - 129 entries */
565 { 69, 4 }, { 56, 6 }, { 72, 6 }, { 55, 7 }, { 73, 7 },
566 { 54, 8 }, { 74, 8 }, { 75, 9 }, { 48, 14 }, { 80, 14 },
567 { 49, 14 }, { 79, 14 }, { 50, 13 }, { 78, 13 }, { 51, 12 },
568 { 77, 12 }, { 0, 15 }, { 128, 15 }, { 1, 15 }, { 127, 15 },
569 { 2, 15 }, { 126, 15 }, { 3, 15 }, { 125, 15 }, { 4, 15 },
570 { 124, 15 }, { 5, 15 }, { 123, 15 }, { 6, 15 }, { 122, 15 },
571 { 7, 15 }, { 121, 15 }, { 8, 15 }, { 120, 15 }, { 9, 15 },
572 { 119, 15 }, { 10, 15 }, { 118, 15 }, { 11, 15 }, { 117, 15 },
573 { 12, 15 }, { 116, 15 }, { 13, 15 }, { 115, 15 }, { 14, 15 },
574 { 114, 15 }, { 15, 15 }, { 113, 15 }, { 16, 15 }, { 112, 15 },
575 { 17, 15 }, { 111, 15 }, { 18, 15 }, { 110, 15 }, { 19, 15 },
576 { 109, 15 }, { 20, 15 }, { 108, 15 }, { 21, 15 }, { 107, 15 },
577 { 22, 15 }, { 106, 15 }, { 23, 15 }, { 105, 15 }, { 24, 15 },
578 { 104, 15 }, { 25, 15 }, { 103, 15 }, { 26, 15 }, { 102, 15 },
579 { 27, 15 }, { 101, 15 }, { 28, 15 }, { 100, 15 }, { 29, 15 },
580 { 99, 15 }, { 30, 15 }, { 98, 15 }, { 31, 15 }, { 97, 15 },
581 { 32, 15 }, { 96, 15 }, { 33, 15 }, { 95, 15 }, { 34, 15 },
582 { 94, 15 }, { 35, 15 }, { 93, 15 }, { 36, 15 }, { 92, 15 },
583 { 37, 15 }, { 91, 15 }, { 38, 15 }, { 90, 15 }, { 39, 15 },
584 { 89, 15 }, { 40, 15 }, { 88, 15 }, { 41, 15 }, { 87, 15 },
585 { 42, 15 }, { 86, 15 }, { 43, 15 }, { 85, 15 }, { 44, 15 },
586 { 84, 15 }, { 45, 15 }, { 83, 15 }, { 46, 15 }, { 82, 15 },
587 { 47, 15 }, { 81, 15 }, { 52, 11 }, { 76, 11 }, { 53, 10 },
588 { 63, 3 }, { 65, 3 }, { 64, 3 }, { 58, 5 }, { 70, 5 },
589 { 60, 4 }, { 68, 4 }, { 61, 4 }, { 67, 4 }, { 57, 6 },
590 { 71, 6 }, { 59, 5 }, { 62, 4 }, { 66, 4 },
591 /* scale_factor[2] - 129 entries */
592 { 63, 3 }, { 65, 3 }, { 46, 9 }, { 82, 9 }, { 49, 8 },
593 { 79, 8 }, { 85, 10 }, { 38, 12 }, { 90, 12 }, { 41, 11 },
594 { 87, 11 }, { 93, 13 }, { 33, 14 }, { 95, 14 }, { 36, 13 },
595 { 92, 13 }, { 44, 10 }, { 52, 7 }, { 76, 7 }, { 55, 6 },
596 { 73, 6 }, { 58, 5 }, { 70, 5 }, { 61, 4 }, { 67, 4 },
597 { 64, 3 }, { 47, 9 }, { 81, 9 }, { 50, 8 }, { 78, 8 },
598 { 84, 10 }, { 39, 12 }, { 89, 12 }, { 42, 11 }, { 86, 11 },
599 { 0, 15 }, { 128, 15 }, { 1, 15 }, { 127, 15 }, { 2, 15 },
600 { 126, 15 }, { 3, 15 }, { 125, 15 }, { 4, 15 }, { 124, 15 },
601 { 5, 15 }, { 123, 15 }, { 6, 15 }, { 122, 15 }, { 7, 15 },
602 { 121, 15 }, { 8, 15 }, { 120, 15 }, { 9, 15 }, { 119, 15 },
603 { 10, 15 }, { 118, 15 }, { 11, 15 }, { 117, 15 }, { 12, 15 },
604 { 116, 15 }, { 13, 15 }, { 115, 15 }, { 14, 15 }, { 114, 15 },
605 { 15, 15 }, { 113, 15 }, { 16, 15 }, { 112, 15 }, { 17, 15 },
606 { 111, 15 }, { 18, 15 }, { 110, 15 }, { 19, 15 }, { 109, 15 },
607 { 20, 15 }, { 108, 15 }, { 21, 15 }, { 107, 15 }, { 22, 15 },
608 { 106, 15 }, { 23, 15 }, { 105, 15 }, { 53, 7 }, { 75, 7 },
609 { 56, 6 }, { 72, 6 }, { 59, 5 }, { 69, 5 }, { 62, 4 },
610 { 66, 4 }, { 45, 10 }, { 83, 10 }, { 48, 9 }, { 80, 9 },
611 { 24, 15 }, { 104, 15 }, { 25, 15 }, { 103, 15 }, { 26, 15 },
612 { 102, 15 }, { 27, 15 }, { 101, 15 }, { 28, 15 }, { 100, 15 },
613 { 29, 15 }, { 99, 15 }, { 30, 15 }, { 98, 15 }, { 31, 15 },
614 { 97, 15 }, { 34, 14 }, { 94, 14 }, { 37, 13 }, { 40, 12 },
615 { 88, 12 }, { 91, 13 }, { 32, 15 }, { 96, 15 }, { 35, 14 },
616 { 43, 11 }, { 51, 8 }, { 77, 8 }, { 54, 7 }, { 74, 7 },
617 { 57, 6 }, { 71, 6 }, { 60, 5 }, { 68, 5 },
618 /* scale_factor[3] - 129 entries */
619 { 64, 2 }, { 53, 8 }, { 75, 8 }, { 55, 7 }, { 57, 6 },
620 { 59, 5 }, { 69, 5 }, { 71, 6 }, { 73, 7 }, { 77, 9 },
621 { 79, 10 }, { 83, 12 }, { 42, 14 }, { 86, 14 }, { 44, 13 },
622 { 46, 12 }, { 82, 12 }, { 48, 11 }, { 80, 11 }, { 50, 10 },
623 { 52, 9 }, { 61, 4 }, { 67, 4 }, { 63, 3 }, { 65, 3 },
624 { 54, 8 }, { 74, 8 }, { 56, 7 }, { 58, 6 }, { 60, 5 },
625 { 68, 5 }, { 70, 6 }, { 72, 7 }, { 76, 9 }, { 78, 10 },
626 { 84, 13 }, { 0, 15 }, { 128, 15 }, { 1, 15 }, { 127, 15 },
627 { 2, 15 }, { 126, 15 }, { 3, 15 }, { 125, 15 }, { 4, 15 },
628 { 124, 15 }, { 5, 15 }, { 123, 15 }, { 6, 15 }, { 122, 15 },
629 { 7, 15 }, { 121, 15 }, { 8, 15 }, { 120, 15 }, { 9, 15 },
630 { 119, 15 }, { 10, 15 }, { 118, 15 }, { 11, 15 }, { 117, 15 },
631 { 12, 15 }, { 116, 15 }, { 13, 15 }, { 115, 15 }, { 14, 15 },
632 { 114, 15 }, { 15, 15 }, { 113, 15 }, { 16, 15 }, { 112, 15 },
633 { 17, 15 }, { 111, 15 }, { 18, 15 }, { 110, 15 }, { 19, 15 },
634 { 109, 15 }, { 20, 15 }, { 108, 15 }, { 21, 15 }, { 107, 15 },
635 { 22, 15 }, { 106, 15 }, { 23, 15 }, { 105, 15 }, { 24, 15 },
636 { 104, 15 }, { 25, 15 }, { 103, 15 }, { 26, 15 }, { 102, 15 },
637 { 27, 15 }, { 101, 15 }, { 28, 15 }, { 100, 15 }, { 29, 15 },
638 { 99, 15 }, { 30, 15 }, { 98, 15 }, { 31, 15 }, { 97, 15 },
639 { 32, 15 }, { 96, 15 }, { 33, 15 }, { 95, 15 }, { 34, 15 },
640 { 94, 15 }, { 35, 15 }, { 93, 15 }, { 36, 15 }, { 92, 15 },
641 { 37, 15 }, { 91, 15 }, { 38, 15 }, { 90, 15 }, { 39, 15 },
642 { 89, 15 }, { 40, 15 }, { 88, 15 }, { 41, 15 }, { 87, 15 },
643 { 43, 14 }, { 85, 14 }, { 45, 13 }, { 47, 12 }, { 81, 12 },
644 { 49, 11 }, { 51, 10 }, { 62, 4 }, { 66, 4 },
645 /* scale_factor[4] - 129 entries */
646 { 56, 5 }, { 72, 5 }, { 52, 6 }, { 76, 6 }, { 48, 7 },
647 { 80, 7 }, { 44, 8 }, { 84, 8 }, { 40, 9 }, { 88, 9 },
648 { 36, 10 }, { 92, 10 }, { 96, 11 }, { 28, 12 }, { 100, 12 },
649 { 24, 13 }, { 104, 13 }, { 16, 15 }, { 112, 15 }, { 20, 14 },
650 { 108, 14 }, { 21, 14 }, { 33, 11 }, { 61, 4 }, { 67, 4 },
651 { 57, 5 }, { 71, 5 }, { 53, 6 }, { 75, 6 }, { 49, 7 },
652 { 79, 7 }, { 45, 8 }, { 83, 8 }, { 41, 9 }, { 87, 9 },
653 { 37, 10 }, { 91, 10 }, { 95, 11 }, { 29, 12 }, { 99, 12 },
654 { 25, 13 }, { 103, 13 }, { 107, 14 }, { 17, 15 }, { 111, 15 },
655 { 26, 13 }, { 34, 11 }, { 62, 4 }, { 66, 4 }, { 58, 5 },
656 { 70, 5 }, { 54, 6 }, { 74, 6 }, { 50, 7 }, { 78, 7 },
657 { 46, 8 }, { 82, 8 }, { 42, 9 }, { 86, 9 }, { 38, 10 },
658 { 90, 10 }, { 94, 11 }, { 30, 12 }, { 98, 12 }, { 39, 10 },
659 { 63, 4 }, { 65, 4 }, { 59, 5 }, { 69, 5 }, { 55, 6 },
660 { 73, 6 }, { 51, 7 }, { 77, 7 }, { 47, 8 }, { 81, 8 },
661 { 43, 9 }, { 85, 9 }, { 89, 10 }, { 102, 13 }, { 22, 14 },
662 { 106, 14 }, { 18, 15 }, { 110, 15 }, { 0, 16 }, { 128, 16 },
663 { 1, 16 }, { 127, 16 }, { 27, 13 }, { 35, 11 }, { 93, 11 },
664 { 31, 12 }, { 97, 12 }, { 101, 13 }, { 2, 16 }, { 126, 16 },
665 { 3, 16 }, { 125, 16 }, { 4, 16 }, { 124, 16 }, { 5, 16 },
666 { 123, 16 }, { 6, 16 }, { 122, 16 }, { 7, 16 }, { 121, 16 },
667 { 8, 16 }, { 120, 16 }, { 9, 16 }, { 119, 16 }, { 10, 16 },
668 { 118, 16 }, { 11, 16 }, { 117, 16 }, { 12, 16 }, { 116, 16 },
669 { 13, 16 }, { 115, 16 }, { 14, 16 }, { 114, 16 }, { 15, 16 },
670 { 113, 16 }, { 23, 14 }, { 105, 14 }, { 19, 15 }, { 109, 15 },
671 { 32, 12 }, { 64, 4 }, { 60, 5 }, { 68, 5 },
672 /* transition_mode[0] - 4 entries */
673 { 0, 1 }, { 1, 2 }, { 2, 3 }, { 3, 3 },
674 /* transition_mode[1] - 4 entries */
675 { 3, 1 }, { 0, 2 }, { 1, 3 }, { 2, 3 },
676 /* transition_mode[2] - 4 entries */
677 { 2, 1 }, { 3, 2 }, { 0, 3 }, { 1, 3 },
678 /* transition_mode[3] - 4 entries */
679 { 0, 2 }, { 1, 2 }, { 2, 2 }, { 3, 2 },
680 /* tnl_group[0] - 37 entries */
681 { 5, 3 }, { 4, 3 }, { 19, 8 }, { 33, 12 }, { 31, 12 },
682 { 28, 11 }, { 34, 14 }, { 37, 14 }, { 35, 15 }, { 0, 15 },
683 { 36, 14 }, { 32, 12 }, { 30, 11 }, { 24, 9 }, { 22, 8 },
684 { 23, 9 }, { 29, 10 }, { 27, 10 }, { 17, 6 }, { 14, 5 },
685 { 7, 4 }, { 12, 5 }, { 1, 6 }, { 26, 9 }, { 3, 9 },
686 { 25, 8 }, { 20, 7 }, { 8, 4 }, { 10, 4 }, { 13, 4 },
687 { 15, 6 }, { 16, 6 }, { 18, 6 }, { 21, 6 }, { 11, 4 },
688 { 9, 3 }, { 6, 3 },
689 /* tnl_group[1] - 34 entries */
690 { 4, 4 }, { 7, 4 }, { 10, 4 }, { 3, 10 }, { 27, 10 },
691 { 29, 10 }, { 28, 10 }, { 22, 8 }, { 21, 7 }, { 15, 6 },
692 { 14, 5 }, { 8, 4 }, { 16, 6 }, { 19, 7 }, { 23, 8 },
693 { 26, 9 }, { 30, 10 }, { 33, 13 }, { 34, 14 }, { 0, 14 },
694 { 32, 12 }, { 31, 11 }, { 12, 5 }, { 5, 3 }, { 9, 3 },
695 { 1, 4 }, { 20, 7 }, { 25, 8 }, { 24, 8 }, { 18, 6 },
696 { 17, 5 }, { 6, 3 }, { 11, 4 }, { 13, 4 },
697 /* tnl_group[2] - 31 entries */
698 { 14, 7 }, { 17, 7 }, { 15, 7 }, { 23, 9 }, { 28, 10 },
699 { 29, 11 }, { 30, 13 }, { 0, 13 }, { 31, 12 }, { 25, 8 },
700 { 10, 5 }, { 8, 4 }, { 9, 4 }, { 4, 4 }, { 22, 8 },
701 { 3, 8 }, { 21, 8 }, { 26, 9 }, { 27, 9 }, { 12, 6 },
702 { 11, 5 }, { 16, 7 }, { 18, 7 }, { 20, 8 }, { 24, 8 },
703 { 19, 7 }, { 13, 5 }, { 5, 3 }, { 1, 2 }, { 6, 3 },
704 { 7, 3 },
705 /* tnl_group[3] - 28 entries */
706 { 8, 6 }, { 2, 6 }, { 7, 6 }, { 23, 7 }, { 12, 7 },
707 { 5, 4 }, { 10, 6 }, { 20, 8 }, { 25, 9 }, { 26, 10 },
708 { 27, 11 }, { 0, 11 }, { 22, 7 }, { 9, 5 }, { 13, 6 },
709 { 17, 6 }, { 4, 5 }, { 14, 6 }, { 19, 7 }, { 24, 7 },
710 { 3, 6 }, { 11, 6 }, { 21, 6 }, { 18, 6 }, { 16, 6 },
711 { 15, 6 }, { 6, 3 }, { 1, 1 },
712 /* tnl_group[4] - 23 entries */
713 { 2, 2 }, { 7, 7 }, { 15, 8 }, { 21, 8 }, { 3, 6 },
714 { 6, 6 }, { 13, 7 }, { 14, 8 }, { 18, 8 }, { 4, 4 },
715 { 5, 5 }, { 11, 7 }, { 10, 7 }, { 20, 6 }, { 12, 8 },
716 { 16, 9 }, { 22, 10 }, { 0, 10 }, { 17, 7 }, { 19, 6 },
717 { 8, 6 }, { 9, 6 }, { 1, 1 },
718 /* tnl_scf - 20 entries */
719 { 3, 3 }, { 11, 6 }, { 16, 9 }, { 17, 10 }, { 18, 11 },
720 { 19, 12 }, { 0, 12 }, { 15, 8 }, { 14, 7 }, { 9, 5 },
721 { 7, 4 }, { 2, 3 }, { 4, 3 }, { 1, 3 }, { 5, 3 },
722 { 12, 6 }, { 13, 6 }, { 10, 5 }, { 8, 4 }, { 6, 3 },
723 /* damp - 7 entries */
724 { 2, 2 }, { 3, 3 }, { 4, 4 }, { 5, 5 }, { 6, 6 },
725 { 0, 6 }, { 1, 1 },
726 /* dph - 9 entries */
727 { 2, 2 }, { 1, 2 }, { 3, 4 }, { 7, 4 }, { 6, 5 },
728 { 5, 6 }, { 0, 6 }, { 4, 4 }, { 8, 2 },
729 /* fst_rsd_amp - 24 entries */
730 { 12, 4 }, { 17, 4 }, { 1, 6 }, { 8, 6 }, { 9, 5 },
731 { 20, 7 }, { 3, 7 }, { 5, 6 }, { 6, 6 }, { 2, 7 },
732 { 22, 9 }, { 23, 10 }, { 0, 10 }, { 21, 8 }, { 11, 4 },
733 { 19, 5 }, { 7, 6 }, { 4, 6 }, { 16, 3 }, { 10, 4 },
734 { 18, 4 }, { 15, 3 }, { 13, 3 }, { 14, 3 },
735 /* rsd_apprx - 6 entries */
736 { 1, 1 }, { 2, 2 }, { 3, 3 }, { 4, 4 }, { 5, 5 },
737 { 0, 5 },
738 /* rsd_amp - 33 entries */
739 { 2, 3 }, { 1, 3 }, { 5, 3 }, { 14, 8 }, { 20, 9 },
740 { 26, 10 }, { 25, 12 }, { 32, 12 }, { 19, 11 }, { 16, 8 },
741 { 24, 9 }, { 17, 9 }, { 12, 7 }, { 13, 7 }, { 9, 5 },
742 { 7, 4 }, { 3, 2 }, { 4, 3 }, { 8, 6 }, { 11, 6 },
743 { 18, 8 }, { 15, 8 }, { 30, 11 }, { 36, 13 }, { 34, 13 },
744 { 29, 13 }, { 0, 13 }, { 21, 10 }, { 28, 10 }, { 23, 10 },
745 { 22, 8 }, { 10, 6 }, { 6, 4 },
746 /* avg_g3 - 18 entries */
747 { 14, 4 }, { 11, 6 }, { 19, 7 }, { 9, 7 }, { 13, 5 },
748 { 10, 6 }, { 20, 8 }, { 8, 8 }, { 6, 10 }, { 23, 11 },
749 { 0, 11 }, { 21, 9 }, { 7, 8 }, { 12, 5 }, { 18, 4 },
750 { 16, 2 }, { 15, 2 }, { 17, 2 },
751 /* st_grid - 22 entries */
752 { 4, 4 }, { 3, 4 }, { 8, 4 }, { 14, 8 }, { 7, 9 },
753 { 9, 10 }, { 22, 10 }, { 12, 7 }, { 16, 9 }, { 11, 10 },
754 { 13, 11 }, { 17, 13 }, { 15, 13 }, { 24, 13 }, { 0, 13 },
755 { 18, 9 }, { 20, 10 }, { 2, 10 }, { 5, 7 }, { 10, 5 },
756 { 1, 2 }, { 6, 1 },
757 /* grid_2 - 20 entries */
758 { 3, 2 }, { 2, 2 }, { 4, 3 }, { 5, 4 }, { 6, 5 },
759 { 11, 11 }, { 13, 12 }, { 17, 12 }, { 19, 14 }, { 14, 14 },
760 { 18, 13 }, { 15, 13 }, { 16, 14 }, { 0, 14 }, { 12, 11 },
761 { 10, 9 }, { 9, 8 }, { 8, 7 }, { 7, 6 }, { 1, 2 },
762 /* grid_3 - 13 entries */
763 { 18, 3 }, { 15, 4 }, { 19, 5 }, { 14, 6 }, { 13, 8 },
764 { 12, 10 }, { 11, 12 }, { 0, 12 }, { 22, 11 }, { 21, 9 },
765 { 20, 7 }, { 16, 2 }, { 17, 1 },
766 /* rsd - 9 entries */
767 { 1, 3 }, { 5, 4 }, { 6, 5 }, { 7, 6 }, { 4, 6 },
768 { 4, 3 }, { 0, 3 }, { 2, 2 }, { 3, 2 },
769 };
770
771 VLC ff_dca_vlc_bit_allocation[5];
772 VLC ff_dca_vlc_transition_mode[4];
773 VLC ff_dca_vlc_scale_factor[5];
774 VLC ff_dca_vlc_quant_index[DCA_CODE_BOOKS][7];
775
776 VLC ff_dca_vlc_tnl_grp[5];
777 VLC ff_dca_vlc_tnl_scf;
778 VLC ff_dca_vlc_damp;
779 VLC ff_dca_vlc_dph;
780 VLC ff_dca_vlc_fst_rsd_amp;
781 VLC ff_dca_vlc_rsd_apprx;
782 VLC ff_dca_vlc_rsd_amp;
783 VLC ff_dca_vlc_avg_g3;
784 VLC ff_dca_vlc_st_grid;
785 VLC ff_dca_vlc_grid_2;
786 VLC ff_dca_vlc_grid_3;
787 VLC ff_dca_vlc_rsd;
788
789 54 av_cold void ff_dca_init_vlcs(void)
790 {
791 static VLCElem dca_table[30218];
792 54 const uint8_t (*src_table)[2] = ff_dca_vlc_src_tables;
793 54 unsigned offset = 0;
794
795 #define DCA_INIT_VLC(vlc, nb_bits, nb_codes, entry_offset) \
796 do { \
797 vlc.table = &dca_table[offset]; \
798 vlc.table_allocated = FF_ARRAY_ELEMS(dca_table) - offset; \
799 ff_init_vlc_from_lengths(&vlc, nb_bits, nb_codes, &src_table[0][1], 2, \
800 &src_table[0][0], 2, 1, entry_offset, \
801 INIT_VLC_STATIC_OVERLONG, NULL); \
802 offset += vlc.table_size; \
803 src_table += nb_codes; \
804 } while (0)
805
806
2/2
✓ Branch 0 taken 540 times.
✓ Branch 1 taken 54 times.
594 for (unsigned i = 0; i < DCA_CODE_BOOKS; i++) {
807
2/2
✓ Branch 0 taken 2592 times.
✓ Branch 1 taken 540 times.
3132 for (unsigned j = 0; j < ff_dca_quant_index_group_size[i]; j++)
808 2592 DCA_INIT_VLC(ff_dca_vlc_quant_index[i][j], bitalloc_maxbits[i][j],
809 ff_dca_bitalloc_sizes[i], ff_dca_bitalloc_offsets[i]);
810 }
811
812
2/2
✓ Branch 0 taken 270 times.
✓ Branch 1 taken 54 times.
324 for (unsigned i = 0; i < FF_ARRAY_ELEMS(ff_dca_vlc_bit_allocation); i++)
813 270 DCA_INIT_VLC(ff_dca_vlc_bit_allocation[i], bitalloc_12_vlc_bits[i], 12, 1);
814
815
2/2
✓ Branch 0 taken 270 times.
✓ Branch 1 taken 54 times.
324 for (unsigned i = 0; i < FF_ARRAY_ELEMS(ff_dca_vlc_scale_factor); i++)
816 270 DCA_INIT_VLC(ff_dca_vlc_scale_factor[i], DCA_SCALES_VLC_BITS, 129, -64);
817
818
2/2
✓ Branch 0 taken 216 times.
✓ Branch 1 taken 54 times.
270 for (unsigned i = 0; i < FF_ARRAY_ELEMS(ff_dca_vlc_transition_mode); i++)
819 216 DCA_INIT_VLC(ff_dca_vlc_transition_mode[i], DCA_TMODE_VLC_BITS, 4, 0);
820
821 #define LBR_INIT_VLC(vlc, nb_bits, nb_codes, entry_offset) \
822 do { \
823 vlc.table = &dca_table[offset]; \
824 vlc.table_allocated = FF_ARRAY_ELEMS(dca_table) - offset; \
825 ff_init_vlc_from_lengths(&vlc, nb_bits, nb_codes, &src_table[0][1], 2, \
826 &src_table[0][0], 2, 1, entry_offset, \
827 INIT_VLC_STATIC_OVERLONG | INIT_VLC_LE,\
828 NULL); \
829 offset += vlc.table_size; \
830 src_table += nb_codes; \
831 } while (0)
832
833
2/2
✓ Branch 0 taken 270 times.
✓ Branch 1 taken 54 times.
324 for (unsigned i = 0; i < FF_ARRAY_ELEMS(ff_dca_vlc_tnl_grp); i++)
834 270 LBR_INIT_VLC(ff_dca_vlc_tnl_grp[i], DCA_TNL_GRP_VLC_BITS, tnl_grp_sizes[i], -1);
835 54 LBR_INIT_VLC(ff_dca_vlc_tnl_scf, DCA_TNL_SCF_VLC_BITS, 20, -1);
836 54 LBR_INIT_VLC(ff_dca_vlc_damp, DCA_DAMP_VLC_BITS, 7, -1);
837 54 LBR_INIT_VLC(ff_dca_vlc_dph, DCA_DPH_VLC_BITS, 9, -1);
838 54 LBR_INIT_VLC(ff_dca_vlc_fst_rsd_amp, DCA_FST_RSD_VLC_BITS, 24, -1);
839 54 LBR_INIT_VLC(ff_dca_vlc_rsd_apprx, DCA_RSD_APPRX_VLC_BITS, 6, -1);
840 54 LBR_INIT_VLC(ff_dca_vlc_rsd_amp, DCA_RSD_AMP_VLC_BITS, 33, -1);
841 54 LBR_INIT_VLC(ff_dca_vlc_avg_g3, DCA_AVG_G3_VLC_BITS, 18, -1);
842 54 LBR_INIT_VLC(ff_dca_vlc_st_grid, DCA_ST_GRID_VLC_BITS, 22, -1);
843 54 LBR_INIT_VLC(ff_dca_vlc_grid_2, DCA_GRID_VLC_BITS, 20, -1);
844 54 LBR_INIT_VLC(ff_dca_vlc_grid_3, DCA_GRID_VLC_BITS, 13, -1);
845 54 LBR_INIT_VLC(ff_dca_vlc_rsd, DCA_RSD_VLC_BITS, 9, 0);
846 54 }
847