Changeset 10 for trunk/src/huffsv7.c


Ignore:
Timestamp:
08/12/06 16:35:51 (18 years ago)
Author:
zorg
Message:

Update to 1.2.3 trunk

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/huffsv7.c

    r6 r10  
    4040#include <mpcdec/requant.h>
    4141
    42 void
    43 mpc_decoder_init_huffman_sv7(mpc_decoder *d)
    44 {
    45     mpc_decoder_init_huffman_sv7_tables(d);
    46     mpc_decoder_resort_huff_tables(10, &(d->HuffHdr[0])   , 5);
    47     mpc_decoder_resort_huff_tables( 4, &(d->HuffSCFI[0])  , 0);
    48     mpc_decoder_resort_huff_tables(16, &(d->HuffDSCF[0])  , 7);
    49     mpc_decoder_resort_huff_tables(27, &(d->HuffQ1[0][0]) , 0);
    50     mpc_decoder_resort_huff_tables(27, &(d->HuffQ1[1][0]) , 0);
    51     mpc_decoder_resort_huff_tables(25, &(d->HuffQ2[0][0]) , 0);
    52     mpc_decoder_resort_huff_tables(25, &(d->HuffQ2[1][0]) , 0);
    53     mpc_decoder_resort_huff_tables( 7, &(d->HuffQ3[0][0]) , Dc[3]);
    54     mpc_decoder_resort_huff_tables( 7, &(d->HuffQ3[1][0]) , Dc[3]);
    55     mpc_decoder_resort_huff_tables( 9, &(d->HuffQ4[0][0]) , Dc[4]);
    56     mpc_decoder_resort_huff_tables( 9, &(d->HuffQ4[1][0]) , Dc[4]);
    57     mpc_decoder_resort_huff_tables(15, &(d->HuffQ5[0][0]) , Dc[5]);
    58     mpc_decoder_resort_huff_tables(15, &(d->HuffQ5[1][0]) , Dc[5]);
    59     mpc_decoder_resort_huff_tables(31, &(d->HuffQ6[0][0]) , Dc[6]);
    60     mpc_decoder_resort_huff_tables(31, &(d->HuffQ6[1][0]) , Dc[6]);
    61     mpc_decoder_resort_huff_tables(63, &(d->HuffQ7[0][0]) , Dc[7]);
    62     mpc_decoder_resort_huff_tables(63, &(d->HuffQ7[1][0]) , Dc[7]);
    63 }
     42const HuffmanTyp        mpc_table_HuffHdr  [10] =
     43{{2147483648u,1,0},{1610612736u,3,1},{1577058304u,7,-4},{1568669696u,9,3},{1560281088u,9,4},{1543503872u,8,-5},{1476395008u,6,2},{1342177280u,5,-3},{1073741824u,4,-2},{0u,2,-1},};
     44const HuffmanTyp    mpc_table_HuffSCFI [ 4] =
     45{{2147483648u,1,1},{1610612736u,3,2},{1073741824u,3,0},{0u,2,3},};
     46const HuffmanTyp    mpc_table_HuffDSCF [16] =
     47{{4160749568u,5,5},{4026531840u,5,-4},{3758096384u,4,3},{3489660928u,4,-3},{3221225472u,4,8},{2684354560u,3,1},{2415919104u,4,0},{2281701376u,5,-5},{2214592512u,6,7},{2147483648u,6,-7},{1610612736u,3,-1},{1073741824u,3,2},{805306368u,4,4},{671088640u,5,6},{536870912u,5,-6},{0u,3,-2},};
    6448
    65 void
    66 mpc_decoder_init_huffman_sv7_tables(mpc_decoder *d)
    67 {
    68     /***************************** SCFI *******************************/
    69     d->HuffSCFI[0].Code = 2; d->HuffSCFI[0].Length = 3;
    70     d->HuffSCFI[1].Code = 1; d->HuffSCFI[1].Length = 1;
    71     d->HuffSCFI[2].Code = 3; d->HuffSCFI[2].Length = 3;
    72     d->HuffSCFI[3].Code = 0; d->HuffSCFI[3].Length = 2;
     49static const HuffmanTyp    mpc_table_HuffQ1 [2] [3*3*3] = {
     50        {{3758096384u,3,13},{3690987520u,6,26},{3623878656u,6,0},{3556769792u,6,20},{3489660928u,6,6},{3221225472u,4,14},{2952790016u,4,12},{2684354560u,4,4},{2415919104u,4,22},{2348810240u,6,8},{2281701376u,6,18},{2214592512u,6,24},{2147483648u,6,2},{1879048192u,4,16},{1610612736u,4,10},{1476395008u,5,17},{1342177280u,5,9},{1207959552u,5,1},{1073741824u,5,25},{939524096u,5,5},{805306368u,5,21},{671088640u,5,3},{536870912u,5,11},{402653184u,5,15},{268435456u,5,23},{134217728u,5,19},{0u,5,7},},
     51        {{2147483648u,1,13},{2113929216u,7,15},{2080374784u,7,1},{2046820352u,7,11},{2013265920u,7,7},{1979711488u,7,17},{1946157056u,7,25},{1912602624u,7,19},{1904214016u,9,8},{1895825408u,9,18},{1887436800u,9,2},{1879048192u,9,24},{1845493760u,7,3},{1811939328u,7,23},{1778384896u,7,21},{1744830464u,7,5},{1728053248u,8,0},{1711276032u,8,26},{1694498816u,8,6},{1677721600u,8,20},{1610612736u,6,9},{1342177280u,4,14},{1073741824u,4,12},{805306368u,4,4},{536870912u,4,22},{268435456u,4,16},{0u,4,10},},
     52};
     53static const HuffmanTyp    mpc_table_HuffQ2 [2] [5*5] = {
     54        {{4026531840u,4,13},{3758096384u,4,17},{3489660928u,4,7},{3221225472u,4,11},{3154116608u,6,1},{3087007744u,6,23},{3053453312u,7,4},{3019898880u,7,20},{2986344448u,7,0},{2952790016u,7,24},{2818572288u,5,22},{2684354560u,5,10},{2147483648u,3,12},{2013265920u,5,2},{1879048192u,5,14},{1610612736u,4,6},{1342177280u,4,18},{1073741824u,4,8},{805306368u,4,16},{671088640u,5,9},{536870912u,5,5},{402653184u,5,15},{268435456u,5,21},{134217728u,5,19},{0u,5,3},},
     55        {{4160749568u,5,18},{4026531840u,5,6},{3892314112u,5,8},{3875536896u,8,3},{3871342592u,10,24},{3867148288u,10,4},{3862953984u,10,0},{3858759680u,10,20},{3825205248u,7,23},{3791650816u,7,1},{3758096384u,7,19},{3623878656u,5,16},{3590324224u,7,15},{3556769792u,7,21},{3523215360u,7,9},{3489660928u,7,5},{3422552064u,6,2},{3355443200u,6,10},{3288334336u,6,14},{3221225472u,6,22},{2147483648u,2,12},{1610612736u,3,13},{1073741824u,3,17},{536870912u,3,11},{0u,3,7},},
     56};
     57static const HuffmanTyp    mpc_table_HuffQ3 [2] [ 7] = {
     58        {{3758096384u,3,1},{3489660928u,4,3},{3221225472u,4,-3},{2684354560u,3,2},{2147483648u,3,-2},{1073741824u,2,0},{0u,2,-1},},
     59        {{3221225472u,2,0},{2147483648u,2,-1},{1073741824u,2,1},{805306368u,4,-2},{671088640u,5,3},{536870912u,5,-3},{0u,3,2},},
     60};
     61static const HuffmanTyp    mpc_table_HuffQ4 [2] [ 9] = {
     62        {{3758096384u,3,0},{3221225472u,3,-1},{2684354560u,3,1},{2147483648u,3,-2},{1610612736u,3,2},{1342177280u,4,-4},{1073741824u,4,4},{536870912u,3,3},{0u,3,-3},},
     63        {{3758096384u,3,1},{3489660928u,4,2},{3221225472u,4,-3},{2147483648u,2,0},{1610612736u,3,-2},{1342177280u,4,3},{1207959552u,5,-4},{1073741824u,5,4},{0u,2,-1},},
     64};
     65static const HuffmanTyp    mpc_table_HuffQ5 [2] [15] = {
     66        {{4026531840u,4,2},{3892314112u,5,5},{3825205248u,6,-7},{3758096384u,6,7},{3489660928u,4,-3},{3221225472u,4,3},{3087007744u,5,-6},{2952790016u,5,6},{2684354560u,4,-4},{2415919104u,4,4},{2147483648u,4,-5},{1610612736u,3,0},{1073741824u,3,-1},{536870912u,3,1},{0u,3,-2},},
     67        {{4026531840u,4,3},{3892314112u,5,4},{3858759680u,7,6},{3841982464u,8,-7},{3825205248u,8,7},{3758096384u,6,-6},{3221225472u,3,0},{2684354560u,3,-1},{2147483648u,3,1},{1610612736u,3,-2},{1073741824u,3,2},{939524096u,5,-5},{805306368u,5,5},{536870912u,4,-4},{0u,3,-3},},
     68};
     69static const HuffmanTyp    mpc_table_HuffQ6 [2] [31] = {
     70        {{4160749568u,5,3},{4026531840u,5,-4},{3959422976u,6,-11},{3892314112u,6,12},{3758096384u,5,4},{3623878656u,5,6},{3489660928u,5,-5},{3355443200u,5,5},{3221225472u,5,7},{3087007744u,5,-7},{3019898880u,6,-12},{2952790016u,6,-13},{2818572288u,5,-6},{2684354560u,5,8},{2550136832u,5,-8},{2415919104u,5,9},{2281701376u,5,-9},{2214592512u,6,13},{2181038080u,7,-15},{2147483648u,7,15},{1879048192u,4,0},{1744830464u,5,-10},{1610612736u,5,10},{1342177280u,4,-1},{1073741824u,4,2},{805306368u,4,1},{536870912u,4,-2},{469762048u,6,14},{402653184u,6,-14},{268435456u,5,11},{0u,4,-3},},
     71        {{4160749568u,5,-6},{4026531840u,5,6},{3758096384u,4,1},{3489660928u,4,-1},{3456106496u,7,10},{3422552064u,7,-10},{3405774848u,8,-11},{3397386240u,9,-12},{3395289088u,11,13},{3394764800u,13,15},{3394240512u,13,-14},{3393716224u,13,14},{3393191936u,13,-15},{3388997632u,10,-13},{3372220416u,8,11},{3355443200u,8,12},{3288334336u,6,-9},{3221225472u,6,9},{2952790016u,4,-2},{2684354560u,4,2},{2415919104u,4,3},{2147483648u,4,-3},{2013265920u,5,-7},{1879048192u,5,7},{1610612736u,4,-4},{1342177280u,4,4},{1207959552u,5,-8},{1073741824u,5,8},{805306368u,4,5},{536870912u,4,-5},{0u,3,0},},
     72};
     73static const HuffmanTyp    mpc_table_HuffQ7 [2] [63] = {
     74        {{4227858432u,6,7},{4160749568u,6,8},{4093640704u,6,9},{4026531840u,6,-8},{3959422976u,6,11},{3925868544u,7,21},{3909091328u,8,-28},{3892314112u,8,28},{3825205248u,6,-9},{3791650816u,7,-22},{3758096384u,7,-21},{3690987520u,6,-10},{3623878656u,6,-11},{3556769792u,6,10},{3489660928u,6,12},{3422552064u,6,-13},{3388997632u,7,22},{3355443200u,7,23},{3288334336u,6,-12},{3221225472u,6,13},{3154116608u,6,14},{3087007744u,6,-14},{3053453312u,7,-23},{3036676096u,8,-29},{3019898880u,8,29},{2952790016u,6,-15},{2885681152u,6,15},{2818572288u,6,16},{2751463424u,6,-16},{2717908992u,7,-24},{2684354560u,7,24},{2617245696u,6,17},{2583691264u,7,-25},{2566914048u,8,-30},{2550136832u,8,30},{2483027968u,6,-17},{2415919104u,6,18},{2348810240u,6,-18},{2315255808u,7,25},{2281701376u,7,26},{2214592512u,6,19},{2181038080u,7,-26},{2147483648u,7,-27},{2013265920u,5,2},{1946157056u,6,-19},{1879048192u,6,20},{1744830464u,5,-1},{1728053248u,8,-31},{1711276032u,8,31},{1677721600u,7,27},{1610612736u,6,-20},{1476395008u,5,1},{1342177280u,5,-5},{1207959552u,5,-3},{1073741824u,5,3},{939524096u,5,0},{805306368u,5,-2},{671088640u,5,-4},{536870912u,5,4},{402653184u,5,5},{268435456u,5,-6},{134217728u,5,6},{0u,5,-7},},
     75        {{4160749568u,5,-1},{4026531840u,5,2},{3892314112u,5,-2},{3758096384u,5,3},{3741319168u,8,-20},{3737124864u,10,24},{3736862720u,14,28},{3736600576u,14,-28},{3736338432u,14,-30},{3736076288u,14,30},{3735027712u,12,-27},{3734765568u,14,29},{3734503424u,14,-29},{3734241280u,14,31},{3733979136u,14,-31},{3732930560u,12,27},{3724541952u,9,-22},{3690987520u,7,-17},{3623878656u,6,-11},{3489660928u,5,-3},{3355443200u,5,4},{3221225472u,5,-4},{3187671040u,7,17},{3170893824u,8,20},{3162505216u,9,22},{3158310912u,10,-25},{3154116608u,10,-26},{3087007744u,6,12},{2952790016u,5,5},{2818572288u,5,-5},{2684354560u,5,6},{2550136832u,5,-6},{2483027968u,6,-12},{2449473536u,7,-18},{2415919104u,7,18},{2348810240u,6,13},{2281701376u,6,-13},{2147483648u,5,-7},{2080374784u,6,14},{2063597568u,8,21},{2046820352u,8,-21},{2013265920u,7,-19},{1879048192u,5,7},{1744830464u,5,8},{1677721600u,6,-14},{1610612736u,6,-15},{1476395008u,5,-8},{1409286144u,6,15},{1375731712u,7,19},{1371537408u,10,25},{1367343104u,10,26},{1358954496u,9,-23},{1350565888u,9,23},{1342177280u,9,-24},{1207959552u,5,-9},{1073741824u,5,9},{1006632960u,6,16},{939524096u,6,-16},{805306368u,5,10},{536870912u,4,0},{402653184u,5,-10},{268435456u,5,11},{0u,4,1},},
     76};
    7377
    74     /***************************** DSCF *******************************/
    75     d->HuffDSCF[ 0].Code = 32; d->HuffDSCF[ 0].Length = 6;
    76     d->HuffDSCF[ 1].Code =  4; d->HuffDSCF[ 1].Length = 5;
    77     d->HuffDSCF[ 2].Code = 17; d->HuffDSCF[ 2].Length = 5;
    78     d->HuffDSCF[ 3].Code = 30; d->HuffDSCF[ 3].Length = 5;
    79     d->HuffDSCF[ 4].Code = 13; d->HuffDSCF[ 4].Length = 4;
    80     d->HuffDSCF[ 5].Code =  0; d->HuffDSCF[ 5].Length = 3;
    81     d->HuffDSCF[ 6].Code =  3; d->HuffDSCF[ 6].Length = 3;
    82     d->HuffDSCF[ 7].Code =  9; d->HuffDSCF[ 7].Length = 4;
    83     d->HuffDSCF[ 8].Code =  5; d->HuffDSCF[ 8].Length = 3;
    84     d->HuffDSCF[ 9].Code =  2; d->HuffDSCF[ 9].Length = 3;
    85     d->HuffDSCF[10].Code = 14; d->HuffDSCF[10].Length = 4;
    86     d->HuffDSCF[11].Code =  3; d->HuffDSCF[11].Length = 4;
    87     d->HuffDSCF[12].Code = 31; d->HuffDSCF[12].Length = 5;
    88     d->HuffDSCF[13].Code =  5; d->HuffDSCF[13].Length = 5;
    89     d->HuffDSCF[14].Code = 33; d->HuffDSCF[14].Length = 6;
    90     d->HuffDSCF[15].Code = 12; d->HuffDSCF[15].Length = 4;
    91 
    92     /************************* frame-header ***************************/
    93     /***************** differential quantizer indizes *****************/
    94     d->HuffHdr[0].Code =  92; d->HuffHdr[0].Length = 8;
    95     d->HuffHdr[1].Code =  47; d->HuffHdr[1].Length = 7;
    96     d->HuffHdr[2].Code =  10; d->HuffHdr[2].Length = 5;
    97     d->HuffHdr[3].Code =   4; d->HuffHdr[3].Length = 4;
    98     d->HuffHdr[4].Code =   0; d->HuffHdr[4].Length = 2;
    99     d->HuffHdr[5].Code =   1; d->HuffHdr[5].Length = 1;
    100     d->HuffHdr[6].Code =   3; d->HuffHdr[6].Length = 3;
    101     d->HuffHdr[7].Code =  22; d->HuffHdr[7].Length = 6;
    102     d->HuffHdr[8].Code = 187; d->HuffHdr[8].Length = 9;
    103     d->HuffHdr[9].Code = 186; d->HuffHdr[9].Length = 9;
    104 
    105     /********************** 3-step quantizer **************************/
    106     /********************* 3 bundled samples **************************/
    107     //less shaped, book 0
    108     d->HuffQ1[0][ 0].Code = 54; d->HuffQ1[0][ 0].Length = 6;
    109     d->HuffQ1[0][ 1].Code =  9; d->HuffQ1[0][ 1].Length = 5;
    110     d->HuffQ1[0][ 2].Code = 32; d->HuffQ1[0][ 2].Length = 6;
    111     d->HuffQ1[0][ 3].Code =  5; d->HuffQ1[0][ 3].Length = 5;
    112     d->HuffQ1[0][ 4].Code = 10; d->HuffQ1[0][ 4].Length = 4;
    113     d->HuffQ1[0][ 5].Code =  7; d->HuffQ1[0][ 5].Length = 5;
    114     d->HuffQ1[0][ 6].Code = 52; d->HuffQ1[0][ 6].Length = 6;
    115     d->HuffQ1[0][ 7].Code =  0; d->HuffQ1[0][ 7].Length = 5;
    116     d->HuffQ1[0][ 8].Code = 35; d->HuffQ1[0][ 8].Length = 6;
    117     d->HuffQ1[0][ 9].Code = 10; d->HuffQ1[0][ 9].Length = 5;
    118     d->HuffQ1[0][10].Code =  6; d->HuffQ1[0][10].Length = 4;
    119     d->HuffQ1[0][11].Code =  4; d->HuffQ1[0][11].Length = 5;
    120     d->HuffQ1[0][12].Code = 11; d->HuffQ1[0][12].Length = 4;
    121     d->HuffQ1[0][13].Code =  7; d->HuffQ1[0][13].Length = 3;
    122     d->HuffQ1[0][14].Code = 12; d->HuffQ1[0][14].Length = 4;
    123     d->HuffQ1[0][15].Code =  3; d->HuffQ1[0][15].Length = 5;
    124     d->HuffQ1[0][16].Code =  7; d->HuffQ1[0][16].Length = 4;
    125     d->HuffQ1[0][17].Code = 11; d->HuffQ1[0][17].Length = 5;
    126     d->HuffQ1[0][18].Code = 34; d->HuffQ1[0][18].Length = 6;
    127     d->HuffQ1[0][19].Code =  1; d->HuffQ1[0][19].Length = 5;
    128     d->HuffQ1[0][20].Code = 53; d->HuffQ1[0][20].Length = 6;
    129     d->HuffQ1[0][21].Code =  6; d->HuffQ1[0][21].Length = 5;
    130     d->HuffQ1[0][22].Code =  9; d->HuffQ1[0][22].Length = 4;
    131     d->HuffQ1[0][23].Code =  2; d->HuffQ1[0][23].Length = 5;
    132     d->HuffQ1[0][24].Code = 33; d->HuffQ1[0][24].Length = 6;
    133     d->HuffQ1[0][25].Code =  8; d->HuffQ1[0][25].Length = 5;
    134     d->HuffQ1[0][26].Code = 55; d->HuffQ1[0][26].Length = 6;
    135 
    136     //more shaped, book 1
    137     d->HuffQ1[1][ 0].Code = 103; d->HuffQ1[1][ 0].Length = 8;
    138     d->HuffQ1[1][ 1].Code =  62; d->HuffQ1[1][ 1].Length = 7;
    139     d->HuffQ1[1][ 2].Code = 225; d->HuffQ1[1][ 2].Length = 9;
    140     d->HuffQ1[1][ 3].Code =  55; d->HuffQ1[1][ 3].Length = 7;
    141     d->HuffQ1[1][ 4].Code =   3; d->HuffQ1[1][ 4].Length = 4;
    142     d->HuffQ1[1][ 5].Code =  52; d->HuffQ1[1][ 5].Length = 7;
    143     d->HuffQ1[1][ 6].Code = 101; d->HuffQ1[1][ 6].Length = 8;
    144     d->HuffQ1[1][ 7].Code =  60; d->HuffQ1[1][ 7].Length = 7;
    145     d->HuffQ1[1][ 8].Code = 227; d->HuffQ1[1][ 8].Length = 9;
    146     d->HuffQ1[1][ 9].Code =  24; d->HuffQ1[1][ 9].Length = 6;
    147     d->HuffQ1[1][10].Code =   0; d->HuffQ1[1][10].Length = 4;
    148     d->HuffQ1[1][11].Code =  61; d->HuffQ1[1][11].Length = 7;
    149     d->HuffQ1[1][12].Code =   4; d->HuffQ1[1][12].Length = 4;
    150     d->HuffQ1[1][13].Code =   1; d->HuffQ1[1][13].Length = 1;
    151     d->HuffQ1[1][14].Code =   5; d->HuffQ1[1][14].Length = 4;
    152     d->HuffQ1[1][15].Code =  63; d->HuffQ1[1][15].Length = 7;
    153     d->HuffQ1[1][16].Code =   1; d->HuffQ1[1][16].Length = 4;
    154     d->HuffQ1[1][17].Code =  59; d->HuffQ1[1][17].Length = 7;
    155     d->HuffQ1[1][18].Code = 226; d->HuffQ1[1][18].Length = 9;
    156     d->HuffQ1[1][19].Code =  57; d->HuffQ1[1][19].Length = 7;
    157     d->HuffQ1[1][20].Code = 100; d->HuffQ1[1][20].Length = 8;
    158     d->HuffQ1[1][21].Code =  53; d->HuffQ1[1][21].Length = 7;
    159     d->HuffQ1[1][22].Code =   2; d->HuffQ1[1][22].Length = 4;
    160     d->HuffQ1[1][23].Code =  54; d->HuffQ1[1][23].Length = 7;
    161     d->HuffQ1[1][24].Code = 224; d->HuffQ1[1][24].Length = 9;
    162     d->HuffQ1[1][25].Code =  58; d->HuffQ1[1][25].Length = 7;
    163     d->HuffQ1[1][26].Code = 102; d->HuffQ1[1][26].Length = 8;
    164 
    165     /********************** 5-step quantizer **************************/
    166     /********************* 2 bundled samples **************************/
    167     //less shaped, book 0
    168     d->HuffQ2[0][ 0].Code =  89; d->HuffQ2[0][ 0].Length = 7;
    169     d->HuffQ2[0][ 1].Code =  47; d->HuffQ2[0][ 1].Length = 6;
    170     d->HuffQ2[0][ 2].Code =  15; d->HuffQ2[0][ 2].Length = 5;
    171     d->HuffQ2[0][ 3].Code =   0; d->HuffQ2[0][ 3].Length = 5;
    172     d->HuffQ2[0][ 4].Code =  91; d->HuffQ2[0][ 4].Length = 7;
    173     d->HuffQ2[0][ 5].Code =   4; d->HuffQ2[0][ 5].Length = 5;
    174     d->HuffQ2[0][ 6].Code =   6; d->HuffQ2[0][ 6].Length = 4;
    175     d->HuffQ2[0][ 7].Code =  13; d->HuffQ2[0][ 7].Length = 4;
    176     d->HuffQ2[0][ 8].Code =   4; d->HuffQ2[0][ 8].Length = 4;
    177     d->HuffQ2[0][ 9].Code =   5; d->HuffQ2[0][ 9].Length = 5;
    178     d->HuffQ2[0][10].Code =  20; d->HuffQ2[0][10].Length = 5;
    179     d->HuffQ2[0][11].Code =  12; d->HuffQ2[0][11].Length = 4;
    180     d->HuffQ2[0][12].Code =   4; d->HuffQ2[0][12].Length = 3;
    181     d->HuffQ2[0][13].Code =  15; d->HuffQ2[0][13].Length = 4;
    182     d->HuffQ2[0][14].Code =  14; d->HuffQ2[0][14].Length = 5;
    183     d->HuffQ2[0][15].Code =   3; d->HuffQ2[0][15].Length = 5;
    184     d->HuffQ2[0][16].Code =   3; d->HuffQ2[0][16].Length = 4;
    185     d->HuffQ2[0][17].Code =  14; d->HuffQ2[0][17].Length = 4;
    186     d->HuffQ2[0][18].Code =   5; d->HuffQ2[0][18].Length = 4;
    187     d->HuffQ2[0][19].Code =   1; d->HuffQ2[0][19].Length = 5;
    188     d->HuffQ2[0][20].Code =  90; d->HuffQ2[0][20].Length = 7;
    189     d->HuffQ2[0][21].Code =   2; d->HuffQ2[0][21].Length = 5;
    190     d->HuffQ2[0][22].Code =  21; d->HuffQ2[0][22].Length = 5;
    191     d->HuffQ2[0][23].Code =  46; d->HuffQ2[0][23].Length = 6;
    192     d->HuffQ2[0][24].Code =  88; d->HuffQ2[0][24].Length = 7;
    193 
    194     //more shaped, book 1
    195     d->HuffQ2[1][ 0].Code =  921; d->HuffQ2[1][ 0].Length = 10;
    196     d->HuffQ2[1][ 1].Code =  113; d->HuffQ2[1][ 1].Length =  7;
    197     d->HuffQ2[1][ 2].Code =   51; d->HuffQ2[1][ 2].Length =  6;
    198     d->HuffQ2[1][ 3].Code =  231; d->HuffQ2[1][ 3].Length =  8;
    199     d->HuffQ2[1][ 4].Code =  922; d->HuffQ2[1][ 4].Length = 10;
    200     d->HuffQ2[1][ 5].Code =  104; d->HuffQ2[1][ 5].Length =  7;
    201     d->HuffQ2[1][ 6].Code =   30; d->HuffQ2[1][ 6].Length =  5;
    202     d->HuffQ2[1][ 7].Code =    0; d->HuffQ2[1][ 7].Length =  3;
    203     d->HuffQ2[1][ 8].Code =   29; d->HuffQ2[1][ 8].Length =  5;
    204     d->HuffQ2[1][ 9].Code =  105; d->HuffQ2[1][ 9].Length =  7;
    205     d->HuffQ2[1][10].Code =   50; d->HuffQ2[1][10].Length =  6;
    206     d->HuffQ2[1][11].Code =    1; d->HuffQ2[1][11].Length =  3;
    207     d->HuffQ2[1][12].Code =    2; d->HuffQ2[1][12].Length =  2;
    208     d->HuffQ2[1][13].Code =    3; d->HuffQ2[1][13].Length =  3;
    209     d->HuffQ2[1][14].Code =   49; d->HuffQ2[1][14].Length =  6;
    210     d->HuffQ2[1][15].Code =  107; d->HuffQ2[1][15].Length =  7;
    211     d->HuffQ2[1][16].Code =   27; d->HuffQ2[1][16].Length =  5;
    212     d->HuffQ2[1][17].Code =    2; d->HuffQ2[1][17].Length =  3;
    213     d->HuffQ2[1][18].Code =   31; d->HuffQ2[1][18].Length =  5;
    214     d->HuffQ2[1][19].Code =  112; d->HuffQ2[1][19].Length =  7;
    215     d->HuffQ2[1][20].Code =  920; d->HuffQ2[1][20].Length = 10;
    216     d->HuffQ2[1][21].Code =  106; d->HuffQ2[1][21].Length =  7;
    217     d->HuffQ2[1][22].Code =   48; d->HuffQ2[1][22].Length =  6;
    218     d->HuffQ2[1][23].Code =  114; d->HuffQ2[1][23].Length =  7;
    219     d->HuffQ2[1][24].Code =  923; d->HuffQ2[1][24].Length = 10;
    220 
    221     /********************** 7-step quantizer **************************/
    222     /*********************** single samples ***************************/
    223     //less shaped, book 0
    224     d->HuffQ3[0][0].Code = 12; d->HuffQ3[0][0].Length = 4;
    225     d->HuffQ3[0][1].Code =  4; d->HuffQ3[0][1].Length = 3;
    226     d->HuffQ3[0][2].Code =  0; d->HuffQ3[0][2].Length = 2;
    227     d->HuffQ3[0][3].Code =  1; d->HuffQ3[0][3].Length = 2;
    228     d->HuffQ3[0][4].Code =  7; d->HuffQ3[0][4].Length = 3;
    229     d->HuffQ3[0][5].Code =  5; d->HuffQ3[0][5].Length = 3;
    230     d->HuffQ3[0][6].Code = 13; d->HuffQ3[0][6].Length = 4;
    231 
    232     //more shaped, book 1
    233     d->HuffQ3[1][0].Code = 4; d->HuffQ3[1][0].Length = 5;
    234     d->HuffQ3[1][1].Code = 3; d->HuffQ3[1][1].Length = 4;
    235     d->HuffQ3[1][2].Code = 2; d->HuffQ3[1][2].Length = 2;
    236     d->HuffQ3[1][3].Code = 3; d->HuffQ3[1][3].Length = 2;
    237     d->HuffQ3[1][4].Code = 1; d->HuffQ3[1][4].Length = 2;
    238     d->HuffQ3[1][5].Code = 0; d->HuffQ3[1][5].Length = 3;
    239     d->HuffQ3[1][6].Code = 5; d->HuffQ3[1][6].Length = 5;
    240 
    241     /********************** 9-step quantizer **************************/
    242     /*********************** single samples ***************************/
    243     //less shaped, book 0
    244     d->HuffQ4[0][0].Code = 5; d->HuffQ4[0][0].Length = 4;
    245     d->HuffQ4[0][1].Code = 0; d->HuffQ4[0][1].Length = 3;
    246     d->HuffQ4[0][2].Code = 4; d->HuffQ4[0][2].Length = 3;
    247     d->HuffQ4[0][3].Code = 6; d->HuffQ4[0][3].Length = 3;
    248     d->HuffQ4[0][4].Code = 7; d->HuffQ4[0][4].Length = 3;
    249     d->HuffQ4[0][5].Code = 5; d->HuffQ4[0][5].Length = 3;
    250     d->HuffQ4[0][6].Code = 3; d->HuffQ4[0][6].Length = 3;
    251     d->HuffQ4[0][7].Code = 1; d->HuffQ4[0][7].Length = 3;
    252     d->HuffQ4[0][8].Code = 4; d->HuffQ4[0][8].Length = 4;
    253 
    254     //more shaped, book 1
    255     d->HuffQ4[1][0].Code =  9; d->HuffQ4[1][0].Length = 5;
    256     d->HuffQ4[1][1].Code = 12; d->HuffQ4[1][1].Length = 4;
    257     d->HuffQ4[1][2].Code =  3; d->HuffQ4[1][2].Length = 3;
    258     d->HuffQ4[1][3].Code =  0; d->HuffQ4[1][3].Length = 2;
    259     d->HuffQ4[1][4].Code =  2; d->HuffQ4[1][4].Length = 2;
    260     d->HuffQ4[1][5].Code =  7; d->HuffQ4[1][5].Length = 3;
    261     d->HuffQ4[1][6].Code = 13; d->HuffQ4[1][6].Length = 4;
    262     d->HuffQ4[1][7].Code =  5; d->HuffQ4[1][7].Length = 4;
    263     d->HuffQ4[1][8].Code =  8; d->HuffQ4[1][8].Length = 5;
    264 
    265     /********************* 15-step quantizer **************************/
    266     /*********************** single samples ***************************/
    267     //less shaped, book 0
    268     d->HuffQ5[0][ 0].Code = 57; d->HuffQ5[0][ 0].Length = 6;
    269     d->HuffQ5[0][ 1].Code = 23; d->HuffQ5[0][ 1].Length = 5;
    270     d->HuffQ5[0][ 2].Code =  8; d->HuffQ5[0][ 2].Length = 4;
    271     d->HuffQ5[0][ 3].Code = 10; d->HuffQ5[0][ 3].Length = 4;
    272     d->HuffQ5[0][ 4].Code = 13; d->HuffQ5[0][ 4].Length = 4;
    273     d->HuffQ5[0][ 5].Code =  0; d->HuffQ5[0][ 5].Length = 3;
    274     d->HuffQ5[0][ 6].Code =  2; d->HuffQ5[0][ 6].Length = 3;
    275     d->HuffQ5[0][ 7].Code =  3; d->HuffQ5[0][ 7].Length = 3;
    276     d->HuffQ5[0][ 8].Code =  1; d->HuffQ5[0][ 8].Length = 3;
    277     d->HuffQ5[0][ 9].Code = 15; d->HuffQ5[0][ 9].Length = 4;
    278     d->HuffQ5[0][10].Code = 12; d->HuffQ5[0][10].Length = 4;
    279     d->HuffQ5[0][11].Code =  9; d->HuffQ5[0][11].Length = 4;
    280     d->HuffQ5[0][12].Code = 29; d->HuffQ5[0][12].Length = 5;
    281     d->HuffQ5[0][13].Code = 22; d->HuffQ5[0][13].Length = 5;
    282     d->HuffQ5[0][14].Code = 56; d->HuffQ5[0][14].Length = 6;
    283 
    284     //more shaped, book 1
    285     d->HuffQ5[1][ 0].Code = 229; d->HuffQ5[1][ 0].Length = 8;
    286     d->HuffQ5[1][ 1].Code =  56; d->HuffQ5[1][ 1].Length = 6;
    287     d->HuffQ5[1][ 2].Code =   7; d->HuffQ5[1][ 2].Length = 5;
    288     d->HuffQ5[1][ 3].Code =   2; d->HuffQ5[1][ 3].Length = 4;
    289     d->HuffQ5[1][ 4].Code =   0; d->HuffQ5[1][ 4].Length = 3;
    290     d->HuffQ5[1][ 5].Code =   3; d->HuffQ5[1][ 5].Length = 3;
    291     d->HuffQ5[1][ 6].Code =   5; d->HuffQ5[1][ 6].Length = 3;
    292     d->HuffQ5[1][ 7].Code =   6; d->HuffQ5[1][ 7].Length = 3;
    293     d->HuffQ5[1][ 8].Code =   4; d->HuffQ5[1][ 8].Length = 3;
    294     d->HuffQ5[1][ 9].Code =   2; d->HuffQ5[1][ 9].Length = 3;
    295     d->HuffQ5[1][10].Code =  15; d->HuffQ5[1][10].Length = 4;
    296     d->HuffQ5[1][11].Code =  29; d->HuffQ5[1][11].Length = 5;
    297     d->HuffQ5[1][12].Code =   6; d->HuffQ5[1][12].Length = 5;
    298     d->HuffQ5[1][13].Code = 115; d->HuffQ5[1][13].Length = 7;
    299     d->HuffQ5[1][14].Code = 228; d->HuffQ5[1][14].Length = 8;
    300 
    301     /********************* 31-step quantizer **************************/
    302     /*********************** single samples ***************************/
    303     //less shaped, book 0
    304     d->HuffQ6[0][ 0].Code =  65; d->HuffQ6[0][ 0].Length = 7;
    305     d->HuffQ6[0][ 1].Code =   6; d->HuffQ6[0][ 1].Length = 6;
    306     d->HuffQ6[0][ 2].Code =  44; d->HuffQ6[0][ 2].Length = 6;
    307     d->HuffQ6[0][ 3].Code =  45; d->HuffQ6[0][ 3].Length = 6;
    308     d->HuffQ6[0][ 4].Code =  59; d->HuffQ6[0][ 4].Length = 6;
    309     d->HuffQ6[0][ 5].Code =  13; d->HuffQ6[0][ 5].Length = 5;
    310     d->HuffQ6[0][ 6].Code =  17; d->HuffQ6[0][ 6].Length = 5;
    311     d->HuffQ6[0][ 7].Code =  19; d->HuffQ6[0][ 7].Length = 5;
    312     d->HuffQ6[0][ 8].Code =  23; d->HuffQ6[0][ 8].Length = 5;
    313     d->HuffQ6[0][ 9].Code =  21; d->HuffQ6[0][ 9].Length = 5;
    314     d->HuffQ6[0][10].Code =  26; d->HuffQ6[0][10].Length = 5;
    315     d->HuffQ6[0][11].Code =  30; d->HuffQ6[0][11].Length = 5;
    316     d->HuffQ6[0][12].Code =   0; d->HuffQ6[0][12].Length = 4;
    317     d->HuffQ6[0][13].Code =   2; d->HuffQ6[0][13].Length = 4;
    318     d->HuffQ6[0][14].Code =   5; d->HuffQ6[0][14].Length = 4;
    319     d->HuffQ6[0][15].Code =   7; d->HuffQ6[0][15].Length = 4;
    320     d->HuffQ6[0][16].Code =   3; d->HuffQ6[0][16].Length = 4;
    321     d->HuffQ6[0][17].Code =   4; d->HuffQ6[0][17].Length = 4;
    322     d->HuffQ6[0][18].Code =  31; d->HuffQ6[0][18].Length = 5;
    323     d->HuffQ6[0][19].Code =  28; d->HuffQ6[0][19].Length = 5;
    324     d->HuffQ6[0][20].Code =  25; d->HuffQ6[0][20].Length = 5;
    325     d->HuffQ6[0][21].Code =  27; d->HuffQ6[0][21].Length = 5;
    326     d->HuffQ6[0][22].Code =  24; d->HuffQ6[0][22].Length = 5;
    327     d->HuffQ6[0][23].Code =  20; d->HuffQ6[0][23].Length = 5;
    328     d->HuffQ6[0][24].Code =  18; d->HuffQ6[0][24].Length = 5;
    329     d->HuffQ6[0][25].Code =  12; d->HuffQ6[0][25].Length = 5;
    330     d->HuffQ6[0][26].Code =   2; d->HuffQ6[0][26].Length = 5;
    331     d->HuffQ6[0][27].Code =  58; d->HuffQ6[0][27].Length = 6;
    332     d->HuffQ6[0][28].Code =  33; d->HuffQ6[0][28].Length = 6;
    333     d->HuffQ6[0][29].Code =   7; d->HuffQ6[0][29].Length = 6;
    334     d->HuffQ6[0][30].Code =  64; d->HuffQ6[0][30].Length = 7;
    335 
    336     //more shaped, book 1
    337     d->HuffQ6[1][ 0].Code = 6472; d->HuffQ6[1][ 0].Length = 13;
    338     d->HuffQ6[1][ 1].Code = 6474; d->HuffQ6[1][ 1].Length = 13;
    339     d->HuffQ6[1][ 2].Code =  808; d->HuffQ6[1][ 2].Length = 10;
    340     d->HuffQ6[1][ 3].Code =  405; d->HuffQ6[1][ 3].Length =  9;
    341     d->HuffQ6[1][ 4].Code =  203; d->HuffQ6[1][ 4].Length =  8;
    342     d->HuffQ6[1][ 5].Code =  102; d->HuffQ6[1][ 5].Length =  7;
    343     d->HuffQ6[1][ 6].Code =   49; d->HuffQ6[1][ 6].Length =  6;
    344     d->HuffQ6[1][ 7].Code =    9; d->HuffQ6[1][ 7].Length =  5;
    345     d->HuffQ6[1][ 8].Code =   15; d->HuffQ6[1][ 8].Length =  5;
    346     d->HuffQ6[1][ 9].Code =   31; d->HuffQ6[1][ 9].Length =  5;
    347     d->HuffQ6[1][10].Code =    2; d->HuffQ6[1][10].Length =  4;
    348     d->HuffQ6[1][11].Code =    6; d->HuffQ6[1][11].Length =  4;
    349     d->HuffQ6[1][12].Code =    8; d->HuffQ6[1][12].Length =  4;
    350     d->HuffQ6[1][13].Code =   11; d->HuffQ6[1][13].Length =  4;
    351     d->HuffQ6[1][14].Code =   13; d->HuffQ6[1][14].Length =  4;
    352     d->HuffQ6[1][15].Code =    0; d->HuffQ6[1][15].Length =  3;
    353     d->HuffQ6[1][16].Code =   14; d->HuffQ6[1][16].Length =  4;
    354     d->HuffQ6[1][17].Code =   10; d->HuffQ6[1][17].Length =  4;
    355     d->HuffQ6[1][18].Code =    9; d->HuffQ6[1][18].Length =  4;
    356     d->HuffQ6[1][19].Code =    5; d->HuffQ6[1][19].Length =  4;
    357     d->HuffQ6[1][20].Code =    3; d->HuffQ6[1][20].Length =  4;
    358     d->HuffQ6[1][21].Code =   30; d->HuffQ6[1][21].Length =  5;
    359     d->HuffQ6[1][22].Code =   14; d->HuffQ6[1][22].Length =  5;
    360     d->HuffQ6[1][23].Code =    8; d->HuffQ6[1][23].Length =  5;
    361     d->HuffQ6[1][24].Code =   48; d->HuffQ6[1][24].Length =  6;
    362     d->HuffQ6[1][25].Code =  103; d->HuffQ6[1][25].Length =  7;
    363     d->HuffQ6[1][26].Code =  201; d->HuffQ6[1][26].Length =  8;
    364     d->HuffQ6[1][27].Code =  200; d->HuffQ6[1][27].Length =  8;
    365     d->HuffQ6[1][28].Code = 1619; d->HuffQ6[1][28].Length = 11;
    366     d->HuffQ6[1][29].Code = 6473; d->HuffQ6[1][29].Length = 13;
    367     d->HuffQ6[1][30].Code = 6475; d->HuffQ6[1][30].Length = 13;
    368 
    369     /********************* 63-step quantizer **************************/
    370     /*********************** single samples ***************************/
    371     //less shaped, book 0
    372     d->HuffQ7[0][ 0].Code = 103; d->HuffQ7[0][ 0].Length = 8;    /* 0.003338  -          01100111  */
    373     d->HuffQ7[0][ 1].Code = 153; d->HuffQ7[0][ 1].Length = 8;    /* 0.003766  -          10011001  */
    374     d->HuffQ7[0][ 2].Code = 181; d->HuffQ7[0][ 2].Length = 8;    /* 0.004715  -          10110101  */
    375     d->HuffQ7[0][ 3].Code = 233; d->HuffQ7[0][ 3].Length = 8;    /* 0.005528  -          11101001  */
    376     d->HuffQ7[0][ 4].Code =  64; d->HuffQ7[0][ 4].Length = 7;    /* 0.006677  -           1000000  */
    377     d->HuffQ7[0][ 5].Code =  65; d->HuffQ7[0][ 5].Length = 7;    /* 0.007041  -           1000001  */
    378     d->HuffQ7[0][ 6].Code =  77; d->HuffQ7[0][ 6].Length = 7;    /* 0.007733  -           1001101  */
    379     d->HuffQ7[0][ 7].Code =  81; d->HuffQ7[0][ 7].Length = 7;    /* 0.008296  -           1010001  */
    380     d->HuffQ7[0][ 8].Code =  91; d->HuffQ7[0][ 8].Length = 7;    /* 0.009295  -           1011011  */
    381     d->HuffQ7[0][ 9].Code = 113; d->HuffQ7[0][ 9].Length = 7;    /* 0.010814  -           1110001  */
    382     d->HuffQ7[0][10].Code = 112; d->HuffQ7[0][10].Length = 7;    /* 0.010807  -           1110000  */
    383     d->HuffQ7[0][11].Code =  24; d->HuffQ7[0][11].Length = 6;    /* 0.012748  -            011000  */
    384     d->HuffQ7[0][12].Code =  29; d->HuffQ7[0][12].Length = 6;    /* 0.013390  -            011101  */
    385     d->HuffQ7[0][13].Code =  35; d->HuffQ7[0][13].Length = 6;    /* 0.014224  -            100011  */
    386     d->HuffQ7[0][14].Code =  37; d->HuffQ7[0][14].Length = 6;    /* 0.015201  -            100101  */
    387     d->HuffQ7[0][15].Code =  41; d->HuffQ7[0][15].Length = 6;    /* 0.016642  -            101001  */
    388     d->HuffQ7[0][16].Code =  44; d->HuffQ7[0][16].Length = 6;    /* 0.017292  -            101100  */
    389     d->HuffQ7[0][17].Code =  46; d->HuffQ7[0][17].Length = 6;    /* 0.018647  -            101110  */
    390     d->HuffQ7[0][18].Code =  51; d->HuffQ7[0][18].Length = 6;    /* 0.020473  -            110011  */
    391     d->HuffQ7[0][19].Code =  49; d->HuffQ7[0][19].Length = 6;    /* 0.020152  -            110001  */
    392     d->HuffQ7[0][20].Code =  54; d->HuffQ7[0][20].Length = 6;    /* 0.021315  -            110110  */
    393     d->HuffQ7[0][21].Code =  55; d->HuffQ7[0][21].Length = 6;    /* 0.021358  -            110111  */
    394     d->HuffQ7[0][22].Code =  57; d->HuffQ7[0][22].Length = 6;    /* 0.021700  -            111001  */
    395     d->HuffQ7[0][23].Code =  60; d->HuffQ7[0][23].Length = 6;    /* 0.022449  -            111100  */
    396     d->HuffQ7[0][24].Code =   0; d->HuffQ7[0][24].Length = 5;    /* 0.023063  -             00000  */
    397     d->HuffQ7[0][25].Code =   2; d->HuffQ7[0][25].Length = 5;    /* 0.023854  -             00010  */
    398     d->HuffQ7[0][26].Code =  10; d->HuffQ7[0][26].Length = 5;    /* 0.025481  -             01010  */
    399     d->HuffQ7[0][27].Code =   5; d->HuffQ7[0][27].Length = 5;    /* 0.024867  -             00101  */
    400     d->HuffQ7[0][28].Code =   9; d->HuffQ7[0][28].Length = 5;    /* 0.025352  -             01001  */
    401     d->HuffQ7[0][29].Code =   6; d->HuffQ7[0][29].Length = 5;    /* 0.025074  -             00110  */
    402     d->HuffQ7[0][30].Code =  13; d->HuffQ7[0][30].Length = 5;    /* 0.025745  -             01101  */
    403     d->HuffQ7[0][31].Code =   7; d->HuffQ7[0][31].Length = 5;    /* 0.025195  -             00111  */
    404     d->HuffQ7[0][32].Code =  11; d->HuffQ7[0][32].Length = 5;    /* 0.025502  -             01011  */
    405     d->HuffQ7[0][33].Code =  15; d->HuffQ7[0][33].Length = 5;    /* 0.026251  -             01111  */
    406     d->HuffQ7[0][34].Code =   8; d->HuffQ7[0][34].Length = 5;    /* 0.025260  -             01000  */
    407     d->HuffQ7[0][35].Code =   4; d->HuffQ7[0][35].Length = 5;    /* 0.024418  -             00100  */
    408     d->HuffQ7[0][36].Code =   3; d->HuffQ7[0][36].Length = 5;    /* 0.023983  -             00011  */
    409     d->HuffQ7[0][37].Code =   1; d->HuffQ7[0][37].Length = 5;    /* 0.023697  -             00001  */
    410     d->HuffQ7[0][38].Code =  63; d->HuffQ7[0][38].Length = 6;    /* 0.023041  -            111111  */
    411     d->HuffQ7[0][39].Code =  62; d->HuffQ7[0][39].Length = 6;    /* 0.022656  -            111110  */
    412     d->HuffQ7[0][40].Code =  61; d->HuffQ7[0][40].Length = 6;    /* 0.022549  -            111101  */
    413     d->HuffQ7[0][41].Code =  53; d->HuffQ7[0][41].Length = 6;    /* 0.021151  -            110101  */
    414     d->HuffQ7[0][42].Code =  59; d->HuffQ7[0][42].Length = 6;    /* 0.022042  -            111011  */
    415     d->HuffQ7[0][43].Code =  52; d->HuffQ7[0][43].Length = 6;    /* 0.020837  -            110100  */
    416     d->HuffQ7[0][44].Code =  48; d->HuffQ7[0][44].Length = 6;    /* 0.019446  -            110000  */
    417     d->HuffQ7[0][45].Code =  47; d->HuffQ7[0][45].Length = 6;    /* 0.019189  -            101111  */
    418     d->HuffQ7[0][46].Code =  43; d->HuffQ7[0][46].Length = 6;    /* 0.017177  -            101011  */
    419     d->HuffQ7[0][47].Code =  42; d->HuffQ7[0][47].Length = 6;    /* 0.017035  -            101010  */
    420     d->HuffQ7[0][48].Code =  39; d->HuffQ7[0][48].Length = 6;    /* 0.015287  -            100111  */
    421     d->HuffQ7[0][49].Code =  36; d->HuffQ7[0][49].Length = 6;    /* 0.014559  -            100100  */
    422     d->HuffQ7[0][50].Code =  33; d->HuffQ7[0][50].Length = 6;    /* 0.014117  -            100001  */
    423     d->HuffQ7[0][51].Code =  28; d->HuffQ7[0][51].Length = 6;    /* 0.012776  -            011100  */
    424     d->HuffQ7[0][52].Code = 117; d->HuffQ7[0][52].Length = 7;    /* 0.011107  -           1110101  */
    425     d->HuffQ7[0][53].Code = 101; d->HuffQ7[0][53].Length = 7;    /* 0.010636  -           1100101  */
    426     d->HuffQ7[0][54].Code = 100; d->HuffQ7[0][54].Length = 7;    /* 0.009751  -           1100100  */
    427     d->HuffQ7[0][55].Code =  80; d->HuffQ7[0][55].Length = 7;    /* 0.008132  -           1010000  */
    428     d->HuffQ7[0][56].Code =  69; d->HuffQ7[0][56].Length = 7;    /* 0.007091  -           1000101  */
    429     d->HuffQ7[0][57].Code =  68; d->HuffQ7[0][57].Length = 7;    /* 0.007084  -           1000100  */
    430     d->HuffQ7[0][58].Code =  50; d->HuffQ7[0][58].Length = 7;    /* 0.006277  -           0110010  */
    431     d->HuffQ7[0][59].Code = 232; d->HuffQ7[0][59].Length = 8;    /* 0.005386  -          11101000  */
    432     d->HuffQ7[0][60].Code = 180; d->HuffQ7[0][60].Length = 8;    /* 0.004408  -          10110100  */
    433     d->HuffQ7[0][61].Code = 152; d->HuffQ7[0][61].Length = 8;    /* 0.003759  -          10011000  */
    434     d->HuffQ7[0][62].Code = 102; d->HuffQ7[0][62].Length = 8;    /* 0.003160  -          01100110  */
    435 
    436     //more shaped, book 1
    437     d->HuffQ7[1][ 0].Code = 14244; d->HuffQ7[1][ 0].Length = 14;    /* 0.000059  -        11011110100100  */
    438     d->HuffQ7[1][ 1].Code = 14253; d->HuffQ7[1][ 1].Length = 14;    /* 0.000098  -        11011110101101  */
    439     d->HuffQ7[1][ 2].Code = 14246; d->HuffQ7[1][ 2].Length = 14;    /* 0.000078  -        11011110100110  */
    440     d->HuffQ7[1][ 3].Code = 14254; d->HuffQ7[1][ 3].Length = 14;    /* 0.000111  -        11011110101110  */
    441     d->HuffQ7[1][ 4].Code =  3562; d->HuffQ7[1][ 4].Length = 12;    /* 0.000320  -          110111101010  */
    442     d->HuffQ7[1][ 5].Code =   752; d->HuffQ7[1][ 5].Length = 10;    /* 0.000920  -            1011110000  */
    443     d->HuffQ7[1][ 6].Code =   753; d->HuffQ7[1][ 6].Length = 10;    /* 0.001057  -            1011110001  */
    444     d->HuffQ7[1][ 7].Code =   160; d->HuffQ7[1][ 7].Length =  9;    /* 0.001403  -             010100000  */
    445     d->HuffQ7[1][ 8].Code =   162; d->HuffQ7[1][ 8].Length =  9;    /* 0.001579  -             010100010  */
    446     d->HuffQ7[1][ 9].Code =   444; d->HuffQ7[1][ 9].Length =  9;    /* 0.002486  -             110111100  */
    447     d->HuffQ7[1][10].Code =   122; d->HuffQ7[1][10].Length =  8;    /* 0.003772  -              01111010  */
    448     d->HuffQ7[1][11].Code =   223; d->HuffQ7[1][11].Length =  8;    /* 0.005710  -              11011111  */
    449     d->HuffQ7[1][12].Code =    60; d->HuffQ7[1][12].Length =  7;    /* 0.006858  -               0111100  */
    450     d->HuffQ7[1][13].Code =    73; d->HuffQ7[1][13].Length =  7;    /* 0.008033  -               1001001  */
    451     d->HuffQ7[1][14].Code =   110; d->HuffQ7[1][14].Length =  7;    /* 0.009827  -               1101110  */
    452     d->HuffQ7[1][15].Code =    14; d->HuffQ7[1][15].Length =  6;    /* 0.012601  -                001110  */
    453     d->HuffQ7[1][16].Code =    24; d->HuffQ7[1][16].Length =  6;    /* 0.013194  -                011000  */
    454     d->HuffQ7[1][17].Code =    25; d->HuffQ7[1][17].Length =  6;    /* 0.013938  -                011001  */
    455     d->HuffQ7[1][18].Code =    34; d->HuffQ7[1][18].Length =  6;    /* 0.015693  -                100010  */
    456     d->HuffQ7[1][19].Code =    37; d->HuffQ7[1][19].Length =  6;    /* 0.017846  -                100101  */
    457     d->HuffQ7[1][20].Code =    54; d->HuffQ7[1][20].Length =  6;    /* 0.020078  -                110110  */
    458     d->HuffQ7[1][21].Code =     3; d->HuffQ7[1][21].Length =  5;    /* 0.022975  -                 00011  */
    459     d->HuffQ7[1][22].Code =     9; d->HuffQ7[1][22].Length =  5;    /* 0.025631  -                 01001  */
    460     d->HuffQ7[1][23].Code =    11; d->HuffQ7[1][23].Length =  5;    /* 0.027021  -                 01011  */
    461     d->HuffQ7[1][24].Code =    16; d->HuffQ7[1][24].Length =  5;    /* 0.031465  -                 10000  */
    462     d->HuffQ7[1][25].Code =    19; d->HuffQ7[1][25].Length =  5;    /* 0.034244  -                 10011  */
    463     d->HuffQ7[1][26].Code =    21; d->HuffQ7[1][26].Length =  5;    /* 0.035921  -                 10101  */
    464     d->HuffQ7[1][27].Code =    24; d->HuffQ7[1][27].Length =  5;    /* 0.037938  -                 11000  */
    465     d->HuffQ7[1][28].Code =    26; d->HuffQ7[1][28].Length =  5;    /* 0.039595  -                 11010  */
    466     d->HuffQ7[1][29].Code =    29; d->HuffQ7[1][29].Length =  5;    /* 0.041546  -                 11101  */
    467     d->HuffQ7[1][30].Code =    31; d->HuffQ7[1][30].Length =  5;    /* 0.042623  -                 11111  */
    468     d->HuffQ7[1][31].Code =     2; d->HuffQ7[1][31].Length =  4;    /* 0.045180  -                  0010  */
    469     d->HuffQ7[1][32].Code =     0; d->HuffQ7[1][32].Length =  4;    /* 0.043151  -                  0000  */
    470     d->HuffQ7[1][33].Code =    30; d->HuffQ7[1][33].Length =  5;    /* 0.042538  -                 11110  */
    471     d->HuffQ7[1][34].Code =    28; d->HuffQ7[1][34].Length =  5;    /* 0.041422  -                 11100  */
    472     d->HuffQ7[1][35].Code =    25; d->HuffQ7[1][35].Length =  5;    /* 0.039145  -                 11001  */
    473     d->HuffQ7[1][36].Code =    22; d->HuffQ7[1][36].Length =  5;    /* 0.036691  -                 10110  */
    474     d->HuffQ7[1][37].Code =    20; d->HuffQ7[1][37].Length =  5;    /* 0.034955  -                 10100  */
    475     d->HuffQ7[1][38].Code =    14; d->HuffQ7[1][38].Length =  5;    /* 0.029155  -                 01110  */
    476     d->HuffQ7[1][39].Code =    13; d->HuffQ7[1][39].Length =  5;    /* 0.027921  -                 01101  */
    477     d->HuffQ7[1][40].Code =     8; d->HuffQ7[1][40].Length =  5;    /* 0.025553  -                 01000  */
    478     d->HuffQ7[1][41].Code =     6; d->HuffQ7[1][41].Length =  5;    /* 0.023093  -                 00110  */
    479     d->HuffQ7[1][42].Code =     2; d->HuffQ7[1][42].Length =  5;    /* 0.021200  -                 00010  */
    480     d->HuffQ7[1][43].Code =    46; d->HuffQ7[1][43].Length =  6;    /* 0.018134  -                101110  */
    481     d->HuffQ7[1][44].Code =    35; d->HuffQ7[1][44].Length =  6;    /* 0.015824  -                100011  */
    482     d->HuffQ7[1][45].Code =    31; d->HuffQ7[1][45].Length =  6;    /* 0.014701  -                011111  */
    483     d->HuffQ7[1][46].Code =    21; d->HuffQ7[1][46].Length =  6;    /* 0.013187  -                010101  */
    484     d->HuffQ7[1][47].Code =    15; d->HuffQ7[1][47].Length =  6;    /* 0.012776  -                001111  */
    485     d->HuffQ7[1][48].Code =    95; d->HuffQ7[1][48].Length =  7;    /* 0.009664  -               1011111  */
    486     d->HuffQ7[1][49].Code =    72; d->HuffQ7[1][49].Length =  7;    /* 0.007922  -               1001000  */
    487     d->HuffQ7[1][50].Code =    41; d->HuffQ7[1][50].Length =  7;    /* 0.006838  -               0101001  */
    488     d->HuffQ7[1][51].Code =   189; d->HuffQ7[1][51].Length =  8;    /* 0.005024  -              10111101  */
    489     d->HuffQ7[1][52].Code =   123; d->HuffQ7[1][52].Length =  8;    /* 0.003830  -              01111011  */
    490     d->HuffQ7[1][53].Code =   377; d->HuffQ7[1][53].Length =  9;    /* 0.002232  -             101111001  */
    491     d->HuffQ7[1][54].Code =   161; d->HuffQ7[1][54].Length =  9;    /* 0.001566  -             010100001  */
    492     d->HuffQ7[1][55].Code =   891; d->HuffQ7[1][55].Length = 10;    /* 0.001383  -            1101111011  */
    493     d->HuffQ7[1][56].Code =   327; d->HuffQ7[1][56].Length = 10;    /* 0.000900  -            0101000111  */
    494     d->HuffQ7[1][57].Code =   326; d->HuffQ7[1][57].Length = 10;    /* 0.000790  -            0101000110  */
    495     d->HuffQ7[1][58].Code =  3560; d->HuffQ7[1][58].Length = 12;    /* 0.000254  -          110111101000  */
    496     d->HuffQ7[1][59].Code = 14255; d->HuffQ7[1][59].Length = 14;    /* 0.000117  -        11011110101111  */
    497     d->HuffQ7[1][60].Code = 14247; d->HuffQ7[1][60].Length = 14;    /* 0.000085  -        11011110100111  */
    498     d->HuffQ7[1][61].Code = 14252; d->HuffQ7[1][61].Length = 14;    /* 0.000085  -        11011110101100  */
    499     d->HuffQ7[1][62].Code = 14245; d->HuffQ7[1][62].Length = 14;    /* 0.000065  -        11011110100101  */
    500 }
     78const HuffmanTyp*   mpc_table_HuffQ [2] [8] = {
     79        {0,mpc_table_HuffQ1[0],mpc_table_HuffQ2[0],mpc_table_HuffQ3[0],mpc_table_HuffQ4[0],mpc_table_HuffQ5[0],mpc_table_HuffQ6[0],mpc_table_HuffQ7[0]},
     80        {0,mpc_table_HuffQ1[1],mpc_table_HuffQ2[1],mpc_table_HuffQ3[1],mpc_table_HuffQ4[1],mpc_table_HuffQ5[1],mpc_table_HuffQ6[1],mpc_table_HuffQ7[1]},
     81};
Note: See TracChangeset for help on using the changeset viewer.