• Main Page
  • Related Pages
  • Modules
  • Data Structures
  • Files
  • File List
  • Globals

libavcodec/cookdata.h

Go to the documentation of this file.
00001 /*
00002  * COOK compatible decoder data
00003  * Copyright (c) 2003 Sascha Sommer
00004  * Copyright (c) 2005 Benjamin Larsson
00005  *
00006  * This file is part of FFmpeg.
00007  *
00008  * FFmpeg is free software; you can redistribute it and/or
00009  * modify it under the terms of the GNU Lesser General Public
00010  * License as published by the Free Software Foundation; either
00011  * version 2.1 of the License, or (at your option) any later version.
00012  *
00013  * FFmpeg is distributed in the hope that it will be useful,
00014  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00015  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00016  * Lesser General Public License for more details.
00017  *
00018  * You should have received a copy of the GNU Lesser General Public
00019  * License along with FFmpeg; if not, write to the Free Software
00020  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
00021  */
00022 
00028 #ifndef AVCODEC_COOKDATA_H
00029 #define AVCODEC_COOKDATA_H
00030 
00031 #include <stdint.h>
00032 
00033 /* various data tables */
00034 
00035 static const int expbits_tab[8] = {
00036     52,47,43,37,29,22,16,0,
00037 };
00038 
00039 static const float dither_tab[8] = {
00040   0.0, 0.0, 0.0, 0.0, 0.0, 0.176777, 0.25, 0.707107,
00041 };
00042 
00043 static const float quant_centroid_tab[7][14] = {
00044   { 0.000, 0.392, 0.761, 1.120, 1.477, 1.832, 2.183, 2.541, 2.893, 3.245, 3.598, 3.942, 4.288, 4.724 },
00045   { 0.000, 0.544, 1.060, 1.563, 2.068, 2.571, 3.072, 3.562, 4.070, 4.620, 0.000, 0.000, 0.000, 0.000 },
00046   { 0.000, 0.746, 1.464, 2.180, 2.882, 3.584, 4.316, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000 },
00047   { 0.000, 1.006, 2.000, 2.993, 3.985, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000 },
00048   { 0.000, 1.321, 2.703, 3.983, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000 },
00049   { 0.000, 1.657, 3.491, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000 },
00050   { 0.000, 1.964, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000 }
00051 };
00052 
00053 static const int invradix_tab[7] = {
00054     74899, 104858, 149797, 209716, 262144, 349526, 524288,
00055 };
00056 
00057 static const int kmax_tab[7] = {
00058     13, 9, 6, 4, 3, 2, 1,
00059 };
00060 
00061 static const int vd_tab[7] = {
00062     2, 2, 2, 4, 4, 5, 5,
00063 };
00064 
00065 static const int vpr_tab[7] = {
00066     10, 10, 10, 5, 5, 4, 4,
00067 };
00068 
00069 
00070 
00071 /* VLC data */
00072 
00073 static const int vhsize_tab[7] = {
00074     191, 97, 48, 607, 246, 230, 32,
00075 };
00076 
00077 static const int vhvlcsize_tab[7] = {
00078     8, 7, 7, 10, 9, 9, 6,
00079 };
00080 
00081 static const uint8_t envelope_quant_index_huffbits[13][24] = {
00082     {  4,  6,  5,  5,  4, 4, 4, 4, 4, 4, 3, 3, 3, 4, 5, 7,  8,  9, 11, 11, 12, 12, 12, 12 },
00083     { 10,  8,  6,  5,  5, 4, 3, 3, 3, 3, 3, 3, 4, 5, 7, 9, 11, 12, 13, 15, 15, 15, 16, 16 },
00084     { 12, 10,  8,  6,  5, 4, 4, 4, 4, 4, 4, 3, 3, 3, 4, 4,  5,  5,  7,  9, 11, 13, 14, 14 },
00085     { 13, 10,  9,  9,  7, 7, 5, 5, 4, 3, 3, 3, 3, 3, 4, 4,  4,  5,  7,  9, 11, 13, 13, 13 },
00086     { 12, 13, 10,  8,  6, 6, 5, 5, 4, 4, 3, 3, 3, 3, 3, 4,  5,  5,  6,  7,  9, 11, 14, 14 },
00087     { 12, 11,  9,  8,  8, 7, 5, 4, 4, 3, 3, 3, 3, 3, 4, 4,  5,  5,  7,  8, 10, 13, 14, 14 },
00088     { 15, 16, 15, 12, 10, 8, 6, 5, 4, 3, 3, 3, 2, 3, 4, 5,  5,  7,  9, 11, 13, 16, 16, 16 },
00089     { 14, 14, 11, 10,  9, 7, 7, 5, 5, 4, 3, 3, 2, 3, 3, 4,  5,  7,  9,  9, 12, 14, 15, 15 },
00090     {  9,  9,  9,  8,  7, 6, 5, 4, 3, 3, 3, 3, 3, 3, 4, 5,  6,  7,  8, 10, 11, 12, 13, 13 },
00091     { 14, 12, 10,  8,  6, 6, 5, 4, 3, 3, 3, 3, 3, 3, 4, 5,  6,  8,  8,  9, 11, 14, 14, 14 },
00092     { 13, 10,  9,  8,  6, 6, 5, 4, 4, 4, 3, 3, 2, 3, 4, 5,  6,  8,  9,  9, 11, 12, 14, 14 },
00093     { 16, 13, 12, 11,  9, 6, 5, 5, 4, 4, 4, 3, 2, 3, 3, 4,  5,  7,  8, 10, 14, 16, 16, 16 },
00094     { 13, 14, 14, 14, 10, 8, 7, 7, 5, 4, 3, 3, 2, 3, 3, 4,  5,  5,  7,  9, 11, 14, 14, 14 },
00095 };
00096 
00097 static const uint16_t envelope_quant_index_huffcodes[13][24] = {
00098     {0x0006, 0x003e, 0x001c, 0x001d, 0x0007, 0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x0000, 0x0001,
00099      0x0002, 0x000d, 0x001e, 0x007e, 0x00fe, 0x01fe, 0x07fc, 0x07fd, 0x0ffc, 0x0ffd, 0x0ffe, 0x0fff},
00100     {0x03fe, 0x00fe, 0x003e, 0x001c, 0x001d, 0x000c, 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005,
00101      0x000d, 0x001e, 0x007e, 0x01fe, 0x07fe, 0x0ffe, 0x1ffe, 0x7ffc, 0x7ffd, 0x7ffe, 0xfffe, 0xffff},
00102     {0x0ffe, 0x03fe, 0x00fe, 0x003e, 0x001c, 0x0006, 0x0007, 0x0008, 0x0009, 0x000a, 0x000b, 0x0000,
00103      0x0001, 0x0002, 0x000c, 0x000d, 0x001d, 0x001e, 0x007e, 0x01fe, 0x07fe, 0x1ffe, 0x3ffe, 0x3fff},
00104     {0x1ffc, 0x03fe, 0x01fc, 0x01fd, 0x007c, 0x007d, 0x001c, 0x001d, 0x000a, 0x0000, 0x0001, 0x0002,
00105      0x0003, 0x0004, 0x000b, 0x000c, 0x000d, 0x001e, 0x007e, 0x01fe, 0x07fe, 0x1ffd, 0x1ffe, 0x1fff},
00106     {0x0ffe, 0x1ffe, 0x03fe, 0x00fe, 0x003c, 0x003d, 0x001a, 0x001b, 0x000a, 0x000b, 0x0000, 0x0001,
00107      0x0002, 0x0003, 0x0004, 0x000c, 0x001c, 0x001d, 0x003e, 0x007e, 0x01fe, 0x07fe, 0x3ffe, 0x3fff},
00108     {0x0ffe, 0x07fe, 0x01fe, 0x00fc, 0x00fd, 0x007c, 0x001c, 0x000a, 0x000b, 0x0000, 0x0001, 0x0002,
00109      0x0003, 0x0004, 0x000c, 0x000d, 0x001d, 0x001e, 0x007d, 0x00fe, 0x03fe, 0x1ffe, 0x3ffe, 0x3fff},
00110     {0x7ffc, 0xfffc, 0x7ffd, 0x0ffe, 0x03fe, 0x00fe, 0x003e, 0x001c, 0x000c, 0x0002, 0x0003, 0x0004,
00111      0x0000, 0x0005, 0x000d, 0x001d, 0x001e, 0x007e, 0x01fe, 0x07fe, 0x1ffe, 0xfffd, 0xfffe, 0xffff},
00112     {0x3ffc, 0x3ffd, 0x07fe, 0x03fe, 0x01fc, 0x007c, 0x007d, 0x001c, 0x001d, 0x000c, 0x0002, 0x0003,
00113      0x0000, 0x0004, 0x0005, 0x000d, 0x001e, 0x007e, 0x01fd, 0x01fe, 0x0ffe, 0x3ffe, 0x7ffe, 0x7fff},
00114     {0x01fc, 0x01fd, 0x01fe, 0x00fc, 0x007c, 0x003c, 0x001c, 0x000c, 0x0000, 0x0001, 0x0002, 0x0003,
00115      0x0004, 0x0005, 0x000d, 0x001d, 0x003d, 0x007d, 0x00fd, 0x03fe, 0x07fe, 0x0ffe, 0x1ffe, 0x1fff},
00116     {0x3ffc, 0x0ffe, 0x03fe, 0x00fc, 0x003c, 0x003d, 0x001c, 0x000c, 0x0000, 0x0001, 0x0002, 0x0003,
00117      0x0004, 0x0005, 0x000d, 0x001d, 0x003e, 0x00fd, 0x00fe, 0x01fe, 0x07fe, 0x3ffd, 0x3ffe, 0x3fff},
00118     {0x1ffe, 0x03fe, 0x01fc, 0x00fc, 0x003c, 0x003d, 0x001c, 0x000a, 0x000b, 0x000c, 0x0002, 0x0003,
00119      0x0000, 0x0004, 0x000d, 0x001d, 0x003e, 0x00fd, 0x01fd, 0x01fe, 0x07fe, 0x0ffe, 0x3ffe, 0x3fff},
00120     {0xfffc, 0x1ffe, 0x0ffe, 0x07fe, 0x01fe, 0x003e, 0x001c, 0x001d, 0x000a, 0x000b, 0x000c, 0x0002,
00121      0x0000, 0x0003, 0x0004, 0x000d, 0x001e, 0x007e, 0x00fe, 0x03fe, 0x3ffe, 0xfffd, 0xfffe, 0xffff},
00122     {0x1ffc, 0x3ffa, 0x3ffb, 0x3ffc, 0x03fe, 0x00fe, 0x007c, 0x007d, 0x001c, 0x000c, 0x0002, 0x0003,
00123      0x0000, 0x0004, 0x0005, 0x000d, 0x001d, 0x001e, 0x007e, 0x01fe, 0x07fe, 0x3ffd, 0x3ffe, 0x3fff},
00124 };
00125 
00126 
00127 static const uint8_t cvh_huffbits0[191] = {
00128     1, 4, 6, 6, 7, 7, 8, 8, 8, 9, 9, 10,
00129     11, 11, 4, 5, 6, 7, 7, 8, 8, 9, 9, 9,
00130     9, 10, 11, 11, 5, 6, 7, 8, 8, 9, 9, 9,
00131     9, 10, 10, 10, 11, 12, 6, 7, 8, 9, 9, 9,
00132     9, 10, 10, 10, 10, 11, 12, 13, 7, 7, 8, 9,
00133     9, 9, 10, 10, 10, 10, 11, 11, 12, 13, 8, 8,
00134     9, 9, 9, 10, 10, 10, 10, 11, 11, 12, 13, 14,
00135     8, 8, 9, 9, 10, 10, 11, 11, 11, 12, 12, 13,
00136     13, 15, 8, 8, 9, 9, 10, 10, 11, 11, 11, 12,
00137     12, 13, 14, 15, 9, 9, 9, 10, 10, 10, 11, 11,
00138     12, 13, 12, 14, 15, 16, 9, 9, 10, 10, 10, 10,
00139     11, 12, 12, 14, 14, 16, 16, 0, 9, 9, 10, 10,
00140     11, 11, 12, 13, 13, 14, 14, 15, 0, 0, 10, 10,
00141     10, 11, 11, 12, 12, 13, 15, 15, 16, 0, 0, 0,
00142     11, 11, 11, 12, 13, 13, 13, 15, 16, 16, 0, 0,
00143     0, 0, 11, 11, 12, 13, 13, 14, 15, 16, 16,
00144 };
00145 
00146 static const uint16_t cvh_huffcodes0[191] = {
00147     0x0000,0x0008,0x002c,0x002d,0x0062,0x0063,0x00d4,0x00d5,0x00d6,0x01c6,0x01c7,0x03ca,
00148     0x07d6,0x07d7,0x0009,0x0014,0x002e,0x0064,0x0065,0x00d7,0x00d8,0x01c8,0x01c9,0x01ca,
00149     0x01cb,0x03cb,0x07d8,0x07d9,0x0015,0x002f,0x0066,0x00d9,0x00da,0x01cc,0x01cd,0x01ce,
00150     0x01cf,0x03cc,0x03cd,0x03ce,0x07da,0x0fe4,0x0030,0x0067,0x00db,0x01d0,0x01d1,0x01d2,
00151     0x01d3,0x03cf,0x03d0,0x03d1,0x03d2,0x07db,0x0fe5,0x1fea,0x0068,0x0069,0x00dc,0x01d4,
00152     0x01d5,0x01d6,0x03d3,0x03d4,0x03d5,0x03d6,0x07dc,0x07dd,0x0fe6,0x1feb,0x00dd,0x00de,
00153     0x01d7,0x01d8,0x01d9,0x03d7,0x03d8,0x03d9,0x03da,0x07de,0x07df,0x0fe7,0x1fec,0x3ff2,
00154     0x00df,0x00e0,0x01da,0x01db,0x03db,0x03dc,0x07e0,0x07e1,0x07e2,0x0fe8,0x0fe9,0x1fed,
00155     0x1fee,0x7ff4,0x00e1,0x00e2,0x01dc,0x01dd,0x03dd,0x03de,0x07e3,0x07e4,0x07e5,0x0fea,
00156     0x0feb,0x1fef,0x3ff3,0x7ff5,0x01de,0x01df,0x01e0,0x03df,0x03e0,0x03e1,0x07e6,0x07e7,
00157     0x0fec,0x1ff0,0x0fed,0x3ff4,0x7ff6,0xfff8,0x01e1,0x01e2,0x03e2,0x03e3,0x03e4,0x03e5,
00158     0x07e8,0x0fee,0x0fef,0x3ff5,0x3ff6,0xfff9,0xfffa,0xfffa,0x01e3,0x01e4,0x03e6,0x03e7,
00159     0x07e9,0x07ea,0x0ff0,0x1ff1,0x1ff2,0x3ff7,0x3ff8,0x7ff7,0x7ff7,0xfffa,0x03e8,0x03e9,
00160     0x03ea,0x07eb,0x07ec,0x0ff1,0x0ff2,0x1ff3,0x7ff8,0x7ff9,0xfffb,0x3ff8,0x7ff7,0x7ff7,
00161     0x07ed,0x07ee,0x07ef,0x0ff3,0x1ff4,0x1ff5,0x1ff6,0x7ffa,0xfffc,0xfffd,0xfffb,0xfffb,
00162     0x3ff8,0x7ff7,0x07f0,0x07f1,0x0ff4,0x1ff7,0x1ff8,0x3ff9,0x7ffb,0xfffe,0xffff,
00163 };
00164 
00165 
00166 static const uint8_t cvh_huffbits1[97] = {
00167     1, 4, 5, 6, 7, 8, 8, 9, 10, 10, 4, 5,
00168     6, 7, 7, 8, 8, 9, 9, 11, 5, 5, 6, 7,
00169     8, 8, 9, 9, 10, 11, 6, 6, 7, 8, 8, 9,
00170     9, 10, 11, 12, 7, 7, 8, 8, 9, 9, 10, 11,
00171     11, 13, 8, 8, 8, 9, 9, 10, 10, 11, 12, 14,
00172     8, 8, 8, 9, 10, 11, 11, 12, 13, 15, 9, 9,
00173     9, 10, 11, 12, 12, 14, 14, 0, 9, 9, 9, 10,
00174     11, 12, 14, 16, 0, 0, 10, 10, 11, 12, 13, 14,
00175     16,
00176 };
00177 
00178 
00179 static const uint16_t cvh_huffcodes1[97] = {
00180     0x0000,0x0008,0x0014,0x0030,0x006a,0x00e2,0x00e3,0x01e4,0x03ec,0x03ed,0x0009,0x0015,
00181     0x0031,0x006b,0x006c,0x00e4,0x00e5,0x01e5,0x01e6,0x07f0,0x0016,0x0017,0x0032,0x006d,
00182     0x00e6,0x00e7,0x01e7,0x01e8,0x03ee,0x07f1,0x0033,0x0034,0x006e,0x00e8,0x00e9,0x01e9,
00183     0x01ea,0x03ef,0x07f2,0x0ff6,0x006f,0x0070,0x00ea,0x00eb,0x01eb,0x01ec,0x03f0,0x07f3,
00184     0x07f4,0x1ffa,0x00ec,0x00ed,0x00ee,0x01ed,0x01ee,0x03f1,0x03f2,0x07f5,0x0ff7,0x3ffa,
00185     0x00ef,0x00f0,0x00f1,0x01ef,0x03f3,0x07f6,0x07f7,0x0ff8,0x1ffb,0x7ffe,0x01f0,0x01f1,
00186     0x01f2,0x03f4,0x07f8,0x0ff9,0x0ffa,0x3ffb,0x3ffc,0x0000,0x01f3,0x01f4,0x01f5,0x03f5,
00187     0x07f9,0x0ffb,0x3ffd,0xfffe,0x0000,0x0000,0x03f6,0x03f7,0x07fa,0x0ffc,0x1ffc,0x3ffe,
00188     0xffff,
00189 };
00190 
00191 static const uint8_t cvh_huffbits2[48] = {
00192     1, 4, 5, 7, 8, 9, 10, 3, 4, 5, 7, 8,
00193     9, 10, 5, 5, 6, 7, 8, 10, 10, 7, 6, 7,
00194     8, 9, 10, 12, 8, 8, 8, 9, 10, 12, 14, 8,
00195     9, 9, 10, 11, 15, 16, 9, 10, 11, 12, 13, 16,
00196 };
00197 
00198 static const uint16_t cvh_huffcodes2[48] = {
00199     0x0000,0x000a,0x0018,0x0074,0x00f2,0x01f4,0x03f6,0x0004,0x000b,0x0019,0x0075,0x00f3,
00200     0x01f5,0x03f7,0x001a,0x001b,0x0038,0x0076,0x00f4,0x03f8,0x03f9,0x0077,0x0039,0x0078,
00201     0x00f5,0x01f6,0x03fa,0x0ffc,0x00f6,0x00f7,0x00f8,0x01f7,0x03fb,0x0ffd,0x3ffe,0x00f9,
00202     0x01f8,0x01f9,0x03fc,0x07fc,0x7ffe,0xfffe,0x01fa,0x03fd,0x07fd,0x0ffe,0x1ffe,0xffff,
00203 };
00204 
00205 static const uint8_t cvh_huffbits3[607] = {
00206     2, 4, 6, 8, 10, 5, 5, 6, 8, 10, 7, 8,
00207     8, 10, 12, 9, 9, 10, 12, 15, 10, 11, 13, 16,
00208     16, 5, 6, 8, 10, 11, 5, 6, 8, 10, 12, 7,
00209     7, 8, 10, 13, 9, 9, 10, 12, 15, 12, 11, 13,
00210     16, 16, 7, 9, 10, 12, 15, 7, 8, 10, 12, 13,
00211     9, 9, 11, 13, 16, 11, 11, 12, 14, 16, 12, 12,
00212     14, 16, 0, 9, 11, 12, 16, 16, 9, 10, 13, 15,
00213     16, 10, 11, 12, 16, 16, 13, 13, 16, 16, 16, 16,
00214     16, 15, 16, 0, 11, 13, 16, 16, 15, 11, 13, 15,
00215     16, 16, 13, 13, 16, 16, 0, 14, 16, 16, 16, 0,
00216     16, 16, 0, 0, 0, 4, 6, 8, 10, 13, 6, 6,
00217     8, 10, 13, 9, 8, 10, 12, 16, 10, 10, 11, 15,
00218     16, 13, 12, 14, 16, 16, 5, 6, 8, 11, 13, 6,
00219     6, 8, 10, 13, 8, 8, 9, 11, 14, 10, 10, 12,
00220     12, 16, 13, 12, 13, 15, 16, 7, 8, 9, 12, 16,
00221     7, 8, 10, 12, 14, 9, 9, 10, 13, 16, 11, 10,
00222     12, 15, 16, 13, 13, 16, 16, 0, 9, 11, 13, 16,
00223     16, 9, 10, 12, 15, 16, 10, 11, 13, 16, 16, 13,
00224     12, 16, 16, 16, 16, 16, 16, 16, 0, 11, 13, 16,
00225     16, 16, 11, 13, 16, 16, 16, 12, 13, 15, 16, 0,
00226     16, 16, 16, 16, 0, 16, 16, 0, 0, 0, 6, 8,
00227     11, 13, 16, 8, 8, 10, 12, 16, 11, 10, 11, 13,
00228     16, 12, 13, 13, 15, 16, 16, 16, 14, 16, 0, 6,
00229     8, 10, 13, 16, 8, 8, 10, 12, 16, 10, 10, 11,
00230     13, 16, 13, 12, 13, 16, 16, 14, 14, 14, 16, 0,
00231     8, 9, 11, 13, 16, 8, 9, 11, 16, 14, 10, 10,
00232     12, 15, 16, 12, 12, 13, 16, 16, 15, 16, 16, 16,
00233     0, 10, 12, 15, 16, 16, 10, 12, 12, 14, 16, 12,
00234     12, 13, 16, 16, 14, 15, 16, 16, 0, 16, 16, 16,
00235     0, 0, 12, 15, 15, 16, 0, 13, 13, 16, 16, 0,
00236     14, 16, 16, 16, 0, 16, 16, 16, 0, 0, 0, 0,
00237     0, 0, 0, 8, 10, 13, 15, 16, 10, 11, 13, 16,
00238     16, 13, 13, 14, 16, 16, 16, 16, 16, 16, 16, 16,
00239     16, 16, 16, 0, 8, 10, 11, 15, 16, 9, 10, 12,
00240     16, 16, 12, 12, 15, 16, 16, 16, 14, 16, 16, 16,
00241     16, 16, 16, 16, 0, 9, 11, 14, 16, 16, 10, 11,
00242     13, 16, 16, 14, 13, 14, 16, 16, 16, 15, 15, 16,
00243     0, 16, 16, 16, 0, 0, 11, 13, 16, 16, 16, 11,
00244     13, 15, 16, 16, 13, 16, 16, 16, 0, 16, 16, 16,
00245     16, 0, 16, 16, 0, 0, 0, 15, 16, 16, 16, 0,
00246     14, 16, 16, 16, 0, 16, 16, 16, 0, 0, 16, 16,
00247     0, 0, 0, 0, 0, 0, 0, 0, 9, 13, 16, 16,
00248     16, 11, 13, 16, 16, 16, 14, 15, 16, 16, 0, 15,
00249     16, 16, 16, 0, 16, 16, 0, 0, 0, 9, 13, 15,
00250     15, 16, 12, 13, 14, 16, 16, 16, 15, 16, 16, 0,
00251     16, 16, 16, 16, 0, 16, 16, 0, 0, 0, 11, 13,
00252     15, 16, 0, 12, 14, 16, 16, 0, 16, 16, 16, 16,
00253     0, 16, 16, 16, 0, 0, 0, 0, 0, 0, 0, 16,
00254     16, 16, 16, 0, 16, 16, 16, 16, 0, 16, 16, 16,
00255     0, 0, 16, 16, 0, 0, 0, 0, 0, 0, 0, 0,
00256     16, 16, 0, 0, 0, 16, 16,
00257 };
00258 
00259 
00260 static const uint16_t cvh_huffcodes3[607] = {
00261     0x0000,0x0004,0x0022,0x00c6,0x03b0,0x000c,0x000d,0x0023,0x00c7,0x03b1,0x005c,0x00c8,
00262     0x00c9,0x03b2,0x0fa4,0x01c2,0x01c3,0x03b3,0x0fa5,0x7f72,0x03b4,0x07b2,0x1f9a,0xff24,
00263     0xff25,0x000e,0x0024,0x00ca,0x03b5,0x07b3,0x000f,0x0025,0x00cb,0x03b6,0x0fa6,0x005d,
00264     0x005e,0x00cc,0x03b7,0x1f9b,0x01c4,0x01c5,0x03b8,0x0fa7,0x7f73,0x0fa8,0x07b4,0x1f9c,
00265     0xff26,0xff27,0x005f,0x01c6,0x03b9,0x0fa9,0x7f74,0x0060,0x00cd,0x03ba,0x0faa,0x1f9d,
00266     0x01c7,0x01c8,0x07b5,0x1f9e,0xff28,0x07b6,0x07b7,0x0fab,0x3fa2,0xff29,0x0fac,0x0fad,
00267     0x3fa3,0xff2a,0x3fa2,0x01c9,0x07b8,0x0fae,0xff2b,0xff2c,0x01ca,0x03bb,0x1f9f,0x7f75,
00268     0xff2d,0x03bc,0x07b9,0x0faf,0xff2e,0xff2f,0x1fa0,0x1fa1,0xff30,0xff31,0xff32,0xff33,
00269     0xff34,0x7f76,0xff35,0xff31,0x07ba,0x1fa2,0xff36,0xff37,0x7f77,0x07bb,0x1fa3,0x7f78,
00270     0xff38,0xff39,0x1fa4,0x1fa5,0xff3a,0xff3b,0xff2e,0x3fa4,0xff3c,0xff3d,0xff3e,0xff31,
00271     0xff3f,0xff40,0xff30,0xff31,0xff31,0x0005,0x0026,0x00ce,0x03bd,0x1fa6,0x0027,0x0028,
00272     0x00cf,0x03be,0x1fa7,0x01cb,0x00d0,0x03bf,0x0fb0,0xff41,0x03c0,0x03c1,0x07bc,0x7f79,
00273     0xff42,0x1fa8,0x0fb1,0x3fa5,0xff43,0xff44,0x0010,0x0029,0x00d1,0x07bd,0x1fa9,0x002a,
00274     0x002b,0x00d2,0x03c2,0x1faa,0x00d3,0x00d4,0x01cc,0x07be,0x3fa6,0x03c3,0x03c4,0x0fb2,
00275     0x0fb3,0xff45,0x1fab,0x0fb4,0x1fac,0x7f7a,0xff46,0x0061,0x00d5,0x01cd,0x0fb5,0xff47,
00276     0x0062,0x00d6,0x03c5,0x0fb6,0x3fa7,0x01ce,0x01cf,0x03c6,0x1fad,0xff48,0x07bf,0x03c7,
00277     0x0fb7,0x7f7b,0xff49,0x1fae,0x1faf,0xff4a,0xff4b,0x7f7b,0x01d0,0x07c0,0x1fb0,0xff4c,
00278     0xff4d,0x01d1,0x03c8,0x0fb8,0x7f7c,0xff4e,0x03c9,0x07c1,0x1fb1,0xff4f,0xff50,0x1fb2,
00279     0x0fb9,0xff51,0xff52,0xff53,0xff54,0xff55,0xff56,0xff57,0xff52,0x07c2,0x1fb3,0xff58,
00280     0xff59,0xff5a,0x07c3,0x1fb4,0xff5b,0xff5c,0xff5d,0x0fba,0x1fb5,0x7f7d,0xff5e,0xff4f,
00281     0xff5f,0xff60,0xff61,0xff62,0xff52,0xff63,0xff64,0xff51,0xff52,0xff52,0x002c,0x00d7,
00282     0x07c4,0x1fb6,0xff65,0x00d8,0x00d9,0x03ca,0x0fbb,0xff66,0x07c5,0x03cb,0x07c6,0x1fb7,
00283     0xff67,0x0fbc,0x1fb8,0x1fb9,0x7f7e,0xff68,0xff69,0xff6a,0x3fa8,0xff6b,0x7f7e,0x002d,
00284     0x00da,0x03cc,0x1fba,0xff6c,0x00db,0x00dc,0x03cd,0x0fbd,0xff6d,0x03ce,0x03cf,0x07c7,
00285     0x1fbb,0xff6e,0x1fbc,0x0fbe,0x1fbd,0xff6f,0xff70,0x3fa9,0x3faa,0x3fab,0xff71,0xff6f,
00286     0x00dd,0x01d2,0x07c8,0x1fbe,0xff72,0x00de,0x01d3,0x07c9,0xff73,0x3fac,0x03d0,0x03d1,
00287     0x0fbf,0x7f7f,0xff74,0x0fc0,0x0fc1,0x1fbf,0xff75,0xff76,0x7f80,0xff77,0xff78,0xff79,
00288     0xff75,0x03d2,0x0fc2,0x7f81,0xff7a,0xff7b,0x03d3,0x0fc3,0x0fc4,0x3fad,0xff7c,0x0fc5,
00289     0x0fc6,0x1fc0,0xff7d,0xff7e,0x3fae,0x7f82,0xff7f,0xff80,0xff80,0xff81,0xff82,0xff83,
00290     0xff80,0xff80,0x0fc7,0x7f83,0x7f84,0xff84,0xff7a,0x1fc1,0x1fc2,0xff85,0xff86,0x3fad,
00291     0x3faf,0xff87,0xff88,0xff89,0xff7d,0xff8a,0xff8b,0xff8c,0xff80,0xff80,0x3fae,0x7f82,
00292     0xff7f,0xff80,0xff80,0x00df,0x03d4,0x1fc3,0x7f85,0xff8d,0x03d5,0x07ca,0x1fc4,0xff8e,
00293     0xff8f,0x1fc5,0x1fc6,0x3fb0,0xff90,0xff91,0xff92,0xff93,0xff94,0xff95,0xff96,0xff97,
00294     0xff98,0xff99,0xff9a,0xff95,0x00e0,0x03d6,0x07cb,0x7f86,0xff9b,0x01d4,0x03d7,0x0fc8,
00295     0xff9c,0xff9d,0x0fc9,0x0fca,0x7f87,0xff9e,0xff9f,0xffa0,0x3fb1,0xffa1,0xffa2,0xffa3,
00296     0xffa4,0xffa5,0xffa6,0xffa7,0xffa2,0x01d5,0x07cc,0x3fb2,0xffa8,0xffa9,0x03d8,0x07cd,
00297     0x1fc7,0xffaa,0xffab,0x3fb3,0x1fc8,0x3fb4,0xffac,0xffad,0xffae,0x7f88,0x7f89,0xffaf,
00298     0xffaf,0xffb0,0xffb1,0xffb2,0xffaf,0xffaf,0x07ce,0x1fc9,0xffb3,0xffb4,0xffb5,0x07cf,
00299     0x1fca,0x7f8a,0xffb6,0xffb7,0x1fcb,0xffb8,0xffb9,0xffba,0xffba,0xffbb,0xffbc,0xffbd,
00300     0xffbe,0xffbe,0xffbf,0xffc0,0xffbd,0xffbe,0xffbe,0x7f8b,0xffc1,0xffc2,0xffc3,0xffb4,
00301     0x3fb5,0xffc4,0xffc5,0xffc6,0xffb6,0xffc7,0xffc8,0xffc9,0xffba,0xffba,0xffca,0xffcb,
00302     0xffbd,0xffbe,0xffbe,0xffbb,0xffbc,0xffbd,0xffbe,0xffbe,0x01d6,0x1fcc,0xffcc,0xffcd,
00303     0xffce,0x07d0,0x1fcd,0xffcf,0xffd0,0xffd1,0x3fb6,0x7f8c,0xffd2,0xffd3,0xff90,0x7f8d,
00304     0xffd4,0xffd5,0xffd6,0xff95,0xffd7,0xffd8,0xff94,0xff95,0xff95,0x01d7,0x1fce,0x7f8e,
00305     0x7f8f,0xffd9,0x0fcb,0x1fcf,0x3fb7,0xffda,0xffdb,0xffdc,0x7f90,0xffdd,0xffde,0xff9e,
00306     0xffdf,0xffe0,0xffe1,0xffe2,0xffa2,0xffe3,0xffe4,0xffa1,0xffa2,0xffa2,0x07d1,0x1fd0,
00307     0x7f91,0xffe5,0xffa8,0x0fcc,0x3fb8,0xffe6,0xffe7,0xffaa,0xffe8,0xffe9,0xffea,0xffeb,
00308     0xffac,0xffec,0xffed,0xffee,0xffaf,0xffaf,0xffae,0x7f88,0x7f89,0xffaf,0xffaf,0xffef,
00309     0xfff0,0xfff1,0xfff2,0xffb4,0xfff3,0xfff4,0xfff5,0xfff6,0xffb6,0xfff7,0xfff8,0xfff9,
00310     0xffba,0xffba,0xfffa,0xfffb,0xffbd,0xffbe,0xffbe,0xffbb,0xffbc,0xffbd,0xffbe,0xffbe,
00311     0xfffc,0xfffd,0xffb3,0xffb4,0xffb4,0xfffe,0xffff,
00312 };
00313 
00314 static const uint8_t cvh_huffbits4[246] = {
00315     2, 4, 7, 10, 4, 5, 7, 10, 7, 8, 10, 14,
00316     11, 11, 15, 15, 4, 5, 9, 12, 5, 5, 8, 12,
00317     8, 7, 10, 15, 11, 11, 15, 15, 7, 9, 12, 15,
00318     8, 8, 12, 15, 10, 10, 13, 15, 14, 14, 15, 0,
00319     11, 13, 15, 15, 11, 13, 15, 15, 14, 15, 15, 0,
00320     15, 15, 0, 0, 4, 5, 9, 13, 5, 6, 9, 13,
00321     9, 9, 11, 15, 14, 13, 15, 15, 4, 6, 9, 12,
00322     5, 6, 9, 13, 9, 8, 11, 15, 13, 12, 15, 15,
00323     7, 9, 12, 15, 7, 8, 11, 15, 10, 10, 14, 15,
00324     14, 15, 15, 0, 10, 12, 15, 15, 11, 13, 15, 15,
00325     15, 15, 15, 0, 15, 15, 0, 0, 6, 9, 13, 14,
00326     8, 9, 12, 15, 12, 12, 15, 15, 15, 15, 15, 0,
00327     7, 9, 13, 15, 8, 9, 12, 15, 11, 12, 15, 15,
00328     15, 15, 15, 0, 9, 11, 15, 15, 9, 11, 15, 15,
00329     14, 14, 15, 0, 15, 15, 0, 0, 14, 15, 15, 0,
00330     14, 15, 15, 0, 15, 15, 0, 0, 0, 0, 0, 0,
00331     9, 12, 15, 15, 12, 13, 15, 15, 15, 15, 15, 0,
00332     15, 15, 0, 0, 10, 12, 15, 15, 12, 14, 15, 15,
00333     15, 15, 15, 0, 15, 15, 0, 0, 14, 15, 15, 0,
00334     15, 15, 15, 0, 15, 15, 0, 0, 0, 0, 0, 0,
00335     15, 15, 0, 0, 15, 15,
00336 };
00337 
00338 
00339 static const uint16_t cvh_huffcodes4[246] = {
00340     0x0000,0x0004,0x006c,0x03e6,0x0005,0x0012,0x006d,0x03e7,0x006e,0x00e8,0x03e8,0x3fc4,
00341     0x07e0,0x07e1,0x7fa4,0x7fa5,0x0006,0x0013,0x01e2,0x0fda,0x0014,0x0015,0x00e9,0x0fdb,
00342     0x00ea,0x006f,0x03e9,0x7fa6,0x07e2,0x07e3,0x7fa7,0x7fa8,0x0070,0x01e3,0x0fdc,0x7fa9,
00343     0x00eb,0x00ec,0x0fdd,0x7faa,0x03ea,0x03eb,0x1fd6,0x7fab,0x3fc5,0x3fc6,0x7fac,0x1fd6,
00344     0x07e4,0x1fd7,0x7fad,0x7fae,0x07e5,0x1fd8,0x7faf,0x7fb0,0x3fc7,0x7fb1,0x7fb2,0x1fd6,
00345     0x7fb3,0x7fb4,0x1fd6,0x1fd6,0x0007,0x0016,0x01e4,0x1fd9,0x0017,0x0032,0x01e5,0x1fda,
00346     0x01e6,0x01e7,0x07e6,0x7fb5,0x3fc8,0x1fdb,0x7fb6,0x7fb7,0x0008,0x0033,0x01e8,0x0fde,
00347     0x0018,0x0034,0x01e9,0x1fdc,0x01ea,0x00ed,0x07e7,0x7fb8,0x1fdd,0x0fdf,0x7fb9,0x7fba,
00348     0x0071,0x01eb,0x0fe0,0x7fbb,0x0072,0x00ee,0x07e8,0x7fbc,0x03ec,0x03ed,0x3fc9,0x7fbd,
00349     0x3fca,0x7fbe,0x7fbf,0x3fc9,0x03ee,0x0fe1,0x7fc0,0x7fc1,0x07e9,0x1fde,0x7fc2,0x7fc3,
00350     0x7fc4,0x7fc5,0x7fc6,0x3fc9,0x7fc7,0x7fc8,0x3fc9,0x3fc9,0x0035,0x01ec,0x1fdf,0x3fcb,
00351     0x00ef,0x01ed,0x0fe2,0x7fc9,0x0fe3,0x0fe4,0x7fca,0x7fcb,0x7fcc,0x7fcd,0x7fce,0x7fca,
00352     0x0073,0x01ee,0x1fe0,0x7fcf,0x00f0,0x01ef,0x0fe5,0x7fd0,0x07ea,0x0fe6,0x7fd1,0x7fd2,
00353     0x7fd3,0x7fd4,0x7fd5,0x7fd1,0x01f0,0x07eb,0x7fd6,0x7fd7,0x01f1,0x07ec,0x7fd8,0x7fd9,
00354     0x3fcc,0x3fcd,0x7fda,0x7fda,0x7fdb,0x7fdc,0x7fda,0x7fda,0x3fce,0x7fdd,0x7fde,0x7fd6,
00355     0x3fcf,0x7fdf,0x7fe0,0x7fd8,0x7fe1,0x7fe2,0x7fda,0x7fda,0x3fcc,0x3fcd,0x7fda,0x7fda,
00356     0x01f2,0x0fe7,0x7fe3,0x7fe4,0x0fe8,0x1fe1,0x7fe5,0x7fe6,0x7fe7,0x7fe8,0x7fe9,0x7fca,
00357     0x7fea,0x7feb,0x7fca,0x7fca,0x03ef,0x0fe9,0x7fec,0x7fed,0x0fea,0x3fd0,0x7fee,0x7fef,
00358     0x7ff0,0x7ff1,0x7ff2,0x7fd1,0x7ff3,0x7ff4,0x7fd1,0x7fd1,0x3fd1,0x7ff5,0x7ff6,0x7fd6,
00359     0x7ff7,0x7ff8,0x7ff9,0x7fd8,0x7ffa,0x7ffb,0x7fda,0x7fda,0x3fcc,0x3fcd,0x7fda,0x7fda,
00360     0x7ffc,0x7ffd,0x7fd6,0x7fd6,0x7ffe,0x7fff,
00361 };
00362 
00363 
00364 static const uint8_t cvh_huffbits5[230] = {
00365     2, 4, 8, 4, 5, 9, 9, 10, 14, 4, 6, 11,
00366     5, 6, 12, 10, 11, 15, 9, 11, 15, 10, 13, 15,
00367     14, 15, 0, 4, 6, 12, 6, 7, 12, 12, 12, 15,
00368     5, 7, 13, 6, 7, 13, 12, 13, 15, 10, 12, 15,
00369     11, 13, 15, 15, 15, 0, 8, 13, 15, 11, 12, 15,
00370     15, 15, 0, 10, 13, 15, 12, 15, 15, 15, 15, 0,
00371     15, 15, 0, 15, 15, 0, 0, 0, 0, 4, 5, 11,
00372     5, 7, 12, 11, 12, 15, 6, 7, 13, 7, 8, 14,
00373     12, 14, 15, 11, 13, 15, 12, 13, 15, 15, 15, 0,
00374     5, 6, 13, 7, 8, 15, 12, 14, 15, 6, 8, 14,
00375     7, 8, 15, 14, 15, 15, 12, 12, 15, 12, 13, 15,
00376     15, 15, 0, 9, 13, 15, 12, 13, 15, 15, 15, 0,
00377     11, 13, 15, 13, 13, 15, 15, 15, 0, 14, 15, 0,
00378     15, 15, 0, 0, 0, 0, 8, 10, 15, 11, 12, 15,
00379     15, 15, 0, 10, 12, 15, 12, 13, 15, 15, 15, 0,
00380     14, 15, 0, 15, 15, 0, 0, 0, 0, 8, 12, 15,
00381     12, 13, 15, 15, 15, 0, 11, 13, 15, 13, 15, 15,
00382     15, 15, 0, 15, 15, 0, 15, 15, 0, 0, 0, 0,
00383     14, 15, 0, 15, 15, 0, 0, 0, 0, 15, 15, 0,
00384     15, 15,
00385 };
00386 
00387 
00388 
00389 static const uint16_t cvh_huffcodes5[230] = {
00390     0x0000,0x0004,0x00f0,0x0005,0x0012,0x01f0,0x01f1,0x03e8,0x3fce,0x0006,0x0030,0x07de,
00391     0x0013,0x0031,0x0fd2,0x03e9,0x07df,0x7fb0,0x01f2,0x07e0,0x7fb1,0x03ea,0x1fd2,0x7fb2,
00392     0x3fcf,0x7fb3,0x0031,0x0007,0x0032,0x0fd3,0x0033,0x0070,0x0fd4,0x0fd5,0x0fd6,0x7fb4,
00393     0x0014,0x0071,0x1fd3,0x0034,0x0072,0x1fd4,0x0fd7,0x1fd5,0x7fb5,0x03eb,0x0fd8,0x7fb6,
00394     0x07e1,0x1fd6,0x7fb7,0x7fb8,0x7fb9,0x0072,0x00f1,0x1fd7,0x7fba,0x07e2,0x0fd9,0x7fbb,
00395     0x7fbc,0x7fbd,0x0070,0x03ec,0x1fd8,0x7fbe,0x0fda,0x7fbf,0x7fc0,0x7fc1,0x7fc2,0x0072,
00396     0x7fc3,0x7fc4,0x0071,0x7fc5,0x7fc6,0x0072,0x0034,0x0072,0x0072,0x0008,0x0015,0x07e3,
00397     0x0016,0x0073,0x0fdb,0x07e4,0x0fdc,0x7fc7,0x0035,0x0074,0x1fd9,0x0075,0x00f2,0x3fd0,
00398     0x0fdd,0x3fd1,0x7fc8,0x07e5,0x1fda,0x7fc9,0x0fde,0x1fdb,0x7fca,0x7fcb,0x7fcc,0x00f2,
00399     0x0017,0x0036,0x1fdc,0x0076,0x00f3,0x7fcd,0x0fdf,0x3fd2,0x7fce,0x0037,0x00f4,0x3fd3,
00400     0x0077,0x00f5,0x7fcf,0x3fd4,0x7fd0,0x7fd1,0x0fe0,0x0fe1,0x7fd2,0x0fe2,0x1fdd,0x7fd3,
00401     0x7fd4,0x7fd5,0x00f5,0x01f3,0x1fde,0x7fd6,0x0fe3,0x1fdf,0x7fd7,0x7fd8,0x7fd9,0x00f3,
00402     0x07e6,0x1fe0,0x7fda,0x1fe1,0x1fe2,0x7fdb,0x7fdc,0x7fdd,0x00f5,0x3fd5,0x7fde,0x00f4,
00403     0x7fdf,0x7fe0,0x00f5,0x0077,0x00f5,0x00f5,0x00f6,0x03ed,0x7fe1,0x07e7,0x0fe4,0x7fe2,
00404     0x7fe3,0x7fe4,0x0073,0x03ee,0x0fe5,0x7fe5,0x0fe6,0x1fe3,0x7fe6,0x7fe7,0x7fe8,0x00f2,
00405     0x3fd6,0x7fe9,0x0074,0x7fea,0x7feb,0x00f2,0x0075,0x00f2,0x00f2,0x00f7,0x0fe7,0x7fec,
00406     0x0fe8,0x1fe4,0x7fed,0x7fee,0x7fef,0x00f3,0x07e8,0x1fe5,0x7ff0,0x1fe6,0x7ff1,0x7ff2,
00407     0x7ff3,0x7ff4,0x00f5,0x7ff5,0x7ff6,0x00f4,0x7ff7,0x7ff8,0x00f5,0x0077,0x00f5,0x00f5,
00408     0x3fd7,0x7ff9,0x0036,0x7ffa,0x7ffb,0x00f3,0x0076,0x00f3,0x00f3,0x7ffc,0x7ffd,0x0000,
00409     0x7ffe,0x7fff,
00410 };
00411 
00412 
00413 static const uint8_t cvh_huffbits6[32] = {
00414      1,  4,  4,  6,  4,  6,  6,  8,  4,  6,  6,  8,
00415      6,  9,  8, 10,  4,  6,  7,  8,  6,  9,  8, 11,
00416      6,  9,  8, 10,  8, 10,  9,  11,
00417 };
00418 
00419 static const uint16_t cvh_huffcodes6[32] = {
00420     0x0000,0x0008,0x0009,0x0034,0x000a,0x0035,0x0036,0x00f6,0x000b,0x0037,0x0038,0x00f7,
00421     0x0039,0x01fa,0x00f8,0x03fc,0x000c,0x003a,0x007a,0x00f9,0x003b,0x01fb,0x00fa,0x07fe,
00422     0x003c,0x01fc,0x00fb,0x03fd,0x00fc,0x03fe,0x01fd,0x07ff,
00423 };
00424 
00425 static const uint16_t* const cvh_huffcodes[7] = {
00426     cvh_huffcodes0, cvh_huffcodes1, cvh_huffcodes2, cvh_huffcodes3,
00427     cvh_huffcodes4, cvh_huffcodes5, cvh_huffcodes6,
00428 };
00429 
00430 static const uint8_t* const cvh_huffbits[7] = {
00431     cvh_huffbits0, cvh_huffbits1, cvh_huffbits2, cvh_huffbits3,
00432     cvh_huffbits4, cvh_huffbits5, cvh_huffbits6,
00433 };
00434 
00435 
00436 static const uint16_t ccpl_huffcodes2[3] = {
00437     0x02,0x00,0x03,
00438 };
00439 
00440 static const uint16_t ccpl_huffcodes3[7] = {
00441     0x3e,0x1e,0x02,0x00,0x06,0x0e,0x3f,
00442 };
00443 
00444 static const uint16_t ccpl_huffcodes4[15] = {
00445     0xfc,0xfd,0x7c,0x3c,0x1c,0x0c,0x04,0x00,0x05,0x0d,0x1d,0x3d,
00446     0x7d,0xfe,0xff,
00447 };
00448 
00449 static const uint16_t ccpl_huffcodes5[31] = {
00450     0x03f8,0x03f9,0x03fa,0x03fb,0x01f8,0x01f9,0x00f8,0x00f9,0x0078,0x0079,0x0038,0x0039,
00451     0x0018,0x0019,0x0004,0x0000,0x0005,0x001a,0x001b,0x003a,0x003b,0x007a,0x007b,0x00fa,
00452     0x00fb,0x01fa,0x01fb,0x03fc,0x03fd,0x03fe,0x03ff,
00453 };
00454 
00455 static const uint16_t ccpl_huffcodes6[63] = {
00456     0x0004,0x0005,0x0005,0x0006,0x0006,0x0007,0x0007,0x0007,0x0007,0x0008,0x0008,0x0008,
00457     0x0008,0x0009,0x0009,0x0009,0x0009,0x000a,0x000a,0x000a,0x000a,0x000a,0x000b,0x000b,
00458     0x000b,0x000b,0x000c,0x000d,0x000e,0x000e,0x0010,0x0000,0x000a,0x0018,0x0019,0x0036,
00459     0x0037,0x0074,0x0075,0x0076,0x0077,0x00f4,0x00f5,0x00f6,0x00f7,0x01f5,0x01f6,0x01f7,
00460     0x01f8,0x03f6,0x03f7,0x03f8,0x03f9,0x03fa,0x07fa,0x07fb,0x07fc,0x07fd,0x0ffd,0x1ffd,
00461     0x3ffd,0x3ffe,0xffff,
00462 };
00463 
00464 static const uint8_t ccpl_huffbits2[3] = {
00465     2,1,2,
00466 };
00467 
00468 static const uint8_t ccpl_huffbits3[7] = {
00469     6,5,2,1,3,4,6,
00470 };
00471 
00472 static const uint8_t ccpl_huffbits4[15] = {
00473     8,8,7,6,5,4,3,1,3,4,5,6,7,8,8,
00474 };
00475 
00476 static const uint8_t ccpl_huffbits5[31] = {
00477     10,10,10,10,9,9,8,8,7,7,6,6,
00478     5,5,3,1,3,5,5,6,6,7,7,8,
00479     8,9,9,10,10,10,10,
00480 };
00481 
00482 static const uint8_t ccpl_huffbits6[63] = {
00483     16,15,14,13,12,11,11,11,11,10,10,10,
00484     10,9,9,9,9,9,8,8,8,8,7,7,
00485     7,7,6,6,5,5,3,1,4,5,5,6,
00486     6,7,7,7,7,8,8,8,8,9,9,9,
00487     9,10,10,10,10,10,11,11,11,11,12,13,
00488     14,14,16,
00489 };
00490 
00491 static const uint16_t* const ccpl_huffcodes[5] = {
00492     ccpl_huffcodes2,ccpl_huffcodes3,
00493     ccpl_huffcodes4,ccpl_huffcodes5,ccpl_huffcodes6
00494 };
00495 
00496 static const uint8_t* const ccpl_huffbits[5] = {
00497     ccpl_huffbits2,ccpl_huffbits3,
00498     ccpl_huffbits4,ccpl_huffbits5,ccpl_huffbits6
00499 };
00500 
00501 
00502 //Coupling tables
00503 
00504 static const int cplband[51] = {
00505     0,1,2,3,4,5,6,7,8,9,
00506     10,11,11,12,12,13,13,14,14,14,
00507     15,15,15,15,16,16,16,16,16,17,
00508     17,17,17,17,17,18,18,18,18,18,
00509     18,18,19,19,19,19,19,19,19,19,
00510     19,
00511 };
00512 
00513 static const float cplscale2[3] = {
00514 0.953020632266998,0.70710676908493,0.302905440330505,
00515 };
00516 
00517 static const float cplscale3[7] = {
00518 0.981279790401459,0.936997592449188,0.875934481620789,0.70710676908493,
00519 0.482430040836334,0.349335819482803,0.192587479948997,
00520 };
00521 
00522 static const float cplscale4[15] = {
00523 0.991486728191376,0.973249018192291,0.953020632266998,0.930133521556854,
00524 0.903453230857849,0.870746195316315,0.826180458068848,0.70710676908493,
00525 0.563405573368073,0.491732746362686,0.428686618804932,0.367221474647522,
00526 0.302905440330505,0.229752898216248,0.130207896232605,
00527 };
00528 
00529 static const float cplscale5[31] = {
00530 0.995926380157471,0.987517595291138,0.978726446628571,0.969505727291107,
00531 0.95979779958725,0.949531257152557,0.938616216182709,0.926936149597168,
00532 0.914336204528809,0.900602877140045,0.885426938533783,0.868331849575043,
00533 0.84851086139679,0.824381768703461,0.791833400726318,0.70710676908493,
00534 0.610737144947052,0.566034197807312,0.529177963733673,0.495983630418777,
00535 0.464778542518616,0.434642940759659,0.404955863952637,0.375219136476517,
00536 0.344963222742081,0.313672333955765,0.280692428350449,0.245068684220314,
00537 0.205169528722763,0.157508864998817,0.0901700109243393,
00538 };
00539 
00540 static const float cplscale6[63] = {
00541 0.998005926609039,0.993956744670868,0.989822506904602,0.985598564147949,
00542 0.981279790401459,0.976860702037811,0.972335040569305,0.967696130275726,
00543 0.962936460971832,0.958047747612000,0.953020632266998,0.947844684123993,
00544 0.942508161067963,0.936997592449188,0.931297719478607,0.925390899181366,
00545 0.919256627559662,0.912870943546295,0.906205296516418,0.899225592613220,
00546 0.891890347003937,0.884148240089417,0.875934481620789,0.867165684700012,
00547 0.857730865478516,0.847477376461029,0.836184680461884,0.823513329029083,
00548 0.808890223503113,0.791194140911102,0.767520070075989,0.707106769084930,
00549 0.641024887561798,0.611565053462982,0.587959706783295,0.567296981811523,
00550 0.548448026180267,0.530831515789032,0.514098942279816,0.498019754886627,
00551 0.482430040836334,0.467206478118896,0.452251672744751,0.437485188245773,
00552 0.422837972640991,0.408248275518417,0.393658757209778,0.379014074802399,
00553 0.364258885383606,0.349335819482803,0.334183186292648,0.318732559680939,
00554 0.302905440330505,0.286608695983887,0.269728302955627,0.252119421958923,
00555 0.233590632677078,0.213876649737358,0.192587479948997,0.169101938605309,
00556 0.142307326197624,0.109772264957428,0.0631198287010193,
00557 };
00558 
00559 static const float* const cplscales[5] = {
00560     cplscale2, cplscale3, cplscale4, cplscale5, cplscale6,
00561 };
00562 
00563 #endif /* AVCODEC_COOKDATA_H */

Generated on Fri Sep 16 2011 17:17:35 for FFmpeg by  doxygen 1.7.1