split Indeo 3 codebooks into separate module
[nihav.git] / nihav-indeo / src / codecs / indeo3data.rs
CommitLineData
4d965fde
KS
1pub struct IviDeltaCB {
2 pub quad_radix: u8,
3 pub data: &'static [i8],
4}
5
6const DT_1_1: IviDeltaCB = IviDeltaCB{ quad_radix: 7, data: &[
7 0, 0, 2, 2, -2, -2, -1, 3,
8 1, -3, 3, -1, -3, 1, 4, 4,
9 -4, -4, 1, 5, -1, -5, 5, 1,
10 -5, -1, -4, 4, 4, -4, -2, 6,
11 2, -6, 6, -2, -6, 2, 4, 9,
12 -4, -9, 9, 4, -9, -4, 9, 9,
13 -9, -9, 1, 10, -1, -10, 10, 1,
14 -10, -1, -5, 8, 5, -8, 8, -5,
15 -8, 5, 9, 15, -9, -15, 15, 9,
16 -15, -9, -3, 12, 3, -12, 12, -3,
17 -12, 3, 4, 16, -4, -16, 16, 4,
18 -16, -4, 16, 16, -16, -16, 0, 18,
19 0, -18, 18, 0, -18, 0, -12, 12,
20 12, -12, -9, 16, 9, -16, 16, -9,
21 -16, 9, 11, 27, -11, -27, 27, 11,
22 -27, -11, 19, 28, -19, -28, 28, 19,
23 -28, -19, -6, 22, 6, -22, 22, -6,
24 -22, 6, 4, 29, -4, -29, 29, 4,
25 -29, -4, 30, 30, -30, -30, -2, 33,
26 2, -33, 33, -2, -33, 2, -18, 23,
27 18, -23, 23, -18, -23, 18, -15, 30,
28 15, -30, 30, -15, -30, 15, 22, 46,
29 -22, -46, 46, 22, -46, -22, 13, 47,
30 -13, -47, 47, 13, -47, -13, 35, 49,
31 -35, -49, 49, 35, -49, -35, -11, 41,
32 11, -41, 41, -11, -41, 11, 4, 51,
33 -4, -51, 51, 4, -51, -4, 54, 54,
34 -54, -54, -34, 34, 34, -34, -29, 42,
35 29, -42, 42, -29, -42, 29, -6, 60,
36 6, -60, 60, -6, -60, 6, 27, 76,
37 -27, -76, 76, 27, -76, -27, 43, 77,
38 -43, -77, 77, 43, -77, -43, -24, 55,
39 24, -55, 55, -24, -55, 24, 14, 79,
40 -14, -79, 79, 14, -79, -14, 63, 83,
41 -63, -83, 83, 63, -83, -63, -20, 74,
42 20, -74, 74, -20, -74, 20, 2, 88,
43 -2, -88, 88, 2, -88, -2, 93, 93,
44 -93, -93, -52, 61, 52, -61, 61, -52,
45 -61, 52, 52, 120, -52, -120, 120, 52,
46 -120, -52, -45, 75, 45, -75, 75, -45,
47 -75, 45, 75, 125, -75, -125, 125, 75,
48 -125, -75, 33, 122, -33, -122, 122, 33,
49 -122, -33, -13, 103, 13, -103, 103, -13,
50 -103, 13, -40, 96, 40, -96, 96, -40,
51 -96, 40, -34, 127, 34, -127, 127, -34,
52 -127, 34, -89, 89, 89, -89, -78, 105,
53 78, -105, 105, -78, -105, 78, 12, 12,
54 -12, -12, 23, 23, -23, -23, 42, 42,
55 -42, -42, 73, 73, -73, -73,
56]};
57
58const DT_1_2: IviDeltaCB = IviDeltaCB{ quad_radix: 9, data: &[
59 0, 0, 3, 3, -3, -3, -1, 4,
60 1, -4, 4, -1, -4, 1, 7, 7,
61 -7, -7, 2, 8, -2, -8, 8, 2,
62 -8, -2, -2, 9, 2, -9, 9, -2,
63 -9, 2, -6, 6, 6, -6, 6, 13,
64 -6, -13, 13, 6, -13, -6, 13, 13,
65 -13, -13, 1, 14, -1, -14, 14, 1,
66 -14, -1, -8, 12, 8, -12, 12, -8,
67 -12, 8, 14, 23, -14, -23, 23, 14,
68 -23, -14, -5, 18, 5, -18, 18, -5,
69 -18, 5, 6, 24, -6, -24, 24, 6,
70 -24, -6, 24, 24, -24, -24, -1, 27,
71 1, -27, 27, -1, -27, 1, -17, 17,
72 17, -17, -13, 23, 13, -23, 23, -13,
73 -23, 13, 16, 40, -16, -40, 40, 16,
74 -40, -16, 28, 41, -28, -41, 41, 28,
75 -41, -28, -9, 33, 9, -33, 33, -9,
76 -33, 9, 6, 43, -6, -43, 43, 6,
77 -43, -6, 46, 46, -46, -46, -4, 50,
78 4, -50, 50, -4, -50, 4, -27, 34,
79 27, -34, 34, -27, -34, 27, -22, 45,
80 22, -45, 45, -22, -45, 22, 34, 69,
81 -34, -69, 69, 34, -69, -34, 19, 70,
82 -19, -70, 70, 19, -70, -19, 53, 73,
83 -53, -73, 73, 53, -73, -53, -17, 62,
84 17, -62, 62, -17, -62, 17, 5, 77,
85 -5, -77, 77, 5, -77, -5, 82, 82,
86 -82, -82, -51, 51, 51, -51, -43, 64,
87 43, -64, 64, -43, -64, 43, -10, 90,
88 10, -90, 90, -10, -90, 10, 41, 114,
89 -41, -114, 114, 41, -114, -41, 64, 116,
90 -64, -116, 116, 64, -116, -64, -37, 82,
91 37, -82, 82, -37, -82, 37, 22, 119,
92 -22, -119, 119, 22, -119, -22, 95, 124,
93 -95, -124, 124, 95, -124, -95, -30, 111,
94 30, -111, 111, -30, -111, 30, -78, 92,
95 78, -92, 92, -78, -92, 78, -68, 113,
96 68, -113, 113, -68, -113, 68, 18, 18,
97 -18, -18, 34, 34, -34, -34, 63, 63,
98 -63, -63, 109, 109, -109, -109,
99]};
100
101const DT_1_3: IviDeltaCB = IviDeltaCB{ quad_radix: 10, data: &[
102 0, 0, 4, 4, -4, -4, -1, 5,
103 1, -5, 5, -1, -5, 1, 3, 10,
104 -3, -10, 10, 3, -10, -3, 9, 9,
105 -9, -9, -7, 7, 7, -7, -3, 12,
106 3, -12, 12, -3, -12, 3, 8, 17,
107 -8, -17, 17, 8, -17, -8, 17, 17,
108 -17, -17, 1, 19, -1, -19, 19, 1,
109 -19, -1, -11, 16, 11, -16, 16, -11,
110 -16, 11, -6, 23, 6, -23, 23, -6,
111 -23, 6, 18, 31, -18, -31, 31, 18,
112 -31, -18, 8, 32, -8, -32, 32, 8,
113 -32, -8, 33, 33, -33, -33, -1, 36,
114 1, -36, 36, -1, -36, 1, -23, 23,
115 23, -23, -17, 31, 17, -31, 31, -17,
116 -31, 17, 21, 54, -21, -54, 54, 21,
117 -54, -21, 37, 55, -37, -55, 55, 37,
118 -55, -37, -12, 44, 12, -44, 44, -12,
119 -44, 12, 8, 57, -8, -57, 57, 8,
120 -57, -8, 61, 61, -61, -61, -5, 66,
121 5, -66, 66, -5, -66, 5, -36, 45,
122 36, -45, 45, -36, -45, 36, -29, 60,
123 29, -60, 60, -29, -60, 29, 45, 92,
124 -45, -92, 92, 45, -92, -45, 25, 93,
125 -25, -93, 93, 25, -93, -25, 71, 97,
126 -71, -97, 97, 71, -97, -71, -22, 83,
127 22, -83, 83, -22, -83, 22, 7, 102,
128 -7, -102, 102, 7, -102, -7, 109, 109,
129 -109, -109, -68, 68, 68, -68, -57, 85,
130 57, -85, 85, -57, -85, 57, -13, 120,
131 13, -120, 120, -13, -120, 13, -49, 110,
132 49, -110, 110, -49, -110, 49, -104, 123,
133 104, -123, 123, -104, -123, 104, 24, 24,
134 -24, -24, 46, 46, -46, -46, 84, 84,
135 -84, -84,
136]};
137
138const DT_1_4: IviDeltaCB = IviDeltaCB{ quad_radix: 11, data: &[
139 0, 0, 5, 5, -5, -5, -2, 7,
140 2, -7, 7, -2, -7, 2, 11, 11,
141 -11, -11, 3, 13, -3, -13, 13, 3,
142 -13, -3, -9, 9, 9, -9, -4, 15,
143 4, -15, 15, -4, -15, 4, 11, 22,
144 -11, -22, 22, 11, -22, -11, 21, 21,
145 -21, -21, 2, 24, -2, -24, 24, 2,
146 -24, -2, -14, 20, 14, -20, 20, -14,
147 -20, 14, 23, 38, -23, -38, 38, 23,
148 -38, -23, -8, 29, 8, -29, 29, -8,
149 -29, 8, 11, 39, -11, -39, 39, 11,
150 -39, -11, 41, 41, -41, -41, -1, 45,
151 1, -45, 45, -1, -45, 1, -29, 29,
152 29, -29, -22, 39, 22, -39, 39, -22,
153 -39, 22, 27, 67, -27, -67, 67, 27,
154 -67, -27, 47, 69, -47, -69, 69, 47,
155 -69, -47, -15, 56, 15, -56, 56, -15,
156 -56, 15, 11, 71, -11, -71, 71, 11,
157 -71, -11, 76, 76, -76, -76, -6, 83,
158 6, -83, 83, -6, -83, 6, -45, 57,
159 45, -57, 57, -45, -57, 45, -36, 75,
160 36, -75, 75, -36, -75, 36, 56, 115,
161 -56, -115, 115, 56, -115, -56, 31, 117,
162 -31, -117, 117, 31, -117, -31, 88, 122,
163 -88, -122, 122, 88, -122, -88, -28, 104,
164 28, -104, 104, -28, -104, 28, -85, 85,
165 85, -85, -72, 106, 72, -106, 106, -72,
166 -106, 72, 30, 30, -30, -30, 58, 58,
167 -58, -58, 105, 105, -105, -105,
168]};
169
170const DT_1_5: IviDeltaCB = IviDeltaCB{ quad_radix: 12, data: &[
171 0, 0, 6, 6, -6, -6, -2, 8,
172 2, -8, 8, -2, -8, 2, 13, 13,
173 -13, -13, 4, 15, -4, -15, 15, 4,
174 -15, -4, -11, 11, 11, -11, -5, 18,
175 5, -18, 18, -5, -18, 5, 13, 26,
176 -13, -26, 26, 13, -26, -13, 26, 26,
177 -26, -26, 2, 29, -2, -29, 29, 2,
178 -29, -2, -16, 24, 16, -24, 24, -16,
179 -24, 16, 28, 46, -28, -46, 46, 28,
180 -46, -28, -9, 35, 9, -35, 35, -9,
181 -35, 9, 13, 47, -13, -47, 47, 13,
182 -47, -13, 49, 49, -49, -49, -1, 54,
183 1, -54, 54, -1, -54, 1, -35, 35,
184 35, -35, -26, 47, 26, -47, 47, -26,
185 -47, 26, 32, 81, -32, -81, 81, 32,
186 -81, -32, 56, 83, -56, -83, 83, 56,
187 -83, -56, -18, 67, 18, -67, 67, -18,
188 -67, 18, 13, 86, -13, -86, 86, 13,
189 -86, -13, 91, 91, -91, -91, -7, 99,
190 7, -99, 99, -7, -99, 7, -54, 68,
191 54, -68, 68, -54, -68, 54, -44, 90,
192 44, -90, 90, -44, -90, 44, -33, 124,
193 33, -124, 124, -33, -124, 33, -103, 103,
194 103, -103, -86, 127, 86, -127, 127, -86,
195 -127, 86, 37, 37, -37, -37, 69, 69,
196 -69, -69,
197]};
198
199const DT_1_6: IviDeltaCB = IviDeltaCB{ quad_radix: 12, data: &[
200 0, 0, 7, 7, -7, -7, -3, 10,
201 3, -10, 10, -3, -10, 3, 16, 16,
202 -16, -16, 5, 18, -5, -18, 18, 5,
203 -18, -5, -13, 13, 13, -13, -6, 21,
204 6, -21, 21, -6, -21, 6, 15, 30,
205 -15, -30, 30, 15, -30, -15, 30, 30,
206 -30, -30, 2, 34, -2, -34, 34, 2,
207 -34, -2, -19, 28, 19, -28, 28, -19,
208 -28, 19, 32, 54, -32, -54, 54, 32,
209 -54, -32, -11, 41, 11, -41, 41, -11,
210 -41, 11, 15, 55, -15, -55, 55, 15,
211 -55, -15, 57, 57, -57, -57, -1, 63,
212 1, -63, 63, -1, -63, 1, -40, 40,
213 40, -40, -30, 55, 30, -55, 55, -30,
214 -55, 30, 37, 94, -37, -94, 94, 37,
215 -94, -37, 65, 96, -65, -96, 96, 65,
216 -96, -65, -21, 78, 21, -78, 78, -21,
217 -78, 21, 15, 100, -15, -100, 100, 15,
218 -100, -15, 106, 106, -106, -106, -8, 116,
219 8, -116, 116, -8, -116, 8, -63, 79,
220 63, -79, 79, -63, -79, 63, -51, 105,
221 51, -105, 105, -51, -105, 51, -120, 120,
222 120, -120, 43, 43, -43, -43, 80, 80,
223 -80, -80,
224]};
225
226const DT_1_7: IviDeltaCB = IviDeltaCB{ quad_radix: 12, data: &[
227 0, 0, 8, 8, -8, -8, -3, 11,
228 3, -11, 11, -3, -11, 3, 18, 18,
229 -18, -18, 5, 20, -5, -20, 20, 5,
230 -20, -5, -15, 15, 15, -15, -7, 24,
231 7, -24, 24, -7, -24, 7, 17, 35,
232 -17, -35, 35, 17, -35, -17, 34, 34,
233 -34, -34, 3, 38, -3, -38, 38, 3,
234 -38, -3, -22, 32, 22, -32, 32, -22,
235 -32, 22, 37, 61, -37, -61, 61, 37,
236 -61, -37, -13, 47, 13, -47, 47, -13,
237 -47, 13, 17, 63, -17, -63, 63, 17,
238 -63, -17, 65, 65, -65, -65, -1, 72,
239 1, -72, 72, -1, -72, 1, -46, 46,
240 46, -46, -35, 63, 35, -63, 63, -35,
241 -63, 35, 43, 107, -43, -107, 107, 43,
242 -107, -43, 75, 110, -75, -110, 110, 75,
243 -110, -75, -24, 89, 24, -89, 89, -24,
244 -89, 24, 17, 114, -17, -114, 114, 17,
245 -114, -17, 121, 121, -121, -121, -72, 91,
246 72, -91, 91, -72, -91, 72, -58, 120,
247 58, -120, 120, -58, -120, 58, 49, 49,
248 -49, -49, 92, 92, -92, -92,
249]};
250
251const DT_1_8: IviDeltaCB = IviDeltaCB{ quad_radix: 13, data: &[
252 0, 0, 9, 9, -9, -9, -3, 12,
253 3, -12, 12, -3, -12, 3, 20, 20,
254 -20, -20, 6, 23, -6, -23, 23, 6,
255 -23, -6, -17, 17, 17, -17, -7, 27,
256 7, -27, 27, -7, -27, 7, 19, 39,
257 -19, -39, 39, 19, -39, -19, 39, 39,
258 -39, -39, 3, 43, -3, -43, 43, 3,
259 -43, -3, -24, 36, 24, -36, 36, -24,
260 -36, 24, 42, 69, -42, -69, 69, 42,
261 -69, -42, -14, 53, 14, -53, 53, -14,
262 -53, 14, 19, 71, -19, -71, 71, 19,
263 -71, -19, 73, 73, -73, -73, -2, 80,
264 2, -80, 80, -2, -80, 2, -52, 52,
265 52, -52, -39, 70, 39, -70, 70, -39,
266 -70, 39, 48, 121, -48, -121, 121, 48,
267 -121, -48, 84, 124, -84, -124, 124, 84,
268 -124, -84, -27, 100, 27, -100, 100, -27,
269 -100, 27, -81, 102, 81, -102, 102, -81,
270 -102, 81, 55, 55, -55, -55, 104, 104,
271 -104, -104,
272]};
273
274const DT_2_1: IviDeltaCB = IviDeltaCB{ quad_radix: 7, data: &[
275 0, 0, 2, 2, -2, -2, 0, 2,
276 0, -2, 2, 0, -2, 0, 4, 4,
277 -4, -4, 0, 4, 0, -4, 4, 0,
278 -4, 0, -4, 4, 4, -4, -2, 6,
279 2, -6, 6, -2, -6, 2, 4, 8,
280 -4, -8, 8, 4, -8, -4, 8, 8,
281 -8, -8, 0, 10, 0, -10, 10, 0,
282 -10, 0, -4, 8, 4, -8, 8, -4,
283 -8, 4, 8, 14, -8, -14, 14, 8,
284 -14, -8, -2, 12, 2, -12, 12, -2,
285 -12, 2, 4, 16, -4, -16, 16, 4,
286 -16, -4, 16, 16, -16, -16, 0, 18,
287 0, -18, 18, 0, -18, 0, -12, 12,
288 12, -12, -8, 16, 8, -16, 16, -8,
289 -16, 8, 10, 26, -10, -26, 26, 10,
290 -26, -10, 18, 28, -18, -28, 28, 18,
291 -28, -18, -6, 22, 6, -22, 22, -6,
292 -22, 6, 4, 28, -4, -28, 28, 4,
293 -28, -4, 30, 30, -30, -30, -2, 32,
294 2, -32, 32, -2, -32, 2, -18, 22,
295 18, -22, 22, -18, -22, 18, -14, 30,
296 14, -30, 30, -14, -30, 14, 22, 46,
297 -22, -46, 46, 22, -46, -22, 12, 46,
298 -12, -46, 46, 12, -46, -12, 34, 48,
299 -34, -48, 48, 34, -48, -34, -10, 40,
300 10, -40, 40, -10, -40, 10, 4, 50,
301 -4, -50, 50, 4, -50, -4, 54, 54,
302 -54, -54, -34, 34, 34, -34, -28, 42,
303 28, -42, 42, -28, -42, 28, -6, 60,
304 6, -60, 60, -6, -60, 6, 26, 76,
305 -26, -76, 76, 26, -76, -26, 42, 76,
306 -42, -76, 76, 42, -76, -42, -24, 54,
307 24, -54, 54, -24, -54, 24, 14, 78,
308 -14, -78, 78, 14, -78, -14, 62, 82,
309 -62, -82, 82, 62, -82, -62, -20, 74,
310 20, -74, 74, -20, -74, 20, 2, 88,
311 -2, -88, 88, 2, -88, -2, 92, 92,
312 -92, -92, -52, 60, 52, -60, 60, -52,
313 -60, 52, 52, 118, -52, -118, 118, 52,
314 -118, -52, -44, 74, 44, -74, 74, -44,
315 -74, 44, 74, 118, -74, -118, 118, 74,
316 -118, -74, 32, 118, -32, -118, 118, 32,
317 -118, -32, -12, 102, 12, -102, 102, -12,
318 -102, 12, -40, 96, 40, -96, 96, -40,
319 -96, 40, -34, 118, 34, -118, 118, -34,
320 -118, 34, -88, 88, 88, -88, -78, 104,
321 78, -104, 104, -78, -104, 78, 12, 12,
322 -12, -12, 22, 22, -22, -22, 42, 42,
323 -42, -42, 72, 72, -72, -72,
324]};
325
326const DT_2_2: IviDeltaCB = IviDeltaCB{ quad_radix: 9, data: &[
327 0, 0, 3, 3, -3, -3, 0, 3,
328 0, -3, 3, 0, -3, 0, 6, 6,
329 -6, -6, 3, 9, -3, -9, 9, 3,
330 -9, -3, -3, 9, 3, -9, 9, -3,
331 -9, 3, -6, 6, 6, -6, 6, 12,
332 -6, -12, 12, 6, -12, -6, 12, 12,
333 -12, -12, 0, 15, 0, -15, 15, 0,
334 -15, 0, -9, 12, 9, -12, 12, -9,
335 -12, 9, 15, 24, -15, -24, 24, 15,
336 -24, -15, -6, 18, 6, -18, 18, -6,
337 -18, 6, 6, 24, -6, -24, 24, 6,
338 -24, -6, 24, 24, -24, -24, 0, 27,
339 0, -27, 27, 0, -27, 0, -18, 18,
340 18, -18, -12, 24, 12, -24, 24, -12,
341 -24, 12, 15, 39, -15, -39, 39, 15,
342 -39, -15, 27, 42, -27, -42, 42, 27,
343 -42, -27, -9, 33, 9, -33, 33, -9,
344 -33, 9, 6, 42, -6, -42, 42, 6,
345 -42, -6, 45, 45, -45, -45, -3, 51,
346 3, -51, 51, -3, -51, 3, -27, 33,
347 27, -33, 33, -27, -33, 27, -21, 45,
348 21, -45, 45, -21, -45, 21, 33, 69,
349 -33, -69, 69, 33, -69, -33, 18, 69,
350 -18, -69, 69, 18, -69, -18, 54, 72,
351 -54, -72, 72, 54, -72, -54, -18, 63,
352 18, -63, 63, -18, -63, 18, 6, 78,
353 -6, -78, 78, 6, -78, -6, 81, 81,
354 -81, -81, -51, 51, 51, -51, -42, 63,
355 42, -63, 63, -42, -63, 42, -9, 90,
356 9, -90, 90, -9, -90, 9, 42, 114,
357 -42, -114, 114, 42, -114, -42, 63, 117,
358 -63, -117, 117, 63, -117, -63, -36, 81,
359 36, -81, 81, -36, -81, 36, 21, 120,
360 -21, -120, 120, 21, -120, -21, 96, 123,
361 -96, -123, 123, 96, -123, -96, -30, 111,
362 30, -111, 111, -30, -111, 30, -78, 93,
363 78, -93, 93, -78, -93, 78, -69, 114,
364 69, -114, 114, -69, -114, 69, 18, 18,
365 -18, -18, 33, 33, -33, -33, 63, 63,
366 -63, -63, 108, 108, -108, -108,
367]};
368
369const DT_2_3: IviDeltaCB = IviDeltaCB{ quad_radix: 10, data: &[
370 0, 0, 4, 4, -4, -4, 0, 4,
371 0, -4, 4, 0, -4, 0, 4, 8,
372 -4, -8, 8, 4, -8, -4, 8, 8,
373 -8, -8, -8, 8, 8, -8, -4, 12,
374 4, -12, 12, -4, -12, 4, 8, 16,
375 -8, -16, 16, 8, -16, -8, 16, 16,
376 -16, -16, 0, 20, 0, -20, 20, 0,
377 -20, 0, -12, 16, 12, -16, 16, -12,
378 -16, 12, -4, 24, 4, -24, 24, -4,
379 -24, 4, 16, 32, -16, -32, 32, 16,
380 -32, -16, 8, 32, -8, -32, 32, 8,
381 -32, -8, 32, 32, -32, -32, 0, 36,
382 0, -36, 36, 0, -36, 0, -24, 24,
383 24, -24, -16, 32, 16, -32, 32, -16,
384 -32, 16, 20, 52, -20, -52, 52, 20,
385 -52, -20, 36, 56, -36, -56, 56, 36,
386 -56, -36, -12, 44, 12, -44, 44, -12,
387 -44, 12, 8, 56, -8, -56, 56, 8,
388 -56, -8, 60, 60, -60, -60, -4, 64,
389 4, -64, 64, -4, -64, 4, -36, 44,
390 36, -44, 44, -36, -44, 36, -28, 60,
391 28, -60, 60, -28, -60, 28, 44, 92,
392 -44, -92, 92, 44, -92, -44, 24, 92,
393 -24, -92, 92, 24, -92, -24, 72, 96,
394 -72, -96, 96, 72, -96, -72, -20, 84,
395 20, -84, 84, -20, -84, 20, 8, 100,
396 -8, -100, 100, 8, -100, -8, 108, 108,
397 -108, -108, -68, 68, 68, -68, -56, 84,
398 56, -84, 84, -56, -84, 56, -12, 120,
399 12, -120, 120, -12, -120, 12, -48, 108,
400 48, -108, 108, -48, -108, 48, -104, 124,
401 104, -124, 124, -104, -124, 104, 24, 24,
402 -24, -24, 44, 44, -44, -44, 84, 84,
403 -84, -84,
404]};
405
406const DT_2_4: IviDeltaCB = IviDeltaCB{ quad_radix: 11, data: &[
407 0, 0, 5, 5, -5, -5, 0, 5,
408 0, -5, 5, 0, -5, 0, 10, 10,
409 -10, -10, 5, 15, -5, -15, 15, 5,
410 -15, -5, -10, 10, 10, -10, -5, 15,
411 5, -15, 15, -5, -15, 5, 10, 20,
412 -10, -20, 20, 10, -20, -10, 20, 20,
413 -20, -20, 0, 25, 0, -25, 25, 0,
414 -25, 0, -15, 20, 15, -20, 20, -15,
415 -20, 15, 25, 40, -25, -40, 40, 25,
416 -40, -25, -10, 30, 10, -30, 30, -10,
417 -30, 10, 10, 40, -10, -40, 40, 10,
418 -40, -10, 40, 40, -40, -40, 0, 45,
419 0, -45, 45, 0, -45, 0, -30, 30,
420 30, -30, -20, 40, 20, -40, 40, -20,
421 -40, 20, 25, 65, -25, -65, 65, 25,
422 -65, -25, 45, 70, -45, -70, 70, 45,
423 -70, -45, -15, 55, 15, -55, 55, -15,
424 -55, 15, 10, 70, -10, -70, 70, 10,
425 -70, -10, 75, 75, -75, -75, -5, 85,
426 5, -85, 85, -5, -85, 5, -45, 55,
427 45, -55, 55, -45, -55, 45, -35, 75,
428 35, -75, 75, -35, -75, 35, 55, 115,
429 -55, -115, 115, 55, -115, -55, 30, 115,
430 -30, -115, 115, 30, -115, -30, 90, 120,
431 -90, -120, 120, 90, -120, -90, -30, 105,
432 30, -105, 105, -30, -105, 30, -85, 85,
433 85, -85, -70, 105, 70, -105, 105, -70,
434 -105, 70, 30, 30, -30, -30, 60, 60,
435 -60, -60, 105, 105, -105, -105,
436]};
437
438const DT_2_5: IviDeltaCB = IviDeltaCB{ quad_radix: 12, data: &[
439 0, 0, 6, 6, -6, -6, 0, 6,
440 0, -6, 6, 0, -6, 0, 12, 12,
441 -12, -12, 6, 12, -6, -12, 12, 6,
442 -12, -6, -12, 12, 12, -12, -6, 18,
443 6, -18, 18, -6, -18, 6, 12, 24,
444 -12, -24, 24, 12, -24, -12, 24, 24,
445 -24, -24, 0, 30, 0, -30, 30, 0,
446 -30, 0, -18, 24, 18, -24, 24, -18,
447 -24, 18, 30, 48, -30, -48, 48, 30,
448 -48, -30, -6, 36, 6, -36, 36, -6,
449 -36, 6, 12, 48, -12, -48, 48, 12,
450 -48, -12, 48, 48, -48, -48, 0, 54,
451 0, -54, 54, 0, -54, 0, -36, 36,
452 36, -36, -24, 48, 24, -48, 48, -24,
453 -48, 24, 30, 78, -30, -78, 78, 30,
454 -78, -30, 54, 84, -54, -84, 84, 54,
455 -84, -54, -18, 66, 18, -66, 66, -18,
456 -66, 18, 12, 84, -12, -84, 84, 12,
457 -84, -12, 90, 90, -90, -90, -6, 96,
458 6, -96, 96, -6, -96, 6, -54, 66,
459 54, -66, 66, -54, -66, 54, -42, 90,
460 42, -90, 90, -42, -90, 42, -30, 126,
461 30, -126, 126, -30, -126, 30, -102, 102,
462 102, -102, -84, 126, 84, -126, 126, -84,
463 -126, 84, 36, 36, -36, -36, 66, 66,
464 -66, -66,
465]};
466
467const DT_2_6: IviDeltaCB = IviDeltaCB{ quad_radix: 12, data: &[
468 0, 0, 7, 7, -7, -7, 0, 7,
469 0, -7, 7, 0, -7, 0, 14, 14,
470 -14, -14, 7, 21, -7, -21, 21, 7,
471 -21, -7, -14, 14, 14, -14, -7, 21,
472 7, -21, 21, -7, -21, 7, 14, 28,
473 -14, -28, 28, 14, -28, -14, 28, 28,
474 -28, -28, 0, 35, 0, -35, 35, 0,
475 -35, 0, -21, 28, 21, -28, 28, -21,
476 -28, 21, 35, 56, -35, -56, 56, 35,
477 -56, -35, -14, 42, 14, -42, 42, -14,
478 -42, 14, 14, 56, -14, -56, 56, 14,
479 -56, -14, 56, 56, -56, -56, 0, 63,
480 0, -63, 63, 0, -63, 0, -42, 42,
481 42, -42, -28, 56, 28, -56, 56, -28,
482 -56, 28, 35, 91, -35, -91, 91, 35,
483 -91, -35, 63, 98, -63, -98, 98, 63,
484 -98, -63, -21, 77, 21, -77, 77, -21,
485 -77, 21, 14, 98, -14, -98, 98, 14,
486 -98, -14, 105, 105, -105, -105, -7, 119,
487 7, -119, 119, -7, -119, 7, -63, 77,
488 63, -77, 77, -63, -77, 63, -49, 105,
489 49, -105, 105, -49, -105, 49, -119, 119,
490 119, -119, 42, 42, -42, -42, 77, 77,
491 -77, -77,
492]};
493
494const DT_2_7: IviDeltaCB = IviDeltaCB{ quad_radix: 12, data: &[
495 0, 0, 8, 8, -8, -8, 0, 8,
496 0, -8, 8, 0, -8, 0, 16, 16,
497 -16, -16, 8, 16, -8, -16, 16, 8,
498 -16, -8, -16, 16, 16, -16, -8, 24,
499 8, -24, 24, -8, -24, 8, 16, 32,
500 -16, -32, 32, 16, -32, -16, 32, 32,
501 -32, -32, 0, 40, 0, -40, 40, 0,
502 -40, 0, -24, 32, 24, -32, 32, -24,
503 -32, 24, 40, 64, -40, -64, 64, 40,
504 -64, -40, -16, 48, 16, -48, 48, -16,
505 -48, 16, 16, 64, -16, -64, 64, 16,
506 -64, -16, 64, 64, -64, -64, 0, 72,
507 0, -72, 72, 0, -72, 0, -48, 48,
508 48, -48, -32, 64, 32, -64, 64, -32,
509 -64, 32, 40, 104, -40, -104, 104, 40,
510 -104, -40, 72, 112, -72, -112, 112, 72,
511 -112, -72, -24, 88, 24, -88, 88, -24,
512 -88, 24, 16, 112, -16, -112, 112, 16,
513 -112, -16, 120, 120, -120, -120, -72, 88,
514 72, -88, 88, -72, -88, 72, -56, 120,
515 56, -120, 120, -56, -120, 56, 48, 48,
516 -48, -48, 88, 88, -88, -88,
517]};
518
519const DT_2_8: IviDeltaCB = IviDeltaCB{ quad_radix: 13, data: &[
520 0, 0, 9, 9, -9, -9, 0, 9,
521 0, -9, 9, 0, -9, 0, 18, 18,
522 -18, -18, 9, 27, -9, -27, 27, 9,
523 -27, -9, -18, 18, 18, -18, -9, 27,
524 9, -27, 27, -9, -27, 9, 18, 36,
525 -18, -36, 36, 18, -36, -18, 36, 36,
526 -36, -36, 0, 45, 0, -45, 45, 0,
527 -45, 0, -27, 36, 27, -36, 36, -27,
528 -36, 27, 45, 72, -45, -72, 72, 45,
529 -72, -45, -18, 54, 18, -54, 54, -18,
530 -54, 18, 18, 72, -18, -72, 72, 18,
531 -72, -18, 72, 72, -72, -72, 0, 81,
532 0, -81, 81, 0, -81, 0, -54, 54,
533 54, -54, -36, 72, 36, -72, 72, -36,
534 -72, 36, 45, 117, -45, -117, 117, 45,
535 -117, -45, 81, 126, -81, -126, 126, 81,
536 -126, -81, -27, 99, 27, -99, 99, -27,
537 -99, 27, -81, 99, 81, -99, 99, -81,
538 -99, 81, 54, 54, -54, -54, 108, 108,
539 -108, -108,
540]};
541
542const DT_3_1: IviDeltaCB = IviDeltaCB{ quad_radix: 11, data: &[
543 0, 0, 2, 2, -2, -2, 0, 3,
544 0, -3, 3, 0, -3, 0, 6, 6,
545 -6, -6, 0, 7, 0, -7, 7, 0,
546 -7, 0, -5, 5, 5, -5, 5, -5,
547 -5, 5, 6, 11, -6, -11, 11, 6,
548 -11, -6, 0, 8, 0, -8, 8, 0,
549 -8, 0, 11, 11, -11, -11, 0, 12,
550 0, -12, 12, 0, -12, 0, 12, 17,
551 -12, -17, 17, 12, -17, -12, 17, 17,
552 -17, -17, 6, 18, -6, -18, 18, 6,
553 -18, -6, -8, 11, 8, -11, 11, -8,
554 -11, 8, 0, 15, 0, -15, 15, 0,
555 -15, 0, 0, 20, 0, -20, 20, 0,
556 -20, 0, 18, 25, -18, -25, 25, 18,
557 -25, -18, 11, 25, -11, -25, 25, 11,
558 -25, -11, 25, 25, -25, -25, -14, 14,
559 14, -14, 14, -14, -14, 14, 0, 26,
560 0, -26, 26, 0, -26, 0, -11, 18,
561 11, -18, 18, -11, -18, 11, -7, 22,
562 7, -22, 22, -7, -22, 7, 26, 34,
563 -26, -34, 34, 26, -34, -26, 18, 34,
564 -18, -34, 34, 18, -34, -18, 34, 34,
565 -34, -34, 11, 35, -11, -35, 35, 11,
566 -35, -11, 0, 29, 0, -29, 29, 0,
567 -29, 0, -19, 22, 19, -22, 22, -19,
568 -22, 19, -15, 26, 15, -26, 26, -15,
569 -26, 15, 0, 37, 0, -37, 37, 0,
570 -37, 0, 27, 44, -27, -44, 44, 27,
571 -44, -27, 36, 44, -36, -44, 44, 36,
572 -44, -36, 18, 44, -18, -44, 44, 18,
573 -44, -18, -10, 33, 10, -33, 33, -10,
574 -33, 10, 45, 45, -45, -45, 0, 0,
575]};
576
577const DT_3_2: IviDeltaCB = IviDeltaCB{ quad_radix: 13, data: &[
578 0, 0, 0, 2, 0, -2, 2, 0,
579 -2, 0, 2, 2, -2, -2, 6, 6,
580 -6, -6, 0, 6, 0, -6, 6, 0,
581 -6, 0, -4, 4, 4, -4, 10, -6,
582 -10, 6, 0, -12, 0, 12, -6, -12,
583 6, -12, -6, 12, 6, 12, -14, 0,
584 14, 0, 12, 12, -12, -12, 0, -18,
585 0, 18, 14, -12, -14, 12, -18, -6,
586 18, -6, -18, 6, 18, 6, -10, -18,
587 10, -18, -10, 18, 10, 18, -22, 0,
588 22, 0, 0, -24, 0, 24, -22, -12,
589 22, -12, -22, 12, 22, 12, -8, -24,
590 8, -24, -8, 24, 8, 24, -26, -6,
591 26, -6, -26, 6, 26, 6, -28, 0,
592 28, 0, 20, 20, -20, -20, -14, -26,
593 14, 26, -30, -12, 30, 12, -10, -32,
594 10, 32, -18, -32, 18, 32, -26, -26,
595 26, 26, -34, -20, 34, 20, -38, -12,
596 38, 12, -32, -32, 32, 32, 32, 32,
597 -22, -40, -34, -34, 34, 34,
598]};
599
600const DT_3_3: IviDeltaCB = IviDeltaCB{ quad_radix: 13, data: &[
601 0, 0, 0, 2, 0, -2, 2, 0,
602 -2, 0, 4, 4, -4, -4, 10, 10,
603 -10, -10, 0, 10, 0, -10, 10, 0,
604 -10, 0, -6, 6, 6, -6, 14, -8,
605 -14, 8, -18, 0, 18, 0, 10, -16,
606 -10, 16, 0, -24, 0, 24, -24, -8,
607 24, -8, -24, 8, 24, 8, 18, 18,
608 -18, -18, 20, -16, -20, 16, -14, -26,
609 14, -26, -14, 26, 14, 26, -30, 0,
610 30, 0, 0, -34, 0, 34, -34, -8,
611 34, -8, -34, 8, 34, 8, -30, -18,
612 30, -18, -30, 18, 30, 18, -10, -34,
613 10, -34, -10, 34, 10, 34, -20, -34,
614 20, 34, -40, 0, 40, 0, 30, 30,
615 -30, -30, -40, -18, 40, 18, 0, -44,
616 0, 44, -16, -44, 16, 44, -36, -36,
617 -36, -36, 36, 36, -26, -44, 26, 44,
618 -46, -26, 46, 26, -52, -18, 52, 18,
619 -20, -54, -44, -44, 44, 44, -32, -54,
620 -46, -46, -46, -46, 46, 46,
621]};
622
623const DT_3_4: IviDeltaCB = IviDeltaCB{ quad_radix: 13, data: &[
624 0, 0, 0, 4, 0, -4, 4, 0,
625 -4, 0, 4, 4, -4, -4, 12, 12,
626 -12, -12, 0, 12, 0, -12, 12, 0,
627 -12, 0, -8, 8, 8, -8, 8, -16,
628 -8, 16, 0, -24, 0, 24, -24, -8,
629 24, -8, -24, 8, 24, 8, 20, -16,
630 -20, 16, -28, 0, 28, 0, -16, -24,
631 16, -24, -16, 24, 16, 24, 0, -32,
632 0, 32, -28, -16, 28, -16, -28, 16,
633 28, 16, -8, -32, 8, -32, -32, -8,
634 32, -8, -32, 8, 32, 8, -8, 32,
635 8, 32, 24, 24, -24, -24, 24, -24,
636 -24, 24, -20, -32, 20, 32, -40, 0,
637 40, 0, -40, -16, 40, 16, 0, -44,
638 0, -44, -44, 0, 44, 0, 0, 44,
639 0, 44, -32, -32, 32, 32, -16, -44,
640 16, 44, -24, -44, -44, -24, 44, 24,
641 24, 44, -48, -16, 48, 16, -36, -36,
642 -36, -36, 36, 36, 36, 36, -20, -52,
643 40, 40, -40, -40, -32, -52,
644]};
645
646const DT_3_5: IviDeltaCB = IviDeltaCB{ quad_radix: 13, data: &[
647 0, 0, 2, 2, -2, -2, 6, 6,
648 -6, -6, 12, 12, -12, -12, 20, 20,
649 -20, -20, 32, 32, -32, -32, 46, 46,
650 -46, -46, 0, 0, 0, 0, 0, 0,
651 0, 0, 0, 0, 0, 0, 0, 0,
652 0, 0, 0, 0, 0, 0, 0, 0,
653 0, 0, 0, 0, 0, 0, 0, 0,
654 0, 0, 0, 0, 0, 0, 0, 0,
655 0, 0, 0, 0, 0, 0, 0, 0,
656 0, 0, 0, 0, 0, 0, 0, 0,
657 0, 0, 0, 0, 0, 0, 0, 0,
658 0, 0, 0, 0, 0, 0, 0, 0,
659 0, 0, 0, 0, 0, 0, 0, 0,
660 0, 0, 0, 0, 0, 0, 0, 0,
661 0, 0, 0, 0, 0, 0, 0, 0,
662 0, 0, 0, 0, 0, 0, 0, 0,
663 0, 0, 0, 0, 0, 0, 0, 0,
664 0, 0, 0, 0, 0, 0, 0, 0,
665 0, 0, 0, 0, 0, 0, 0, 0,
666 0, 0, 0, 0, 0, 0,
667]};
668
669pub const IVI3_DELTA_CBS: [&IviDeltaCB; 24] = [
670 &DT_1_1, &DT_1_2, &DT_1_3, &DT_1_4, &DT_1_5, &DT_1_6, &DT_1_7, &DT_1_8,
671 &DT_2_1, &DT_2_2, &DT_2_3, &DT_2_4, &DT_2_5, &DT_2_6, &DT_2_7, &DT_2_8,
672 &DT_3_1, &DT_3_2, &DT_3_3, &DT_3_4, &DT_3_5, &DT_3_5, &DT_3_5, &DT_3_5
673];