• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /* -----------------------------------------------------------------------------
2 Software License for The Fraunhofer FDK AAC Codec Library for Android
3 
4 © Copyright  1995 - 2018 Fraunhofer-Gesellschaft zur Förderung der angewandten
5 Forschung e.V. All rights reserved.
6 
7  1.    INTRODUCTION
8 The Fraunhofer FDK AAC Codec Library for Android ("FDK AAC Codec") is software
9 that implements the MPEG Advanced Audio Coding ("AAC") encoding and decoding
10 scheme for digital audio. This FDK AAC Codec software is intended to be used on
11 a wide variety of Android devices.
12 
13 AAC's HE-AAC and HE-AAC v2 versions are regarded as today's most efficient
14 general perceptual audio codecs. AAC-ELD is considered the best-performing
15 full-bandwidth communications codec by independent studies and is widely
16 deployed. AAC has been standardized by ISO and IEC as part of the MPEG
17 specifications.
18 
19 Patent licenses for necessary patent claims for the FDK AAC Codec (including
20 those of Fraunhofer) may be obtained through Via Licensing
21 (www.vialicensing.com) or through the respective patent owners individually for
22 the purpose of encoding or decoding bit streams in products that are compliant
23 with the ISO/IEC MPEG audio standards. Please note that most manufacturers of
24 Android devices already license these patent claims through Via Licensing or
25 directly from the patent owners, and therefore FDK AAC Codec software may
26 already be covered under those patent licenses when it is used for those
27 licensed purposes only.
28 
29 Commercially-licensed AAC software libraries, including floating-point versions
30 with enhanced sound quality, are also available from Fraunhofer. Users are
31 encouraged to check the Fraunhofer website for additional applications
32 information and documentation.
33 
34 2.    COPYRIGHT LICENSE
35 
36 Redistribution and use in source and binary forms, with or without modification,
37 are permitted without payment of copyright license fees provided that you
38 satisfy the following conditions:
39 
40 You must retain the complete text of this software license in redistributions of
41 the FDK AAC Codec or your modifications thereto in source code form.
42 
43 You must retain the complete text of this software license in the documentation
44 and/or other materials provided with redistributions of the FDK AAC Codec or
45 your modifications thereto in binary form. You must make available free of
46 charge copies of the complete source code of the FDK AAC Codec and your
47 modifications thereto to recipients of copies in binary form.
48 
49 The name of Fraunhofer may not be used to endorse or promote products derived
50 from this library without prior written permission.
51 
52 You may not charge copyright license fees for anyone to use, copy or distribute
53 the FDK AAC Codec software or your modifications thereto.
54 
55 Your modified versions of the FDK AAC Codec must carry prominent notices stating
56 that you changed the software and the date of any change. For modified versions
57 of the FDK AAC Codec, the term "Fraunhofer FDK AAC Codec Library for Android"
58 must be replaced by the term "Third-Party Modified Version of the Fraunhofer FDK
59 AAC Codec Library for Android."
60 
61 3.    NO PATENT LICENSE
62 
63 NO EXPRESS OR IMPLIED LICENSES TO ANY PATENT CLAIMS, including without
64 limitation the patents of Fraunhofer, ARE GRANTED BY THIS SOFTWARE LICENSE.
65 Fraunhofer provides no warranty of patent non-infringement with respect to this
66 software.
67 
68 You may use this FDK AAC Codec software or modifications thereto only for
69 purposes that are authorized by appropriate patent licenses.
70 
71 4.    DISCLAIMER
72 
73 This FDK AAC Codec software is provided by Fraunhofer on behalf of the copyright
74 holders and contributors "AS IS" and WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES,
75 including but not limited to the implied warranties of merchantability and
76 fitness for a particular purpose. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
77 CONTRIBUTORS BE LIABLE for any direct, indirect, incidental, special, exemplary,
78 or consequential damages, including but not limited to procurement of substitute
79 goods or services; loss of use, data, or profits, or business interruption,
80 however caused and on any theory of liability, whether in contract, strict
81 liability, or tort (including negligence), arising in any way out of the use of
82 this software, even if advised of the possibility of such damage.
83 
84 5.    CONTACT INFORMATION
85 
86 Fraunhofer Institute for Integrated Circuits IIS
87 Attention: Audio and Multimedia Departments - FDK AAC LL
88 Am Wolfsmantel 33
89 91058 Erlangen, Germany
90 
91 www.iis.fraunhofer.de/amm
92 amm-info@iis.fraunhofer.de
93 ----------------------------------------------------------------------------- */
94 
95 /******************* Library for basic calculation routines ********************
96 
97    Author(s):   Omer Osman
98 
99    Description: MPEG-D SAC/USAC/SAOC Huffman Part0 Tables
100 
101 *******************************************************************************/
102 
103 #include "huff_nodes.h"
104 
105 const HUFF_PT0_NODES FDK_huffPart0Nodes = {
106     {{2, 1},     {4, 3},     {6, 5},     {8, 7},    {10, 9},    {12, 11},
107      {14, 13},   {-8, 15},   {-9, 16},   {-10, 17}, {-18, 18},  {-17, -19},
108      {-16, 19},  {-11, -20}, {-15, -21}, {-7, 20},  {-22, 21},  {-12, -14},
109      {-13, -23}, {23, 22},   {-24, -31}, {-6, 24},  {-25, -26}, {26, 25},
110      {-5, -27},  {-28, 27},  {-4, 28},   {-29, 29}, {-1, -30},  {-2, -3}},
111     {{2, 1}, {-5, 3}, {-4, -6}, {-3, 4}, {-2, 5}, {-1, 6}, {-7, -8}},
112     {{-1, 1}, {-8, 2}, {-2, 3}, {5, 4}, {-7, 6}, {-3, -5}, {-4, -6}},
113     {{-1, 1},
114      {3, 2},
115      {-8, 4},
116      {6, 5},
117      {-16, 7},
118      {9, 8},
119      {11, 10},
120      {-2, -7},
121      {-6, 12},
122      {-4, -5},
123      {-3, 13},
124      {-10, 14},
125      {-11, -12},
126      {-14, -15},
127      {-9, -13}},
128     {{2, 1},     {4, 3},     {6, 5},     {8, 7},    {10, 9},    {12, 11},
129      {14, 13},   {16, 15},   {18, 17},   {20, 19},  {22, 21},   {24, 23},
130      {26, 25},   {28, 27},   {30, 29},   {32, 31},  {-47, 33},  {-54, 34},
131      {-46, 35},  {-48, 36},  {-23, -27}, {-45, 37}, {-55, 38},  {-22, -49},
132      {-24, -53}, {-44, 39},  {-57, 40},  {-28, 41}, {-52, -56}, {-43, 42},
133      {-50, 43},  {-25, -26}, {-29, -64}, {-62, 44}, {-21, -51}, {-58, 45},
134      {-32, 46},  {-31, -42}, {-60, 47},  {-30, 48}, {-20, -61}, {-41, -63},
135      {-19, -59}, {-40, 49},  {-18, -38}, {-39, 50}, {-36, -37}, {-35, 51},
136      {-17, 52},  {-16, -34}, {-33, 53},  {-15, 54}, {-14, 55},  {-13, 56},
137      {-12, 57},  {-11, 58},  {-10, 59},  {-9, 60},  {-7, 61},   {-1, -4},
138      {-6, 62},   {-5, -8},   {-2, -3}}};
139 
140 const HUFF_LAV_NODES FDK_huffLavIdxNodes = {{{-1, 1}, {-2, 2}, {-3, -4}}};
141 
142 static const HUFF_ICC_NOD_1D FDK_huffICCNodes_h1D_0 = {
143     {{-1, 1}, {-2, 2}, {-3, 3}, {-4, 4}, {-5, 5}, {-6, 6}, {-7, -8}}};
144 
145 static const HUFF_ICC_NOD_2D FDK_huffICCNodes_h2D_0_0 = {
146     {{-1, 1}, {-18, 2}, {-2, -17}},
147     {{2, 1},
148      {-1, -52},
149      {-2, 3},
150      {5, 4},
151      {-51, 6},
152      {-18, 7},
153      {-17, 8},
154      {-3, 9},
155      {-36, 10},
156      {-19, -50},
157      {-35, 11},
158      {-4, 12},
159      {-34, 13},
160      {-33, 14},
161      {-20, -49}},
162     {{2, 1},     {-86, 3},  {-1, 4},   {6, 5},     {-2, 7},    {-85, 8},
163      {-18, 9},   {11, 10},  {-17, 12}, {14, 13},   {-70, 15},  {-3, -19},
164      {-69, 16},  {-84, 17}, {-68, 18}, {-20, -35}, {-34, -83}, {20, 19},
165      {-4, 21},   {-33, 22}, {-5, 23},  {-53, 24},  {-36, -52}, {-67, 25},
166      {-21, -82}, {-54, 26}, {-6, 27},  {-51, 28},  {-50, 29},  {-49, 30},
167      {-37, 31},  {-38, 0},  {0, 0},    {0, 0},     {0, 0}},
168     {{2, 1},     {4, 3},     {-1, -120}, {6, 5},      {8, 7},     {-18, 9},
169      {-2, 10},   {12, 11},   {14, 13},   {-17, -119}, {16, 15},   {-103, 17},
170      {-104, 18}, {-52, 19},  {21, 20},   {-69, 22},   {24, 23},   {-3, -35},
171      {-19, 25},  {-34, -85}, {27, 26},   {-86, 28},   {-118, 29}, {-37, 30},
172      {32, 31},   {-102, 33}, {-20, -22}, {-4, -117},  {-87, 34},  {-100, 35},
173      {-33, -36}, {37, 36},   {-70, -88}, {-101, 38},  {-5, 39},   {-51, -53},
174      {-50, 40},  {-115, 41}, {-21, 42},  {-116, 43},  {-38, 44},  {-23, -84},
175      {-49, -99}, {46, 45},   {-6, -114}, {-7, -72},   {-71, 47},  {-8, 0},
176      {0, 0},     {0, 0},     {0, 0},     {0, 0},      {0, 0},     {0, 0},
177      {0, 0},     {0, 0},     {0, 0},     {0, 0},      {0, 0},     {0, 0},
178      {0, 0},     {0, 0},     {0, 0}}};
179 static const HUFF_ICC_NOD_2D FDK_huffICCNodes_h2D_0_1 = {
180     {{-1, 1}, {-18, 2}, {-2, -17}},
181     {{2, 1},
182      {-1, -52},
183      {-17, 3},
184      {5, 4},
185      {-36, 6},
186      {-2, 7},
187      {-18, -33},
188      {9, 8},
189      {-20, 10},
190      {-34, -51},
191      {-49, 11},
192      {-35, 12},
193      {-19, 13},
194      {-3, 14},
195      {-4, -50}},
196     {{2, 1},     {-86, 3},   {-1, 4},   {-17, 5},   {7, 6},    {-70, 8},
197      {-33, 9},   {-18, 10},  {-2, 11},  {-54, 12},  {-49, 13}, {-38, 14},
198      {-34, -65}, {-85, 15},  {-50, 16}, {-69, 17},  {-22, 18}, {-53, 19},
199      {21, 20},   {-19, -81}, {-66, 22}, {-3, -35},  {24, 23},  {-37, 25},
200      {-68, -84}, {-51, 26},  {28, 27},  {-20, -52}, {30, 29},  {-4, -36},
201      {-83, 31},  {-67, 32},  {-82, 33}, {-21, 34},  {-5, -6}},
202     {{2, 1},     {-1, 3},     {-120, 4},  {-17, 5},    {7, 6},      {-104, 8},
203      {-33, 9},   {11, 10},    {13, 12},   {-49, 14},   {-88, 15},   {-18, -97},
204      {-65, 16},  {-40, 17},   {-2, -72},  {19, 18},    {-113, 20},  {-34, 21},
205      {-56, -81}, {23, 22},    {-50, 24},  {-82, -119}, {-24, -103}, {26, 25},
206      {28, 27},   {30, 29},    {-55, -87}, {-66, 31},   {33, 32},    {-98, 34},
207      {-35, -67}, {-19, 35},   {-70, 36},  {-71, 37},   {-51, -52},  {-3, 38},
208      {40, 39},   {-86, -118}, {42, 41},   {-39, -69},  {-54, -83},  {44, 43},
209      {-102, 45}, {-101, 46},  {-68, -85}, {-36, -53},  {-5, 0},     {0, 0},
210      {0, 0},     {0, 0},      {0, 0},     {0, 0},      {0, 0},      {0, 0},
211      {0, 0},     {0, 0},      {0, 0},     {0, 0},      {0, 0},      {0, 0},
212      {0, 0},     {0, 0},      {0, 0}}};
213 static const HUFF_ICC_NOD_2D FDK_huffICCNodes_h2D_1_0 = {
214     {{-1, 1}, {-18, 2}, {-2, -17}},
215     {{-52, 1},
216      {-1, 2},
217      {4, 3},
218      {-2, -17},
219      {-18, 5},
220      {-36, 6},
221      {-51, 7},
222      {9, 8},
223      {-33, 10},
224      {-34, 11},
225      {-35, 12},
226      {-19, -20},
227      {-3, 13},
228      {-49, 14},
229      {-4, -50}},
230     {{-1, 1},    {-86, 2},  {4, 3},     {-17, 5},  {-2, 6},    {-18, 7},
231      {-70, 8},   {-85, 9},  {11, 10},   {13, 12},  {-33, 14},  {16, 15},
232      {-34, -54}, {-69, 17}, {-38, 18},  {-50, 19}, {-35, -53}, {-49, 20},
233      {-19, 21},  {-3, 22},  {-65, 23},  {-68, 24}, {-22, 25},  {-81, -84},
234      {-66, 26},  {-37, 27}, {-20, -51}, {29, 28},  {-52, 30},  {-4, -83},
235      {-36, 31},  {-67, 32}, {-5, 33},   {-82, 34}, {-21, 0}},
236     {{-1, 1},    {-120, 2},  {4, 3},     {-17, 5},   {-2, 6},     {8, 7},
237      {-18, 9},   {-104, 10}, {12, 11},   {14, 13},   {16, 15},    {-119, 17},
238      {-81, 18},  {20, 19},   {-33, 21},  {-88, 22},  {-103, 23},  {-34, 24},
239      {-56, 25},  {-72, 26},  {-49, 27},  {-82, 28},  {-50, 29},   {-65, 30},
240      {-55, -87}, {-19, 31},  {-67, 32},  {-35, -40}, {34, 33},    {-52, -71},
241      {-66, 35},  {-70, 36},  {38, 37},   {-51, -97}, {-86, -102}, {-3, 39},
242      {-118, 40}, {42, 41},   {-24, -85}, {-54, 43},  {-39, 44},   {-98, -113},
243      {-36, -37}, {-20, -69}, {-4, 45},   {-5, 46},   {-21, 0},    {0, 0},
244      {0, 0},     {0, 0},     {0, 0},     {0, 0},     {0, 0},      {0, 0},
245      {0, 0},     {0, 0},     {0, 0},     {0, 0},     {0, 0},      {0, 0},
246      {0, 0},     {0, 0},     {0, 0}}};
247 static const HUFF_ICC_NOD_2D FDK_huffICCNodes_h2D_1_1 = {
248     {{-1, 1}, {-18, 2}, {-2, -17}},
249     {{-52, 1},
250      {-1, 2},
251      {4, 3},
252      {-2, 5},
253      {-17, -18},
254      {-51, 6},
255      {-36, 7},
256      {9, 8},
257      {-35, 10},
258      {-3, 11},
259      {-19, -34},
260      {-33, 12},
261      {-50, 13},
262      {-20, 14},
263      {-4, -49}},
264     {{2, 1},    {-86, 3},   {-1, 4},    {6, 5},     {-18, 7},  {-2, -17},
265      {9, 8},    {-70, 10},  {-69, -85}, {-35, 11},  {13, 12},  {-34, 14},
266      {-19, 15}, {-53, 16},  {-68, 17},  {-33, 18},  {-3, -52}, {20, 19},
267      {-54, 21}, {-84, 22},  {-50, 23},  {-20, -51}, {-36, 24}, {26, 25},
268      {-83, 27}, {-4, -38},  {-49, 28},  {-37, 29},  {-67, 30}, {-5, 31},
269      {-21, 32}, {-65, -66}, {-82, 33},  {-22, 34},  {-6, -81}},
270     {{2, 1},     {-1, -120}, {4, 3},     {6, 5},     {-18, 7},    {9, 8},
271      {-17, 10},  {-2, 11},   {-103, 12}, {-52, 13},  {-35, -104}, {-119, 14},
272      {16, 15},   {-69, -86}, {18, 17},   {-34, 19},  {-19, 20},   {22, 21},
273      {-70, 23},  {-87, 24},  {-102, 25}, {-85, 26},  {-33, 27},   {-36, 28},
274      {-3, 29},   {-88, 30},  {-51, 31},  {-118, 32}, {34, 33},    {-68, 35},
275      {-53, 36},  {-67, 37},  {-20, 38},  {-101, 39}, {-50, 40},   {42, 41},
276      {-37, 43},  {-116, 44}, {-117, 45}, {-49, 46},  {-21, -100}, {48, 47},
277      {-55, -71}, {-4, 49},   {-22, -84}, {-115, 50}, {-66, -82},  {-72, 51},
278      {-5, -6},   {-54, 52},  {-38, 53},  {-83, 54},  {-40, 55},   {-39, 56},
279      {-99, 57},  {-23, -56}, {-7, 58},   {-65, -97}, {-8, 0},     {0, 0},
280      {0, 0},     {0, 0},     {0, 0}}};
281 
282 const HUFF_ICC_NODES FDK_huffICCNodes = {
283     {&FDK_huffICCNodes_h1D_0, &FDK_huffICCNodes_h1D_0, &FDK_huffICCNodes_h1D_0},
284     {{&FDK_huffICCNodes_h2D_0_0, &FDK_huffICCNodes_h2D_0_1},
285      {&FDK_huffICCNodes_h2D_1_0, &FDK_huffICCNodes_h2D_1_1},
286      {&FDK_huffICCNodes_h2D_0_1, &FDK_huffICCNodes_h2D_0_1}}};
287 
288 static const HUFF_CLD_NOD_1D FDK_huffCLDNodes_h1D_0 = {
289     {{-1, 1},   {-2, 2},   {-3, 3},    {-4, 4},    {-5, 5},    {-6, 6},
290      {-7, 7},   {-8, 8},   {-9, 9},    {-10, 10},  {-11, 11},  {-12, 12},
291      {-13, 13}, {15, 14},  {-14, 16},  {-15, 17},  {-16, 18},  {-17, 19},
292      {-18, 20}, {-19, 21}, {-20, -21}, {-23, 22},  {-22, 23},  {-24, 24},
293      {-25, 25}, {27, 26},  {29, 28},   {-30, -31}, {-28, -29}, {-26, -27}}};
294 static const HUFF_CLD_NOD_1D FDK_huffCLDNodes_h1D_1 = {
295     {{-1, 1},   {-2, 2},    {-3, 3},   {-4, 4},    {-5, 5},    {-6, 6},
296      {-7, 7},   {9, 8},     {-8, 10},  {-9, 11},   {-10, 12},  {-11, 13},
297      {-12, 14}, {-13, 15},  {-14, 16}, {-15, 17},  {-16, 18},  {-17, 19},
298      {-18, 20}, {-19, -20}, {-21, 21}, {-22, 22},  {-23, 23},  {25, 24},
299      {-24, 26}, {-25, 27},  {29, 28},  {-26, -31}, {-29, -30}, {-27, -28}}};
300 
301 static const HUFF_CLD_NOD_2D FDK_huffCLDNodes_h2_0_0 = {
302     {{2, 1},
303      {-1, -52},
304      {4, 3},
305      {-2, 5},
306      {-51, 6},
307      {-17, -18},
308      {8, 7},
309      {10, 9},
310      {-3, -36},
311      {-19, 11},
312      {-35, -50},
313      {-34, 12},
314      {-4, 13},
315      {-33, 14},
316      {-20, -49}},
317     {{2, 1},     {4, 3},     {-86, 5},  {7, 6},    {9, 8},     {-1, -2},
318      {-85, 10},  {-18, 11},  {-17, 12}, {14, 13},  {-70, 15},  {17, 16},
319      {-19, -69}, {-84, 18},  {-3, 19},  {21, 20},  {-34, -68}, {-20, 22},
320      {-35, 23},  {-83, 24},  {-33, 25}, {-4, 26},  {-53, 27},  {-54, -67},
321      {-36, 28},  {-21, -52}, {-82, 29}, {-5, -50}, {-51, 30},  {-38, 31},
322      {-37, -49}, {-6, 32},   {-66, 33}, {-65, 34}, {-22, -81}},
323     {{2, 1},      {4, 3},      {-120, 5},  {7, 6},      {9, 8},     {11, 10},
324      {-1, 12},    {-18, -119}, {-2, 13},   {15, 14},    {-17, 16},  {-104, 17},
325      {19, 18},    {-19, 20},   {-103, 21}, {-118, 22},  {24, 23},   {-3, 25},
326      {27, 26},    {-34, 28},   {-102, 29}, {-20, 30},   {-35, 31},  {33, 32},
327      {-117, 34},  {-33, 35},   {-88, 36},  {-4, 37},    {-87, 38},  {40, 39},
328      {-36, -101}, {-86, 41},   {-21, -37}, {-85, -100}, {-52, 42},  {-22, 43},
329      {-116, 44},  {-50, 45},   {47, 46},   {-5, -51},   {-115, 48}, {-70, 49},
330      {-84, 50},   {-38, -49},  {-72, -99}, {-53, 51},   {-69, -71}, {-23, 52},
331      {-6, -67},   {-114, 53},  {-7, 54},   {-66, -68},  {-55, 55},  {57, 56},
332      {-54, -65},  {-8, -56},   {-82, -83}, {59, 58},    {-39, -40}, {-81, 60},
333      {-98, 61},   {-97, 62},   {-24, -113}},
334     {{2, 1},      {4, 3},      {6, 5},      {-154, 7},    {9, 8},
335      {11, 10},    {13, 12},    {15, 14},    {-18, 16},    {-153, 17},
336      {-1, -2},    {19, 18},    {-138, 20},  {-17, 21},    {23, 22},
337      {25, 24},    {-19, -137}, {27, 26},    {-152, 28},   {30, 29},
338      {-3, -34},   {32, 31},    {34, 33},    {36, 35},     {-136, 37},
339      {-35, 38},   {-20, 39},   {-122, 40},  {-151, 41},   {-33, 42},
340      {-121, 43},  {45, 44},    {47, 46},    {-4, 48},     {-36, -120},
341      {-135, 49},  {51, 50},    {-21, 52},   {54, 53},     {56, 55},
342      {-50, -150}, {58, 57},    {-51, 59},   {61, 60},     {-119, 62},
343      {-52, 63},   {-5, 64},    {-37, 65},   {-117, -134}, {-39, -54},
344      {-22, 66},   {-106, 67},  {-69, -102}, {-132, 68},   {-105, 69},
345      {-49, 70},   {-149, 71},  {-24, -104}, {73, 72},     {-53, 74},
346      {-38, -118}, {-103, 75},  {-6, 76},    {-66, -87},   {-133, -147},
347      {-23, 77},   {-67, 78},   {-68, -86},  {-70, -101},  {-40, -148},
348      {-116, 79},  {-55, 80},   {-84, -131}, {82, 81},     {-89, -90},
349      {-7, -25},   {-85, -88},  {-65, 83},   {-72, -146},  {85, 84},
350      {-9, -71},   {-83, 86},   {-82, 87},   {-8, 88},     {-100, 89},
351      {-74, -99},  {-73, 90},   {-10, -81},  {-56, 91},    {-57, -98},
352      {93, 92},    {-58, -114}, {-97, -115}, {95, 94},     {-41, 96},
353      {-42, 97},   {-26, -129}, {-113, 98},  {-130, -145}}};
354 static const HUFF_CLD_NOD_2D FDK_huffCLDNodes_h2_0_1 = {
355     {{-1, 1},
356      {-52, 2},
357      {-17, 3},
358      {5, 4},
359      {-36, 6},
360      {-33, 7},
361      {-2, -18},
362      {-20, 8},
363      {10, 9},
364      {-34, -49},
365      {-51, 11},
366      {-35, 12},
367      {-19, 13},
368      {-3, 14},
369      {-4, -50}},
370     {{2, 1},    {4, 3},     {-86, 5},  {-1, 6},   {-17, 7},   {-70, 8},
371      {10, 9},   {-18, 11},  {-33, 12}, {-54, 13}, {-2, 14},   {-34, 15},
372      {-38, 16}, {-49, 17},  {-85, 18}, {-50, 19}, {-69, 20},  {-53, -65},
373      {-22, 21}, {-66, 22},  {-19, 23}, {-37, 24}, {-35, -81}, {-3, 25},
374      {-51, 26}, {-68, -84}, {-52, 27}, {29, 28},  {-20, 30},  {-4, -36},
375      {-83, 31}, {-67, 32},  {-21, 33}, {-5, 34},  {-6, -82}},
376     {{2, 1},     {4, 3},     {6, 5},     {-120, 7},  {-17, 8},   {-1, -104},
377      {10, 9},    {12, 11},   {-18, 13},  {-33, -88}, {15, 14},   {17, 16},
378      {-2, 18},   {-34, 19},  {-72, 20},  {-49, 21},  {-119, 22}, {-50, 23},
379      {-103, 24}, {-56, 25},  {-65, 26},  {28, 27},   {-40, -87}, {-66, 29},
380      {-82, 30},  {32, 31},   {-19, -81}, {-71, 33},  {-97, 34},  {-35, -55},
381      {-24, 35},  {37, 36},   {-3, -98},  {-51, 38},  {-67, 39},  {-39, -118},
382      {-113, 40}, {-102, 41}, {-86, 42},  {-70, -83}, {44, 43},   {-20, -54},
383      {-52, 45},  {-36, 46},  {-4, 47},   {-68, 48},  {-85, 49},  {-101, -117},
384      {-69, 50},  {52, 51},   {-21, -37}, {-53, 53},  {55, 54},   {-5, -100},
385      {-116, 56}, {-84, 57},  {-38, 58},  {-22, -99}, {-115, 59}, {-6, 60},
386      {-23, 61},  {-7, 62},   {-114, 0}},
387     {{2, 1},      {4, 3},       {6, 5},       {-154, 7},    {9, 8},
388      {-17, 10},   {-138, 11},   {-1, 12},     {14, 13},     {16, 15},
389      {-33, -122}, {-18, 17},    {19, 18},     {-34, 20},    {-2, 21},
390      {-106, 22},  {-49, 23},    {25, 24},     {-50, 26},    {-153, 27},
391      {-90, 28},   {-137, 29},   {-65, 30},    {32, 31},     {-66, 33},
392      {-121, 34},  {-74, 35},    {-81, 36},    {38, 37},     {-42, 39},
393      {-82, 40},   {-105, 41},   {-19, -114},  {-58, 42},    {-35, 43},
394      {-97, 44},   {46, 45},     {-129, 47},   {-26, -89},   {-57, -98},
395      {-51, 48},   {-3, 49},     {-113, 50},   {-130, 51},   {-152, 52},
396      {-67, -73},  {-99, -136},  {-145, 53},   {-120, 54},   {-41, 55},
397      {-83, 56},   {-72, 57},    {-104, 58},   {-115, 59},   {-20, 60},
398      {62, 61},    {-36, -88},   {-84, 63},    {-52, -56},   {65, 64},
399      {-4, -87},   {-68, 66},    {-151, 67},   {-100, -135}, {69, 68},
400      {-69, -119}, {-103, 70},   {-71, 71},    {73, 72},     {-21, 74},
401      {-85, 75},   {-37, -53},   {-86, 76},    {78, 77},     {-102, -150},
402      {-5, 79},    {-134, 80},   {-118, 81},   {-54, -117},  {83, 82},
403      {-38, -70},  {-22, 84},    {-6, 85},     {87, 86},     {-55, 88},
404      {-101, 89},  {-133, -149}, {-24, -39},   {91, 90},     {-132, 92},
405      {-23, 93},   {-7, 94},     {-147, -148}, {-116, -131}, {-25, 95},
406      {-40, 0},    {0, 0},       {0, 0},       {0, 0}}};
407 static const HUFF_CLD_NOD_2D FDK_huffCLDNodes_h2_1_0 = {
408     {{-1, 1},
409      {-52, 2},
410      {-17, 3},
411      {5, 4},
412      {-2, -36},
413      {-18, 6},
414      {8, 7},
415      {-51, 9},
416      {-33, 10},
417      {-34, 11},
418      {-20, -35},
419      {-19, 12},
420      {-3, 13},
421      {-49, 14},
422      {-4, -50}},
423     {{2, 1},     {-86, 3},   {-1, 4},   {-17, 5},   {7, 6},    {-70, 8},
424      {-2, -18},  {10, 9},    {12, 11},  {-85, 13},  {-33, 14}, {-34, -54},
425      {16, 15},   {-69, 17},  {19, 18},  {-50, -53}, {-19, 20}, {-38, 21},
426      {-35, -49}, {-3, 22},   {24, 23},  {-68, 25},  {-84, 26}, {-65, 27},
427      {-51, -66}, {-22, -37}, {-52, 28}, {-20, 29},  {-36, 30}, {-81, 31},
428      {-4, -83},  {-67, 32},  {-21, 33}, {-5, 34},   {-6, -82}},
429     {{2, 1},     {-120, 3},   {-1, 4},     {6, 5},      {-17, 7},   {-104, 8},
430      {-18, 9},   {-2, 10},    {12, 11},    {14, 13},    {-119, 15}, {-33, 16},
431      {-34, -88}, {-103, 17},  {19, 18},    {21, 20},    {23, 22},   {25, 24},
432      {-19, -72}, {-50, 26},   {-49, 27},   {-87, 28},   {30, 29},   {32, 31},
433      {-3, -35},  {34, 33},    {-56, 35},   {-65, -66},  {-40, 36},  {-82, -118},
434      {-71, 37},  {-55, 38},   {-67, -102}, {-51, 39},   {-70, 40},  {42, 41},
435      {-81, 43},  {-86, 44},   {-52, -97},  {-98, 45},   {-24, -39}, {-20, 46},
436      {-54, -83}, {-36, 47},   {-85, 48},   {-68, 49},   {-4, 50},   {-69, -113},
437      {-117, 51}, {-37, -101}, {-53, 52},   {-21, 53},   {55, 54},   {-84, -100},
438      {-5, 56},   {-116, 57},  {-22, 58},   {-38, -115}, {60, 59},   {-6, -99},
439      {-23, 61},  {-114, 62},  {-7, -8}},
440     {{2, 1},     {-154, 3},    {5, 4},      {-1, 6},      {8, 7},
441      {-17, 9},   {-138, 10},   {-18, 11},   {-2, 12},     {14, 13},
442      {16, 15},   {-153, 17},   {-34, 18},   {-33, -122},  {20, 19},
443      {22, 21},   {-137, 23},   {25, 24},    {27, 26},     {-106, 28},
444      {30, 29},   {-50, 31},    {-19, 32},   {-49, -121},  {34, 33},
445      {36, 35},   {-35, 37},    {-90, 38},   {-66, 39},    {-3, 40},
446      {42, 41},   {-65, 43},    {-105, 44},  {46, 45},     {-74, 47},
447      {-51, 48},  {-82, -152},  {-136, 49},  {-81, 50},    {-42, -89},
448      {-114, 51}, {53, 52},     {-57, -58},  {-120, 54},   {-98, 55},
449      {-67, 56},  {-97, 57},    {59, 58},    {-99, 60},    {-73, -104},
450      {-72, 61},  {-113, 62},   {-20, -83},  {-84, -130},  {-36, 63},
451      {-26, 64},  {-41, 65},    {-52, -129}, {-87, -88},   {67, 66},
452      {-115, 68}, {-68, 69},    {-56, -69},  {-4, -100},   {-151, 70},
453      {-135, 71}, {-103, -119}, {73, 72},    {-71, -145},  {-102, 74},
454      {76, 75},   {-53, -85},   {-37, 77},   {-21, -86},   {79, 78},
455      {-5, 80},   {-54, -134},  {-150, 81},  {-118, 82},   {-70, 83},
456      {-117, 84}, {-22, -38},   {-101, 85},  {-55, 86},    {-149, 87},
457      {-39, 88},  {-133, 89},   {-6, 90},    {-116, 91},   {-24, 92},
458      {-7, -132}, {-23, 93},    {-40, 94},   {-131, -148}, {-25, 95},
459      {-147, 96}, {-146, 97},   {-8, 0},     {0, 0}}};
460 static const HUFF_CLD_NOD_2D FDK_huffCLDNodes_h2_1_1 = {
461     {{-1, 1},
462      {-52, 2},
463      {4, 3},
464      {-2, 5},
465      {-17, 6},
466      {-18, 7},
467      {-36, -51},
468      {9, 8},
469      {-35, 10},
470      {-34, 11},
471      {-19, -33},
472      {-3, 12},
473      {-20, 13},
474      {-50, 14},
475      {-4, -49}},
476     {{2, 1},    {-86, 3},   {5, 4},     {-1, 6},   {8, 7},    {-17, -18},
477      {-2, 9},   {-70, 10},  {-85, 11},  {13, 12},  {-69, 14}, {-34, 15},
478      {17, 16},  {-19, 18},  {-33, -35}, {-54, 19}, {-53, 20}, {-3, 21},
479      {-68, 22}, {-84, 23},  {-50, 24},  {-52, 25}, {-51, 26}, {-20, -36},
480      {-49, 27}, {-38, 28},  {-37, 29},  {-4, -83}, {-67, 30}, {-66, 31},
481      {-21, 32}, {-22, -65}, {-5, 33},   {-82, 34}, {-6, -81}},
482     {{2, 1},     {4, 3},      {-120, 5},   {7, 6},      {9, 8},     {-1, 10},
483      {-18, 11},  {-17, 12},   {-2, -104},  {-119, 13},  {15, 14},   {-103, 16},
484      {18, 17},   {-34, 19},   {-19, 20},   {22, 21},    {-35, 23},  {-33, 24},
485      {-88, 25},  {-87, 26},   {28, 27},    {-3, -102},  {-86, 29},  {-52, -118},
486      {31, 30},   {-50, 32},   {-51, 33},   {-70, 34},   {-36, 35},  {-85, 36},
487      {-20, 37},  {39, 38},    {-69, -71},  {-72, 40},   {-49, -67}, {42, 41},
488      {-68, 43},  {-4, -101},  {-53, -117}, {-37, 44},   {-66, 45},  {-55, 46},
489      {48, 47},   {-54, 49},   {-21, 50},   {-84, -100}, {-56, -65}, {52, 51},
490      {-82, -83}, {54, 53},    {-5, -116},  {-22, 55},   {-38, 56},  {-39, -40},
491      {58, 57},   {-81, -115}, {-98, -99},  {-6, 59},    {-23, 60},  {-24, 61},
492      {-7, -97},  {-114, 62},  {-8, -113}},
493     {{2, 1},       {4, 3},      {-154, 5},    {7, 6},      {9, 8},
494      {11, 10},     {-1, 12},    {-18, 13},    {-17, 14},   {-2, -138},
495      {16, 15},     {-153, 17},  {-137, 18},   {20, 19},    {22, 21},
496      {-34, 23},    {-19, 24},   {-35, 25},    {27, 26},    {29, 28},
497      {-121, 30},   {-120, 31},  {-136, 32},   {-33, -122}, {34, 33},
498      {-152, 35},   {-3, 36},    {-51, 37},    {-52, 38},   {-69, 39},
499      {-36, 40},    {-50, 41},   {43, 42},     {-20, 44},   {-104, 45},
500      {-103, 46},   {-87, 47},   {-119, 48},   {-105, 49},  {-86, 50},
501      {-102, 51},   {-106, 52},  {-49, -135},  {-68, 53},   {55, 54},
502      {-53, 56},    {-67, -151}, {-4, 57},     {-84, 58},   {-85, 59},
503      {-66, 60},    {-37, 61},   {-70, 62},    {-54, -88},  {-21, 63},
504      {65, 64},     {-89, 66},   {-118, 67},   {-72, 68},   {-90, 69},
505      {-71, 70},    {-65, -134}, {-150, 71},   {-83, 72},   {-5, 73},
506      {-101, -117}, {-82, 74},   {76, 75},     {-99, 77},   {-38, 78},
507      {-100, 79},   {-22, 80},   {-73, 81},    {-39, -74},  {83, 82},
508      {-55, -81},   {-57, 84},   {-133, -149}, {-56, 85},   {-6, 86},
509      {-98, 87},    {-132, 88},  {-23, 89},    {-114, 90},  {-116, 91},
510      {-58, -115},  {-24, 92},   {-97, -148},  {-40, -41},  {-7, -42},
511      {-147, 93},   {95, 94},    {-131, 96},   {-8, -130},  {-25, -113},
512      {-9, 97},     {-26, -129}, {-146, 98},   {-10, -145}}};
513 
514 const HUFF_CLD_NODES FDK_huffCLDNodes = {
515     {&FDK_huffCLDNodes_h1D_0, &FDK_huffCLDNodes_h1D_1, &FDK_huffCLDNodes_h1D_1},
516     {{&FDK_huffCLDNodes_h2_0_0, &FDK_huffCLDNodes_h2_0_1},
517      {&FDK_huffCLDNodes_h2_1_0, &FDK_huffCLDNodes_h2_1_1},
518      {&FDK_huffCLDNodes_h2_0_1, &FDK_huffCLDNodes_h2_0_1}}};
519 
520 const HUFF_RES_NODES FDK_huffReshapeNodes = {
521     {{2, 1},    {4, 3},     {6, 5},     {-33, 7},  {-17, 8},  {-49, 9},
522      {-34, 10}, {12, 11},   {-18, -35}, {-50, 13}, {15, 14},  {-40, 16},
523      {-36, 17}, {-19, 18},  {-1, -37},  {-51, 19}, {21, 20},  {-38, -65},
524      {-2, -39}, {-20, 22},  {-52, 23},  {25, 24},  {-21, 26}, {-66, 27},
525      {-53, 28}, {-3, 29},   {31, 30},   {-22, 32}, {-54, 33}, {-4, 34},
526      {-56, 35}, {-24, -67}, {-23, -55}, {-8, -72}, {-5, 36},  {-68, 37},
527      {-6, 38},  {-7, -69},  {-70, -71}}};
528 
529 const HUFF_IPD_NODES FDK_huffIPDNodes = {
530     {{{{-1, 1}, {-8, 2}, {-2, 3}, {5, 4}, {-3, -7}, {-6, 6}, {-4, -5}}},
531      {{{-1, 1}, {-2, 2}, {-8, 3}, {-3, 4}, {-7, 5}, {-4, 6}, {-5, -6}}},
532      {{{-1, 1}, {-8, 2}, {-2, 3}, {5, 4}, {-3, -7}, {-6, 6}, {-4, -5}}}},
533     {{{{{-1, 1}, {-18, 2}, {-17, 0}},
534        {{-1, 1},
535         {-36, 2},
536         {-18, 3},
537         {-35, 4},
538         {-52, 5},
539         {7, 6},
540         {-34, 8},
541         {-33, -49},
542         {-20, 0},
543         {0, 0},
544         {0, 0},
545         {0, 0},
546         {0, 0},
547         {0, 0},
548         {0, 0}},
549        {{-1, 1},    {3, 2},    {5, 4},     {-86, 6},   {-66, 7},  {9, 8},
550         {11, 10},   {-18, 12}, {-51, 13},  {-37, -52}, {-69, 14}, {-38, 15},
551         {-53, 16},  {-35, 17}, {-50, -70}, {-22, -49}, {-33, 18}, {-17, 19},
552         {-34, -65}, {-81, 20}, {-54, 0},   {0, 0},     {0, 0},    {0, 0},
553         {0, 0},     {0, 0},    {0, 0},     {0, 0},     {0, 0},    {0, 0},
554         {0, 0},     {0, 0},    {0, 0},     {0, 0},     {0, 0}},
555        {{2, 1},    {4, 3},       {-1, 5},    {-69, 6},   {-120, 7}, {-68, 8},
556         {10, 9},   {12, 11},     {14, 13},   {-52, -54}, {-18, 15}, {-70, 16},
557         {-67, 17}, {19, 18},     {-17, 20},  {-113, 21}, {23, 22},  {-83, 24},
558         {-24, 25}, {-103, -104}, {-51, -55}, {27, 26},   {-71, 28}, {-86, 29},
559         {-35, 30}, {-66, 31},    {-39, -50}, {-82, -98}, {-72, 32}, {-56, -87},
560         {-34, 33}, {-33, -88},   {-40, -97}, {-65, 34},  {-49, 35}, {-81, 0},
561         {0, 0},    {0, 0},       {0, 0},     {0, 0},     {0, 0},    {0, 0},
562         {0, 0},    {0, 0},       {0, 0},     {0, 0},     {0, 0},    {0, 0},
563         {0, 0},    {0, 0},       {0, 0},     {0, 0},     {0, 0},    {0, 0},
564         {0, 0},    {0, 0},       {0, 0},     {0, 0},     {0, 0},    {0, 0},
565         {0, 0},    {0, 0},       {0, 0}}},
566       {{{-1, 1}, {-18, 2}, {-17, 0}},
567        {{-1, 1},
568         {-36, 2},
569         {-18, 3},
570         {-35, 4},
571         {-52, 5},
572         {7, 6},
573         {-34, 8},
574         {-33, -49},
575         {-20, 0},
576         {0, 0},
577         {0, 0},
578         {0, 0},
579         {0, 0},
580         {0, 0},
581         {0, 0}},
582        {{-1, 1},    {3, 2},    {5, 4},     {-86, 6},   {-66, 7},  {9, 8},
583         {11, 10},   {-18, 12}, {-51, 13},  {-37, -52}, {-69, 14}, {-38, 15},
584         {-53, 16},  {-35, 17}, {-50, -70}, {-22, -49}, {-33, 18}, {-17, 19},
585         {-34, -65}, {-81, 20}, {-54, 0},   {0, 0},     {0, 0},    {0, 0},
586         {0, 0},     {0, 0},    {0, 0},     {0, 0},     {0, 0},    {0, 0},
587         {0, 0},     {0, 0},    {0, 0},     {0, 0},     {0, 0}},
588        {{2, 1},    {4, 3},       {-1, 5},    {-69, 6},   {-120, 7}, {-68, 8},
589         {10, 9},   {12, 11},     {14, 13},   {-52, -54}, {-18, 15}, {-70, 16},
590         {-67, 17}, {19, 18},     {-17, 20},  {-113, 21}, {23, 22},  {-83, 24},
591         {-24, 25}, {-103, -104}, {-51, -55}, {27, 26},   {-71, 28}, {-86, 29},
592         {-35, 30}, {-66, 31},    {-39, -50}, {-82, -98}, {-72, 32}, {-56, -87},
593         {-34, 33}, {-33, -88},   {-40, -97}, {-65, 34},  {-49, 35}, {-81, 0},
594         {0, 0},    {0, 0},       {0, 0},     {0, 0},     {0, 0},    {0, 0},
595         {0, 0},    {0, 0},       {0, 0},     {0, 0},     {0, 0},    {0, 0},
596         {0, 0},    {0, 0},       {0, 0},     {0, 0},     {0, 0},    {0, 0},
597         {0, 0},    {0, 0},       {0, 0},     {0, 0},     {0, 0},    {0, 0},
598         {0, 0},    {0, 0},       {0, 0}}}},
599      {{{{-1, 1}, {-18, 2}, {-17, 0}},
600        {{-1, 1},
601         {3, 2},
602         {-18, 4},
603         {-52, 5},
604         {-34, -36},
605         {-35, 6},
606         {-17, 7},
607         {-33, 8},
608         {-20, 9},
609         {-49, 0},
610         {0, 0},
611         {0, 0},
612         {0, 0},
613         {0, 0},
614         {0, 0}},
615        {{-1, 1},    {3, 2},   {-52, 4},   {-86, 5}, {-35, 6},   {-53, 7},
616         {-70, 8},   {-17, 9}, {-37, 10},  {12, 11}, {-38, -66}, {-18, 13},
617         {-51, 14},  {16, 15}, {-34, -69}, {18, 17}, {-54, -65}, {-50, 19},
618         {-33, -49}, {-22, 0}, {0, 0},     {0, 0},   {0, 0},     {0, 0},
619         {0, 0},     {0, 0},   {0, 0},     {0, 0},   {0, 0},     {0, 0},
620         {0, 0},     {0, 0},   {0, 0},     {0, 0},   {0, 0}},
621        {{-1, 1},    {-69, 2},   {4, 3},     {-120, 5},  {7, 6},     {-113, 8},
622         {-68, 9},   {11, 10},   {-17, 12},  {-52, 13},  {-24, 14},  {-18, 15},
623         {17, 16},   {-104, 18}, {20, 19},   {-54, -70}, {22, 21},   {24, 23},
624         {-86, -97}, {-103, 25}, {-83, 26},  {-35, 27},  {-34, -98}, {-40, 28},
625         {-39, -67}, {30, 29},   {-33, -51}, {-87, 31},  {-88, 32},  {-82, 33},
626         {-55, -81}, {-56, -71}, {-72, 34},  {-50, -66}, {-65, 35},  {-49, 0},
627         {0, 0},     {0, 0},     {0, 0},     {0, 0},     {0, 0},     {0, 0},
628         {0, 0},     {0, 0},     {0, 0},     {0, 0},     {0, 0},     {0, 0},
629         {0, 0},     {0, 0},     {0, 0},     {0, 0},     {0, 0},     {0, 0},
630         {0, 0},     {0, 0},     {0, 0},     {0, 0},     {0, 0},     {0, 0},
631         {0, 0},     {0, 0},     {0, 0}}},
632       {{{-1, 1}, {-18, 2}, {-17, 0}},
633        {{-1, 1},
634         {3, 2},
635         {-18, 4},
636         {-52, 5},
637         {-34, -36},
638         {-35, 6},
639         {-17, 7},
640         {-33, 8},
641         {-20, 9},
642         {-49, 0},
643         {0, 0},
644         {0, 0},
645         {0, 0},
646         {0, 0},
647         {0, 0}},
648        {{-1, 1},    {3, 2},   {-52, 4},   {-86, 5}, {-35, 6},   {-53, 7},
649         {-70, 8},   {-17, 9}, {-37, 10},  {12, 11}, {-38, -66}, {-18, 13},
650         {-51, 14},  {16, 15}, {-34, -69}, {18, 17}, {-54, -65}, {-50, 19},
651         {-33, -49}, {-22, 0}, {0, 0},     {0, 0},   {0, 0},     {0, 0},
652         {0, 0},     {0, 0},   {0, 0},     {0, 0},   {0, 0},     {0, 0},
653         {0, 0},     {0, 0},   {0, 0},     {0, 0},   {0, 0}},
654        {{-1, 1},    {-69, 2},   {4, 3},     {-120, 5},  {7, 6},     {-113, 8},
655         {-68, 9},   {11, 10},   {-17, 12},  {-52, 13},  {-24, 14},  {-18, 15},
656         {17, 16},   {-104, 18}, {20, 19},   {-54, -70}, {22, 21},   {24, 23},
657         {-86, -97}, {-103, 25}, {-83, 26},  {-35, 27},  {-34, -98}, {-40, 28},
658         {-39, -67}, {30, 29},   {-33, -51}, {-87, 31},  {-88, 32},  {-82, 33},
659         {-55, -81}, {-56, -71}, {-72, 34},  {-50, -66}, {-65, 35},  {-49, 0},
660         {0, 0},     {0, 0},     {0, 0},     {0, 0},     {0, 0},     {0, 0},
661         {0, 0},     {0, 0},     {0, 0},     {0, 0},     {0, 0},     {0, 0},
662         {0, 0},     {0, 0},     {0, 0},     {0, 0},     {0, 0},     {0, 0},
663         {0, 0},     {0, 0},     {0, 0},     {0, 0},     {0, 0},     {0, 0},
664         {0, 0},     {0, 0},     {0, 0}}}},
665      {{{{-1, 1}, {-18, 2}, {-17, 0}},
666        {{-1, 1},
667         {-36, 2},
668         {-18, 3},
669         {-35, 4},
670         {-52, 5},
671         {7, 6},
672         {-34, 8},
673         {-33, -49},
674         {-20, 0},
675         {0, 0},
676         {0, 0},
677         {0, 0},
678         {0, 0},
679         {0, 0},
680         {0, 0}},
681        {{-1, 1},    {3, 2},    {5, 4},     {-86, 6},   {-66, 7},  {9, 8},
682         {11, 10},   {-18, 12}, {-51, 13},  {-37, -52}, {-69, 14}, {-38, 15},
683         {-53, 16},  {-35, 17}, {-50, -70}, {-22, -49}, {-33, 18}, {-17, 19},
684         {-34, -65}, {-81, 20}, {-54, 0},   {0, 0},     {0, 0},    {0, 0},
685         {0, 0},     {0, 0},    {0, 0},     {0, 0},     {0, 0},    {0, 0},
686         {0, 0},     {0, 0},    {0, 0},     {0, 0},     {0, 0}},
687        {{2, 1},    {4, 3},       {-1, 5},    {-69, 6},   {-120, 7}, {-68, 8},
688         {10, 9},   {12, 11},     {14, 13},   {-52, -54}, {-18, 15}, {-70, 16},
689         {-67, 17}, {19, 18},     {-17, 20},  {-113, 21}, {23, 22},  {-83, 24},
690         {-24, 25}, {-103, -104}, {-51, -55}, {27, 26},   {-71, 28}, {-86, 29},
691         {-35, 30}, {-66, 31},    {-39, -50}, {-82, -98}, {-72, 32}, {-56, -87},
692         {-34, 33}, {-33, -88},   {-40, -97}, {-65, 34},  {-49, 35}, {-81, 0},
693         {0, 0},    {0, 0},       {0, 0},     {0, 0},     {0, 0},    {0, 0},
694         {0, 0},    {0, 0},       {0, 0},     {0, 0},     {0, 0},    {0, 0},
695         {0, 0},    {0, 0},       {0, 0},     {0, 0},     {0, 0},    {0, 0},
696         {0, 0},    {0, 0},       {0, 0},     {0, 0},     {0, 0},    {0, 0},
697         {0, 0},    {0, 0},       {0, 0}}},
698       {{{-1, 1}, {-18, 2}, {-17, 0}},
699        {{-1, 1},
700         {-36, 2},
701         {-18, 3},
702         {-35, 4},
703         {-52, 5},
704         {7, 6},
705         {-34, 8},
706         {-33, -49},
707         {-20, 0},
708         {0, 0},
709         {0, 0},
710         {0, 0},
711         {0, 0},
712         {0, 0},
713         {0, 0}},
714        {{-1, 1},    {3, 2},    {5, 4},     {-86, 6},   {-66, 7},  {9, 8},
715         {11, 10},   {-18, 12}, {-51, 13},  {-37, -52}, {-69, 14}, {-38, 15},
716         {-53, 16},  {-35, 17}, {-50, -70}, {-22, -49}, {-33, 18}, {-17, 19},
717         {-34, -65}, {-81, 20}, {-54, 0},   {0, 0},     {0, 0},    {0, 0},
718         {0, 0},     {0, 0},    {0, 0},     {0, 0},     {0, 0},    {0, 0},
719         {0, 0},     {0, 0},    {0, 0},     {0, 0},     {0, 0}},
720        {{2, 1},    {4, 3},       {-1, 5},    {-69, 6},   {-120, 7}, {-68, 8},
721         {10, 9},   {12, 11},     {14, 13},   {-52, -54}, {-18, 15}, {-70, 16},
722         {-67, 17}, {19, 18},     {-17, 20},  {-113, 21}, {23, 22},  {-83, 24},
723         {-24, 25}, {-103, -104}, {-51, -55}, {27, 26},   {-71, 28}, {-86, 29},
724         {-35, 30}, {-66, 31},    {-39, -50}, {-82, -98}, {-72, 32}, {-56, -87},
725         {-34, 33}, {-33, -88},   {-40, -97}, {-65, 34},  {-49, 35}, {-81, 0},
726         {0, 0},    {0, 0},       {0, 0},     {0, 0},     {0, 0},    {0, 0},
727         {0, 0},    {0, 0},       {0, 0},     {0, 0},     {0, 0},    {0, 0},
728         {0, 0},    {0, 0},       {0, 0},     {0, 0},     {0, 0},    {0, 0},
729         {0, 0},    {0, 0},       {0, 0},     {0, 0},     {0, 0},    {0, 0},
730         {0, 0},    {0, 0},       {0, 0}}}}}};
731 
732 static const HUFF_OLD_NOD_1D huffOLDNodes_h1D_0 = {{{-1, 1},
733                                                     {3, 2},
734                                                     {-2, 4},
735                                                     {-3, 5},
736                                                     {-4, 6},
737                                                     {-5, 7},
738                                                     {-6, -8},
739                                                     {-7, 8},
740                                                     {10, 9},
741                                                     {12, 11},
742                                                     {-9, -11},
743                                                     {-10, 13},
744                                                     {-12, 14},
745                                                     {-13, -16},
746                                                     {-14, -15}}};
747 
748 static const HUFF_OLD_NOD_1D huffOLDNodes_h1D_1 = {{{-1, 1},
749                                                     {-2, 2},
750                                                     {4, 3},
751                                                     {-3, 5},
752                                                     {-4, 6},
753                                                     {-5, 7},
754                                                     {-6, -8},
755                                                     {-7, 8},
756                                                     {10, 9},
757                                                     {12, 11},
758                                                     {-9, 13},
759                                                     {-16, 14},
760                                                     {-10, -15},
761                                                     {-11, -12},
762                                                     {-13, -14}}};
763 
764 static const HUFF_OLD_NOD_2D huffOLDNodes_h2D_0_0 = {
765     {{2, 1},
766      {-1, 3},
767      {5, 4},
768      {-2, 6},
769      {-3, -4},
770      {-17, 7},
771      {-18, 8},
772      {-19, 9},
773      {-20, 10},
774      {-52, 11},
775      {-33, 12},
776      {-34, -35},
777      {-36, 13},
778      {-51, 14},
779      {-49, -50}},
780     {{-1, 1},    {3, 2},     {5, 4},     {7, 6},      {-103, 8}, {10, 9},
781      {12, 11},   {-18, 13},  {15, 14},   {-2, 16},    {-86, 17}, {-35, 18},
782      {20, 19},   {-102, 21}, {23, 22},   {-69, 24},   {-87, 25}, {-3, 26},
783      {-17, 27},  {-19, 28},  {-52, 29},  {-34, -101}, {31, 30},  {-85, 32},
784      {34, 33},   {-20, -70}, {-4, 35},   {-71, -100}, {-5, -33}, {-50, 36},
785      {-36, -55}, {-54, -84}, {38, 37},   {-51, -53},  {-21, 39}, {-6, -99},
786      {-37, -68}, {-83, 40},  {-7, -49},  {-22, -98},  {42, 41},  {44, 43},
787      {-66, 45},  {-67, 46},  {-38, -39}, {-65, -82},  {-23, 47}, {-81, -97}},
788     {{-1, 1},     {3, 2},       {5, 4},      {7, 6},      {9, 8},
789      {11, 10},    {13, 12},     {15, 14},    {-154, 16},  {-103, 17},
790      {19, 18},    {21, 20},     {-18, 22},   {24, 23},    {26, 25},
791      {28, 27},    {-137, 29},   {31, 30},    {-2, -51},   {33, 32},
792      {-35, 34},   {-26, 35},    {37, 36},    {-8, 38},    {-70, -153},
793      {40, 39},    {-120, 41},   {-52, 42},   {44, 43},    {-3, -138},
794      {46, 45},    {48, 47},     {-34, 49},   {-7, 50},    {-19, 51},
795      {-17, 52},   {-152, 53},   {-4, -151},  {-33, 54},   {-106, 55},
796      {-53, -122}, {-105, -136}, {-121, 56},  {-104, 57},  {-50, -118},
797      {-20, 58},   {-5, 59},     {-38, 60},   {-133, 61},  {-148, 62},
798      {-23, -135}, {-36, 63},    {-6, 64},    {66, 65},    {-21, -150},
799      {68, 67},    {-49, 69},    {-134, 70},  {-119, 71},  {-37, 72},
800      {-149, 73},  {-9, 74},     {-69, 75},   {-86, 76},   {-22, 77},
801      {-68, 78},   {80, 79},     {82, 81},    {84, 83},    {-88, 85},
802      {-132, 86},  {-90, 87},    {-10, -117}, {-67, 88},   {-71, 89},
803      {-87, 90},   {-54, -66},   {-25, 91},   {-89, 92},   {-72, 93},
804      {-131, 94},  {-113, -115}, {-99, 95},   {-73, -116}, {-24, -85},
805      {-84, -102}, {-39, 96},    {-55, -98},  {-81, -97},  {-82, -83},
806      {-114, 97},  {-146, -147}, {-42, -101}, {-57, -100}, {-65, -130},
807      {-74, 98},   {-56, -58},   {-40, -129}, {-41, -145}},
808     {{2, 1},       {4, 3},       {6, 5},       {8, 7},       {10, 9},
809      {12, 11},     {-4, 13},     {-11, -28},   {-21, 14},    {-1, 15},
810      {17, 16},     {19, 18},     {-38, 20},    {22, 21},     {24, 23},
811      {26, 25},     {28, 27},     {-54, 29},    {31, 30},     {-44, 32},
812      {-45, 33},    {-37, 34},    {-5, 35},     {-27, 36},    {38, 37},
813      {40, 39},     {-53, 41},    {-12, 42},    {-22, 43},    {-20, 44},
814      {-36, 45},    {-43, 46},    {-6, 47},     {-205, 48},   {-51, -52},
815      {-35, 49},    {-34, 50},    {-13, 51},    {-42, 52},    {-29, 53},
816      {-18, -41},   {55, 54},     {-17, -26},   {-19, 56},    {-7, 57},
817      {-23, -188},  {59, 58},     {-10, 60},    {62, 61},     {-39, 63},
818      {-33, 64},    {-2, 65},     {-204, 66},   {68, 67},     {-189, 69},
819      {-171, 70},   {72, 71},     {74, 73},     {-203, 75},   {-3, -25},
820      {-24, 76},    {78, 77},     {80, 79},     {82, 81},     {-173, 83},
821      {-172, -187}, {85, 84},     {-86, 86},    {-50, 87},    {-202, 88},
822      {90, 89},     {-154, 91},   {93, 92},     {-120, 94},   {96, 95},
823      {-186, 97},   {99, 98},     {-69, 100},   {-156, -157}, {102, 101},
824      {104, 103},   {-170, -201}, {-103, 105},  {107, 106},   {-155, 108},
825      {-137, 109},  {-185, 110},  {-49, 111},   {-8, 112},    {-66, 113},
826      {-67, 114},   {116, 115},   {-169, 117},  {-141, 118},  {120, 119},
827      {122, 121},   {-200, 123},  {-68, -121},  {125, 124},   {-136, 126},
828      {-140, 127},  {-71, 128},   {-139, 129},  {-151, -184}, {-82, 130},
829      {-56, -101},  {132, 131},   {-9, -153},   {-40, 133},   {-138, 134},
830      {-83, -199},  {-84, 135},   {-90, -168},  {-65, -91},   {-102, 136},
831      {-135, -166}, {-72, -183},  {-87, -150},  {-181, 137},  {-125, 138},
832      {-55, -70},   {-85, -152},  {-106, -124}, {-89, -123},  {-198, 139},
833      {-57, 140},   {-105, 141},  {-167, -196}, {-81, -122},  {-182, 142},
834      {-99, -180},  {-100, -104}, {-116, -165}, {-98, 143},   {-117, -119},
835      {-88, -134},  {-197, 144},  {-73, -195},  {-92, -149},  {-118, -164},
836      {-58, -108},  {-107, -179}, {-109, 145},  {-93, -97},   {-115, -194},
837      {-114, 146},  {-113, 147},  {149, 148},   {151, 150},   {153, 152},
838      {155, 154},   {157, 156},   {159, 158},   {161, 160},   {163, 162},
839      {165, 164},   {167, 166},   {-178, -193}, {-163, -177}, {-161, -162},
840      {-147, -148}, {-145, -146}, {-132, -133}, {-130, -131}, {-77, -129},
841      {-75, -76},   {-61, -74},   {-59, -60}}};
842 
843 static const HUFF_OLD_NOD_2D huffOLDNodes_h2D_0_1 = {
844     {{-1, 1},
845      {3, 2},
846      {5, 4},
847      {-52, 6},
848      {-49, 7},
849      {9, 8},
850      {-17, 10},
851      {-36, 11},
852      {-18, 12},
853      {-2, -3},
854      {-35, 13},
855      {-34, -50},
856      {-4, -33},
857      {-20, 14},
858      {-19, -51}},
859     {{-1, 1},     {3, 2},    {-103, 4},   {6, 5},     {8, 7},    {-18, 9},
860      {11, 10},    {-87, 12}, {-17, 13},   {15, 14},   {-86, 16}, {18, 17},
861      {-71, 19},   {21, 20},  {-33, -35},  {-34, 22},  {-55, 23}, {-2, 24},
862      {-50, -102}, {26, 25},  {-49, 27},   {-69, -70}, {-39, 28}, {-65, 29},
863      {-66, 30},   {-54, 31}, {-19, 32},   {-23, -52}, {-51, 33}, {-81, 34},
864      {-82, 35},   {-3, -38}, {-85, -101}, {-67, -97}, {37, 36},  {-20, -53},
865      {-36, 38},   {40, 39},  {-100, 41},  {-4, -84},  {-68, 42}, {-21, 43},
866      {-37, 44},   {-99, 45}, {-5, -83},   {-22, 46},  {-98, 47}, {-6, -7}},
867     {{-1, 1},    {3, 2},       {5, 4},       {7, 6},       {9, 8},
868      {-154, 10}, {12, 11},     {14, 13},     {-18, 15},    {17, 16},
869      {19, 18},   {21, 20},     {-17, 22},    {-137, 23},   {-35, 24},
870      {-138, 25}, {27, 26},     {-113, 28},   {-34, 29},    {31, 30},
871      {33, 32},   {-122, 34},   {-33, 35},    {-73, 36},    {38, 37},
872      {40, 39},   {-106, 41},   {-52, 42},    {-58, -120},  {-50, 43},
873      {45, 44},   {-49, 46},    {-10, -103},  {-36, 47},    {-54, -90},
874      {-53, 48},  {-2, 49},     {-98, -153},  {-121, 50},   {-66, 51},
875      {-65, -72}, {-51, 52},    {-74, 53},    {-9, 54},     {-105, 55},
876      {-71, -82}, {-19, -55},   {-81, 56},    {58, 57},     {-83, 59},
877      {-68, -88}, {-89, -97},   {-70, 60},    {-3, 61},     {-67, 62},
878      {64, 63},   {-69, 65},    {-104, 66},   {-136, -152}, {68, 67},
879      {-8, -26},  {-37, 69},    {-4, 70},     {72, 71},     {-22, 73},
880      {-42, 74},  {-7, -20},    {76, 75},     {78, 77},     {-6, 79},
881      {-114, 80}, {-25, -135},  {-119, -151}, {-24, 81},    {-57, 82},
882      {-5, 83},   {-99, 84},    {-23, -130},  {-129, 85},   {-118, 86},
883      {-21, -41}, {-86, 87},    {-115, -145}, {-84, 88},    {-87, -150},
884      {-38, -56}, {-134, 89},   {-100, 90},   {-85, -133},  {-149, 91},
885      {-102, 92}, {-117, -148}, {94, 93},     {-39, 95},    {-101, 96},
886      {-116, 97}, {-131, -132}, {-40, 98},    {-146, -147}},
887     {{2, 1},       {-1, 3},      {5, 4},       {7, 6},      {9, 8},
888      {-205, 10},   {12, 11},     {14, 13},     {16, 15},    {-18, 17},
889      {19, 18},     {21, 20},     {23, 22},     {-189, 24},  {-188, 25},
890      {27, 26},     {-17, 28},    {-173, 29},   {31, 30},    {33, 32},
891      {-34, -157},  {-35, 34},    {-33, 35},    {37, 36},    {39, 38},
892      {41, 40},     {-50, 42},    {-49, 43},    {-141, 44},  {-204, 45},
893      {-2, -171},   {-172, 46},   {-66, 47},    {49, 48},    {51, 50},
894      {-65, 52},    {-125, 53},   {-156, 54},   {-82, 55},   {57, 56},
895      {59, 58},     {-19, -52},   {61, 60},     {-81, 62},   {64, 63},
896      {-109, -140}, {-51, 65},    {67, 66},     {-98, 68},   {70, 69},
897      {72, 71},     {-67, -93},   {74, 73},     {-203, 75},  {-154, 76},
898      {-124, 77},   {-97, -187},  {-114, 78},   {-61, 79},   {-155, 80},
899      {82, 81},     {-113, 83},   {-3, -146},   {-83, 84},   {-108, 85},
900      {-20, 86},    {-76, 87},    {-45, -77},   {-139, 88},  {90, 89},
901      {-69, -130},  {-129, 91},   {-36, 92},    {-99, -161}, {94, 93},
902      {-92, -162},  {-68, 95},    {-29, 96},    {-86, 97},   {-60, 98},
903      {-123, -177}, {-145, 99},   {-91, -131},  {101, 100},  {-137, -178},
904      {-115, 102},  {-84, -116},  {-147, 103},  {-4, 104},   {-106, -202},
905      {106, 105},   {-132, -186}, {-107, 107},  {-193, 108}, {-100, -120},
906      {-75, -170},  {-44, 109},   {-122, -163}, {-138, 110}, {-90, 111},
907      {-37, 112},   {-101, 113},  {-121, 114},  {116, 115},  {-103, 117},
908      {-74, -201},  {-21, -85},   {-53, -59},   {-117, 118}, {-148, 119},
909      {-5, 120},    {-169, 121},  {-105, -185}, {123, 122},  {-102, -133},
910      {-136, 124},  {-153, 125},  {127, 126},   {-54, 128},  {130, 129},
911      {-22, -104},  {-38, 131},   {-89, -118},  {-184, 132}, {-71, 133},
912      {-87, 134},   {-70, 135},   {-200, 136},  {-168, 137}, {-152, 138},
913      {-6, -23},    {-39, 139},   {-119, -199}, {141, 140},  {-55, 142},
914      {-7, -151},   {-183, 143},  {145, 144},   {-135, 146}, {-56, 147},
915      {-150, 148},  {-40, 149},   {-72, -198},  {-88, 150},  {-57, -134},
916      {-41, 151},   {-166, -167}, {-25, -165},  {-9, 152},   {-8, -24},
917      {-73, -181},  {-182, 153},  {155, 154},   {-197, 156}, {-42, -180},
918      {158, 157},   {-43, -149},  {-196, 159},  {-58, -164}, {-26, 160},
919      {162, 161},   {164, 163},   {166, 165},   {-195, 167}, {-179, -194},
920      {-27, -28},   {-12, -13},   {-10, -11}}};
921 
922 static const HUFF_OLD_NOD_2D huffOLDNodes_h2D_1_0 = {
923     {{-1, 1},
924      {-52, 2},
925      {4, 3},
926      {-18, 5},
927      {7, 6},
928      {-17, 8},
929      {-36, 9},
930      {-35, 10},
931      {-2, 11},
932      {-19, 12},
933      {-33, -51},
934      {-20, -34},
935      {14, 13},
936      {-3, -49},
937      {-4, -50}},
938     {{-1, 1},    {3, 2},    {5, 4},     {-103, 6},  {8, 7},      {-18, 9},
939      {11, 10},   {13, 12},  {-86, 14},  {-87, 15},  {17, 16},    {-35, 18},
940      {-17, 19},  {21, 20},  {-34, -71}, {23, 22},   {-50, -55},  {-33, 24},
941      {-69, 25},  {-2, -70}, {27, 26},   {-102, 28}, {-49, 29},   {-66, 30},
942      {-39, -54}, {-52, 31}, {-51, 32},  {-65, 33},  {-19, 34},   {-38, -82},
943      {-23, -85}, {-67, 35}, {-81, 36},  {-3, 37},   {-53, -101}, {-20, -97},
944      {39, 38},   {-36, 40}, {-84, 41},  {-100, 42}, {-4, -68},   {-21, 43},
945      {-37, 44},  {-83, 45}, {-5, -99},  {-22, 46},  {-98, 47},   {-6, -7}},
946     {{-1, 1},      {3, 2},      {5, 4},      {7, 6},      {9, 8},
947      {-154, 10},   {12, 11},    {14, 13},    {-18, 15},   {17, 16},
948      {-113, 18},   {20, 19},    {-137, 21},  {23, 22},    {25, 24},
949      {27, 26},     {-35, 28},   {-138, 29},  {-58, 30},   {-103, 31},
950      {-98, 32},    {34, 33},    {-122, 35},  {-120, 36},  {-17, -73},
951      {-34, 37},    {-106, 38},  {-50, 39},   {-83, -90},  {-74, 40},
952      {-52, 41},    {-66, -121}, {-33, -88},  {43, 42},    {-82, -105},
953      {-49, 44},    {-68, -153}, {-2, -89},   {-51, -65},  {-67, 45},
954      {-81, -97},   {47, 46},    {-104, 48},  {-19, 49},   {51, 50},
955      {53, 52},     {55, 54},    {-136, 56},  {-152, 57},  {-3, 58},
956      {60, 59},     {62, 61},    {64, 63},    {-36, 65},   {-20, 66},
957      {-53, 67},    {-114, 68},  {-57, -99},  {-72, 69},   {-69, 70},
958      {-42, 71},    {-151, 72},  {-119, 73},  {-84, -118}, {-135, 74},
959      {-4, -130},   {-115, 75},  {-26, -41},  {-87, 76},   {-56, -86},
960      {-100, 77},   {-37, -129}, {-21, 78},   {-38, 79},   {-71, -145},
961      {-134, 80},   {-85, 81},   {-150, 82},  {-5, 83},    {-133, 84},
962      {-102, 85},   {-22, 86},   {-23, 87},   {-54, 88},   {-149, 89},
963      {-117, -148}, {-70, 90},   {-6, -101},  {92, 91},    {-8, -55},
964      {-7, 93},     {-132, 94},  {-39, -116}, {-24, 95},   {-147, 96},
965      {-40, 97},    {-10, -131}, {-146, 98},  {-9, -25}},
966     {{2, 1},       {-1, 3},      {5, 4},       {7, 6},       {9, 8},
967      {11, 10},     {13, 12},     {-205, 14},   {16, 15},     {18, 17},
968      {20, 19},     {-18, 21},    {23, 22},     {25, 24},     {27, 26},
969      {29, 28},     {-188, 30},   {32, 31},     {34, 33},     {36, 35},
970      {-189, 37},   {39, 38},     {-35, 40},    {42, 41},     {44, 43},
971      {46, 45},     {-173, 47},   {49, 48},     {-34, 50},    {-17, 51},
972      {53, 52},     {-157, 54},   {56, 55},     {58, 57},     {-171, 59},
973      {-50, 60},    {62, 61},     {-66, -141},  {-172, 63},   {-125, 64},
974      {66, 65},     {-33, 67},    {-52, 68},    {-204, 69},   {-82, 70},
975      {-156, 71},   {-2, 72},     {74, 73},     {-109, 75},   {-51, -98},
976      {77, 76},     {-49, -140},  {79, 78},     {-146, 80},   {-124, 81},
977      {-61, -93},   {-19, -76},   {-81, -154},  {-65, -114},  {83, 82},
978      {-83, -108},  {-67, 84},    {-77, 85},    {-130, 86},   {-99, -155},
979      {88, 87},     {-97, 89},    {-69, -91},   {-92, 90},    {-131, 91},
980      {93, 92},     {-116, -187}, {-123, 94},   {-60, 95},    {-86, -139},
981      {97, 96},     {-68, -162},  {99, 98},     {-45, -113},  {-147, -203},
982      {-115, 100},  {-75, 101},   {-84, -106},  {-129, 102},  {-3, 103},
983      {-137, 104},  {-132, 105},  {-44, -120},  {-107, 106},  {-20, -100},
984      {-36, 107},   {-90, -163},  {-161, 108},  {-59, -145},  {-101, 109},
985      {-29, -138},  {-121, 110},  {-177, -178}, {-186, 111},  {-122, -148},
986      {-117, 112},  {-85, -170},  {-202, 113},  {-4, 114},    {-37, -105},
987      {-74, 115},   {-133, 116},  {-102, 117},  {119, 118},   {-89, -193},
988      {-103, 120},  {-21, -53},   {-153, 121},  {123, 122},   {125, 124},
989      {-185, 126},  {-104, -169}, {-201, 127},  {-136, 128},  {-118, 129},
990      {-87, 130},   {-5, 131},    {-38, 132},   {-54, 133},   {-70, -184},
991      {-71, -168},  {-22, 134},   {136, 135},   {-151, -152}, {-55, 137},
992      {-6, 138},    {-39, -72},   {-200, 139},  {-167, 140},  {142, 141},
993      {-119, -166}, {-88, 143},   {-23, -135},  {-199, 144},  {-165, 145},
994      {-56, -150},  {-57, -183},  {-7, 146},    {-41, 147},   {-181, 148},
995      {-134, 149},  {-24, -25},   {-40, 150},   {-73, 151},   {-9, 152},
996      {-43, 153},   {-182, -197}, {-8, -195},   {-198, 154},  {-149, 155},
997      {157, 156},   {159, 158},   {161, 160},   {163, 162},   {165, 164},
998      {167, 166},   {-194, -196}, {-179, -180}, {-58, -164},  {-28, -42},
999      {-26, -27},   {-12, -13},   {-10, -11}}};
1000 
1001 static const HUFF_OLD_NOD_2D huffOLDNodes_h2D_1_1 = {
1002     {{-1, 1},
1003      {-52, 2},
1004      {4, 3},
1005      {6, 5},
1006      {-18, 7},
1007      {-2, 8},
1008      {-17, 9},
1009      {-35, 10},
1010      {-36, -51},
1011      {-34, 11},
1012      {-33, 12},
1013      {-19, 13},
1014      {-3, -20},
1015      {-50, 14},
1016      {-4, -49}},
1017     {{-1, 1},   {3, 2},      {5, 4},     {-103, 6},  {8, 7},     {-18, 9},
1018      {11, 10},  {13, 12},    {-86, 14},  {16, 15},   {-2, -35},  {-17, 17},
1019      {-87, 18}, {-102, 19},  {21, 20},   {-69, 22},  {-34, 23},  {-19, 24},
1020      {26, 25},  {-3, 27},    {-52, -70}, {-33, -71}, {-85, 28},  {-101, 29},
1021      {31, 30},  {-50, 32},   {-51, 33},  {-20, 34},  {-36, 35},  {-4, -55},
1022      {-54, 36}, {-49, -100}, {-53, 37},  {-84, 38},  {-68, 39},  {41, 40},
1023      {-5, 42},  {-21, 43},   {-65, -66}, {-67, 44},  {-37, -99}, {-39, 45},
1024      {-6, 46},  {-38, -83},  {-22, 47},  {-81, -82}, {-7, -98},  {-23, -97}},
1025     {{-1, 1},      {3, 2},      {5, 4},      {7, 6},      {9, 8},
1026      {-154, 10},   {-103, 11},  {13, 12},    {-18, 14},   {16, 15},
1027      {-137, 17},   {19, 18},    {-35, 20},   {22, 21},    {-120, 23},
1028      {25, 24},     {-52, 26},   {-2, 27},    {-138, 28},  {-153, 29},
1029      {-17, 30},    {32, 31},    {34, 33},    {-34, 35},   {-19, 36},
1030      {38, 37},     {40, 39},    {-3, 41},    {-121, 42},  {-122, 43},
1031      {-136, -152}, {-33, 44},   {-104, 45},  {-105, 46},  {-51, -106},
1032      {-50, 47},    {-36, 48},   {-20, 49},   {-53, -119}, {-4, 50},
1033      {-135, -151}, {-68, 51},   {53, 52},    {-49, 54},   {56, 55},
1034      {-118, 57},   {-88, 58},   {60, 59},    {-5, -8},    {-38, 61},
1035      {63, 62},     {-21, 64},   {-37, -83},  {-67, 65},   {-66, -133},
1036      {-6, 66},     {-150, 67},  {-134, 68},  {-23, -65},  {-73, -90},
1037      {-69, -89},   {-148, 69},  {-7, -22},   {-98, -113}, {71, 70},
1038      {-82, 72},    {-86, -149}, {-58, -81},  {-74, 73},   {75, 74},
1039      {77, 76},     {-87, -97},  {-102, 78},  {80, 79},    {-84, 81},
1040      {-85, 82},    {-54, 83},   {-70, 84},   {-72, 85},   {-117, 86},
1041      {-71, 87},    {-99, 88},   {-101, 89},  {-39, -100}, {-55, 90},
1042      {-57, 91},    {-132, 92},  {-56, 93},   {-24, -114}, {-115, 94},
1043      {-40, -116},  {-42, -147}, {-9, -41},   {-131, 95},  {97, 96},
1044      {-129, 98},   {-25, -130}, {-26, -146}, {-10, -145}},
1045     {{2, 1},       {-1, 3},      {5, 4},       {7, 6},       {9, 8},
1046      {11, 10},     {13, 12},     {-205, 14},   {16, 15},     {18, 17},
1047      {-18, 19},    {21, 20},     {23, 22},     {-188, 24},   {26, 25},
1048      {28, 27},     {30, 29},     {-35, 31},    {33, 32},     {35, 34},
1049      {-171, 36},   {-189, 37},   {-204, 38},   {40, 39},     {-2, 41},
1050      {43, 42},     {-17, 44},    {-52, 45},    {-34, 46},    {-19, 47},
1051      {49, 48},     {-154, 50},   {52, 51},     {54, 53},     {-172, 55},
1052      {-173, 56},   {-69, -187},  {-203, 57},   {59, 58},     {-86, 60},
1053      {-3, 61},     {63, 62},     {-33, -50},   {-51, 64},    {-36, 65},
1054      {-137, 66},   {-20, 67},    {69, 68},     {-120, 70},   {72, 71},
1055      {-156, -157}, {-155, 73},   {-170, 74},   {76, 75},     {-186, -202},
1056      {78, 77},     {80, 79},     {82, 81},     {-4, -67},    {-49, -103},
1057      {-66, 83},    {-68, 84},    {-53, 85},    {-21, 86},    {-37, 87},
1058      {89, 88},     {91, 90},     {93, 92},     {-138, 94},   {-140, 95},
1059      {-141, -153}, {-139, 96},   {-201, 97},   {-185, 98},   {-121, 99},
1060      {-169, 100},  {-5, 101},    {-136, 102},  {-65, -84},   {-83, -85},
1061      {-82, 103},   {-70, 104},   {-54, 105},   {-38, 106},   {108, 107},
1062      {-101, 109},  {-22, -102},  {-122, -123}, {111, 110},   {113, 112},
1063      {-125, 114},  {-87, -124},  {-71, 115},   {-168, 116},  {-6, -200},
1064      {-184, 117},  {-152, 118},  {-81, 119},   {121, 120},   {-105, 122},
1065      {-106, 123},  {-99, 124},   {-98, -100},  {-23, 125},   {-104, 126},
1066      {-39, 127},   {-135, 128},  {-55, -151},  {130, 129},   {-91, -119},
1067      {-7, -199},   {-183, 131},  {-107, -108}, {-116, 132},  {-109, -117},
1068      {-56, -167},  {-97, 133},   {-90, 134},   {-72, 135},   {-115, -118},
1069      {-92, 136},   {-93, -166},  {-24, -114},  {-89, 137},   {-88, -150},
1070      {139, 138},   {-8, 140},    {-40, 141},   {-198, 142},  {-134, 143},
1071      {-113, 144},  {-182, 145},  {147, 146},   {-41, 148},   {-57, -181},
1072      {-131, 149},  {151, 150},   {-25, 152},   {-132, 153},  {155, 154},
1073      {-9, -76},    {-42, -165},  {-73, -133},  {-77, 156},   {-130, 157},
1074      {-75, -149},  {-10, -146},  {-26, 158},   {-197, 159},  {-180, 160},
1075      {-147, -196}, {-58, -74},   {-27, 161},   {-129, -148}, {-11, -61},
1076      {-60, 162},   {-59, 163},   {-43, -145},  {-12, -164},  {-161, 164},
1077      {-163, 165},  {-162, -195}, {-179, 166},  {-177, 167},  {-28, -178},
1078      {-45, -194},  {-29, -44},   {-13, -193}}};
1079 
1080 const HUFF_OLD_NODES huffOLDNodes = {
1081     {&huffOLDNodes_h1D_0, &huffOLDNodes_h1D_1, &huffOLDNodes_h1D_1},
1082     {{&huffOLDNodes_h2D_0_0, &huffOLDNodes_h2D_0_1},
1083      {&huffOLDNodes_h2D_1_0, &huffOLDNodes_h2D_1_1},
1084      {&huffOLDNodes_h2D_0_1, &huffOLDNodes_h2D_0_1}}};
1085