Home | History | Annotate | Download | only in src
      1 /* -----------------------------------------------------------------------------
      2 Software License for The Fraunhofer FDK AAC Codec Library for Android
      3 
      4  Copyright  1995 - 2018 Fraunhofer-Gesellschaft zur Frderung 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 (at) 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