Subversion Repositories Kolibri OS

Rev

Blame | Last modification | View Log | RSS feed

  1. /*
  2.  * WMA compatible decoder
  3.  * copyright (c) 2002 The FFmpeg Project
  4.  *
  5.  * This file is part of FFmpeg.
  6.  *
  7.  * FFmpeg is free software; you can redistribute it and/or
  8.  * modify it under the terms of the GNU Lesser General Public
  9.  * License as published by the Free Software Foundation; either
  10.  * version 2.1 of the License, or (at your option) any later version.
  11.  *
  12.  * FFmpeg is distributed in the hope that it will be useful,
  13.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  14.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  15.  * Lesser General Public License for more details.
  16.  *
  17.  * You should have received a copy of the GNU Lesser General Public
  18.  * License along with FFmpeg; if not, write to the Free Software
  19.  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  20.  */
  21.  
  22. /**
  23.  * @file
  24.  * Various WMA tables.
  25.  */
  26.  
  27. #ifndef AVCODEC_WMADATA_H
  28. #define AVCODEC_WMADATA_H
  29.  
  30. #include <stdint.h>
  31.  
  32. #include "wma.h"
  33.  
  34. /* first value is number of bands */
  35. static const uint8_t exponent_band_22050[3][25] = {
  36.     { 10,  4,  8,  4,  8,  8, 12, 20, 24, 24, 16, },
  37.     { 14,  4,  8,  8,  4, 12, 12, 16, 24, 16, 20, 24, 32, 40, 36, },
  38.     { 23,  4,  4,  4,  8,  4,  4,  8,  8,  8,  8,  8, 12, 12, 16, 16,
  39.       24, 24, 32, 44, 48, 60, 84, 72, },
  40. };
  41.  
  42. static const uint8_t exponent_band_32000[3][25] = {
  43.     { 11, 4, 4, 8, 4,  4, 12, 16, 24, 20, 28,  4, },
  44.     { 15, 4, 8, 4, 4,  8,  8, 16, 20, 12, 20, 20, 28, 40, 56, 8, },
  45.     { 16, 8, 4, 8, 8, 12, 16, 20, 24, 40, 32, 32, 44, 56, 80, 112, 16, },
  46. };
  47.  
  48. static const uint8_t exponent_band_44100[3][25] = {
  49.     { 12, 4, 4, 4, 4,  4,  8, 8, 8, 12, 16, 20, 36, },
  50.     { 15, 4, 8, 4, 8,  8,  4, 8, 8, 12, 12, 12, 24, 28, 40, 76, },
  51.     { 17, 4, 8, 8, 4, 12, 12, 8, 8, 24, 16, 20, 24, 32, 40, 60, 80, 152, },
  52. };
  53.  
  54. const uint16_t ff_wma_hgain_huffcodes[37] = {
  55.     0x00003, 0x002e7, 0x00001, 0x005cd, 0x0005d, 0x005c9, 0x0005e, 0x00003,
  56.     0x00016, 0x0000b, 0x00001, 0x00006, 0x00001, 0x00006, 0x00004, 0x00005,
  57.     0x00004, 0x00007, 0x00003, 0x00007, 0x00004, 0x0000a, 0x0000a, 0x00002,
  58.     0x00003, 0x00000, 0x00005, 0x00002, 0x0005f, 0x00004, 0x00003, 0x00002,
  59.     0x005c8, 0x000b8, 0x005ca, 0x005cb, 0x005cc,
  60. };
  61.  
  62. const uint8_t ff_wma_hgain_huffbits[37] = {
  63.     10, 12, 10, 13,  9, 13, 9, 8, 7,  5, 5,  4, 4, 3, 3, 3,
  64.      4,  3,  4,  4,  5,  5, 6, 8, 7, 10, 8, 10, 9, 8, 9, 9,
  65.     13, 10, 13, 13, 13,
  66. };
  67.  
  68. const float ff_wma_lsp_codebook[NB_LSP_COEFS][16] = {
  69.     {  1.98732877,  1.97944528,  1.97179088,  1.96260549,  1.95038374,  1.93336114,  1.90719232,  1.86191415, },
  70.     {  1.97260000,  1.96083160,  1.94982586,  1.93806164,  1.92516608,  1.91010199,  1.89232331,  1.87149812,
  71.        1.84564818,  1.81358067,  1.77620070,  1.73265264,  1.67907855,  1.60959081,  1.50829650,  1.33120330, },
  72.     {  1.90109110,  1.86482426,  1.83419671,  1.80168452,  1.76650116,  1.72816320,  1.68502700,  1.63738256,
  73.        1.58501580,  1.51795181,  1.43679906,  1.33950585,  1.24176208,  1.12260729,  0.96749668,  0.74048265, },
  74.     {  1.76943864,  1.67822463,  1.59946365,  1.53560582,  1.47470796,  1.41210167,  1.34509536,  1.27339507,
  75.        1.19303814,  1.09765169,  0.98818722,  0.87239446,  0.74369172,  0.59768184,  0.43168630,  0.17977021, },
  76.     {  1.43428349,  1.32038354,  1.21074086,  1.10577988,  1.00561746,  0.90335924,  0.80437489,  0.70709671,
  77.        0.60427395,  0.49814048,  0.38509539,  0.27106800,  0.14407416,  0.00219910, -0.16725141, -0.36936085, },
  78.     {  0.99895687,  0.84188166,  0.70753739,  0.57906595,  0.47055563,  0.36966965,  0.26826648,  0.17163380,
  79.        0.07208392, -0.03062936, -1.40037388, -0.25128968, -0.37213937, -0.51075646, -0.64887512, -0.80308031, },
  80.     {  0.26515280,  0.06313551, -0.08872080, -0.21103548, -0.31069678, -0.39680323, -0.47223474, -0.54167135,
  81.       -0.61444740, -0.68943343, -0.76580211, -0.85170082, -0.95289061, -1.06514703, -1.20510707, -1.37617746, },
  82.     { -0.53940301, -0.73770929, -0.88424876, -1.01117930, -1.13389091, -1.26830073, -1.42041987, -1.62033919,
  83.       -1.10158808, -1.16512566, -1.23337128, -1.30414401, -1.37663312, -1.46853845, -1.57625798, -1.66893638, },
  84.     { -0.38601997, -0.56009350, -0.66978483, -0.76028471, -0.83846064, -0.90868087, -0.97408881, -1.03694962, },
  85.     { -1.56144989, -1.65944032, -1.72689685, -1.77857740, -1.82203011, -1.86220079, -1.90283983, -1.94820479, },
  86. };
  87.  
  88. static const uint32_t coef0_huffcodes[666] = {
  89.     0x00258, 0x0003d, 0x00000, 0x00005, 0x00008, 0x00008, 0x0000c, 0x0001b,
  90.     0x0001f, 0x00015, 0x00024, 0x00032, 0x0003a, 0x00026, 0x0002c, 0x0002f,
  91.     0x0004a, 0x0004d, 0x00061, 0x00070, 0x00073, 0x00048, 0x00052, 0x0005a,
  92.     0x0005d, 0x0006e, 0x00099, 0x0009e, 0x000c1, 0x000ce, 0x000e4, 0x000f0,
  93.     0x00093, 0x0009e, 0x000a2, 0x000a1, 0x000b8, 0x000d2, 0x000d3, 0x0012e,
  94.     0x00130, 0x000de, 0x0012d, 0x0019b, 0x001e4, 0x00139, 0x0013a, 0x0013f,
  95.     0x0014f, 0x0016d, 0x001a2, 0x0027c, 0x0027e, 0x00332, 0x0033c, 0x0033f,
  96.     0x0038b, 0x00396, 0x003c5, 0x00270, 0x0027c, 0x0025a, 0x00395, 0x00248,
  97.     0x004bd, 0x004fb, 0x00662, 0x00661, 0x0071b, 0x004e6, 0x004ff, 0x00666,
  98.     0x0071c, 0x0071a, 0x0071f, 0x00794, 0x00536, 0x004e2, 0x0078e, 0x004ee,
  99.     0x00518, 0x00535, 0x004fb, 0x0078d, 0x00530, 0x00680, 0x0068f, 0x005cb,
  100.     0x00965, 0x006a6, 0x00967, 0x0097f, 0x00682, 0x006ae, 0x00cd0, 0x00e28,
  101.     0x00f13, 0x00f1f, 0x009f5, 0x00cd3, 0x00f11, 0x00926, 0x00964, 0x00f32,
  102.     0x00f12, 0x00f30, 0x00966, 0x00d0b, 0x00a68, 0x00b91, 0x009c7, 0x00b73,
  103.     0x012fa, 0x0131d, 0x013f9, 0x01ca0, 0x0199c, 0x01c7a, 0x0198c, 0x01248,
  104.     0x01c74, 0x01c64, 0x0139e, 0x012fd, 0x00a77, 0x012fc, 0x01c7b, 0x012ca,
  105.     0x014cc, 0x014d2, 0x014e3, 0x014dc, 0x012dc, 0x03344, 0x02598, 0x0263c,
  106.     0x0333b, 0x025e6, 0x01a1c, 0x01e3c, 0x014e2, 0x033d4, 0x01a11, 0x03349,
  107.     0x03cce, 0x014e1, 0x01a34, 0x0273e, 0x02627, 0x0273f, 0x038ee, 0x03971,
  108.     0x03c67, 0x03c61, 0x0333d, 0x038c2, 0x0263f, 0x038cd, 0x02638, 0x02e41,
  109.     0x0351f, 0x03348, 0x03c66, 0x03562, 0x02989, 0x027d5, 0x0333c, 0x02e4f,
  110.     0x0343b, 0x02ddf, 0x04bc8, 0x029c0, 0x02e57, 0x04c72, 0x025b7, 0x03547,
  111.     0x03540, 0x029d3, 0x04c45, 0x025bb, 0x06600, 0x04c73, 0x04bce, 0x0357b,
  112.     0x029a6, 0x029d2, 0x0263e, 0x0298a, 0x07183, 0x06602, 0x07958, 0x04b66,
  113.     0x0537d, 0x05375, 0x04fe9, 0x04b67, 0x0799f, 0x04bc9, 0x051fe, 0x06a3b,
  114.     0x05bb6, 0x04fa8, 0x0728f, 0x05376, 0x0492c, 0x0537e, 0x0795a, 0x06a3c,
  115.     0x0e515, 0x07887, 0x0683a, 0x051f9, 0x051fd, 0x0cc6a, 0x06a8a, 0x0cc6d,
  116.     0x05bb3, 0x0683b, 0x051fc, 0x05378, 0x0728e, 0x07886, 0x05bb7, 0x0f2a4,
  117.     0x0795b, 0x0683c, 0x09fc1, 0x0683d, 0x0b752, 0x09678, 0x0a3e8, 0x06ac7,
  118.     0x051f0, 0x0b759, 0x06af3, 0x04b6b, 0x0f2a0, 0x0f2ad, 0x096c3, 0x0e518,
  119.     0x0b75c, 0x0d458, 0x0cc6b, 0x0537c, 0x067aa, 0x04fea, 0x0343a, 0x0cc71,
  120.     0x0967f, 0x09fc4, 0x096c2, 0x0e516, 0x0f2a1, 0x0d45c, 0x0d45d, 0x0d45e,
  121.     0x12fb9, 0x0967e, 0x1982f, 0x09883, 0x096c4, 0x0b753, 0x12fb8, 0x0f2a8,
  122.     0x1ca21, 0x096c5, 0x0e51a, 0x1ca27, 0x12f3c, 0x0d471, 0x0f2aa, 0x0b75b,
  123.     0x12fbb, 0x0f2a9, 0x0f2ac, 0x0d45a, 0x0b74f, 0x096c8, 0x16e91, 0x096ca,
  124.     0x12fbf, 0x0d0a7, 0x13103, 0x0d516, 0x16e99, 0x12cbd, 0x0a3ea, 0x19829,
  125.     0x0b755, 0x29ba7, 0x1ca28, 0x29ba5, 0x16e93, 0x1982c, 0x19828, 0x25994,
  126.     0x0a3eb, 0x1ca29, 0x16e90, 0x1ca25, 0x1982d, 0x1ca26, 0x16e9b, 0x0b756,
  127.     0x0967c, 0x25997, 0x0b75f, 0x198d3, 0x0b757, 0x19a2a, 0x0d45b, 0x0e517,
  128.     0x1ca24, 0x1ca23, 0x1ca22, 0x0b758, 0x16e97, 0x0cd14, 0x13100, 0x00007,
  129.     0x0003b, 0x0006b, 0x00097, 0x00138, 0x00125, 0x00173, 0x00258, 0x00335,
  130.     0x0028e, 0x004c6, 0x00715, 0x00729, 0x004ef, 0x00519, 0x004ed, 0x00532,
  131.     0x0068c, 0x00686, 0x00978, 0x00e5d, 0x00e31, 0x009f4, 0x00b92, 0x012f8,
  132.     0x00d06, 0x00a67, 0x00d44, 0x00a76, 0x00d59, 0x012cd, 0x01c78, 0x01c75,
  133.     0x0199f, 0x0198f, 0x01c67, 0x014c6, 0x01c79, 0x01c76, 0x00b94, 0x00d1b,
  134.     0x01e32, 0x01e31, 0x01ab0, 0x01a05, 0x01aa1, 0x0333a, 0x025e5, 0x02626,
  135.     0x03541, 0x03544, 0x03421, 0x03546, 0x02e55, 0x02e56, 0x0492d, 0x02dde,
  136.     0x0299b, 0x02ddc, 0x0357a, 0x0249c, 0x0668b, 0x1c77f, 0x1ca20, 0x0d45f,
  137.     0x09886, 0x16e9a, 0x0f2a7, 0x0b751, 0x0a3ee, 0x0cf59, 0x0cf57, 0x0b754,
  138.     0x0d0a6, 0x16e98, 0x0b760, 0x06ac6, 0x0a3f0, 0x12fbe, 0x13104, 0x0f2a5,
  139.     0x0a3ef, 0x0d472, 0x12cba, 0x1982e, 0x16e9c, 0x1c77e, 0x198d0, 0x13105,
  140.     0x16e92, 0x0b75d, 0x0d459, 0x0001a, 0x000c0, 0x0016c, 0x003cd, 0x00350,
  141.     0x0067b, 0x0051e, 0x006a9, 0x009f4, 0x00b72, 0x00d09, 0x01249, 0x01e3d,
  142.     0x01ca1, 0x01a1f, 0x01721, 0x01a8a, 0x016e8, 0x03347, 0x01a35, 0x0249d,
  143.     0x0299a, 0x02596, 0x02e4e, 0x0298b, 0x07182, 0x04c46, 0x025ba, 0x02e40,
  144.     0x027d6, 0x04fe8, 0x06607, 0x05310, 0x09884, 0x072e1, 0x06a3d, 0x04b6a,
  145.     0x04c7a, 0x06603, 0x04c7b, 0x03428, 0x06605, 0x09664, 0x09fc0, 0x071de,
  146.     0x06601, 0x05bb2, 0x09885, 0x0a3e2, 0x1c61f, 0x12cbb, 0x0b750, 0x0cf58,
  147.     0x0967d, 0x25995, 0x668ad, 0x0b75a, 0x09fc2, 0x0537f, 0x0b75e, 0x13fae,
  148.     0x12fbc, 0x00031, 0x001c4, 0x004c5, 0x005b8, 0x00cf4, 0x0096f, 0x00d46,
  149.     0x01e57, 0x01a04, 0x02625, 0x03346, 0x028f9, 0x04c47, 0x072e0, 0x04b69,
  150.     0x03420, 0x07957, 0x06639, 0x0799e, 0x07959, 0x07881, 0x04b68, 0x09fc3,
  151.     0x09fd6, 0x0cc70, 0x0a3f1, 0x12cbe, 0x0e30e, 0x0e51b, 0x06af2, 0x12cbc,
  152.     0x1c77d, 0x0f2ab, 0x12fbd, 0x1aa2f, 0x0a3ec, 0x0d473, 0x05377, 0x0a3e9,
  153.     0x1982b, 0x0e300, 0x12f3f, 0x0cf5f, 0x096c0, 0x38c3c, 0x16e94, 0x16e95,
  154.     0x12f3d, 0x29ba4, 0x29ba6, 0x1c77c, 0x6a8ba, 0x3545c, 0x33457, 0x668ac,
  155.     0x6a8bb, 0x16e9d, 0x0e519, 0x25996, 0x12f3e, 0x00036, 0x0033e, 0x006ad,
  156.     0x00d03, 0x012c8, 0x0124a, 0x03c42, 0x03ccd, 0x06606, 0x07880, 0x06852,
  157.     0x06a3a, 0x05bb4, 0x0f2a2, 0x09fc7, 0x12cb9, 0x0cc6c, 0x0a6e8, 0x096c1,
  158.     0x0004a, 0x00355, 0x012f9, 0x014e8, 0x01abe, 0x025b6, 0x0492e, 0x09fc6,
  159.     0x051ff, 0x0cc6f, 0x096cb, 0x0d071, 0x198d1, 0x12cb8, 0x38c3d, 0x13faf,
  160.     0x096c9, 0x0009d, 0x00539, 0x012ce, 0x0341f, 0x029c1, 0x04b33, 0x0a3e3,
  161.     0x0d070, 0x16e96, 0x0b763, 0x000a0, 0x009ce, 0x038cc, 0x0343d, 0x051fa,
  162.     0x09888, 0x12fba, 0x000df, 0x00a75, 0x029a7, 0x09fc5, 0x0e301, 0x0967b,
  163.     0x001e7, 0x012c9, 0x051fb, 0x09889, 0x0f2a6, 0x0016f, 0x01cb9, 0x0cf5a,
  164.     0x12cbf, 0x09679, 0x00272, 0x01a15, 0x0967a, 0x003cb, 0x025f6, 0x0b762,
  165.     0x0028d, 0x03c60, 0x0cf5e, 0x00352, 0x03ccc, 0x0072f, 0x07186, 0x004ec,
  166.     0x05379, 0x0068e, 0x09887, 0x006a7, 0x06af1, 0x00e29, 0x0cf5b, 0x00f31,
  167.     0x0d470, 0x009c6, 0x013fb, 0x13102, 0x019a5, 0x13101, 0x01983, 0x01c65,
  168.     0x0124f, 0x014c7, 0x01726, 0x01abf, 0x03304, 0x02624, 0x03c41, 0x027d7,
  169.     0x02ddd, 0x02e54, 0x0343c, 0x06604, 0x07181, 0x0663a, 0x04fa9, 0x0663b,
  170.     0x05311, 0x0537a, 0x06839, 0x05bb5, 0x0492f, 0x06af0, 0x096c7, 0x0cc6e,
  171.     0x0537b, 0x0cf5c, 0x0cf56, 0x198d2, 0x0cf5d, 0x0a3ed, 0x0f2a3, 0x1982a,
  172.     0x0b761, 0x096c6,
  173. };
  174.  
  175. static const uint8_t coef0_huffbits[666] = {
  176.     11,  6,  2,  3,  4,  5,  5,  5,
  177.      5,  6,  6,  6,  6,  7,  7,  7,
  178.      7,  7,  7,  7,  7,  8,  8,  8,
  179.      8,  8,  8,  8,  8,  8,  8,  8,
  180.      9,  9,  9,  9,  9,  9,  9,  9,
  181.      9,  9,  9,  9,  9, 10, 10, 10,
  182.     10, 10, 10, 10, 10, 10, 10, 10,
  183.     10, 10, 10, 11, 11, 11, 10, 11,
  184.     11, 11, 11, 11, 11, 11, 11, 11,
  185.     11, 11, 11, 11, 12, 12, 11, 12,
  186.     12, 12, 12, 11, 12, 12, 12, 12,
  187.     12, 12, 12, 12, 12, 12, 12, 12,
  188.     12, 12, 12, 12, 12, 13, 13, 12,
  189.     12, 12, 13, 13, 13, 13, 13, 13,
  190.     13, 13, 13, 13, 13, 13, 13, 14,
  191.     13, 13, 13, 13, 13, 13, 13, 14,
  192.     14, 14, 14, 14, 14, 14, 14, 14,
  193.     14, 14, 14, 13, 14, 14, 14, 14,
  194.     14, 14, 14, 14, 14, 14, 14, 14,
  195.     14, 14, 14, 14, 14, 14, 14, 15,
  196.     15, 14, 14, 15, 15, 15, 14, 15,
  197.     15, 15, 15, 15, 15, 15, 15, 15,
  198.     15, 15, 15, 15, 15, 15, 15, 15,
  199.     15, 15, 14, 15, 15, 15, 15, 16,
  200.     16, 16, 15, 16, 15, 15, 16, 16,
  201.     16, 16, 15, 16, 16, 16, 15, 16,
  202.     16, 15, 16, 16, 16, 16, 16, 16,
  203.     16, 16, 16, 16, 15, 15, 16, 16,
  204.     15, 16, 16, 16, 17, 17, 17, 16,
  205.     16, 17, 16, 16, 16, 16, 17, 16,
  206.     17, 17, 16, 16, 15, 15, 15, 16,
  207.     17, 16, 17, 16, 16, 17, 17, 17,
  208.     17, 17, 17, 16, 17, 17, 17, 16,
  209.     17, 17, 16, 17, 17, 17, 16, 17,
  210.     17, 16, 16, 17, 17, 17, 18, 17,
  211.     17, 17, 17, 17, 18, 18, 17, 17,
  212.     17, 19, 17, 19, 18, 17, 17, 18,
  213.     17, 17, 18, 17, 17, 17, 18, 17,
  214.     17, 18, 17, 17, 17, 17, 17, 16,
  215.     17, 17, 17, 17, 18, 16, 17,  4,
  216.      6,  8,  9,  9, 10, 10, 10, 10,
  217.     11, 11, 11, 11, 12, 12, 12, 12,
  218.     12, 12, 12, 12, 12, 13, 13, 13,
  219.     13, 13, 13, 13, 13, 13, 13, 13,
  220.     13, 13, 13, 14, 13, 13, 13, 13,
  221.     13, 13, 14, 14, 14, 14, 14, 14,
  222.     15, 15, 15, 15, 15, 15, 16, 15,
  223.     15, 15, 15, 15, 15, 17, 17, 17,
  224.     16, 18, 16, 17, 17, 16, 16, 17,
  225.     17, 18, 17, 16, 17, 17, 17, 16,
  226.     17, 17, 18, 17, 18, 17, 17, 17,
  227.     18, 17, 17,  5,  8, 10, 10, 11,
  228.     11, 12, 12, 12, 13, 13, 14, 13,
  229.     13, 14, 14, 14, 14, 14, 14, 15,
  230.     15, 15, 15, 15, 15, 15, 15, 15,
  231.     15, 15, 15, 16, 16, 15, 16, 16,
  232.     15, 15, 15, 15, 15, 16, 16, 15,
  233.     15, 16, 16, 17, 17, 18, 17, 16,
  234.     17, 18, 19, 17, 16, 16, 17, 17,
  235.     17,  6,  9, 11, 12, 12, 13, 13,
  236.     13, 14, 14, 14, 15, 15, 15, 16,
  237.     15, 15, 15, 15, 15, 15, 16, 16,
  238.     16, 16, 17, 18, 16, 16, 16, 18,
  239.     17, 16, 17, 18, 17, 17, 16, 17,
  240.     17, 16, 17, 16, 17, 18, 18, 18,
  241.     17, 19, 19, 17, 20, 19, 18, 19,
  242.     20, 18, 16, 18, 17,  7, 10, 12,
  243.     13, 13, 14, 14, 14, 15, 15, 16,
  244.     16, 16, 16, 16, 18, 16, 17, 17,
  245.      8, 11, 13, 14, 14, 15, 16, 16,
  246.     16, 16, 17, 17, 17, 18, 18, 17,
  247.     17,  8, 12, 14, 15, 15, 15, 17,
  248.     17, 18, 17,  9, 12, 14, 15, 16,
  249.     16, 17,  9, 13, 15, 16, 16, 17,
  250.      9, 13, 16, 16, 16, 10, 13, 16,
  251.     18, 17, 10, 14, 17, 10, 14, 17,
  252.     11, 14, 16, 11, 14, 11, 15, 12,
  253.     16, 12, 16, 12, 16, 12, 16, 12,
  254.     17, 13, 13, 17, 13, 17, 13, 13,
  255.     14, 14, 14, 14, 14, 14, 14, 15,
  256.     15, 15, 15, 15, 15, 15, 16, 15,
  257.     16, 16, 16, 16, 16, 16, 17, 16,
  258.     16, 16, 16, 17, 16, 17, 16, 17,
  259.     17, 17,
  260. };
  261.  
  262. static const uint32_t coef1_huffcodes[555] = {
  263.     0x00115, 0x00002, 0x00001, 0x00000, 0x0000d, 0x00007, 0x00013, 0x0001d,
  264.     0x00008, 0x0000c, 0x00023, 0x0002b, 0x0003f, 0x00017, 0x0001b, 0x00043,
  265.     0x00049, 0x00050, 0x00055, 0x00054, 0x00067, 0x00064, 0x0007b, 0x0002d,
  266.     0x00028, 0x0002a, 0x00085, 0x00089, 0x0002b, 0x00035, 0x00090, 0x00091,
  267.     0x00094, 0x00088, 0x000c1, 0x000c6, 0x000f2, 0x000e3, 0x000c5, 0x000e2,
  268.     0x00036, 0x000f0, 0x000a7, 0x000cd, 0x000fb, 0x00059, 0x00116, 0x00103,
  269.     0x00108, 0x0012b, 0x0012d, 0x00188, 0x0012e, 0x0014c, 0x001c3, 0x00187,
  270.     0x001e7, 0x0006f, 0x00094, 0x00069, 0x001e6, 0x001ca, 0x00147, 0x00195,
  271.     0x000a7, 0x00213, 0x00209, 0x00303, 0x00295, 0x00289, 0x0028c, 0x0028d,
  272.     0x00312, 0x00330, 0x0029b, 0x00308, 0x00328, 0x0029a, 0x0025e, 0x003c5,
  273.     0x00384, 0x0039f, 0x00397, 0x00296, 0x0032e, 0x00332, 0x003c6, 0x003e6,
  274.     0x0012d, 0x000d1, 0x00402, 0x000dd, 0x00161, 0x0012b, 0x00127, 0x0045d,
  275.     0x00601, 0x004ab, 0x0045f, 0x00410, 0x004bf, 0x00528, 0x0045c, 0x00424,
  276.     0x00400, 0x00511, 0x00618, 0x0073d, 0x0063a, 0x00614, 0x0073c, 0x007c0,
  277.     0x007cf, 0x00802, 0x00966, 0x00964, 0x00951, 0x008a0, 0x00346, 0x00803,
  278.     0x00a52, 0x0024a, 0x007c1, 0x0063f, 0x00126, 0x00406, 0x00789, 0x008a2,
  279.     0x00960, 0x00967, 0x00c05, 0x00c70, 0x00c79, 0x00a5d, 0x00c26, 0x00c4d,
  280.     0x00372, 0x008a5, 0x00c08, 0x002c5, 0x00f11, 0x00cc4, 0x00f8e, 0x00e16,
  281.     0x00496, 0x00e77, 0x00f9c, 0x00c25, 0x00f1e, 0x00c27, 0x00f1f, 0x00e17,
  282.     0x00ccd, 0x00355, 0x00c09, 0x00c78, 0x00f90, 0x00521, 0x00357, 0x00356,
  283.     0x0068e, 0x00f9d, 0x00c04, 0x00e58, 0x00a20, 0x00a2c, 0x00c4c, 0x0052f,
  284.     0x00f8d, 0x01178, 0x01053, 0x01097, 0x0180f, 0x0180d, 0x012fb, 0x012aa,
  285.     0x0202a, 0x00a40, 0x018ed, 0x01ceb, 0x01455, 0x018e3, 0x012a1, 0x00354,
  286.     0x00353, 0x00f1c, 0x00c7b, 0x00c37, 0x0101d, 0x012cb, 0x01142, 0x0197d,
  287.     0x01095, 0x01e3b, 0x0186b, 0x00588, 0x01c2a, 0x014b8, 0x01e3a, 0x018ec,
  288.     0x01f46, 0x012fa, 0x00a53, 0x01ce8, 0x00a55, 0x01c29, 0x0117b, 0x01052,
  289.     0x012a0, 0x00589, 0x00950, 0x01c2b, 0x00a50, 0x0208b, 0x0180e, 0x02027,
  290.     0x02556, 0x01e20, 0x006e7, 0x01c28, 0x0197a, 0x00684, 0x020a2, 0x01f22,
  291.     0x03018, 0x039cf, 0x03e25, 0x02557, 0x0294c, 0x028a6, 0x00d11, 0x028a9,
  292.     0x02979, 0x00d46, 0x00a56, 0x039ce, 0x030cc, 0x0329a, 0x0149d, 0x0510f,
  293.     0x0451c, 0x02028, 0x03299, 0x01ced, 0x014b9, 0x00f85, 0x00c7a, 0x01800,
  294.     0x00341, 0x012ca, 0x039c8, 0x0329d, 0x00d0d, 0x03e20, 0x05144, 0x00d45,
  295.     0x030d0, 0x0186d, 0x030d5, 0x00d0f, 0x00d40, 0x04114, 0x020a1, 0x0297f,
  296.     0x03e24, 0x032f1, 0x04047, 0x030d4, 0x028a8, 0x00d0e, 0x0451d, 0x04044,
  297.     0x0297e, 0x04042, 0x030d2, 0x030cf, 0x03e21, 0x03e26, 0x028a5, 0x0451a,
  298.     0x00d48, 0x01a16, 0x00d44, 0x04518, 0x0149b, 0x039ca, 0x01498, 0x0403d,
  299.     0x0451b, 0x0149c, 0x032f3, 0x030cb, 0x08073, 0x03e22, 0x0529a, 0x020aa,
  300.     0x039cc, 0x0738a, 0x06530, 0x07389, 0x06193, 0x08071, 0x04043, 0x030ce,
  301.     0x05147, 0x07388, 0x05145, 0x08072, 0x04521, 0x00d47, 0x0297c, 0x030cd,
  302.     0x030ca, 0x0000b, 0x0000c, 0x00083, 0x000e4, 0x00048, 0x00102, 0x001cc,
  303.     0x001f5, 0x00097, 0x0020b, 0x00124, 0x00453, 0x00627, 0x00639, 0x00605,
  304.     0x00517, 0x001b8, 0x00663, 0x00667, 0x007c3, 0x00823, 0x00961, 0x00963,
  305.     0x00e5a, 0x00e59, 0x00a2b, 0x00cbf, 0x00292, 0x00a2d, 0x007d0, 0x00953,
  306.     0x00cc5, 0x00f84, 0x004ab, 0x014a7, 0x0068a, 0x0117a, 0x0052e, 0x01442,
  307.     0x0052c, 0x00c77, 0x00f8f, 0x004aa, 0x01094, 0x01801, 0x012c4, 0x0297b,
  308.     0x00952, 0x01f19, 0x006a5, 0x01149, 0x012c5, 0x01803, 0x022f2, 0x0329b,
  309.     0x04520, 0x0149e, 0x00d13, 0x01f16, 0x01ce9, 0x0101c, 0x006e6, 0x039c9,
  310.     0x06191, 0x07c8e, 0x06192, 0x0ca63, 0x039cd, 0x06190, 0x06884, 0x06885,
  311.     0x07382, 0x00d49, 0x00d41, 0x0450c, 0x0149a, 0x030d1, 0x08077, 0x03e23,
  312.     0x01a15, 0x0e701, 0x0e702, 0x08079, 0x0822a, 0x0a218, 0x07887, 0x0403f,
  313.     0x0520b, 0x0529b, 0x0e700, 0x04519, 0x00007, 0x000e0, 0x000d0, 0x0039b,
  314.     0x003e5, 0x00163, 0x0063e, 0x007c9, 0x00806, 0x00954, 0x01044, 0x01f44,
  315.     0x0197c, 0x01f45, 0x00a51, 0x01f47, 0x00951, 0x0052d, 0x02291, 0x0092f,
  316.     0x00a54, 0x00d12, 0x0297d, 0x00d0c, 0x01499, 0x0329e, 0x032f0, 0x02025,
  317.     0x039c6, 0x00a57, 0x03e46, 0x00d42, 0x0738b, 0x05146, 0x04046, 0x08078,
  318.     0x0510e, 0x07886, 0x02904, 0x04156, 0x04157, 0x06032, 0x030d3, 0x08bce,
  319.     0x04040, 0x0403e, 0x0a414, 0x10457, 0x08075, 0x06887, 0x07c8f, 0x039c7,
  320.     0x07387, 0x08070, 0x08bcf, 0x1482a, 0x10456, 0x1482b, 0x01a17, 0x06886,
  321.     0x0450d, 0x00013, 0x0006b, 0x00615, 0x0080b, 0x0082b, 0x00952, 0x00e5b,
  322.     0x018e2, 0x0186c, 0x01f18, 0x0329f, 0x00d43, 0x03e29, 0x05140, 0x05141,
  323.     0x0ca62, 0x06033, 0x03c42, 0x03e28, 0x0450f, 0x0a21a, 0x07384, 0x0a219,
  324.     0x0e703, 0x0a21b, 0x01a14, 0x07383, 0x045e6, 0x0007a, 0x0012c, 0x00ccc,
  325.     0x0068f, 0x01802, 0x00a52, 0x00953, 0x04045, 0x01a20, 0x0451f, 0x000a4,
  326.     0x00735, 0x01cec, 0x02029, 0x020a3, 0x0451e, 0x00069, 0x00c24, 0x02024,
  327.     0x032f2, 0x05142, 0x00196, 0x00523, 0x000a6, 0x0197b, 0x0030b, 0x0092e,
  328.     0x003e9, 0x03e27, 0x00160, 0x05143, 0x00652, 0x04041, 0x00734, 0x028a7,
  329.     0x0080f, 0x01483, 0x0097c, 0x00340, 0x0068b, 0x00522, 0x01054, 0x01096,
  330.     0x01f17, 0x0202b, 0x01cea, 0x020a0, 0x02978, 0x02026, 0x0297a, 0x039cb,
  331.     0x03e2b, 0x0149f, 0x0329c, 0x07385, 0x08074, 0x0450e, 0x03e2a, 0x05149,
  332.     0x08076, 0x07386, 0x05148,
  333. };
  334.  
  335. static const uint8_t coef1_huffbits[555] = {
  336.      9,  5,  2,  4,  4,  5,  5,  5,
  337.      6,  6,  6,  6,  6,  7,  7,  7,
  338.      7,  7,  7,  7,  7,  7,  7,  8,
  339.      8,  8,  8,  8,  8,  8,  8,  8,
  340.      8,  8,  8,  8,  8,  8,  8,  8,
  341.      9,  8,  8,  8,  8,  9,  9,  9,
  342.      9,  9,  9,  9,  9,  9,  9,  9,
  343.      9, 10, 10, 10,  9,  9,  9,  9,
  344.     10, 10, 10, 10, 10, 10, 10, 10,
  345.     10, 10, 10, 10, 10, 10, 10, 10,
  346.     10, 10, 10, 10, 10, 10, 10, 10,
  347.     11, 11, 11, 11, 11, 11, 11, 11,
  348.     11, 11, 11, 11, 11, 11, 11, 11,
  349.     11, 11, 11, 11, 11, 11, 11, 11,
  350.     11, 12, 12, 12, 12, 12, 12, 12,
  351.     12, 12, 11, 11, 11, 11, 11, 12,
  352.     12, 12, 12, 12, 12, 12, 12, 12,
  353.     13, 12, 12, 12, 12, 12, 12, 12,
  354.     13, 12, 12, 12, 12, 12, 12, 12,
  355.     12, 13, 12, 12, 12, 13, 13, 13,
  356.     13, 12, 12, 12, 12, 12, 12, 13,
  357.     12, 13, 13, 13, 13, 13, 13, 13,
  358.     14, 14, 13, 13, 13, 13, 13, 13,
  359.     13, 12, 12, 12, 13, 13, 13, 13,
  360.     13, 13, 13, 13, 13, 13, 13, 13,
  361.     13, 13, 14, 13, 14, 13, 13, 13,
  362.     13, 13, 14, 13, 14, 14, 13, 14,
  363.     14, 13, 14, 13, 13, 14, 14, 13,
  364.     14, 14, 14, 14, 14, 14, 14, 14,
  365.     14, 15, 14, 14, 14, 14, 15, 15,
  366.     15, 14, 14, 13, 13, 12, 12, 13,
  367.     13, 13, 14, 14, 15, 14, 15, 15,
  368.     14, 13, 14, 15, 15, 15, 14, 14,
  369.     14, 14, 15, 14, 14, 15, 15, 15,
  370.     14, 15, 14, 14, 14, 14, 14, 15,
  371.     15, 16, 15, 15, 15, 14, 15, 15,
  372.     15, 15, 14, 14, 16, 14, 15, 14,
  373.     14, 15, 15, 15, 15, 16, 15, 14,
  374.     15, 15, 15, 16, 15, 15, 14, 14,
  375.     14,  4,  7,  8,  8,  9,  9,  9,
  376.      9, 10, 10, 11, 11, 11, 11, 11,
  377.     11, 12, 11, 11, 11, 12, 12, 12,
  378.     12, 12, 12, 12, 12, 12, 11, 12,
  379.     12, 12, 13, 13, 13, 13, 13, 13,
  380.     13, 12, 12, 13, 13, 13, 13, 14,
  381.     14, 13, 14, 13, 13, 13, 14, 14,
  382.     15, 15, 14, 13, 13, 13, 14, 14,
  383.     15, 15, 15, 16, 14, 15, 17, 17,
  384.     15, 15, 15, 15, 15, 14, 16, 14,
  385.     16, 16, 16, 16, 16, 16, 15, 15,
  386.     17, 15, 16, 15,  6,  8, 10, 10,
  387.     10, 11, 11, 11, 12, 12, 13, 13,
  388.     13, 13, 14, 13, 14, 13, 14, 14,
  389.     14, 14, 14, 15, 15, 14, 14, 14,
  390.     14, 14, 14, 15, 15, 15, 15, 16,
  391.     15, 15, 16, 15, 15, 15, 14, 16,
  392.     15, 15, 18, 17, 16, 17, 15, 14,
  393.     15, 16, 16, 19, 17, 19, 16, 17,
  394.     15,  7, 10, 11, 12, 12, 12, 12,
  395.     13, 13, 13, 14, 15, 14, 15, 15,
  396.     16, 15, 14, 14, 15, 16, 15, 16,
  397.     16, 16, 16, 15, 15,  7, 11, 12,
  398.     13, 13, 14, 14, 15, 15, 15,  8,
  399.     11, 13, 14, 14, 15,  9, 12, 14,
  400.     14, 15,  9, 13, 10, 13, 10, 14,
  401.     10, 14, 11, 15, 11, 15, 11, 14,
  402.     12, 15, 12, 13, 13, 13, 13, 13,
  403.     13, 14, 13, 14, 14, 14, 14, 14,
  404.     14, 15, 14, 15, 16, 15, 14, 15,
  405.     16, 15, 15,
  406. };
  407.  
  408. static const uint32_t coef2_huffcodes[1336] = {
  409.     0x003e6,  0x000f6, 0x00000,  0x00002,  0x00006,  0x0000f,  0x0001b,  0x00028,
  410.     0x00039,  0x0003f, 0x0006b,  0x00076,  0x000b7,  0x000e8,  0x000ef,  0x00169,
  411.     0x001a7,  0x001d4, 0x001dc,  0x002c4,  0x00349,  0x00355,  0x00391,  0x003dc,
  412.     0x00581,  0x005b2, 0x00698,  0x0070c,  0x00755,  0x0073a,  0x00774,  0x007cf,
  413.     0x00b0a,  0x00b66, 0x00d2e,  0x00d5e,  0x00e1b,  0x00eac,  0x00e5a,  0x00f7e,
  414.     0x00fa1,  0x0163e, 0x01a37,  0x01a52,  0x01c39,  0x01ab3,  0x01d5f,  0x01cb6,
  415.     0x01f52,  0x01dd9, 0x02c04,  0x02c2e,  0x02c2d,  0x02c23,  0x03467,  0x034a3,
  416.     0x0351b,  0x03501, 0x03a5d,  0x0351c,  0x03875,  0x03dea,  0x0397b,  0x039db,
  417.     0x03df1,  0x039d8, 0x03bb4,  0x0580a,  0x0584d,  0x05842,  0x05b13,  0x058ea,
  418.     0x0697d,  0x06a06, 0x068cc,  0x06ac7,  0x06a96,  0x072f4,  0x07543,  0x072b4,
  419.     0x07d20,  0x0b003, 0x073b5,  0x07be6,  0x0d180,  0x07bd1,  0x07cb8,  0x07d06,
  420.     0x07d25,  0x0d2f2, 0x0d19a,  0x0d334,  0x0e1dc,  0x0d529,  0x0d584,  0x0e1d2,
  421.     0x0e5e3,  0x0eec4, 0x0e564,  0x0fa49,  0x16001,  0x0eedc,  0x0f7fa,  0x1a32c,
  422.     0x16131,  0x16003, 0x0f9c8,  0x1ef80,  0x1d2a0,  0x1aa4b,  0x0f7ce,  0x1abfe,
  423.     0x1aa50,  0x1a458, 0x1a816,  0x1cae4,  0x1d2fe,  0x1d52e,  0x1aa4c,  0x2c245,
  424.     0x1d2a1,  0x1a35d, 0x1ca1b,  0x1d5d8,  0x1f531,  0x1ca1c,  0x1f389,  0x1f4af,
  425.     0x3a5e7,  0x351fb, 0x2c24b,  0x34bce,  0x2c24d,  0x2c249,  0x2c24a,  0x72dfc,
  426.     0x357ef,  0x35002, 0x3a5e6,  0x39431,  0x5843b,  0x34a77,  0x58431,  0x3a5f3,
  427.     0x3a5dd,  0x3e5e5, 0x356bd,  0x3976e,  0x6a3d2,  0x3500d,  0x694c4,  0x580bd,
  428.     0x3e5e8,  0x74b95, 0x34a6e,  0x3977c,  0x39432,  0x5b0d2,  0x6a3d8,  0x580b8,
  429.     0x5b0cb,  0x5b0d7, 0x72dee,  0x72ded,  0x72dec,  0x74b9c,  0x3977f,  0x72dea,
  430.     0x74b9e,  0x7be7d, 0x580bf,  0x5b0d5,  0x7cba8,  0x74b91,  0x3e5dd,  0xb6171,
  431.     0xd46b3,  0xd46b9, 0x7cba1,  0x74b9f,  0x72de1,  0xe59f5,  0x3e5eb,  0x00004,
  432.     0x00015,  0x00038, 0x00075,  0x000e8,  0x001d3,  0x00347,  0x0039c,  0x00690,
  433.     0x0074a,  0x00b60, 0x00e93,  0x00f74,  0x0163d,  0x01a5a,  0x01d24,  0x01cbe,
  434.     0x01f4b,  0x03468, 0x03562,  0x03947,  0x03e82,  0x05804,  0x05b12,  0x05803,
  435.     0x0696d,  0x06a9e, 0x0697c,  0x06978,  0x06afb,  0x074b2,  0x072f5,  0x073c0,
  436.     0x07541,  0x06944, 0x074b7,  0x070d3,  0x07ba9,  0x0b0b1,  0x0d1af,  0x0e1dd,
  437.     0x0e5e2,  0x0e1a3, 0x0eec3,  0x1612f,  0x0e961,  0x0eeda,  0x0e78e,  0x0fa48,
  438.     0x1612c,  0x0e511, 0x0e565,  0x0e953,  0x1aa4a,  0x0e59d,  0x1d52c,  0x1a811,
  439.     0x1cae7,  0x1abfc, 0x1d52d,  0x1cacf,  0x1cf05,  0x2c254,  0x34a72,  0x1f4ac,
  440.     0x3976b,  0x34a71, 0x2c6d9,  0x2d873,  0x34a6a,  0x357e7,  0x3464c,  0x3e5f5,
  441.     0x58433,  0x1f53a, 0x3500a,  0x357ea,  0x34a73,  0x3942f,  0x357e5,  0x39775,
  442.     0x694cd,  0x39772, 0x7cba5,  0x6a3ef,  0x35483,  0x74b98,  0x5b0c1,  0x39770,
  443.     0x3a5d7,  0x39433, 0x39434,  0x694ce,  0x580be,  0x3e5ff,  0x6a3ec,  0xb616f,
  444.     0xd46b1,  0x6a3d1, 0x72de5,  0x74b6e,  0x72de9,  0x3e700,  0xd46b6,  0x6a3e9,
  445.     0x74b69,  0xe5675, 0xd46b8,  0x7cbaa,  0x3a5d1,  0x0000c,  0x0003c,  0x000eb,
  446.     0x001f1,  0x003a4, 0x006a8,  0x007d5,  0x00d43,  0x00e77,  0x016c5,  0x01cb1,
  447.     0x02c5d,  0x03a55, 0x03a56,  0x03e51,  0x03bb5,  0x05b0a,  0x06a9f,  0x074b8,
  448.     0x07d28,  0x0d187, 0x0d40e,  0x0d52e,  0x0d425,  0x0eae3,  0x0e1d3,  0x1612e,
  449.     0x0e59e,  0x0eec2, 0x0e578,  0x0e51a,  0x0e579,  0x0e515,  0x0e960,  0x0d183,
  450.     0x0d220,  0x0d2cb, 0x0e512,  0x16c3e,  0x16002,  0x16c42,  0x1cae9,  0x3461a,
  451.     0x1d2fa,  0x1a308, 0x1a849,  0x1cf07,  0x1f38f,  0x34b65,  0x2c253,  0x1ef9e,
  452.     0x1cbc3,  0x1cbc1, 0x2c255,  0x1f384,  0x58435,  0x2c5cd,  0x3a5f7,  0x2c252,
  453.     0x3959c,  0x2c6d8, 0x3a5d3,  0x6ad78,  0x6a3f2,  0x7cba9,  0xb6176,  0x72deb,
  454.     0x39764,  0x3e5f6, 0x3a5d8,  0x74a8c,  0x6a3e6,  0x694d1,  0x6ad79, 0x1a4592,
  455.     0xe59fb,  0x7cbb3, 0x5b0cd,  0x00017,  0x000b5,  0x002c3,  0x005b7,  0x00b1c,
  456.     0x00e5c,  0x0163f, 0x01ab2,  0x01efa,  0x0348a,  0x0396e,  0x058da,  0x06963,
  457.     0x06a30,  0x072cd, 0x073cf,  0x07ce7,  0x0d2ca,  0x0d2d8,  0x0e764,  0x0e794,
  458.     0x16008,  0x16167, 0x1617e,  0x1aa49,  0x1a30b,  0x1a813,  0x2c6da,  0x1a580,
  459.     0x1cbc2,  0x0f9ca, 0x1617f,  0x1d2fe,  0x0f7fc,  0x16c40,  0x0e513,  0x0eec5,
  460.     0x0f7c3,  0x1d508, 0x1a81e,  0x1d2fd,  0x39430,  0x35486,  0x3e5fd,  0x2c24c,
  461.     0x2c75a,  0x34a74, 0x3a5f4,  0x3464d,  0x694ca,  0x3a5f1,  0x1d509,  0x1d5c0,
  462.     0x34648,  0x3464e, 0x6a3d5,  0x6a3e8,  0x6a3e7,  0x5b0c3,  0x2c248,  0x1f38a,
  463.     0x3a5f2,  0x6a3e5, 0x00029,  0x00168,  0x0058c,  0x00b67,  0x00f9d,  0x01c3d,
  464.     0x01cbf,  0x02c20, 0x0351d,  0x03df6,  0x06af9,  0x072b5,  0x0b1d7,  0x0b0b2,
  465.     0x0d40a,  0x0d52b, 0x0e952,  0x0e797,  0x163c3,  0x1c3a0,  0x1f386,  0x1ca21,
  466.     0x34655,  0x2c247, 0x1f53b,  0x2c250,  0x2c24f,  0x1f385,  0x1ef5d,  0x1cf15,
  467.     0x1caea,  0x1ab0a, 0x1cf19,  0x1f53d,  0x1d5c2,  0x1d2fb,  0x1ef58,  0x34a78,
  468.     0x357ec,  0x1f533, 0x3a5e1,  0x694d2,  0x58482,  0x3a5ee,  0x2c6dc,  0x357eb,
  469.     0x5b0c4,  0x39778, 0x6a3e1,  0x7cbb4,  0x3a5e1,  0x74b68,  0x3a5ef,  0x3a5d2,
  470.     0x39424,  0x72de2, 0xe59f6,  0xe59f7,  0x3e702,  0x3e5ec,  0x1f38b,  0x0003b,
  471.     0x001f0,  0x00777, 0x00fa8,  0x01cb2,  0x02d84,  0x03a57,  0x03dd6,  0x06917,
  472.     0x06a11,  0x07d07, 0x0eae2,  0x0e796,  0x0f9c9,  0x0f7fb,  0x16166,  0x16160,
  473.     0x1ab1b,  0x1abfa, 0x2d87b,  0x1d2f7,  0x39768,  0x1f38c,  0x34653,  0x34651,
  474.     0x6a3d9,  0x35001, 0x3abbd,  0x38742,  0x39426,  0x34a76,  0x3a5ec,  0x34a75,
  475.     0x35000,  0x35488, 0x1cf10,  0x2c6db,  0x357ed,  0x357e8,  0x357e9,  0x3a5f0,
  476.     0x694c2,  0xb6178, 0x72df5,  0x39425,  0x3942b,  0x74b6d,  0x74b6f,  0xb6177,
  477.     0xb6179,  0x74b6a, 0xb6172,  0x58487,  0x3e5ee,  0x3e5ed,  0x72df2,  0x72df4,
  478.     0x7cbae,  0x6a3ca, 0x70e86,  0x34bcf,  0x6a3c8,  0x00059,  0x00384,  0x00d5b,
  479.     0x01c38,  0x03560, 0x0395b,  0x0584e,  0x06964,  0x073cd,  0x0b1e7,  0x0e798,
  480.     0x0e78d,  0x0fa43, 0x1a848,  0x1a32f,  0x1aa4e,  0x3464a,  0x1f4ab,  0x1f38d,
  481.     0x3a5eb,  0x3a5d4, 0x3548a,  0x6a3c7,  0x5b0d0,  0x6a3c5,  0x7cbb0,  0x694cb,
  482.     0x3a5e5,  0x3e5e2, 0x3942c,  0x2d872,  0x1f4ae,  0x3a5d5,  0x694d3,  0x58481,
  483.     0x35009,  0x39774, 0x58432,  0xb616c,  0x5b0db,  0x3548b,  0xb6174, 0x1d5d95,
  484.     0xb004c,  0x7cbb2, 0x3a5e5,  0x74a8f,  0xe59f9,  0x72df6,  0xe59fd,  0x7cbad,
  485.     0xd427d,  0x72cff, 0x3977a,  0x5b0d9,  0xb616d,  0xb616b, 0x1a4593,  0x7cbaf,
  486.     0x5b0da,  0x00071, 0x003eb,  0x01603,  0x02c6c,  0x03961,  0x068c8,  0x06a31,
  487.     0x072bd,  0x0d2c2, 0x0e51b,  0x0e5e6,  0x1abfb,  0x1d2ff,  0x1cae5,  0x1ef5c,
  488.     0x1ef5e,  0x1cf13, 0x34a6d,  0x3976d,  0xb616a,  0x3e5f2,  0x6a3c4,  0xb6169,
  489.     0x3e5dc,  0x580b9, 0x74b99,  0x75764,  0x58434,  0x3a5d9,  0x6945a,  0x69459,
  490.     0x3548c,  0x3a5e9, 0x69457,  0x72df1,  0x6945e,  0x6a35e,  0x3e701,  0xb6168,
  491.     0x5b0dd,  0x3a5de, 0x6a3c2,  0xd4278,  0x6a3cc,  0x72dfd,  0xb6165, 0x16009a,
  492.     0x7cbb1,  0xd427c, 0xb6162,  0xe765e, 0x1cecbe,  0x7cbb6,  0x69454,  0xb6160,
  493.     0xd427a, 0x1d5d96, 0xb1d6d,  0xe59f4,  0x72de8,  0x3a5db,  0x0007a,  0x006ae,
  494.     0x01c3c,  0x03aba, 0x058e9,  0x072cc,  0x0d2dd,  0x0d22d,  0x0eec1,  0x0eedb,
  495.     0x1d2a2,  0x1ef5b, 0x357e2,  0x3abbf,  0x1d2f9,  0x35004,  0x3a5dc,  0x351fc,
  496.     0x3976c,  0x6a3c6, 0x6a3cb,  0x3e5ea,  0xe59f3,  0x6a3ce,  0x69452,  0xe59f0,
  497.     0x74b90,  0xd4279, 0xd427b,  0x7cbb5,  0x5b0c5,  0x3a5e3,  0x3a5e2,  0x000d0,
  498.     0x00775,  0x01efe, 0x03dd5,  0x0728c,  0x07cb9,  0x0e1a2,  0x0ea85,  0x0eed8,
  499.     0x1a30a,  0x1aa4f, 0x3a5df,  0x35008,  0x3a5e0,  0x3e5f4,  0x3e5f7,  0xb1d6c,
  500.     0x5843e,  0x34a70, 0x72df8,  0x74b6b,  0xd427f,  0x72df0,  0x5b0bf,  0x5b0c0,
  501.     0xd46b0,  0x72def, 0xe59f8, 0x162e64,  0xb1d6f,  0x3a5e0,  0x39427,  0x69166,
  502.     0x6a3e2,  0x6a3e3, 0x74a8d,  0xd427e, 0x1d5d97,  0xd46b4,  0x5b0d8,  0x6a3d3,
  503.     0x000e0,  0x00b63, 0x034cc,  0x06a33,  0x073c9,  0x0e1a0,  0x0f7fd,  0x0f9cc,
  504.     0x1617d,  0x1caeb, 0x1f4a9,  0x3abb3,  0x69450,  0x39420,  0x39777,  0x3e5e0,
  505.     0x6a3d4,  0x6a3ed, 0xb6166,  0xe59f1,  0xb1d6e,  0xe5676,  0x6a3ea,  0xe5674,
  506.     0xb6163,  0xd46b7, 0x7cba6,  0xd46ba, 0x1d5d94,  0xb6164,  0x6a3f1,  0x7cba2,
  507.     0x69451,  0x72dfa, 0xd46bb,  0x72df7,  0x74b94, 0x1cecbf,  0xe59fa, 0x16009b,
  508.     0x6a3e4,  0x000e6, 0x00e94,  0x03876,  0x070ef,  0x0d52a,  0x16015,  0x16014,
  509.     0x1abf9,  0x1cf17, 0x34a79,  0x34650,  0x3e705,  0x6a3d0,  0x58430,  0x74b9d,
  510.     0x7be7e,  0x5b0be, 0x39773,  0x6a3de,  0x000fb,  0x00f7b,  0x03dd7,  0x07bd0,
  511.     0x0e59c,  0x0f9cd, 0x1cf18,  0x1d2ff,  0x34a7a,  0x39429,  0x3500c,  0x72de0,
  512.     0x69456,  0x7be7c, 0xd46b5,  0xd46b2,  0x6a3dd,  0x001a2,  0x0163b,  0x06913,
  513.     0x0b016,  0x0fa42, 0x1a32d,  0x1cf06,  0x34a7c,  0x34a7d,  0xb6161,  0x35481,
  514.     0x3e5fa,  0x7cba0, 0x7be7f,  0x7cba3,  0x7cba7,  0x5b0d3,  0x72de6,  0x6a3dc,
  515.     0x001a9,  0x01ab4, 0x06a34,  0x0d46a,  0x16130,  0x1ef5f,  0x1f532,  0x1f536,
  516.     0x3942e,  0x58436, 0x6a3db,  0x6945b,  0x001c9,  0x01ca0,  0x0728b,  0x0eed9,
  517.     0x1f539,  0x1ca1d, 0x39765,  0x39766,  0x58439,  0x6945d,  0x39767,  0x001d3,
  518.     0x01f2c,  0x07bfc, 0x16161,  0x34652,  0x3a5ed,  0x3548d,  0x58438,  0x6a3da,
  519.     0x002c1,  0x02c5e, 0x0d335,  0x1ab1a,  0x2d874,  0x35006,  0x35484,  0x5b0cc,
  520.     0x74b9a,  0x72df3, 0x6a3d6,  0x002da,  0x034b3,  0x0d5ae,  0x1caee,  0x2d871,
  521.     0x357e3,  0x74b97, 0x72df9,  0x580ba,  0x5b0d4,  0x0034d,  0x0354e,  0x0f750,
  522.     0x1cbc0,  0x3a5e7, 0x3a5e4,  0x00385,  0x03a58,  0x16c41,  0x2c5cf,  0x3e5e1,
  523.     0x74b6c,  0xe5677, 0x6a3df,  0x00390,  0x03e50,  0x163c2,  0x2d876,  0x35482,
  524.     0x5b0d6,  0x5843a, 0x0039f,  0x0585e,  0x1a583,  0x3500f,  0x74b93,  0x39771,
  525.     0x003e4,  0x06912, 0x16c43,  0x357e1,  0x0058a,  0x0696f,  0x1f538,  0x5b0c9,
  526.     0x6a3cf,  0x005b6, 0x06af8,  0x1f534,  0x58483,  0x6a3e0,  0x00695,  0x07d02,
  527.     0x1cae8,  0x58485, 0x006a2,  0x0754a,  0x357ee,  0x3977b,  0x00748,  0x074b2,
  528.     0x34a7b,  0x00729, 0x0b1e0,  0x34649,  0x3e5e3,  0x0073d,  0x0d2c4,  0x3e5e6,
  529.     0x007bb,  0x0b099, 0x39762,  0x5b0ce,  0x6945f,  0x007d1,  0x0d5ab,  0x39779,
  530.     0x007d3,  0x0d52f, 0x39763,  0x6945c,  0x00b1a,  0x0d2c5,  0x35489,  0x00d23,
  531.     0x0eaed,  0x3e5f8, 0x00d32,  0x16016,  0x3e5fb,  0x00d41,  0x0e768,  0x3a5ed,
  532.     0x00e1f,  0x16017, 0x58027,  0x00ead,  0x0fa07,  0x69455,  0x00e54,  0x1612b,
  533.     0x00e55,  0x1a581, 0x00f78,  0x1a32b,  0x580bc,  0x6a3ee,  0x00f79,  0x1abfd,
  534.     0x00f95,  0x1ab18, 0x6a3f0,  0x01637,  0x1aa4d,  0x0162d,  0x1f53c,  0x6a3f3,
  535.     0x01a31,  0x1a810, 0x39769,  0x01a50,  0x1caef,  0x01a36,  0x1a32e,  0x01a67,
  536.     0x1f38e,  0x01a85, 0x1ef59,  0x01aa6,  0x1ef83,  0x01d51,  0x2c012,  0x01d53,
  537.     0x2d879,  0x01d5e, 0x35005,  0x01cba,  0x1cf04,  0x69453,  0x01d2d,  0x351ff,
  538.     0x01f2d,  0x2d86f, 0x01f29,  0x35007,  0x02c22,  0x351fa,  0x02c03,  0x3a5ec,
  539.     0x02c5f,  0x3a5eb, 0x02c58,  0x34a6b,  0x03469,  0x356be,  0x02c59,  0x34a6c,
  540.     0x0346a,  0x3a5ea, 0x034bd,  0x034bf,  0x356bf,  0x0386a,  0x03ab9,  0x5843f,
  541.     0x0386b,  0x3a5f5, 0x03a4b,  0x39421,  0x03aa4,  0x3a5e9,  0x03a5a,  0x03960,
  542.     0x3977e,  0x03de9, 0x03958,  0x03df7,  0x039e1,  0x3e5e4,  0x0395f,  0x69458,
  543.     0x03e91,  0x03df2, 0x39428,  0x058f2,  0x03e80,  0x6a3c3,  0x03e93,  0x694c0,
  544.     0x058b8,  0x5b0ca, 0x0584f,  0x694c1,  0x058f1,  0x068d6,  0x06a10,  0x06ac3,
  545.     0x06a32,  0x070d2, 0x06911,  0x074b1,  0x07494,  0x06ad4,  0x06ad6,  0x072b8,
  546.     0x06afa,  0x074b3, 0x07540,  0x073ce,  0x0b005,  0x074b3,  0x07495,  0x074b9,
  547.     0x0d336,  0x07bff, 0x07763,  0x073c8,  0x07d29,  0x0b622,  0x0d221,  0x0d181,
  548.     0x0b1d1,  0x074b8, 0x0b1d0,  0x0d19b,  0x0d2c3,  0x0b172,  0x0d2dc,  0x0b623,
  549.     0x0d5aa,  0x0d426, 0x0d182,  0x0e795,  0x0e1d1,  0x0d337,  0x0e96c,  0x0e5e4,
  550.     0x0e514,  0x0eaee, 0x16000,  0x0e767,  0x0e1a1,  0x0e78f,  0x16004,  0x0f7c2,
  551.     0x0e799,  0x0e5e7, 0x0e566,  0x0e769,  0x0f751,  0x0eede,  0x0fa06,  0x16005,
  552.     0x0fa9f,  0x1a5e6, 0x0e766,  0x1636f,  0x0eedd,  0x0eec0,  0x1a309,  0x1ceca,
  553.     0x163cd,  0x0f9cb, 0x0eedf,  0x1a582,  0x1612d,  0x0e5e5,  0x1abf8,  0x1a30c,
  554.     0x1ca1f,  0x163cc, 0x1a35c,  0x1ca1e,  0x1aa51,  0x163ac,  0x1a84e,  0x1a53f,
  555.     0x1cf16,  0x1d2fc, 0x1a5b3,  0x1ab19,  0x1a81f,  0x1d5c3,  0x16c3f,  0x1d5c1,
  556.     0x1d2fc,  0x1f4aa, 0x1a812,  0x1f535,  0x1cf12,  0x1a817,  0x1617c,  0x1ab0b,
  557.     0x1d2f8,  0x1ef82, 0x2d87a,  0x1d52f,  0x1f530,  0x1aa48,  0x35487,  0x1d2fd,
  558.     0x1f4ad,  0x1cf11, 0x3461b,  0x35485,  0x1ca20,  0x1caed,  0x1cae6,  0x1abff,
  559.     0x3464f,  0x34a6f, 0x1ef81,  0x3464b,  0x39d96,  0x1f383,  0x1f537,  0x1cf14,
  560.     0x2c5ce,  0x3500e, 0x2c251,  0x1caec,  0x1f387,  0x34654,  0x357e4,  0x2d878,
  561.     0x3500b,  0x35480, 0x3a5e8,  0x3548e,  0x34b64,  0x1f4a8,  0x35003,  0x3e5df,
  562.     0x2d870,  0x357e6, 0x3e5f0,  0x1ef5a,  0x3a5ea,  0x1f388,  0x3e703,  0x2c24e,
  563.     0x3a5e2,  0x351fd, 0x2c6dd,  0x3e704,  0x351fe,  0x2d875,  0x5b0c7,  0x3976a,
  564.     0x3a5e6,  0x39423, 0x58480,  0x2c246,  0x3a5e3,  0x2d877,  0x3e5f1,  0x3abbe,
  565.     0x58489,  0x3e5f9, 0x357e0,  0x3abbc,  0x5b0c6,  0x69167,  0x69165,  0x3e5e9,
  566.     0x39422,  0x3976f, 0x3977d,  0x3e5de,  0x6a3c9,  0x58b98,  0x3a5f6,  0x3a5d0,
  567.     0x58486,  0x6a3c1, 0x3e5fc,  0x5b0dc,  0x3548f,  0x3942d,  0x694c9,  0x58484,
  568.     0x3a5e8,  0x74b9b, 0x74b96,  0x694d0,  0x58488,  0x3a5e4,  0x3942a,  0x72ec2,
  569.     0x39776,  0x5b0d1, 0x5b0cf,  0x3a5d6,  0xe59fc,  0x5b0c8,  0x3e5e7,  0x7cbb7,
  570.     0x70e87,  0x7cbab, 0x5b0c2,  0x694c3,  0x74a8e,  0x3e5f3,  0x6a3cd,  0x72dfe,
  571.     0x73b2e,  0x72ec0, 0x694c5,  0x58437,  0x694c8,  0x72dff,  0x39435,  0x5843d,
  572.     0x6a3d7,  0x72ec1, 0xd22c8,  0x694cf,  0xb6173,  0x3e5fe,  0x580bb,  0xe59f2,
  573.     0xb616e,  0xb6175, 0x3a5da,  0x5b0bd,  0x694cc,  0x5843c,  0x694c7,  0x74b92,
  574.     0x72ec3,  0x694c6, 0xb6170,  0x7cbac,  0xb1733,  0x7cba4,  0xb6167,  0x72de7,
  575.     0x72de4,  0x6a3c0, 0x3e5ef, 0x162e65,  0x72de3,  0x72dfb,  0x6a35f,  0x6a3eb,
  576. };
  577.  
  578. static const uint8_t coef2_huffbits[1336] = {
  579.     11,  9,  2,  3,  4,  4,  5,  6,
  580.      6,  7,  7,  8,  8,  8,  9,  9,
  581.      9,  9, 10, 10, 10, 10, 11, 11,
  582.     11, 11, 11, 11, 11, 12, 12, 12,
  583.     12, 12, 12, 12, 12, 12, 13, 13,
  584.     13, 13, 13, 13, 13, 13, 13, 14,
  585.     14, 14, 14, 14, 14, 14, 14, 14,
  586.     14, 14, 14, 14, 14, 15, 15, 15,
  587.     15, 15, 15, 15, 15, 15, 15, 15,
  588.     15, 15, 15, 15, 15, 16, 15, 16,
  589.     16, 16, 16, 16, 16, 16, 16, 16,
  590.     16, 16, 16, 16, 16, 16, 16, 16,
  591.     17, 17, 17, 17, 17, 17, 17, 17,
  592.     17, 17, 17, 18, 17, 17, 17, 17,
  593.     17, 17, 17, 18, 18, 17, 17, 18,
  594.     17, 17, 18, 17, 18, 18, 18, 18,
  595.     19, 18, 18, 18, 18, 18, 18, 20,
  596.     18, 18, 18, 19, 19, 18, 19, 18,
  597.     19, 19, 18, 19, 19, 18, 19, 19,
  598.     19, 19, 18, 19, 19, 19, 19, 19,
  599.     19, 19, 20, 20, 20, 19, 19, 20,
  600.     19, 20, 19, 19, 20, 19, 19, 20,
  601.     20, 20, 20, 19, 20, 21, 19,  3,
  602.      5,  7,  8,  9,  9, 10, 11, 11,
  603.     12, 12, 12, 13, 13, 13, 13, 14,
  604.     14, 14, 14, 15, 15, 15, 15, 15,
  605.     15, 15, 15, 15, 15, 15, 16, 16,
  606.     15, 15, 15, 15, 16, 16, 16, 16,
  607.     17, 16, 17, 17, 16, 17, 17, 17,
  608.     17, 17, 17, 16, 17, 17, 17, 17,
  609.     18, 17, 17, 18, 18, 18, 18, 18,
  610.     19, 18, 18, 18, 18, 18, 18, 19,
  611.     19, 18, 18, 18, 18, 19, 18, 19,
  612.     19, 19, 20, 19, 18, 19, 19, 19,
  613.     19, 19, 19, 19, 19, 19, 19, 20,
  614.     20, 19, 20, 19, 20, 19, 20, 19,
  615.     19, 21, 20, 20, 19,  4,  7,  8,
  616.     10, 11, 11, 12, 12, 13, 13, 14,
  617.     14, 14, 14, 15, 15, 15, 15, 15,
  618.     16, 16, 16, 16, 16, 16, 16, 17,
  619.     17, 17, 17, 17, 17, 17, 16, 16,
  620.     16, 16, 17, 17, 17, 17, 18, 18,
  621.     18, 17, 17, 18, 18, 18, 18, 18,
  622.     18, 18, 18, 18, 19, 18, 18, 18,
  623.     19, 18, 19, 19, 19, 20, 20, 20,
  624.     19, 19, 19, 19, 19, 19, 19, 21,
  625.     21, 20, 19,  5,  8, 10, 11, 12,
  626.     13, 13, 13, 14, 14, 15, 15, 15,
  627.     15, 16, 16, 16, 16, 16, 17, 17,
  628.     17, 17, 17, 17, 17, 17, 18, 17,
  629.     18, 17, 17, 17, 17, 17, 17, 17,
  630.     17, 17, 17, 17, 19, 18, 19, 18,
  631.     18, 18, 18, 18, 19, 18, 17, 17,
  632.     18, 18, 19, 19, 19, 19, 18, 18,
  633.     18, 19,  6,  9, 11, 12, 13, 13,
  634.     14, 14, 14, 15, 15, 16, 16, 16,
  635.     16, 16, 16, 17, 17, 17, 18, 18,
  636.     18, 18, 18, 18, 18, 18, 18, 18,
  637.     18, 17, 18, 18, 17, 18, 18, 18,
  638.     18, 18, 18, 19, 19, 18, 18, 18,
  639.     19, 19, 19, 20, 19, 19, 18, 19,
  640.     19, 20, 21, 21, 19, 19, 18,  6,
  641.     10, 12, 13, 14, 14, 14, 15, 15,
  642.     15, 16, 16, 17, 17, 17, 17, 17,
  643.     17, 17, 18, 18, 19, 18, 18, 18,
  644.     19, 18, 18, 18, 19, 18, 18, 18,
  645.     18, 18, 18, 18, 18, 18, 18, 18,
  646.     19, 20, 20, 19, 19, 19, 19, 20,
  647.     20, 19, 20, 19, 19, 19, 20, 20,
  648.     20, 19, 19, 18, 19,  7, 10, 12,
  649.     13, 14, 15, 15, 15, 16, 16, 17,
  650.     17, 17, 17, 17, 17, 18, 18, 18,
  651.     18, 19, 18, 19, 19, 19, 20, 19,
  652.     18, 19, 19, 18, 18, 19, 19, 19,
  653.     18, 19, 19, 20, 19, 18, 20, 21,
  654.     20, 20, 19, 19, 21, 20, 21, 20,
  655.     20, 20, 19, 19, 20, 20, 21, 20,
  656.     19,  7, 11, 13, 14, 15, 15, 15,
  657.     16, 16, 17, 17, 17, 17, 18, 18,
  658.     18, 18, 18, 19, 20, 19, 19, 20,
  659.     19, 19, 19, 19, 19, 19, 19, 19,
  660.     18, 18, 19, 20, 19, 19, 19, 20,
  661.     19, 19, 19, 20, 19, 20, 20, 21,
  662.     20, 20, 20, 21, 22, 20, 19, 20,
  663.     20, 21, 20, 21, 20, 19,  8, 11,
  664.     13, 14, 15, 16, 16, 16, 17, 17,
  665.     17, 18, 18, 18, 18, 18, 19, 18,
  666.     19, 19, 19, 19, 21, 19, 19, 21,
  667.     19, 20, 20, 20, 19, 18, 18,  8,
  668.     12, 14, 15, 16, 16, 16, 16, 17,
  669.     17, 17, 19, 18, 18, 19, 19, 20,
  670.     19, 18, 20, 19, 20, 20, 19, 19,
  671.     20, 20, 21, 21, 20, 19, 19, 19,
  672.     19, 19, 19, 20, 21, 20, 19, 19,
  673.      8, 12, 14, 15, 16, 16, 17, 17,
  674.     17, 18, 18, 18, 19, 19, 19, 19,
  675.     19, 19, 20, 21, 20, 21, 19, 21,
  676.     20, 20, 20, 20, 21, 20, 19, 20,
  677.     19, 20, 20, 20, 19, 22, 21, 21,
  678.     19,  9, 12, 14, 15, 16, 17, 17,
  679.     17, 18, 18, 18, 19, 19, 19, 19,
  680.     20, 19, 19, 19,  9, 13, 15, 16,
  681.     17, 17, 18, 18, 18, 19, 18, 20,
  682.     19, 20, 20, 20, 19,  9, 13, 15,
  683.     16, 17, 17, 18, 18, 18, 20, 18,
  684.     19, 20, 20, 20, 20, 19, 20, 19,
  685.      9, 13, 15, 16, 17, 18, 18, 18,
  686.     19, 19, 19, 19, 10, 14, 16, 17,
  687.     18, 18, 19, 19, 19, 19, 19, 10,
  688.     14, 16, 17, 18, 18, 18, 19, 19,
  689.     10, 14, 16, 17, 18, 18, 18, 19,
  690.     19, 20, 19, 10, 14, 16, 18, 18,
  691.     18, 19, 20, 19, 19, 10, 14, 17,
  692.     18, 18, 18, 10, 15, 17, 18, 19,
  693.     19, 21, 19, 11, 15, 17, 18, 18,
  694.     19, 19, 11, 15, 17, 18, 19, 19,
  695.     11, 15, 17, 18, 11, 15, 18, 19,
  696.     19, 11, 15, 18, 19, 19, 11, 16,
  697.     18, 19, 11, 15, 18, 19, 11, 16,
  698.     18, 12, 16, 18, 19, 12, 16, 19,
  699.     12, 16, 19, 19, 19, 12, 16, 19,
  700.     12, 16, 19, 19, 12, 16, 18, 12,
  701.     16, 19, 12, 17, 19, 12, 17, 19,
  702.     12, 17, 19, 12, 17, 19, 13, 17,
  703.     13, 17, 13, 17, 19, 19, 13, 17,
  704.     13, 17, 19, 13, 17, 13, 18, 19,
  705.     13, 17, 19, 13, 18, 13, 17, 13,
  706.     18, 13, 18, 13, 18, 13, 18, 13,
  707.     18, 13, 18, 14, 18, 19, 14, 18,
  708.     14, 18, 14, 18, 14, 18, 14, 19,
  709.     14, 19, 14, 18, 14, 18, 14, 18,
  710.     14, 19, 14, 14, 18, 14, 14, 19,
  711.     14, 18, 14, 19, 14, 19, 14, 15,
  712.     19, 15, 15, 15, 15, 19, 15, 19,
  713.     15, 15, 19, 15, 15, 19, 15, 19,
  714.     15, 19, 15, 19, 15, 15, 15, 15,
  715.     15, 15, 15, 15, 15, 15, 15, 16,
  716.     15, 15, 15, 16, 16, 16, 15, 16,
  717.     16, 16, 16, 16, 16, 16, 16, 16,
  718.     16, 16, 16, 16, 16, 16, 16, 16,
  719.     16, 16, 16, 17, 16, 16, 16, 17,
  720.     17, 16, 17, 17, 16, 17, 17, 17,
  721.     17, 17, 17, 17, 17, 17, 17, 17,
  722.     17, 17, 17, 17, 17, 17, 17, 18,
  723.     17, 17, 17, 17, 17, 17, 17, 17,
  724.     18, 17, 17, 18, 17, 17, 17, 17,
  725.     18, 18, 17, 17, 17, 17, 17, 17,
  726.     17, 18, 17, 18, 18, 17, 17, 17,
  727.     18, 18, 18, 17, 18, 17, 18, 18,
  728.     18, 18, 18, 18, 18, 18, 18, 17,
  729.     18, 18, 18, 18, 19, 18, 18, 18,
  730.     18, 18, 18, 18, 18, 18, 18, 18,
  731.     18, 18, 18, 18, 18, 18, 18, 19,
  732.     18, 18, 19, 18, 18, 18, 19, 18,
  733.     19, 18, 18, 19, 18, 18, 19, 19,
  734.     19, 19, 19, 18, 19, 18, 19, 18,
  735.     19, 19, 18, 18, 19, 19, 19, 19,
  736.     19, 19, 19, 19, 19, 19, 18, 19,
  737.     19, 19, 19, 19, 18, 19, 19, 19,
  738.     19, 19, 19, 19, 19, 19, 19, 20,
  739.     19, 19, 19, 19, 21, 19, 19, 20,
  740.     19, 20, 19, 19, 19, 19, 19, 20,
  741.     20, 20, 19, 19, 19, 20, 19, 19,
  742.     19, 20, 20, 19, 20, 19, 19, 21,
  743.     20, 20, 19, 19, 19, 19, 19, 19,
  744.     20, 19, 20, 20, 20, 20, 20, 20,
  745.     20, 19, 19, 21, 20, 20, 19, 19,
  746. };
  747.  
  748. static const uint32_t coef3_huffcodes[1072] = {
  749.     0x001b2, 0x00069, 0x00000, 0x00004, 0x00006, 0x0000e, 0x00014, 0x00019,
  750.     0x00016, 0x0002b, 0x00030, 0x0003d, 0x0003c, 0x0005a, 0x0005f, 0x0006d,
  751.     0x0007e, 0x0005f, 0x0007f, 0x000b6, 0x000bc, 0x000d8, 0x000f2, 0x000fe,
  752.     0x000bc, 0x000fc, 0x00161, 0x0016e, 0x00174, 0x00176, 0x001a2, 0x001e3,
  753.     0x001f3, 0x00174, 0x0017a, 0x001ea, 0x002a8, 0x002c4, 0x002e6, 0x00314,
  754.     0x00346, 0x00367, 0x003e9, 0x002e5, 0x002ee, 0x003d6, 0x00555, 0x00554,
  755.     0x00557, 0x005c3, 0x005d6, 0x006e0, 0x0062f, 0x006e2, 0x00799, 0x00789,
  756.     0x007fa, 0x005ce, 0x007fe, 0x005ec, 0x007cc, 0x007af, 0x00aa7, 0x00b19,
  757.     0x00b94, 0x00b85, 0x00b9f, 0x00c48, 0x00c45, 0x00dd8, 0x00c4c, 0x00c4b,
  758.     0x00d99, 0x00d1f, 0x00dc2, 0x00f95, 0x00fa2, 0x00bb5, 0x00b9f, 0x00f5d,
  759.     0x00bbf, 0x00f47, 0x0154a, 0x00fd5, 0x00f45, 0x00f7f, 0x0160d, 0x01889,
  760.     0x01757, 0x01722, 0x018b3, 0x0172d, 0x01a39, 0x01a18, 0x01bb3, 0x01b30,
  761.     0x01e63, 0x0173c, 0x01b35, 0x01723, 0x01e80, 0x01fee, 0x01761, 0x01ffc,
  762.     0x01f7f, 0x02c7c, 0x01fa1, 0x0177b, 0x01755, 0x0175a, 0x01fa6, 0x02eab,
  763.     0x0310a, 0x02c69, 0x03669, 0x03127, 0x03103, 0x02e43, 0x03662, 0x03165,
  764.     0x03124, 0x0313b, 0x03111, 0x03668, 0x0343b, 0x03c52, 0x03efc, 0x02e6c,
  765.     0x03fda, 0x03ef8, 0x02e7b, 0x03ee2, 0x03cc5, 0x03d72, 0x058c0, 0x03df8,
  766.     0x02ea9, 0x03e7e, 0x0556d, 0x05c82, 0x03d71, 0x03e7b, 0x03c42, 0x058d7,
  767.     0x03f4e, 0x06200, 0x03d70, 0x05cb2, 0x05c96, 0x05cb0, 0x03f45, 0x05cb1,
  768.     0x02e6d, 0x03110, 0x02f68, 0x05c90, 0x07ca6, 0x07c88, 0x06204, 0x062c8,
  769.     0x078a6, 0x07986, 0x079d5, 0x0b1ad, 0x07989, 0x0b079, 0x05cdd, 0x0aad4,
  770.     0x05de8, 0x07dcd, 0x07987, 0x05d67, 0x05d99, 0x0b91d, 0x07cf1, 0x05d9b,
  771.     0x079d7, 0x0b07b, 0x05c85, 0x05d9a, 0x07dcc, 0x07ebf, 0x07dce, 0x07dfb,
  772.     0x07ec0, 0x07d1a, 0x07a07, 0x05c84, 0x0c471, 0x07cf2, 0x0baef, 0x0b9d2,
  773.     0x05deb, 0x07bd6, 0x0b845, 0x05d98, 0x0b91a, 0x0bae8, 0x0c4e0, 0x0dc31,
  774.     0x0f93d, 0x0bbce, 0x0d1d2, 0x0f7a9, 0x0d9b9, 0x0bbcb, 0x0b900, 0x0aad7,
  775.     0x0babd, 0x0c4e1, 0x0f46f, 0x0c588, 0x0c58b, 0x160e6, 0x0bbcf, 0x0bac3,
  776.     0x0f945, 0x0f7a3, 0x0d1c1, 0x0fb8e, 0x0f7a4, 0x0fb8c, 0x0f40c, 0x0c473,
  777.     0x0fd72, 0x0bbcd, 0x0fffa, 0x0f940, 0x0bbc9, 0x0f7a8, 0x1a1ed, 0x0bbc5,
  778.     0x1f26f, 0x163fd, 0x160c7, 0x1a1f5, 0x0f947, 0x163fc, 0x154b3, 0x0fff6,
  779.     0x163f6, 0x160e9, 0x1a1f0, 0x0bab9, 0x0baba, 0x17086, 0x0b903, 0x0fd75,
  780.     0x0f308, 0x176f3, 0x163ff, 0x0fd7d, 0x1bb78, 0x163fb, 0x188db, 0x1a1f7,
  781.     0x154b2, 0x172fd, 0x163f4, 0x1bb73, 0x172ff, 0x0babc, 0x0f97d, 0x1a1f3,
  782.     0x1bb6d, 0x1ffd5, 0x1a1f4, 0x1f272, 0x17380, 0x17382, 0x1ffe7, 0x0bac8,
  783.     0x0bbc4, 0x188d3, 0x160e0, 0x0fd7b, 0x1725f, 0x172f5, 0x1bb79, 0x1fad9,
  784.     0x1f269, 0x188d0, 0x0bac4, 0x0bac5, 0x31185, 0x188d2, 0x188cc, 0x31187,
  785.     0x3e7fe, 0x188d1, 0x1bb6c, 0x1f268, 0x1fad2, 0x1ffd9, 0x1a1ea, 0x1bb68,
  786.     0x1facb, 0x3fdb2, 0x1e81a, 0x188ce, 0x172fb, 0x1a1ef, 0x1face, 0x1bb70,
  787.     0x0bac1, 0x1bb6b, 0x172f8, 0x1bb66, 0x1ffdf, 0x1bb6a, 0x1ffd7, 0x1f266,
  788.     0x176f8, 0x37653, 0x1fa7e, 0x31182, 0x1fac8, 0x2c7e3, 0x370ee, 0x176ec,
  789.     0x176e9, 0x2e4bc, 0x160c5, 0x3765a, 0x3ce9c, 0x17373, 0x176e8, 0x188d4,
  790.     0x176f1, 0x176ef, 0x37659, 0x1bb7c, 0x1ffde, 0x176f2, 0x3118b, 0x2c7d4,
  791.     0x37651, 0x5ce9f, 0x37650, 0x31191, 0x3f4f6, 0x3f4f5, 0x7a06c, 0x1fac1,
  792.     0x5c97b, 0x2c7e0, 0x79d3a, 0x3e7fd, 0x2c7df, 0x3f4f0, 0x7a06d, 0x376c1,
  793.     0x79d3b, 0x00004, 0x00014, 0x00059, 0x000ab, 0x000b8, 0x00177, 0x001f5,
  794.     0x001f2, 0x00315, 0x003fc, 0x005bd, 0x0062d, 0x006e8, 0x007dd, 0x00b04,
  795.     0x007cd, 0x00b1e, 0x00d1e, 0x00f15, 0x00f3b, 0x00f41, 0x01548, 0x018b0,
  796.     0x0173b, 0x01884, 0x01a1c, 0x01bb4, 0x01f25, 0x017b5, 0x0176d, 0x01ef8,
  797.     0x02e73, 0x03107, 0x03125, 0x03105, 0x02e49, 0x03ce8, 0x03ef9, 0x03e5e,
  798.     0x02e72, 0x03471, 0x03fd9, 0x0623f, 0x078a0, 0x06867, 0x05cb3, 0x06272,
  799.     0x068ec, 0x06e9a, 0x079d4, 0x06e98, 0x0b1aa, 0x06e1a, 0x07985, 0x068ee,
  800.     0x06e9b, 0x05c88, 0x0b1ac, 0x07dfa, 0x05d65, 0x07cf0, 0x07cbf, 0x0c475,
  801.     0x160eb, 0x1bb7e, 0x0f7a6, 0x1fedd, 0x160e3, 0x0fffb, 0x0fb8d, 0x0fff9,
  802.     0x0d1c0, 0x0c58c, 0x1a1e9, 0x0bab8, 0x0f5cf, 0x0fff5, 0x376c5, 0x1a1ec,
  803.     0x160ed, 0x1fede, 0x1fac9, 0x1a1eb, 0x1f224, 0x176ee, 0x0fd79, 0x17080,
  804.     0x17387, 0x1bb7a, 0x1ffe9, 0x176f7, 0x17385, 0x17781, 0x2c7d5, 0x17785,
  805.     0x1ffe3, 0x163f5, 0x1fac2, 0x3e7f9, 0x3118d, 0x3fdb1, 0x1ffe2, 0x1f226,
  806.     0x3118a, 0x2c7d9, 0x31190, 0x3118c, 0x3f4f3, 0x1bb7f, 0x1bb72, 0x31184,
  807.     0xb92f4, 0x3e7fb, 0x6e1d9, 0x1faca, 0x62300, 0x3fdb8, 0x3d037, 0x3e7fc,
  808.     0x62301, 0x3f4f2, 0x1f26a, 0x0000e, 0x00063, 0x000f8, 0x001ee, 0x00377,
  809.     0x003f7, 0x006e3, 0x005cc, 0x00b05, 0x00dd2, 0x00fd4, 0x0172e, 0x0172a,
  810.     0x01e23, 0x01f2d, 0x01763, 0x01769, 0x0176c, 0x02e75, 0x03104, 0x02ec1,
  811.     0x03e58, 0x0583f, 0x03f62, 0x03f44, 0x058c5, 0x0623c, 0x05cf4, 0x07bd7,
  812.     0x05d9d, 0x0aad2, 0x05d66, 0x0b1a9, 0x0b078, 0x07cfe, 0x0b918, 0x0c46f,
  813.     0x0b919, 0x0b847, 0x06e1b, 0x0b84b, 0x0aad8, 0x0fd74, 0x172f4, 0x17081,
  814.     0x0f97c, 0x1f273, 0x0f7a0, 0x0fd7c, 0x172f7, 0x0fd7a, 0x1bb77, 0x172fe,
  815.     0x1f270, 0x0fd73, 0x1bb7b, 0x1a1bc, 0x1bb7d, 0x0bbc3, 0x172f6, 0x0baeb,
  816.     0x0fb8f, 0x3f4f4, 0x3fdb4, 0x376c8, 0x3e7fa, 0x1ffd0, 0x62303, 0xb92f5,
  817.     0x1f261, 0x31189, 0x3fdb5, 0x2c7db, 0x376c9, 0x1fad6, 0x1fad1, 0x00015,
  818.     0x000f0, 0x002e0, 0x0058e, 0x005d7, 0x00c4d, 0x00fa1, 0x00bdb, 0x01756,
  819.     0x01f70, 0x02c19, 0x0313c, 0x0370f, 0x03cc0, 0x02ea8, 0x058c6, 0x058c7,
  820.     0x02eb7, 0x058d0, 0x07d18, 0x0aa58, 0x0b848, 0x05d9e, 0x05d6c, 0x0b84c,
  821.     0x0c589, 0x0b901, 0x163f8, 0x0bac9, 0x0b9c5, 0x0f93c, 0x188d8, 0x0bbc7,
  822.     0x160ec, 0x0fd6f, 0x188d9, 0x160ea, 0x0f7a7, 0x0f944, 0x0baab, 0x0dc3a,
  823.     0x188cf, 0x176fb, 0x2c7d8, 0x2c7d7, 0x1bb75, 0x5ce9e, 0x62302, 0x370ed,
  824.     0x176f4, 0x1ffd1, 0x370ef, 0x3f4f8, 0x376c7, 0x1ffe1, 0x376c6, 0x176ff,
  825.     0x6e1d8, 0x176f6, 0x17087, 0x0f5cd, 0x00035, 0x001a0, 0x0058b, 0x00aac,
  826.     0x00b9a, 0x0175f, 0x01e22, 0x01e8c, 0x01fb2, 0x0310b, 0x058d1, 0x0552e,
  827.     0x05c27, 0x0686e, 0x07ca7, 0x0c474, 0x0dc33, 0x07bf2, 0x05de9, 0x07a35,
  828.     0x0baaa, 0x0b9eb, 0x0fb95, 0x0b9b8, 0x17381, 0x1f262, 0x188cd, 0x17088,
  829.     0x172fa, 0x0f7a2, 0x1fad3, 0x0bac0, 0x3765c, 0x1fedf, 0x1f225, 0x1fad4,
  830.     0x2c7da, 0x5ce9d, 0x3e7f8, 0x1e203, 0x188d7, 0x00054, 0x002c0, 0x007a1,
  831.     0x00f78, 0x01b36, 0x01fa3, 0x0313a, 0x03436, 0x0343a, 0x07d1d, 0x07bd8,
  832.     0x05cdf, 0x0b846, 0x0b189, 0x0d9b8, 0x0fff8, 0x0d9be, 0x0c58a, 0x05dea,
  833.     0x0d1d3, 0x160e4, 0x1f26b, 0x188da, 0x1e202, 0x2c7d2, 0x163fe, 0x31193,
  834.     0x17782, 0x376c2, 0x2c7d1, 0x3fdb0, 0x3765d, 0x2c7d0, 0x1fad0, 0x1e201,
  835.     0x188dd, 0x2c7e2, 0x37657, 0x37655, 0x376c4, 0x376c0, 0x176ea, 0x0006f,
  836.     0x003cf, 0x00dd5, 0x01f23, 0x02c61, 0x02ed0, 0x05d54, 0x0552d, 0x07883,
  837.     0x0b1a8, 0x0b91c, 0x0babf, 0x0b902, 0x0f7aa, 0x0f7a5, 0x1a1e8, 0x1ffd6,
  838.     0x0babe, 0x1a1bf, 0x163f3, 0x1ffd8, 0x1fad7, 0x1f275, 0x1ffdc, 0x0007d,
  839.     0x005bc, 0x01549, 0x02a99, 0x03def, 0x06273, 0x079d6, 0x07d1b, 0x0aad3,
  840.     0x0d0fc, 0x2c7dd, 0x188d6, 0x0bac2, 0x2c7e1, 0x1bb76, 0x1a1bd, 0x31186,
  841.     0x0fd78, 0x1a1be, 0x31183, 0x3fdb6, 0x3f4f1, 0x37652, 0x1fad5, 0x3f4f9,
  842.     0x3e7ff, 0x5ce9c, 0x3765b, 0x31188, 0x17372, 0x000bd, 0x0078b, 0x01f21,
  843.     0x03c43, 0x03ded, 0x0aad6, 0x07ec1, 0x0f942, 0x05c86, 0x17089, 0x0babb,
  844.     0x1ffe8, 0x2c7de, 0x1f26e, 0x1fac4, 0x3f4f7, 0x37656, 0x1fa7d, 0x376c3,
  845.     0x3fdb3, 0x3118f, 0x1fac6, 0x000f8, 0x007ed, 0x01efd, 0x03e7a, 0x05c91,
  846.     0x0aad9, 0x0baec, 0x0dc32, 0x0f46e, 0x1e200, 0x176fa, 0x3765e, 0x3fdb7,
  847.     0x2c7d6, 0x3fdb9, 0x37654, 0x37658, 0x3118e, 0x1ffdb, 0x000f6, 0x00c43,
  848.     0x03106, 0x068ef, 0x0b84d, 0x0b188, 0x0bbcc, 0x1f264, 0x1bb69, 0x17386,
  849.     0x1fac0, 0x00171, 0x00f39, 0x03e41, 0x068ed, 0x0d9bc, 0x0f7a1, 0x1bb67,
  850.     0x1ffdd, 0x176f9, 0x001b9, 0x00f7d, 0x03f63, 0x0d0fd, 0x0b9ea, 0x188dc,
  851.     0x1fac3, 0x1a1f2, 0x31192, 0x1ffe4, 0x001f6, 0x01754, 0x06865, 0x0f309,
  852.     0x160e5, 0x176f5, 0x3765f, 0x1facc, 0x001e9, 0x01a1a, 0x06201, 0x0f105,
  853.     0x176f0, 0x002df, 0x01756, 0x05d6d, 0x163fa, 0x176ed, 0x00342, 0x02e40,
  854.     0x0d0ff, 0x17082, 0x003cd, 0x02a98, 0x0fffc, 0x2c7dc, 0x1fa7f, 0x003fe,
  855.     0x03764, 0x0fffd, 0x176fc, 0x1fac5, 0x002f7, 0x02ed1, 0x0fb97, 0x0058a,
  856.     0x02edc, 0x0bbc8, 0x005d4, 0x0623d, 0x160e8, 0x0062e, 0x05830, 0x163f9,
  857.     0x006eb, 0x06205, 0x1f274, 0x007de, 0x062c9, 0x1f265, 0x005c9, 0x05cde,
  858.     0x1ffd3, 0x005d4, 0x07988, 0x007ce, 0x0b849, 0x00b1b, 0x05c89, 0x1fac7,
  859.     0x00b93, 0x05c83, 0x00b9e, 0x0f14f, 0x00c4a, 0x0b9c7, 0x00dd4, 0x0c470,
  860.     0x1f271, 0x00f38, 0x0fb96, 0x176eb, 0x00fa0, 0x163f7, 0x00bb2, 0x0b91b,
  861.     0x00bbe, 0x0f102, 0x00f44, 0x0f946, 0x1facd, 0x00f79, 0x0d9bd, 0x0154d,
  862.     0x0bbc6, 0x00fd2, 0x160e7, 0x0172b, 0x188cb, 0x0175e, 0x0fd76, 0x0175c,
  863.     0x1bb71, 0x0189f, 0x1a1ee, 0x01f24, 0x1a1f6, 0x01ba7, 0x0bbca, 0x01f7d,
  864.     0x0ffff, 0x01f2e, 0x1bb65, 0x01bb5, 0x172f9, 0x01fef, 0x1f26c, 0x01f3e,
  865.     0x0fd77, 0x01762, 0x1bb6e, 0x01ef9, 0x172fc, 0x01fa0, 0x02ab7, 0x02e4a,
  866.     0x1f267, 0x01fb3, 0x1ffda, 0x02e42, 0x03101, 0x17780, 0x0313d, 0x03475,
  867.     0x17784, 0x03126, 0x1facf, 0x03c51, 0x17783, 0x03e40, 0x1ffe5, 0x03663,
  868.     0x1ffe0, 0x03e8f, 0x1f26d, 0x0343c, 0x03cc1, 0x176fd, 0x03e45, 0x02ec0,
  869.     0x03f61, 0x03dee, 0x03fd8, 0x0583e, 0x02e45, 0x03e59, 0x03d02, 0x05ce8,
  870.     0x05568, 0x176fe, 0x02f69, 0x1fad8, 0x058c1, 0x05c83, 0x1ffe6, 0x06271,
  871.     0x06e1c, 0x062c7, 0x068e1, 0x0552f, 0x06864, 0x06866, 0x06e99, 0x05cbc,
  872.     0x07ca5, 0x078a1, 0x05c82, 0x07dcf, 0x0623b, 0x0623e, 0x068e8, 0x07a36,
  873.     0x05d9c, 0x0b077, 0x07cf3, 0x07a34, 0x07ca4, 0x07d19, 0x079d2, 0x07d1c,
  874.     0x07bd9, 0x0b84a, 0x0fb94, 0x0aad5, 0x0dc30, 0x07bf3, 0x0baee, 0x0b07a,
  875.     0x0c472, 0x0b91e, 0x0d9ba, 0x05d9f, 0x0d0fe, 0x0b9c6, 0x05c87, 0x0f14e,
  876.     0x0baed, 0x0b92e, 0x0f103, 0x0b9c4, 0x0fb91, 0x0d9bb, 0x0b1ab, 0x0c58d,
  877.     0x0fffe, 0x0f93b, 0x0f941, 0x0baea, 0x0b91f, 0x0f5cc, 0x0d9bf, 0x0f943,
  878.     0x0f104, 0x1f260, 0x0fb92, 0x0f93f, 0x0f3a6, 0x0bac7, 0x0f7ab, 0x0bac6,
  879.     0x17383, 0x0fd6d, 0x0bae9, 0x0fd6e, 0x1e74f, 0x188ca, 0x1f227, 0x0fb93,
  880.     0x0fb90, 0x0fff7, 0x17085, 0x17083, 0x160e1, 0x17084, 0x0f93e, 0x160e2,
  881.     0x160c6, 0x1a1f1, 0x1bb6f, 0x17384, 0x0fd70, 0x1f263, 0x188d5, 0x173a6,
  882.     0x0f5ce, 0x163f2, 0x0fd71, 0x1ffd2, 0x160c4, 0x1ffd4, 0x2c7d3, 0x1bb74,
  883. };
  884.  
  885. static const uint8_t coef3_huffbits[1072] = {
  886.      9,  7,  2,  3,  4,  4,  5,  5,
  887.      6,  6,  6,  6,  7,  7,  7,  7,
  888.      7,  8,  8,  8,  8,  8,  8,  8,
  889.      9,  9,  9,  9,  9,  9,  9,  9,
  890.      9, 10, 10, 10, 10, 10, 10, 10,
  891.     10, 10, 10, 11, 11, 11, 11, 11,
  892.     11, 11, 11, 11, 11, 11, 11, 11,
  893.     11, 12, 11, 12, 12, 12, 12, 12,
  894.     12, 12, 12, 12, 12, 12, 12, 12,
  895.     12, 12, 12, 12, 12, 13, 13, 13,
  896.     13, 13, 13, 13, 13, 13, 13, 13,
  897.     13, 13, 13, 13, 13, 13, 13, 13,
  898.     13, 14, 13, 14, 14, 13, 14, 13,
  899.     13, 14, 14, 14, 14, 14, 14, 14,
  900.     14, 14, 14, 14, 14, 14, 14, 14,
  901.     14, 14, 14, 14, 14, 14, 14, 15,
  902.     14, 14, 15, 14, 14, 15, 15, 15,
  903.     15, 15, 15, 15, 15, 15, 14, 15,
  904.     15, 15, 15, 15, 15, 15, 15, 15,
  905.     15, 14, 15, 15, 15, 15, 15, 15,
  906.     15, 15, 15, 16, 15, 16, 16, 16,
  907.     16, 15, 15, 16, 16, 16, 16, 16,
  908.     15, 16, 16, 16, 15, 16, 15, 15,
  909.     16, 15, 16, 16, 16, 16, 16, 16,
  910.     16, 16, 16, 16, 16, 16, 16, 16,
  911.     16, 17, 16, 17, 16, 17, 17, 16,
  912.     17, 16, 17, 16, 16, 17, 17, 17,
  913.     16, 17, 16, 16, 17, 16, 17, 16,
  914.     17, 17, 16, 16, 17, 17, 17, 17,
  915.     17, 17, 17, 17, 16, 17, 17, 16,
  916.     17, 17, 17, 17, 17, 17, 17, 17,
  917.     16, 18, 17, 17, 17, 17, 17, 17,
  918.     17, 17, 17, 17, 17, 17, 16, 17,
  919.     17, 17, 17, 17, 17, 17, 17, 17,
  920.     17, 17, 17, 17, 17, 17, 17, 18,
  921.     17, 17, 17, 17, 18, 17, 17, 18,
  922.     19, 17, 17, 17, 18, 17, 17, 17,
  923.     18, 18, 18, 17, 17, 17, 18, 17,
  924.     17, 17, 17, 17, 17, 17, 17, 17,
  925.     18, 18, 18, 18, 18, 18, 18, 18,
  926.     18, 18, 17, 18, 18, 18, 18, 17,
  927.     18, 18, 18, 17, 17, 18, 18, 18,
  928.     18, 19, 18, 18, 19, 19, 20, 18,
  929.     19, 18, 19, 19, 18, 19, 20, 18,
  930.     19,  4,  6,  7,  8,  9,  9,  9,
  931.     10, 10, 10, 11, 11, 11, 11, 12,
  932.     12, 12, 12, 12, 12, 13, 13, 13,
  933.     13, 13, 13, 13, 13, 14, 14, 14,
  934.     14, 14, 14, 14, 14, 14, 14, 14,
  935.     14, 14, 14, 15, 15, 15, 15, 15,
  936.     15, 15, 15, 15, 16, 15, 15, 15,
  937.     15, 16, 16, 15, 16, 16, 15, 16,
  938.     17, 17, 17, 17, 17, 16, 16, 16,
  939.     16, 16, 17, 17, 17, 16, 18, 17,
  940.     17, 17, 18, 17, 17, 18, 17, 17,
  941.     17, 17, 17, 18, 17, 18, 18, 18,
  942.     17, 17, 18, 19, 18, 18, 17, 17,
  943.     18, 18, 18, 18, 19, 17, 17, 18,
  944.     20, 19, 19, 18, 19, 18, 19, 19,
  945.     19, 19, 17,  5,  7,  9, 10, 10,
  946.     11, 11, 12, 12, 12, 13, 13, 13,
  947.     13, 13, 14, 14, 14, 14, 14, 15,
  948.     14, 15, 15, 15, 15, 15, 16, 16,
  949.     16, 16, 16, 16, 16, 16, 16, 16,
  950.     16, 16, 15, 16, 16, 17, 17, 17,
  951.     16, 17, 17, 17, 17, 17, 17, 17,
  952.     17, 17, 17, 17, 17, 17, 17, 16,
  953.     16, 19, 18, 18, 19, 17, 19, 20,
  954.     17, 18, 18, 18, 18, 18, 18,  6,
  955.      8, 10, 11, 12, 12, 12, 13, 13,
  956.     13, 14, 14, 14, 14, 15, 15, 15,
  957.     15, 15, 15, 16, 16, 16, 16, 16,
  958.     16, 17, 17, 17, 16, 16, 17, 17,
  959.     17, 17, 17, 17, 17, 16, 16, 16,
  960.     17, 18, 18, 18, 17, 19, 19, 18,
  961.     18, 17, 18, 19, 18, 17, 18, 18,
  962.     19, 18, 17, 17,  6,  9, 11, 12,
  963.     13, 13, 13, 14, 14, 14, 15, 15,
  964.     15, 15, 15, 16, 16, 16, 16, 16,
  965.     16, 17, 16, 17, 17, 17, 17, 17,
  966.     17, 17, 18, 17, 18, 17, 17, 18,
  967.     18, 19, 19, 17, 17,  7, 10, 12,
  968.     13, 13, 14, 14, 14, 14, 15, 16,
  969.     16, 16, 16, 16, 16, 16, 16, 16,
  970.     16, 17, 17, 17, 17, 18, 17, 18,
  971.     18, 18, 18, 18, 18, 18, 18, 17,
  972.     17, 18, 18, 18, 18, 18, 18,  7,
  973.     10, 12, 13, 14, 15, 15, 15, 15,
  974.     16, 16, 17, 17, 17, 17, 17, 17,
  975.     17, 17, 17, 17, 18, 17, 17,  8,
  976.     11, 13, 14, 15, 15, 15, 15, 16,
  977.     16, 18, 17, 17, 18, 17, 17, 18,
  978.     17, 17, 18, 18, 19, 18, 18, 19,
  979.     19, 19, 18, 18, 18,  8, 11, 13,
  980.     14, 15, 16, 16, 16, 16, 17, 17,
  981.     17, 18, 17, 18, 19, 18, 18, 18,
  982.     18, 18, 18,  8, 12, 14, 15, 15,
  983.     16, 16, 16, 17, 17, 18, 18, 18,
  984.     18, 18, 18, 18, 18, 17,  9, 12,
  985.     14, 15, 16, 16, 17, 17, 17, 17,
  986.     18,  9, 12, 14, 15, 16, 17, 17,
  987.     17, 18,  9, 13, 15, 16, 17, 17,
  988.     18, 17, 18, 17,  9, 13, 15, 16,
  989.     17, 18, 18, 18, 10, 13, 15, 16,
  990.     18, 10, 14, 16, 17, 18, 10, 14,
  991.     16, 17, 10, 14, 16, 18, 18, 10,
  992.     14, 16, 18, 18, 11, 15, 16, 11,
  993.     15, 17, 11, 15, 17, 11, 15, 17,
  994.     11, 15, 17, 11, 15, 17, 12, 16,
  995.     17, 12, 15, 12, 16, 12, 16, 18,
  996.     12, 16, 12, 16, 12, 16, 12, 16,
  997.     17, 12, 16, 18, 12, 17, 13, 16,
  998.     13, 16, 13, 16, 18, 13, 16, 13,
  999.     17, 13, 17, 13, 17, 13, 17, 13,
  1000.     17, 13, 17, 13, 17, 13, 17, 13,
  1001.     16, 13, 17, 13, 17, 13, 17, 14,
  1002.     17, 14, 17, 14, 17, 14, 14, 14,
  1003.     17, 14, 17, 14, 14, 18, 14, 14,
  1004.     18, 14, 18, 14, 18, 14, 17, 14,
  1005.     17, 14, 17, 14, 14, 18, 14, 15,
  1006.     15, 15, 14, 15, 15, 14, 15, 15,
  1007.     15, 18, 15, 18, 15, 15, 17, 15,
  1008.     15, 15, 15, 15, 15, 15, 15, 15,
  1009.     15, 15, 16, 15, 15, 15, 15, 16,
  1010.     16, 16, 16, 16, 15, 15, 15, 15,
  1011.     16, 16, 16, 16, 16, 16, 16, 16,
  1012.     16, 16, 16, 16, 16, 16, 16, 16,
  1013.     16, 16, 16, 16, 16, 16, 16, 16,
  1014.     16, 16, 16, 16, 16, 17, 16, 16,
  1015.     16, 17, 16, 16, 16, 17, 17, 17,
  1016.     17, 17, 16, 17, 17, 17, 17, 16,
  1017.     16, 16, 17, 17, 17, 17, 16, 17,
  1018.     17, 17, 17, 17, 17, 17, 17, 17,
  1019.     17, 17, 17, 17, 17, 17, 18, 17,
  1020. };
  1021.  
  1022. static const uint32_t coef4_huffcodes[476] = {
  1023.     0x00f01, 0x0001e, 0x00000, 0x00004, 0x00006, 0x0000d, 0x0000a, 0x00017,
  1024.     0x0001d, 0x00017, 0x0002c, 0x00031, 0x00039, 0x0003e, 0x00039, 0x0005a,
  1025.     0x00066, 0x00070, 0x0007b, 0x00070, 0x00077, 0x000af, 0x000c9, 0x000f2,
  1026.     0x000f4, 0x000b2, 0x000e3, 0x0015b, 0x0015d, 0x00181, 0x0019d, 0x001e3,
  1027.     0x001c5, 0x002b5, 0x002db, 0x00338, 0x003c3, 0x003cc, 0x003f0, 0x002cd,
  1028.     0x003fa, 0x003a1, 0x005b4, 0x00657, 0x007ab, 0x0074d, 0x0074c, 0x00ac1,
  1029.     0x00ac5, 0x0076b, 0x00ca8, 0x00f04, 0x00f00, 0x00fe3, 0x00f3c, 0x00f10,
  1030.     0x00f39, 0x00fe6, 0x00e26, 0x00e90, 0x016c5, 0x01827, 0x01954, 0x015c5,
  1031.     0x01958, 0x01f8a, 0x01c4a, 0x02b0f, 0x02b41, 0x02b0e, 0x033c6, 0x03050,
  1032.     0x01c4f, 0x02d88, 0x0305c, 0x03c18, 0x02b4f, 0x02cc2, 0x03a47, 0x05680,
  1033.     0x0569d, 0x06442, 0x06443, 0x06446, 0x0656e, 0x06444, 0x07120, 0x0748a,
  1034.     0x0c1ba, 0x07e22, 0x07aa6, 0x07f25, 0x07aa7, 0x07e20, 0x0c11b, 0x0c118,
  1035.     0x07aa5, 0x0ad0a, 0x0f389, 0x19ebb, 0x0caad, 0x0fe42, 0x0fe40, 0x16c34,
  1036.     0x2b4e5, 0x33d65, 0x16c30, 0x1e7ae, 0x1e25c, 0x18370, 0x1e703, 0x19eba,
  1037.     0x16c37, 0x0e234, 0x16c6e, 0x00004, 0x0002a, 0x00061, 0x00075, 0x000cb,
  1038.     0x000ff, 0x00190, 0x001eb, 0x001d1, 0x002b9, 0x00307, 0x00339, 0x0033f,
  1039.     0x003fb, 0x003b4, 0x0060c, 0x00679, 0x00645, 0x0067d, 0x0078a, 0x007e3,
  1040.     0x00749, 0x00ac4, 0x00ad2, 0x00ae3, 0x00c10, 0x00c16, 0x00ad1, 0x00cf4,
  1041.     0x00fe2, 0x01586, 0x00e9d, 0x019f1, 0x01664, 0x01e26, 0x01d38, 0x02b4d,
  1042.     0x033c5, 0x01fc2, 0x01fc3, 0x01d28, 0x03c1d, 0x0598e, 0x0f094, 0x07aa4,
  1043.     0x0ad38, 0x0ac0c, 0x0c11a, 0x079ea, 0x0c881, 0x0fe44, 0x0b635, 0x0ac0d,
  1044.     0x0b61e, 0x05987, 0x07121, 0x0f382, 0x0f387, 0x0e237, 0x0fe47, 0x0f383,
  1045.     0x0f091, 0x0f385, 0x0e233, 0x182ee, 0x19eb8, 0x1663e, 0x0f093, 0x00014,
  1046.     0x00058, 0x00159, 0x00167, 0x00300, 0x003d4, 0x005b5, 0x0079d, 0x0076a,
  1047.     0x00b67, 0x00b60, 0x00f05, 0x00cf0, 0x00f17, 0x00e95, 0x01822, 0x01913,
  1048.     0x016c2, 0x0182f, 0x01959, 0x01fcb, 0x01e27, 0x01c40, 0x033c7, 0x01e7b,
  1049.     0x01c49, 0x02d89, 0x01e23, 0x01660, 0x03f12, 0x02cc6, 0x033e1, 0x05b34,
  1050.     0x0609a, 0x06569, 0x07488, 0x07e21, 0x0cf5f, 0x0712c, 0x0389d, 0x067cf,
  1051.     0x07f28, 0x1663f, 0x33d67, 0x1663d, 0x1e25d, 0x3c1ab, 0x15c44, 0x16c36,
  1052.     0x0001f, 0x000ec, 0x00323, 0x005b2, 0x0079f, 0x00ac2, 0x00f16, 0x00e9e,
  1053.     0x01956, 0x01e0f, 0x019ea, 0x01666, 0x02b89, 0x02b02, 0x02d8c, 0x03c1b,
  1054.     0x03c19, 0x032b5, 0x03f9c, 0x02ccf, 0x03897, 0x05b35, 0x0ad02, 0x07f29,
  1055.     0x06441, 0x03884, 0x07888, 0x0784e, 0x06568, 0x0c1bb, 0x05986, 0x067cc,
  1056.     0x0fe49, 0x0fe48, 0x0c1bc, 0x0fe41, 0x18371, 0x1663c, 0x0e231, 0x0711e,
  1057.     0x0ad09, 0x0f092, 0x0002d, 0x001db, 0x00781, 0x00c1a, 0x00f55, 0x01580,
  1058.     0x01ea8, 0x02d9b, 0x032af, 0x03f16, 0x03c1c, 0x07834, 0x03c45, 0x0389c,
  1059.     0x067ce, 0x06445, 0x0c1b9, 0x07889, 0x07f3a, 0x0784f, 0x07f2b, 0x0ad0b,
  1060.     0x0f090, 0x0c11d, 0x0e94e, 0x0711f, 0x0e9f1, 0x0f38e, 0x079e9, 0x0ad03,
  1061.     0x0f09b, 0x0caae, 0x0fe46, 0x2b4e6, 0x0e9f0, 0x19eb6, 0x67ac1, 0x67ac0,
  1062.     0x33d66, 0x0f388, 0x00071, 0x003a0, 0x00ca9, 0x01829, 0x01d39, 0x02b43,
  1063.     0x02cc4, 0x06554, 0x0f09a, 0x0b61f, 0x067cd, 0x0711c, 0x0b636, 0x07f2a,
  1064.     0x0b634, 0x0c11f, 0x0cf5e, 0x0b61d, 0x0f06b, 0x0caab, 0x0c1be, 0x0e94c,
  1065.     0x0f099, 0x182ed, 0x0e94f, 0x0c119, 0x0e232, 0x2b4e4, 0x0f38a, 0x19eb4,
  1066.     0x1e25f, 0x0e94d, 0x000b7, 0x00785, 0x016cc, 0x03051, 0x033c4, 0x0656f,
  1067.     0x03891, 0x0711d, 0x0caaf, 0x0f097, 0x07489, 0x0f098, 0x0c880, 0x0caaa,
  1068.     0x0f386, 0x19eb7, 0x16c6f, 0x0f384, 0x182e8, 0x182e9, 0x0e230, 0x1e700,
  1069.     0x33d62, 0x33d63, 0x33d64, 0x16c33, 0x0e216, 0x000fd, 0x00c15, 0x01665,
  1070.     0x03c4a, 0x07f3b, 0x07896, 0x0c11c, 0x0e215, 0x16c32, 0x0f38b, 0x0f38d,
  1071.     0x182ea, 0x1e701, 0x712df, 0x15c46, 0x00194, 0x00fe0, 0x03f13, 0x0748b,
  1072.     0x0f096, 0x0cf80, 0x1e25e, 0xe25bd, 0x33d61, 0x16c31, 0x001f9, 0x01912,
  1073.     0x05710, 0x0f3d0, 0x0c1bf, 0x00301, 0x01e24, 0x0ad08, 0x003cd, 0x01c41,
  1074.     0x0c1bd, 0x00563, 0x03a52, 0x0f3d1, 0x00570, 0x02cce, 0x0e217, 0x0067b,
  1075.     0x0655d, 0x0074b, 0x06447, 0x00c12, 0x074fb, 0x00f08, 0x0b61c, 0x00e22,
  1076.     0x0fe43, 0x016c7, 0x01836, 0x019f2, 0x01c43, 0x01d3f, 0x01fcf, 0x02b4c,
  1077.     0x0304c, 0x032b6, 0x03a46, 0x05607, 0x03f17, 0x02cc5, 0x0609b, 0x0655c,
  1078.     0x07e23, 0x067c1, 0x07f26, 0x07f27, 0x0f095, 0x0e9f3, 0x0cf81, 0x0c11e,
  1079.     0x0caac, 0x0f38f, 0x0e9f2, 0x074fa, 0x0e236, 0x0fe45, 0x1c428, 0x0e235,
  1080.     0x182ef, 0x19eb5, 0x0f3d6, 0x182ec, 0x16c35, 0x0f38c, 0x2b4e7, 0x15c47,
  1081.     0xe25bc, 0x1e702, 0x1c4b6, 0x0e25a, 0x3c1aa, 0x15c45, 0x1c429, 0x19eb9,
  1082.     0x1e7af, 0x182eb, 0x1e0d4, 0x3896e,
  1083. };
  1084.  
  1085. static const uint8_t coef4_huffbits[476] = {
  1086.     12,  6,  2,  3,  4,  4,  5,  5,
  1087.      5,  6,  6,  6,  6,  6,  7,  7,
  1088.      7,  7,  7,  8,  8,  8,  8,  8,
  1089.      8,  9,  9,  9,  9,  9,  9,  9,
  1090.     10, 10, 10, 10, 10, 10, 10, 11,
  1091.     10, 11, 11, 11, 11, 12, 12, 12,
  1092.     12, 12, 12, 12, 12, 12, 12, 12,
  1093.     12, 12, 13, 13, 13, 13, 13, 13,
  1094.     13, 13, 14, 14, 14, 14, 14, 14,
  1095.     14, 14, 14, 14, 14, 15, 15, 15,
  1096.     15, 15, 15, 15, 15, 15, 16, 16,
  1097.     16, 15, 15, 15, 15, 15, 16, 16,
  1098.     15, 16, 16, 17, 16, 16, 16, 17,
  1099.     18, 18, 17, 17, 17, 17, 17, 17,
  1100.     17, 17, 17,  4,  6,  7,  8,  8,
  1101.      8,  9,  9, 10, 10, 10, 10, 10,
  1102.     10, 11, 11, 11, 11, 11, 11, 11,
  1103.     12, 12, 12, 12, 12, 12, 12, 12,
  1104.     12, 13, 13, 13, 14, 13, 14, 14,
  1105.     14, 13, 13, 14, 14, 16, 16, 15,
  1106.     16, 16, 16, 15, 16, 16, 16, 16,
  1107.     16, 16, 16, 16, 16, 17, 16, 16,
  1108.     16, 16, 17, 17, 17, 18, 16,  5,
  1109.      8,  9, 10, 10, 10, 11, 11, 12,
  1110.     12, 12, 12, 12, 12, 13, 13, 13,
  1111.     13, 13, 13, 13, 13, 14, 14, 13,
  1112.     14, 14, 13, 14, 14, 15, 14, 15,
  1113.     15, 15, 16, 15, 16, 16, 15, 15,
  1114.     15, 18, 18, 18, 17, 18, 17, 17,
  1115.      6,  9, 10, 11, 11, 12, 12, 13,
  1116.     13, 13, 13, 14, 14, 14, 14, 14,
  1117.     14, 14, 14, 15, 15, 15, 16, 15,
  1118.     15, 15, 15, 15, 15, 16, 16, 15,
  1119.     16, 16, 16, 16, 17, 18, 17, 16,
  1120.     16, 16,  7, 10, 11, 12, 12, 13,
  1121.     13, 14, 14, 14, 14, 15, 14, 15,
  1122.     15, 15, 16, 15, 15, 15, 15, 16,
  1123.     16, 16, 17, 16, 17, 16, 15, 16,
  1124.     16, 16, 16, 18, 17, 17, 19, 19,
  1125.     18, 16,  7, 11, 12, 13, 14, 14,
  1126.     15, 15, 16, 16, 15, 16, 16, 15,
  1127.     16, 16, 16, 16, 16, 16, 16, 17,
  1128.     16, 17, 17, 16, 17, 18, 16, 17,
  1129.     17, 17,  8, 11, 13, 14, 14, 15,
  1130.     15, 16, 16, 16, 16, 16, 16, 16,
  1131.     16, 17, 17, 16, 17, 17, 17, 17,
  1132.     18, 18, 18, 17, 17,  8, 12, 14,
  1133.     14, 15, 15, 16, 17, 17, 16, 16,
  1134.     17, 17, 20, 17,  9, 12, 14, 16,
  1135.     16, 16, 17, 21, 18, 17,  9, 13,
  1136.     15, 16, 16, 10, 13, 16, 10, 14,
  1137.     16, 11, 15, 16, 11, 15, 17, 11,
  1138.     15, 12, 15, 12, 16, 12, 16, 13,
  1139.     16, 13, 13, 13, 14, 14, 13, 14,
  1140.     14, 14, 15, 15, 14, 15, 15, 15,
  1141.     15, 15, 15, 15, 16, 17, 16, 16,
  1142.     16, 16, 17, 16, 17, 16, 18, 17,
  1143.     17, 17, 16, 17, 17, 16, 18, 17,
  1144.     21, 17, 18, 17, 18, 17, 18, 17,
  1145.     17, 17, 17, 19,
  1146. };
  1147.  
  1148. static const uint32_t coef5_huffcodes[435] = {
  1149.     0x00347, 0x0000b, 0x00001, 0x00001, 0x0000c, 0x00004, 0x00010, 0x00015,
  1150.     0x0001f, 0x0000b, 0x00023, 0x00026, 0x00029, 0x00035, 0x00037, 0x00001,
  1151.     0x00015, 0x0001a, 0x0001d, 0x0001c, 0x0001e, 0x0004e, 0x00049, 0x00051,
  1152.     0x00078, 0x00004, 0x00000, 0x00008, 0x0000d, 0x0007b, 0x00005, 0x00032,
  1153.     0x00095, 0x00091, 0x00096, 0x000a1, 0x000d9, 0x00003, 0x00019, 0x00061,
  1154.     0x00066, 0x00060, 0x00017, 0x0000e, 0x00063, 0x001a0, 0x001b7, 0x001e6,
  1155.     0x001e7, 0x001b6, 0x00018, 0x001e8, 0x00038, 0x00031, 0x00005, 0x0003d,
  1156.     0x00027, 0x001ea, 0x0001a, 0x000c5, 0x000f9, 0x000ff, 0x000db, 0x00250,
  1157.     0x000fc, 0x0025c, 0x00008, 0x00075, 0x003d7, 0x003d3, 0x001b0, 0x0007c,
  1158.     0x003ca, 0x00036, 0x00189, 0x004a6, 0x004a2, 0x004fb, 0x000c0, 0x0007f,
  1159.     0x0009a, 0x00311, 0x0006e, 0x0009b, 0x0068c, 0x006c0, 0x00484, 0x00012,
  1160.     0x000c3, 0x0094f, 0x00979, 0x009f9, 0x00d09, 0x00da6, 0x00da8, 0x00901,
  1161.     0x000c1, 0x00373, 0x00d08, 0x009fa, 0x00d8b, 0x00d85, 0x00d86, 0x000df,
  1162.     0x006e2, 0x000ce, 0x00f24, 0x009fe, 0x001f7, 0x007c1, 0x000cf, 0x009fc,
  1163.     0x009ff, 0x00d89, 0x00da9, 0x009fd, 0x001f8, 0x01a36, 0x0128c, 0x0129d,
  1164.     0x01a37, 0x00196, 0x003ea, 0x00f8b, 0x00d93, 0x01e45, 0x01e58, 0x01e4b,
  1165.     0x01e59, 0x013f1, 0x00309, 0x00265, 0x00308, 0x0243a, 0x027e1, 0x00f89,
  1166.     0x00324, 0x03cbc, 0x03c86, 0x03695, 0x0243c, 0x0243b, 0x0243e, 0x01e4a,
  1167.     0x003a5, 0x03468, 0x03428, 0x03c84, 0x027e0, 0x025e2, 0x01880, 0x00197,
  1168.     0x00325, 0x03cb7, 0x0791e, 0x007ec, 0x06c75, 0x004c8, 0x04bc7, 0x004c6,
  1169.     0x00983, 0x0481e, 0x01b53, 0x0251b, 0x01b58, 0x00984, 0x04fa8, 0x03cbb,
  1170.     0x00f8a, 0x00322, 0x0346a, 0x0243d, 0x00326, 0x03469, 0x0481f, 0x0481d,
  1171.     0x00746, 0x09032, 0x01b50, 0x01d13, 0x0d8e4, 0x0481b, 0x06c74, 0x0796b,
  1172.     0x07969, 0x00985, 0x0d8e3, 0x00986, 0x00fa2, 0x01301, 0x06c7c, 0x00987,
  1173.     0x03cb8, 0x0f4af, 0x00e88, 0x1b1c0, 0x00fce, 0x033eb, 0x03f6a, 0x03f69,
  1174.     0x00fcf, 0x0791f, 0x004c9, 0x04871, 0x00fcd, 0x00982, 0x00fcc, 0x00fa3,
  1175.     0x01d12, 0x0796c, 0x01b47, 0x00321, 0x0796a, 0x0d8e2, 0x04872, 0x04873,
  1176.     0x0000e, 0x00014, 0x0000a, 0x000a0, 0x00012, 0x0007d, 0x001a2, 0x0003b,
  1177.     0x0025f, 0x000dd, 0x0027c, 0x00343, 0x00368, 0x0036b, 0x0003e, 0x001fa,
  1178.     0x00485, 0x001b3, 0x0007f, 0x001b1, 0x0019e, 0x004ba, 0x007ad, 0x00339,
  1179.     0x00066, 0x007a4, 0x00793, 0x006c6, 0x0007e, 0x000f1, 0x00372, 0x009fb,
  1180.     0x00d83, 0x00d8a, 0x00947, 0x009f4, 0x001d0, 0x01b09, 0x01b4b, 0x007ec,
  1181.     0x003e1, 0x000ca, 0x003ec, 0x02539, 0x04fa9, 0x01b57, 0x03429, 0x03d2a,
  1182.     0x00d97, 0x003a7, 0x00dc0, 0x00d96, 0x00dc1, 0x007eb, 0x03cba, 0x00c43,
  1183.     0x00c41, 0x01b52, 0x007ef, 0x00323, 0x03cb9, 0x03c83, 0x007d0, 0x007ed,
  1184.     0x06c7f, 0x09033, 0x03f6c, 0x36383, 0x1e95d, 0x06c78, 0x00747, 0x01b51,
  1185.     0x00022, 0x00016, 0x00039, 0x00252, 0x00079, 0x00486, 0x00338, 0x00369,
  1186.     0x00d88, 0x00026, 0x00d87, 0x00f4b, 0x00d82, 0x00027, 0x001e1, 0x01a15,
  1187.     0x007c7, 0x012f0, 0x001e0, 0x006d0, 0x01a16, 0x01e44, 0x01e5f, 0x03690,
  1188.     0x00d90, 0x00c42, 0x00daf, 0x00d92, 0x00f80, 0x00cfb, 0x0342f, 0x0487f,
  1189.     0x01b46, 0x07968, 0x00d95, 0x00d91, 0x01b55, 0x03f68, 0x04bc6, 0x03cbd,
  1190.     0x00f81, 0x00320, 0x00069, 0x000fe, 0x006d5, 0x0033f, 0x000de, 0x007c6,
  1191.     0x01e40, 0x00d94, 0x00f88, 0x03c8e, 0x03694, 0x00dae, 0x00dad, 0x00267,
  1192.     0x003a6, 0x00327, 0x0487e, 0x007ee, 0x00749, 0x004c7, 0x03692, 0x01b56,
  1193.     0x00fd1, 0x07a56, 0x06c77, 0x09031, 0x00748, 0x06c7a, 0x0796d, 0x033ea,
  1194.     0x06c76, 0x00fd0, 0x36382, 0x1e417, 0x00745, 0x04faf, 0x0d8e1, 0x03f6b,
  1195.     0x1e95c, 0x04fad, 0x0009e, 0x004bd, 0x0067c, 0x01b08, 0x003eb, 0x01b45,
  1196.     0x03691, 0x0d8e5, 0x07904, 0x00981, 0x007ea, 0x019f4, 0x06c7d, 0x04fab,
  1197.     0x04fac, 0x06c7e, 0x01300, 0x06c7b, 0x0006f, 0x003f7, 0x03c85, 0x004c4,
  1198.     0x0001e, 0x006e1, 0x03693, 0x01b44, 0x00241, 0x01e46, 0x0019d, 0x00266,
  1199.     0x004bb, 0x02538, 0x007ac, 0x01b54, 0x00902, 0x04870, 0x00da7, 0x00900,
  1200.     0x00185, 0x06c79, 0x006e3, 0x003e9, 0x01e94, 0x003ed, 0x003f2, 0x0342e,
  1201.     0x0346b, 0x0251a, 0x004c5, 0x01881, 0x0481c, 0x01b59, 0x03c87, 0x04fae,
  1202.     0x007e9, 0x03f6d, 0x0f20a, 0x09030, 0x04faa, 0x0d8e6, 0x03f6f, 0x0481a,
  1203.     0x03f6e, 0x1e416, 0x0d8e7,
  1204. };
  1205.  
  1206. static const uint8_t coef5_huffbits[435] = {
  1207.     10,  4,  2,  4,  4,  5,  5,  5,
  1208.      5,  6,  6,  6,  6,  6,  6,  7,
  1209.      7,  7,  7,  7,  7,  7,  7,  7,
  1210.      7,  8,  8,  8,  8,  7,  8,  8,
  1211.      8,  8,  8,  8,  8,  9,  9,  9,
  1212.      9,  9,  9,  9,  9,  9,  9,  9,
  1213.      9,  9, 10,  9, 10, 10, 10, 10,
  1214.     10,  9, 10, 10, 10, 10, 10, 10,
  1215.     10, 10, 11, 11, 10, 10, 11, 11,
  1216.     10, 11, 11, 11, 11, 11, 12, 12,
  1217.     12, 12, 12, 12, 11, 11, 11, 12,
  1218.     12, 12, 12, 12, 12, 12, 12, 12,
  1219.     12, 12, 12, 12, 12, 12, 12, 13,
  1220.     13, 13, 12, 12, 13, 13, 13, 12,
  1221.     12, 12, 12, 12, 13, 13, 13, 13,
  1222.     13, 14, 14, 14, 14, 13, 13, 13,
  1223.     13, 13, 14, 14, 14, 14, 14, 14,
  1224.     15, 14, 14, 14, 14, 14, 14, 13,
  1225.     14, 14, 14, 14, 14, 14, 15, 14,
  1226.     15, 14, 15, 15, 15, 15, 15, 15,
  1227.     16, 15, 15, 14, 15, 16, 15, 14,
  1228.     14, 15, 14, 14, 15, 14, 15, 15,
  1229.     15, 16, 15, 17, 16, 15, 15, 15,
  1230.     15, 16, 16, 16, 16, 17, 15, 16,
  1231.     14, 16, 16, 17, 16, 16, 16, 16,
  1232.     16, 15, 15, 15, 16, 16, 16, 16,
  1233.     17, 15, 15, 15, 15, 16, 15, 15,
  1234.      4,  7,  8,  8,  9,  9,  9, 10,
  1235.     10, 10, 10, 10, 10, 10, 11, 11,
  1236.     11, 11, 11, 11, 11, 11, 11, 12,
  1237.     12, 11, 11, 11, 12, 12, 12, 12,
  1238.     12, 12, 12, 12, 13, 13, 13, 13,
  1239.     12, 13, 14, 14, 15, 15, 14, 14,
  1240.     14, 14, 14, 14, 14, 15, 14, 14,
  1241.     14, 15, 15, 15, 14, 14, 15, 15,
  1242.     15, 16, 16, 18, 17, 15, 15, 15,
  1243.      6,  9, 10, 10, 11, 11, 12, 12,
  1244.     12, 13, 12, 12, 12, 13, 13, 13,
  1245.     13, 13, 13, 13, 13, 13, 13, 14,
  1246.     14, 14, 14, 14, 14, 14, 14, 15,
  1247.     15, 15, 14, 14, 15, 16, 15, 14,
  1248.     14, 15,  7, 10, 11, 12, 13, 13,
  1249.     13, 14, 14, 14, 14, 14, 14, 14,
  1250.     14, 15, 15, 15, 15, 15, 14, 15,
  1251.     16, 15, 15, 16, 15, 15, 15, 16,
  1252.     15, 16, 18, 17, 15, 15, 16, 16,
  1253.     17, 15,  8, 11, 13, 13, 14, 15,
  1254.     14, 16, 15, 16, 15, 15, 15, 15,
  1255.     15, 15, 17, 15,  9, 12, 14, 15,
  1256.     10, 13, 14, 15, 10, 13, 11, 14,
  1257.     11, 14, 11, 15, 12, 15, 12, 12,
  1258.     13, 15, 13, 14, 13, 14, 14, 14,
  1259.     14, 14, 15, 15, 15, 15, 14, 15,
  1260.     15, 16, 16, 16, 15, 16, 16, 15,
  1261.     16, 17, 16,
  1262. };
  1263.  
  1264. static const uint16_t levels0[60] = {
  1265.     317, 92, 62, 60, 19, 17, 10, 7,
  1266.       6,  5,  5,  3,  3,  3,  2, 2,
  1267.       2,  2,  2,  2,  2,  1,  2, 2,
  1268.       1,  1,  1,  1,  1,  1,  1, 1,
  1269.       1,  1,  1,  1,  1,  1,  1, 1,
  1270.       1,  1,  1,  1,  1,  1,  1, 1,
  1271.       1,  1,  1,  1,  1,  1,  1, 1,
  1272.       1,  1,  1,  1,
  1273. };
  1274.  
  1275. static const uint16_t levels1[40] = {
  1276.     311, 91, 61, 28, 10, 6, 5, 2,
  1277.       2,  2,  2,  2,  2, 2, 2, 1,
  1278.       1,  1,  1,  1,  1, 1, 1, 1,
  1279.       1,  1,  1,  1,  1, 1, 1, 1,
  1280.       1,  1,  1,  1,  1, 1, 1, 1,
  1281. };
  1282.  
  1283. static const uint16_t levels2[340] = {
  1284.     181, 110, 78, 63, 61, 62, 60, 61,
  1285.      33,  41, 41, 19, 17, 19, 12, 11,
  1286.       9,  11, 10,  6,  8,  7,  6,  4,
  1287.       5,   5,  4,  4,  3,  4,  3,  5,
  1288.       3,   4,  3,  3,  3,  3,  3,  3,
  1289.       2,   2,  4,  2,  3,  2,  3,  3,
  1290.       2,   2,  2,  2,  2,  2,  2,  2,
  1291.       3,   2,  2,  2,  2,  2,  2,  2,
  1292.       2,   2,  2,  1,  2,  1,  2,  2,
  1293.       2,   2,  1,  2,  1,  1,  1,  2,
  1294.       2,   1,  2,  1,  2,  2,  2,  2,
  1295.       1,   1,  1,  1,  1,  1,  1,  1,
  1296.       1,   1,  1,  1,  1,  1,  1,  1,
  1297.       1,   1,  1,  1,  1,  1,  1,  1,
  1298.       1,   1,  1,  1,  1,  1,  1,  1,
  1299.       1,   1,  1,  1,  1,  1,  1,  1,
  1300.       1,   1,  1,  1,  1,  1,  1,  1,
  1301.       1,   1,  1,  1,  1,  1,  1,  1,
  1302.       1,   1,  1,  1,  1,  1,  1,  1,
  1303.       1,   1,  1,  1,  1,  1,  1,  1,
  1304.       1,   1,  1,  1,  1,  1,  1,  1,
  1305.       1,   1,  1,  1,  1,  1,  1,  1,
  1306.       1,   1,  1,  1,  1,  1,  1,  1,
  1307.       1,   1,  1,  1,  1,  1,  1,  1,
  1308.       1,   1,  1,  1,  1,  1,  1,  1,
  1309.       1,   1,  1,  1,  1,  1,  1,  1,
  1310.       1,   1,  1,  1,  1,  1,  1,  1,
  1311.       1,   1,  1,  1,  1,  1,  1,  1,
  1312.       1,   1,  1,  1,  1,  1,  1,  1,
  1313.       1,   1,  1,  1,  1,  1,  1,  1,
  1314.       1,   1,  1,  1,  1,  1,  1,  1,
  1315.       1,   1,  1,  1,  1,  1,  1,  1,
  1316.       1,   1,  1,  1,  1,  1,  1,  1,
  1317.       1,   1,  1,  1,  1,  1,  1,  1,
  1318.       1,   1,  1,  1,  1,  1,  1,  1,
  1319.       1,   1,  1,  1,  1,  1,  1,  1,
  1320.       1,   1,  1,  1,  1,  1,  1,  1,
  1321.       1,   1,  1,  1,  1,  1,  1,  1,
  1322.       1,   1,  1,  1,  1,  1,  1,  1,
  1323.       1,   1,  1,  1,  1,  1,  1,  1,
  1324.       1,   1,  1,  1,  1,  1,  1,  1,
  1325.       1,   1,  1,  1,  1,  1,  1,  1,
  1326.       1,   1,  1,  1,
  1327. };
  1328.  
  1329. static const uint16_t levels3[180] = {
  1330.     351, 122, 76, 61, 41, 42, 24, 30,
  1331.      22,  19, 11,  9, 10,  8,  5,  5,
  1332.       4,   5,  5,  3,  3,  3,  3,  3,
  1333.       3,   3,  2,  2,  3,  2,  2,  2,
  1334.       3,   3,  2,  2,  2,  3,  2,  2,
  1335.       2,   2,  2,  2,  2,  2,  2,  2,
  1336.       2,   2,  2,  2,  2,  2,  1,  1,
  1337.       2,   2,  1,  2,  1,  2,  2,  2,
  1338.       2,   2,  2,  1,  2,  1,  1,  1,
  1339.       1,   1,  1,  1,  1,  1,  1,  2,
  1340.       2,   1,  2,  1,  1,  1,  1,  1,
  1341.       1,   1,  1,  1,  1,  1,  1,  1,
  1342.       1,   1,  1,  1,  1,  1,  1,  1,
  1343.       1,   1,  1,  1,  1,  1,  1,  1,
  1344.       1,   1,  1,  1,  1,  1,  1,  1,
  1345.       1,   1,  1,  1,  1,  1,  1,  1,
  1346.       1,   1,  1,  1,  1,  1,  1,  1,
  1347.       1,   1,  1,  1,  1,  1,  1,  1,
  1348.       1,   1,  1,  1,  1,  1,  1,  1,
  1349.       1,   1,  1,  1,  1,  1,  1,  1,
  1350.       1,   1,  1,  1,  1,  1,  1,  1,
  1351.       1,   1,  1,  1,  1,  1,  1,  1,
  1352.       1,   1,  1,  1,
  1353. };
  1354.  
  1355. static const uint16_t levels4[70] = {
  1356.     113, 68, 49, 42, 40, 32, 27, 15,
  1357.      10,  5,  3,  3,  3,  3,  2,  2,
  1358.       2,  2,  2,  1,  1,  1,  1,  1,
  1359.       1,  1,  1,  1,  1,  1,  1,  1,
  1360.       1,  1,  1,  1,  1,  1,  1,  1,
  1361.       1,  1,  1,  1,  1,  1,  1,  1,
  1362.       1,  1,  1,  1,  1,  1,  1,  1,
  1363.       1,  1,  1,  1,  1,  1,  1,  1,
  1364.       1,  1,  1,  1,  1,  1,
  1365. };
  1366.  
  1367. static const uint16_t levels5[40] = {
  1368.     214, 72, 42, 40, 18, 4, 4, 2,
  1369.       2,  2,  2,  2,  1, 1, 2, 1,
  1370.       1,  1,  1,  1,  1, 1, 1, 1,
  1371.       1,  1,  1,  1,  1, 1, 1, 1,
  1372.       1,  1,  1,  1,  1, 1, 1, 1,
  1373. };
  1374.  
  1375. static const CoefVLCTable coef_vlcs[6] = {
  1376.     { sizeof(coef0_huffbits), sizeof(levels0) / 2, coef0_huffcodes, coef0_huffbits, levels0, },
  1377.     { sizeof(coef1_huffbits), sizeof(levels1) / 2, coef1_huffcodes, coef1_huffbits, levels1, },
  1378.     { sizeof(coef2_huffbits), sizeof(levels2) / 2, coef2_huffcodes, coef2_huffbits, levels2, },
  1379.     { sizeof(coef3_huffbits), sizeof(levels3) / 2, coef3_huffcodes, coef3_huffbits, levels3, },
  1380.     { sizeof(coef4_huffbits), sizeof(levels4) / 2, coef4_huffcodes, coef4_huffbits, levels4, },
  1381.     { sizeof(coef5_huffbits), sizeof(levels5) / 2, coef5_huffcodes, coef5_huffbits, levels5, },
  1382. };
  1383.  
  1384. #endif /* AVCODEC_WMADATA_H */
  1385.