hcb_11.h

00001 /*
00002 ** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
00003 ** Copyright (C) 2003 M. Bakker, Ahead Software AG, http://www.nero.com
00004 **  
00005 ** This program is free software; you can redistribute it and/or modify
00006 ** it under the terms of the GNU General Public License as published by
00007 ** the Free Software Foundation; either version 2 of the License, or
00008 ** (at your option) any later version.
00009 ** 
00010 ** This program is distributed in the hope that it will be useful,
00011 ** but WITHOUT ANY WARRANTY; without even the implied warranty of
00012 ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00013 ** GNU General Public License for more details.
00014 ** 
00015 ** You should have received a copy of the GNU General Public License
00016 ** along with this program; if not, write to the Free Software 
00017 ** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
00018 **
00019 ** Any non-GPL usage of this software or parts of this software is strictly
00020 ** forbidden.
00021 **
00022 ** Commercial non-GPL licensing of this software is possible.
00023 ** For more info contact Ahead Software through [email protected].
00024 **
00025 ** $Id: hcb_11.h,v 1.2 2005/11/01 21:41:43 gabest Exp $
00026 **/
00027 
00028 /* 2-step huffman table HCB_11 */
00029 
00030 
00031 /* 1st step: 5 bits
00032  *           2^5 = 32 entries
00033  *
00034  * Used to find offset into 2nd step table and number of extra bits to get
00035  */
00036 static hcb hcb11_1[] = {
00037     /* 4 bits */
00038     { /* 00000 */ 0, 0 },
00039     { /*       */ 0, 0 },
00040     { /* 00010 */ 1, 0 },
00041     { /*       */ 1, 0 },
00042 
00043     /* 5 bits */
00044     { /* 00100 */ 2, 0 },
00045     { /* 00101 */ 3, 0 },
00046     { /* 00110 */ 4, 0 },
00047     { /* 00111 */ 5, 0 },
00048     { /* 01000 */ 6, 0 },
00049     { /* 01001 */ 7, 0 },
00050 
00051     /* 6 bits */
00052     { /* 01010 */ 8,  1 },
00053     { /* 01011 */ 10, 1 },
00054     { /* 01100 */ 12, 1 },
00055 
00056     /* 6/7 bits */
00057     { /* 01101 */ 14, 2 },
00058 
00059     /* 7 bits */
00060     { /* 01110 */ 18, 2 },
00061     { /* 01111 */ 22, 2 },
00062     { /* 10000 */ 26, 2 },
00063 
00064     /* 7/8 bits */
00065     { /* 10001 */ 30, 3 },
00066 
00067     /* 8 bits */
00068     { /* 10010 */ 38, 3 },
00069     { /* 10011 */ 46, 3 },
00070     { /* 10100 */ 54, 3 },
00071     { /* 10101 */ 62, 3 },
00072     { /* 10110 */ 70, 3 },
00073     { /* 10111 */ 78, 3 },
00074 
00075     /* 8/9 bits */
00076     { /* 11000 */ 86, 4 },
00077 
00078     /* 9 bits */
00079     { /* 11001 */ 102, 4 },
00080     { /* 11010 */ 118, 4 },
00081     { /* 11011 */ 134, 4 },
00082 
00083     /* 9/10 bits */
00084     { /* 11100 */ 150, 5 },
00085 
00086     /* 10 bits */
00087     { /* 11101 */ 182, 5 },
00088     { /* 11110 */ 214, 5 },
00089 
00090     /* 10/11/12 bits */
00091     { /* 11111 */ 246, 7 }
00092 };
00093 
00094 /* 2nd step table
00095  *
00096  * Gives size of codeword and actual data (x,y,v,w)
00097  */
00098 static hcb_2_pair hcb11_2[] = {
00099     /* 4 */
00100     { 4,  0,  0 },
00101     { 4,  1,  1 },
00102 
00103     /* 5 */
00104     { 5, 16, 16 },
00105     { 5,  1,  0 },
00106     { 5,  0,  1 },
00107     { 5,  2,  1 },
00108     { 5,  1,  2 },
00109     { 5,  2,  2 },
00110 
00111     /* 6 */
00112     { 6,  1,  3 },
00113     { 6,  3,  1 },
00114     { 6,  3,  2 },
00115     { 6,  2,  0 },
00116     { 6,  2,  3 },
00117     { 6,  0,  2 },
00118 
00119     /* 6/7 */
00120     { 6,  3,  3 }, { 6,  3,  3 },
00121     { 7,  4,  1 },
00122     { 7,  1,  4 },
00123 
00124     /* 7 */
00125     { 7,  4,  2 },
00126     { 7,  2,  4 },
00127     { 7,  4,  3 },
00128     { 7,  3,  4 },
00129     { 7,  3,  0 },
00130     { 7,  0,  3 },
00131     { 7,  5,  1 },
00132     { 7,  5,  2 },
00133     { 7,  2,  5 },
00134     { 7,  4,  4 },
00135     { 7,  1,  5 },
00136     { 7,  5,  3 },
00137 
00138     /* 7/8 */
00139     { 7,  3,  5 }, { 7,  3,  5 },
00140     { 7,  5,  4 }, { 7,  5,  4 },
00141     { 8,  4,  5 },
00142     { 8,  6,  2 },
00143     { 8,  2,  6 },
00144     { 8,  6,  1 },
00145 
00146     /* 8 */
00147     { 8,  6,  3 },
00148     { 8,  3,  6 },
00149     { 8,  1,  6 },
00150     { 8,  4, 16 },
00151     { 8,  3, 16 },
00152     { 8, 16,  5 },
00153     { 8, 16,  3 },
00154     { 8, 16,  4 },
00155     { 8,  6,  4 },
00156     { 8, 16,  6 },
00157     { 8,  4,  0 },
00158     { 8,  4,  6 },
00159     { 8,  0,  4 },
00160     { 8,  2, 16 },
00161     { 8,  5,  5 },
00162     { 8,  5, 16 },
00163     { 8, 16,  7 },
00164     { 8, 16,  2 },
00165     { 8, 16,  8 },
00166     { 8,  2,  7 },
00167     { 8,  7,  2 },
00168     { 8,  3,  7 },
00169     { 8,  6,  5 },
00170     { 8,  5,  6 },
00171     { 8,  6, 16 },
00172     { 8, 16, 10 },
00173     { 8,  7,  3 },
00174     { 8,  7,  1 },
00175     { 8, 16,  9 },
00176     { 8,  7, 16 },
00177     { 8,  1, 16 },
00178     { 8,  1,  7 },
00179     { 8,  4,  7 },
00180     { 8, 16, 11 },
00181     { 8,  7,  4 },
00182     { 8, 16, 12 },
00183     { 8,  8, 16 },
00184     { 8, 16,  1 },
00185     { 8,  6,  6 },
00186     { 8,  9, 16 },
00187     { 8,  2,  8 },
00188     { 8,  5,  7 },
00189     { 8, 10, 16 },
00190     { 8, 16, 13 },
00191     { 8,  8,  3 },
00192     { 8,  8,  2 },
00193     { 8,  3,  8 },
00194     { 8,  5,  0 },
00195 
00196     /* 8/9 */
00197     { 8, 16, 14 }, { 8, 16, 14 },
00198     { 8, 11, 16 }, { 8, 11, 16 },
00199     { 8,  7,  5 }, { 8,  7,  5 },
00200     { 8,  4,  8 }, { 8,  4,  8 },
00201     { 8,  6,  7 }, { 8,  6,  7 },
00202     { 8,  7,  6 }, { 8,  7,  6 },
00203     { 8,  0,  5 }, { 8,  0,  5 },
00204     { 9,  8,  4 },
00205     { 9, 16, 15 },
00206 
00207     /* 9 */
00208     { 9, 12, 16 },
00209     { 9,  1,  8 },
00210     { 9,  8,  1 },
00211     { 9, 14, 16 },
00212     { 9,  5,  8 },
00213     { 9, 13, 16 },
00214     { 9,  3,  9 },
00215     { 9,  8,  5 },
00216     { 9,  7,  7 },
00217     { 9,  2,  9 },
00218     { 9,  8,  6 },
00219     { 9,  9,  2 },
00220     { 9,  9,  3 },
00221     { 9, 15, 16 },
00222     { 9,  4,  9 },
00223     { 9,  6,  8 },
00224     { 9,  6,  0 },
00225     { 9,  9,  4 },
00226     { 9,  5,  9 },
00227     { 9,  8,  7 },
00228     { 9,  7,  8 },
00229     { 9,  1,  9 },
00230     { 9, 10,  3 },
00231     { 9,  0,  6 },
00232     { 9, 10,  2 },
00233     { 9,  9,  1 },
00234     { 9,  9,  5 },
00235     { 9,  4, 10 },
00236     { 9,  2, 10 },
00237     { 9,  9,  6 },
00238     { 9,  3, 10 },
00239     { 9,  6,  9 },
00240     { 9, 10,  4 },
00241     { 9,  8,  8 },
00242     { 9, 10,  5 },
00243     { 9,  9,  7 },
00244     { 9, 11,  3 },
00245     { 9,  1, 10 },
00246     { 9,  7,  0 },
00247     { 9, 10,  6 },
00248     { 9,  7,  9 },
00249     { 9,  3, 11 },
00250     { 9,  5, 10 },
00251     { 9, 10,  1 },
00252     { 9,  4, 11 },
00253     { 9, 11,  2 },
00254     { 9, 13,  2 },
00255     { 9,  6, 10 },
00256 
00257     /* 9/10 */
00258     { 9, 13,  3 }, { 9, 13,  3 },
00259     { 9,  2, 11 }, { 9,  2, 11 },
00260     { 9, 16,  0 }, { 9, 16,  0 },
00261     { 9,  5, 11 }, { 9,  5, 11 },
00262     { 9, 11,  5 }, { 9, 11,  5 },
00263     { 10, 11,  4 },
00264     { 10,  9,  8 },
00265     { 10,  7, 10 },
00266     { 10,  8,  9 },
00267     { 10,  0, 16 },
00268     { 10,  4, 13 },
00269     { 10,  0,  7 },
00270     { 10,  3, 13 },
00271     { 10, 11,  6 },
00272     { 10, 13,  1 },
00273     { 10, 13,  4 },
00274     { 10, 12,  3 },
00275     { 10,  2, 13 },
00276     { 10, 13,  5 },
00277     { 10,  8, 10 },
00278     { 10,  6, 11 },
00279     { 10, 10,  8 },
00280     { 10, 10,  7 },
00281     { 10, 14,  2 },
00282     { 10, 12,  4 },
00283     { 10,  1, 11 },
00284     { 10,  4, 12 },
00285 
00286     /* 10 */
00287     { 10, 11,  1 },
00288     { 10,  3, 12 },
00289     { 10,  1, 13 },
00290     { 10, 12,  2 },
00291     { 10,  7, 11 },
00292     { 10,  3, 14 },
00293     { 10,  5, 12 },
00294     { 10,  5, 13 },
00295     { 10, 14,  4 },
00296     { 10,  4, 14 },
00297     { 10, 11,  7 },
00298     { 10, 14,  3 },
00299     { 10, 12,  5 },
00300     { 10, 13,  6 },
00301     { 10, 12,  6 },
00302     { 10,  8,  0 },
00303     { 10, 11,  8 },
00304     { 10,  2, 12 },
00305     { 10,  9,  9 },
00306     { 10, 14,  5 },
00307     { 10,  6, 13 },
00308     { 10, 10, 10 },
00309     { 10, 15,  2 },
00310     { 10,  8, 11 },
00311     { 10,  9, 10 },
00312     { 10, 14,  6 },
00313     { 10, 10,  9 },
00314     { 10,  5, 14 },
00315     { 10, 11,  9 },
00316     { 10, 14,  1 },
00317     { 10,  2, 14 },
00318     { 10,  6, 12 },
00319     { 10,  1, 12 },
00320     { 10, 13,  8 },
00321     { 10,  0,  8 },
00322     { 10, 13,  7 },
00323     { 10,  7, 12 },
00324     { 10, 12,  7 },
00325     { 10,  7, 13 },
00326     { 10, 15,  3 },
00327     { 10, 12,  1 },
00328     { 10,  6, 14 },
00329     { 10,  2, 15 },
00330     { 10, 15,  5 },
00331     { 10, 15,  4 },
00332     { 10,  1, 14 },
00333     { 10,  9, 11 },
00334     { 10,  4, 15 },
00335     { 10, 14,  7 },
00336     { 10,  8, 13 },
00337     { 10, 13,  9 },
00338     { 10,  8, 12 },
00339     { 10,  5, 15 },
00340     { 10,  3, 15 },
00341     { 10, 10, 11 },
00342     { 10, 11, 10 },
00343     { 10, 12,  8 },
00344     { 10, 15,  6 },
00345     { 10, 15,  7 },
00346     { 10,  8, 14 },
00347     { 10, 15,  1 },
00348     { 10,  7, 14 },
00349     { 10,  9,  0 },
00350     { 10,  0,  9 },
00351 
00352     /* 10/11/12 */
00353     { 10,  9, 13 }, { 10,  9, 13 }, { 10,  9, 13 }, { 10,  9, 13 },
00354     { 10,  9, 12 }, { 10,  9, 12 }, { 10,  9, 12 }, { 10,  9, 12 },
00355     { 10, 12,  9 }, { 10, 12,  9 }, { 10, 12,  9 }, { 10, 12,  9 },
00356     { 10, 14,  8 }, { 10, 14,  8 }, { 10, 14,  8 }, { 10, 14,  8 },
00357     { 10, 10, 13 }, { 10, 10, 13 }, { 10, 10, 13 }, { 10, 10, 13 },
00358     { 10, 14,  9 }, { 10, 14,  9 }, { 10, 14,  9 }, { 10, 14,  9 },
00359     { 10, 12, 10 }, { 10, 12, 10 }, { 10, 12, 10 }, { 10, 12, 10 },
00360     { 10,  6, 15 }, { 10,  6, 15 }, { 10,  6, 15 }, { 10,  6, 15 },
00361     { 10,  7, 15 }, { 10,  7, 15 }, { 10,  7, 15 }, { 10,  7, 15 },
00362 
00363     { 11,  9, 14 }, { 11,  9, 14 },
00364     { 11, 15,  8 }, { 11, 15,  8 },
00365     { 11, 11, 11 }, { 11, 11, 11 },
00366     { 11, 11, 14 }, { 11, 11, 14 },
00367     { 11,  1, 15 }, { 11,  1, 15 },
00368     { 11, 10, 12 }, { 11, 10, 12 },
00369     { 11, 10, 14 }, { 11, 10, 14 },
00370     { 11, 13, 11 }, { 11, 13, 11 },
00371     { 11, 13, 10 }, { 11, 13, 10 },
00372     { 11, 11, 13 }, { 11, 11, 13 },
00373     { 11, 11, 12 }, { 11, 11, 12 },
00374     { 11,  8, 15 }, { 11,  8, 15 },
00375     { 11, 14, 11 }, { 11, 14, 11 },
00376     { 11, 13, 12 }, { 11, 13, 12 },
00377     { 11, 12, 13 }, { 11, 12, 13 },
00378     { 11, 15,  9 }, { 11, 15,  9 },
00379     { 11, 14, 10 }, { 11, 14, 10 },
00380     { 11, 10,  0 }, { 11, 10,  0 },
00381     { 11, 12, 11 }, { 11, 12, 11 },
00382     { 11,  9, 15 }, { 11,  9, 15 },
00383     { 11,  0, 10 }, { 11,  0, 10 },
00384     { 11, 12, 12 }, { 11, 12, 12 },
00385     { 11, 11,  0 }, { 11, 11,  0 },
00386     { 11, 12, 14 }, { 11, 12, 14 },
00387     { 11, 10, 15 }, { 11, 10, 15 },
00388     { 11, 13, 13 }, { 11, 13, 13 },
00389     { 11,  0, 13 }, { 11,  0, 13 },
00390     { 11, 14, 12 }, { 11, 14, 12 },
00391     { 11, 15, 10 }, { 11, 15, 10 },
00392     { 11, 15, 11 }, { 11, 15, 11 },
00393     { 11, 11, 15 }, { 11, 11, 15 },
00394     { 11, 14, 13 }, { 11, 14, 13 },
00395     { 11, 13,  0 }, { 11, 13,  0 },
00396     { 11,  0, 11 }, { 11,  0, 11 },
00397     { 11, 13, 14 }, { 11, 13, 14 },
00398     { 11, 15, 12 }, { 11, 15, 12 },
00399     { 11, 15, 13 }, { 11, 15, 13 },
00400     { 11, 12, 15 }, { 11, 12, 15 },
00401     { 11, 14,  0 }, { 11, 14,  0 },
00402     { 11, 14, 14 }, { 11, 14, 14 },
00403     { 11, 13, 15 }, { 11, 13, 15 },
00404     { 11, 12,  0 }, { 11, 12,  0 },
00405     { 11, 14, 15 }, { 11, 14, 15 },
00406     { 12,  0, 14 },
00407     { 12,  0, 12 },
00408     { 12, 15, 14 },
00409     { 12, 15,  0 },
00410     { 12,  0, 15 },
00411     { 12, 15, 15 }
00412 };

Generated on Tue Dec 13 14:47:29 2005 for guliverkli by  doxygen 1.4.5