/*
(c) Copyright 1998-2000 - Tord Jansson
======================================
This file is part of the BladeEnc MP3 Encoder, based on
ISO's reference code for MPEG Layer 3 compression, and might
contain smaller or larger sections that are directly taken
from ISO's reference code.
All changes to the ISO reference code herein are either
copyrighted by Tord Jansson ([email protected])
or sublicensed to Tord Jansson by a third party.
BladeEnc is free software; you can redistribute this file
and/or modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
------------ Changes ------------
2000-11-06 Andre Piotrowski
- speed up: (for 'encode.c') traversed 'enwindow[]' needed for 'WIND_SB_CHANGE_LEVEL 3'
*/
#include "tables.h"
#include "huffman.h"
/* ======================================================================================== */
/* L3 parameter tables */
/* ======================================================================================== */
#if NEW_L3PARM_TABLES
l3_parm_block l3_parm[3] =
{
{ /* sfreq_idx_44100 */
{ /* psy_longBlock_44100_62 */
63, /* cbmax_l */
{ /* numlines_l */
1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 3, 3, 3, 3, 3, 3, 3, 4,
4, 4, 5, 5, 5, 6, 6, 7, 7,
7, 9, 9, 9, 10, 10, 11, 14, 14,
15, 20, 20, 21, 27, 27, 36, 73, 18
},
{ /* minval */
24.5, 24.5, 24.5, 24.5, 24.5, 20.0, 20.0, 20.0, 20.0,
20.0, 20.0, 20.0, 18.0, 18.0, 18.0, 12.0, 6.0, 6.0,
3.0, 3.0, 3.0, 3.0, 0.0, 0.0, 0.0, 0.0, 0.0,
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0
},
{ /* qthr_l */
4.532, 4.532, 4.532, 0.904, 0.904, 0.090, 0.090, 0.029, 0.029,
0.029, 0.009, 0.009, 0.009, 0.009, 0.009, 0.018, 0.018, 0.018,
0.018, 0.018, 0.018, 0.018, 0.018, 0.018, 0.018, 0.018, 0.018,
0.018, 0.027, 0.027, 0.027, 0.027, 0.027, 0.027, 0.027, 0.036,
0.036, 0.036, 0.045, 0.045, 0.045, 0.054, 0.054, 0.063, 0.063,
0.063, 0.081, 0.081, 0.081, 0.180, 0.180, 0.198, 0.400, 0.400,
0.429, 1.808, 1.808, 1.898, 24.416, 24.416, 32.554, 660.124, 162.770
},
#if !CALC_NORM /* do we compute more exact values? */
{ /* norm_l */
0.951, 0.700, 0.681, 0.675, 0.667, 0.665, 0.664, 0.664, 0.664,
0.655, 0.616, 0.597, 0.578, 0.541, 0.575, 0.856, 0.846, 0.840,
0.822, 0.800, 0.753, 0.704, 0.674, 0.640, 0.609, 0.566, 0.535,
0.531, 0.615, 0.686, 0.650, 0.612, 0.567, 0.520, 0.513, 0.557,
0.584, 0.570, 0.579, 0.585, 0.548, 0.536, 0.550, 0.532, 0.504,
0.496, 0.517, 0.527, 0.516, 0.497, 0.489, 0.502, 0.501, 0.491,
0.497, 0.504, 0.504, 0.495, 0.486, 0.484, 0.483, 0.475, 0.515
},
#endif
{ /* bval_l */
0.000, 0.431, 0.861, 1.292, 1.723, 2.153, 2.584, 3.015, 3.445,
3.876, 4.279, 4.670, 5.057, 5.416, 5.774, 6.422, 7.026, 7.609,
8.168, 8.710, 9.207, 9.662, 10.099, 10.515, 10.917, 11.293, 11.652,
11.997, 12.394, 12.850, 13.277, 13.681, 14.062, 14.411, 14.751, 15.119,
15.508, 15.883, 16.263, 16.654, 17.020, 17.374, 17.744, 18.104, 18.447,
18.782, 19.130, 19.487, 19.838, 20.179, 20.510, 20.852, 21.196, 21.531,
21.870, 22.214, 22.558, 22.898, 23.232, 23.564, 23.897, 24.229, 24.442
}
},
{ /* psy_shortBlock_44100_38 */
39, /* cbmax_s */
{ /* numlines_s */
1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 2, 2,
2, 2, 2, 2, 3, 3, 3,
3, 3, 4, 4, 5, 5, 5,
7, 7, 7, 19, 0, 0, 0
},
{ /* qthr_s */
4.532, 0.904, 0.029, 0.009, 0.009, 0.009, 0.009,
0.009, 0.009, 0.009, 0.009, 0.009, 0.009, 0.009,
0.009, 0.009, 0.009, 0.009, 0.009, 0.018, 0.018,
0.018, 0.018, 0.018, 0.018, 0.027, 0.027, 0.054,
0.054, 0.054, 0.114, 0.114, 0.452, 0.452, 0.452,
6.330, 6.330, 6.330, 171.813, 0.000, 0.000, 0.000
},
#if !CALC_NORM /* do we compute more exact values? */
{ /* norm_s */
1.000, 0.983, 0.983, 0.982, 0.985, 0.983, 0.978,
0.967, 0.948, 0.930, 0.914, 0.870, 0.845, 0.800,
0.749, 0.701, 0.653, 0.590, 0.616, 0.860, 0.823,
0.762, 0.688, 0.612, 0.594, 0.658, 0.706, 0.660,
0.606, 0.565, 0.560, 0.579, 0.567, 0.534, 0.514,
0.520, 0.518, 0.507, 0.447, 0.000, 0.000, 0.000
},
#endif
{ /* SNR_s */
-8.240, -8.240, -8.240, -8.240, -8.240, -8.240, -8.240,
-8.240, -8.240, -8.240, -7.447, -7.447, -7.447, -7.447,
-7.447, -7.447, -7.447, -7.447, -7.447, -7.447, -6.990,
-6.990, -6.990, -6.990, -6.990, -6.990, -6.990, -6.990,
-6.990, -6.990, -6.020, -6.020, -6.020, -6.020, -5.229,
-5.229, -5.229, -5.229, -4.559, 0.000, 0.000, 0.000
},
{ /* bval_s */
0.000, 1.723, 3.445, 5.057, 6.422, 7.609, 8.710,
9.662, 10.515, 11.293, 12.009, 12.625, 13.210, 13.748,
14.241, 14.695, 15.125, 15.508, 15.891, 16.537, 17.112,
17.621, 18.073, 18.470, 18.849, 19.271, 19.741, 20.177,
20.576, 20.950, 21.316, 21.699, 22.078, 22.438, 22.782,
23.133, 23.484, 23.828, 24.173, 0.000, 0.000, 0.000
}
},
{ /* psy_data3_44100_20 */
{ /* cbw_l */
3, 3, 4, 3, 3, 1, 3,
3, 3, 3, 3, 3, 4, 3,
3, 3, 3, 3, 2, 2, 2
},
{ /* bu_l */
0, 4, 7, 11, 14, 17, 18,
21, 24, 27, 30, 33, 36, 40,
43, 46, 49, 52, 55, 57, 59
},
{ /* bo_l */
4, 7, 11, 14, 17, 18, 21,
24, 27, 30, 33, 36, 40, 43,
46, 49, 52, 55, 57, 59, 61
},
{ /* w1_l */
1.000, 0.944, 0.389, 0.833, 0.278, 0.861, 0.083,
0.417, 0.750, 0.194, 0.426, 0.463, 0.180, 0.900,
0.532, 0.376, 0.550, 0.448, 0.597, 0.357, 0.278
},
{ /* w2_l */
0.056, 0.611, 0.167, 0.722, 0.139, 0.917, 0.583,
0.250, 0.805, 0.574, 0.537, 0.819, 0.100, 0.468,
0.623, 0.450, 0.552, 0.403, 0.643, 0.722, 0.960
}
},
{ /* psy_data4_44100_11 */
{ /* cbw_s */
2, 2, 3, 3, 4, 5,
3, 4, 3, 3, 3, 2
},
{ /* bu_s */
0, 3, 5, 8, 11, 15,
20, 23, 27, 30, 33, 36
},
{ /* bo_s */
2, 5, 8, 11, 15, 20,
23, 27, 30, 33, 36, 38
},
{ /* w1_s */
1.000, 0.833, 0.167, 0.500, 0.833, 0.833,
0.750, 0.417, 0.944, 0.625, 0.700, 0.833
},
{ /* w2_s */
0.167, 0.833, 0.500, 0.167, 0.167, 0.250,
0.583, 0.055, 0.375, 0.300, 0.167, 1.000
}
}
},
{ /* sfreq_idx_48000 */
{ /* psy_longBlock_48000_61 */
62, /* cbmax_l */
{ /* numlines_l */
1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 3, 3, 3, 3, 3, 4, 4,
4, 4, 4, 5, 5, 5, 6, 7, 7,
8, 8, 8, 10, 10, 10, 13, 13, 14,
18, 18, 20, 25, 25, 35, 67, 67, 0
},
{ /* minval */
24.5, 24.5, 24.5, 24.5, 24.5, 20.0, 20.0, 20.0, 20.0,
20.0, 20.0, 18.0, 18.0, 18.0, 12.0, 12.0, 6.0, 6.0,
3.0, 3.0, 3.0, 3.0, 0.0, 0.0, 0.0, 0.0, 0.0,
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0
},
{ /* qthr_l */
4.532, 4.532, 4.532, 0.904, 0.904, 0.090, 0.090, 0.029, 0.029,
0.009, 0.009, 0.009, 0.009, 0.009, 0.009, 0.009, 0.018, 0.018,
0.018, 0.018, 0.018, 0.018, 0.018, 0.018, 0.018, 0.018, 0.018,
0.018, 0.018, 0.027, 0.027, 0.027, 0.027, 0.027, 0.036, 0.036,
0.036, 0.036, 0.036, 0.045, 0.045, 0.045, 0.054, 0.063, 0.063,
0.072, 0.072, 0.072, 0.180, 0.180, 0.180, 0.372, 0.372, 0.400,
1.627, 1.627, 1.808, 22.607, 22.607, 31.650, 605.867, 605.867, 0.000
},
#if !CALC_NORM /* do we compute more exact values? */
{ /* norm_l */
0.970, 0.755, 0.738, 0.730, 0.724, 0.723, 0.723, 0.723, 0.718,
0.690, 0.660, 0.641, 0.600, 0.584, 0.532, 0.537, 0.857, 0.858,
0.853, 0.824, 0.778, 0.740, 0.709, 0.676, 0.632, 0.592, 0.553,
0.510, 0.513, 0.608, 0.673, 0.637, 0.586, 0.571, 0.616, 0.640,
0.598, 0.538, 0.512, 0.528, 0.517, 0.493, 0.499, 0.525, 0.541,
0.528, 0.510, 0.506, 0.525, 0.536, 0.518, 0.501, 0.497, 0.497,
0.495, 0.494, 0.497, 0.494, 0.487, 0.483, 0.482, 0.524, 0.000
},
#endif
{ /* bval_l */
0.000, 0.469, 0.938, 1.406, 1.875, 2.344, 2.813, 3.281, 3.750,
4.199, 4.625, 5.047, 5.438, 5.828, 6.188, 6.522, 7.174, 7.801,
8.402, 8.966, 9.484, 9.966, 10.426, 10.866, 11.279, 11.669, 12.042,
12.386, 12.721, 13.115, 13.562, 13.984, 14.371, 14.741, 15.140, 15.563,
15.962, 16.324, 16.665, 17.020, 17.373, 17.708, 18.045, 18.398, 18.762,
19.120, 19.466, 19.807, 20.159, 20.522, 20.874, 21.214, 21.553, 21.892,
22.231, 22.569, 22.909, 23.248, 23.583, 23.915, 24.246, 24.576, 0.000
}
},
{ /* psy_shortBlock_48000_37 */
38, /* cbmax_s */
{ /* numlines_s */
1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 2, 2,
2, 2, 2, 2, 2, 3, 3,
3, 4, 4, 5, 5, 5, 7,
7, 11, 17, 0, 0, 0, 0
},
{ /* qthr_s */
4.532, 0.904, 0.029, 0.009, 0.009, 0.009, 0.009,
0.009, 0.009, 0.009, 0.009, 0.009, 0.009, 0.009,
0.009, 0.009, 0.009, 0.009, 0.009, 0.018, 0.018,
0.018, 0.018, 0.018, 0.018, 0.018, 0.054, 0.054,
0.054, 0.114, 0.114, 0.452, 0.452, 0.452, 6.330,
6.330, 9.947, 153.727, 0.000, 0.000, 0.000, 0.000
},
#if !CALC_NORM /* do we compute more exact values? */
{ /* norm_s */
1.000, 0.989, 0.989, 0.981, 0.985, 0.984, 0.980,
0.968, 0.954, 0.929, 0.906, 0.883, 0.844, 0.792,
0.747, 0.689, 0.644, 0.592, 0.553, 0.850, 0.811,
0.736, 0.665, 0.610, 0.544, 0.528, 0.621, 0.673,
0.635, 0.626, 0.636, 0.615, 0.579, 0.551, 0.552,
0.559, 0.528, 0.479, 0.000, 0.000, 0.000, 0.000
},
#endif
{ /* SNR_s */
-8.240, -8.240, -8.240, -8.240, -8.240, -8.240, -8.240,
-8.240, -8.240, -8.240, -7.447, -7.447, -7.447, -7.447,
-7.447, -7.447, -7.447, -7.447, -7.447, -7.447, -6.990,
-6.990, -6.990, -6.990, -6.990, -6.990, -6.990, -6.990,
-6.990, -6.990, -6.020, -6.020, -6.020, -6.020, -5.229,
-5.229, -5.229, -5.229, 0.000, 0.000, 0.000, 0.000
},
{ /* bval_s */
0.000, 1.875, 3.750, 5.438, 6.857, 8.109, 9.237,
10.202, 11.083, 11.865, 12.554, 13.195, 13.781, 14.309,
14.803, 15.250, 15.667, 16.068, 16.409, 17.045, 17.607,
18.097, 18.528, 18.931, 19.295, 19.636, 20.038, 20.486,
20.900, 21.306, 21.722, 22.128, 22.513, 22.877, 23.241,
23.616, 23.974, 24.313, 0.000, 0.000, 0.000, 0.000
}
},
{ /* psy_data3_48000_20 */
{ /* cbw_l */
3, 3, 4, 3, 3, 2, 3,
2, 3, 3, 3, 3, 4, 3,
3, 3, 3, 2, 3, 2, 1
},
{ /* bu_l */
0, 4, 7, 11, 14, 17, 19,
22, 24, 27, 30, 33, 36, 40,
43, 46, 49, 52, 54, 57, 59
},
{ /* bo_l */
4, 7, 11, 14, 17, 19, 22,
24, 27, 30, 33, 36, 40, 43,
46, 49, 52, 54, 57, 59, 60
},
{ /* w1_l */
1.000, 0.944, 0.389, 0.833, 0.278, 0.361, 0.583,
0.917, 0.250, 0.583, 0.352, 0.389, 0.375, 0.856,
0.611, 0.840, 0.783, 0.816, 0.114, 0.687, 0.548
},
{ /* w2_l */
0.056, 0.611, 0.167, 0.722, 0.639, 0.417, 0.083,
0.750, 0.417, 0.648, 0.611, 0.625, 0.144, 0.389,
0.160, 0.217, 0.184, 0.886, 0.313, 0.452, 0.908
}
},
{ /* psy_data4_48000_11 */
{ /* cbw_s */
2, 2, 3, 3, 4, 4,
3, 4, 4, 2, 3, 2
},
{ /* bu_s */
0, 3, 5, 8, 11, 15,
19, 22, 26, 30, 32, 35
},
{ /* bo_s */
2, 5, 8, 11, 15, 19,
22, 26, 30, 32, 35, 37
},
{ /* w1_s */
1.000, 0.833, 0.167, 0.500, 0.833, 0.833,
0.417, 0.083, 0.055, 0.958, 0.433, 0.833
},
{ /* w2_s */
0.167, 0.833, 0.500, 0.167, 0.167, 0.583,
0.917, 0.944, 0.042, 0.567, 0.167, 0.618
}
}
},
{ /* sfreq_idx_32000 */
{ /* psy_longBlock_32000_58 */
59, /* cbmax_l */
{ /* numlines_l */
2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2,
3, 3, 3, 3, 3, 3, 3, 3, 3,
4, 4, 4, 5, 5, 5, 5, 5, 6,
6, 6, 8, 8, 8, 10, 10, 10, 12,
12, 13, 14, 14, 16, 20, 20, 23, 27,
27, 32, 37, 37, 12, 0, 0, 0, 0
},
{ /* minval */
24.5, 24.5, 24.5, 20.0, 20.0, 20.0, 20.0, 20.0, 18.0,
18.0, 12.0, 12.0, 6.0, 6.0, 6.0, 3.0, 3.0, 3.0,
3.0, 3.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0
},
{ /* qthr_l */
4.532, 4.532, 1.809, 0.181, 0.181, 0.057, 0.018, 0.018, 0.018,
0.018, 0.018, 0.018, 0.018, 0.018, 0.018, 0.018, 0.018, 0.018,
0.027, 0.027, 0.027, 0.027, 0.027, 0.027, 0.027, 0.027, 0.027,
0.036, 0.036, 0.036, 0.045, 0.045, 0.045, 0.045, 0.045, 0.054,
0.054, 0.054, 0.072, 0.072, 0.072, 0.090, 0.090, 0.090, 0.109,
0.109, 0.118, 0.252, 0.252, 0.288, 0.572, 0.572, 0.658, 2.441,
2.441, 2.893, 33.458, 33.458, 10.851, 0.000, 0.000, 0.000, 0.000
},
#if !CALC_NORM /* do we compute more exact values? */
{ /* norm_l */
0.997, 0.893, 0.881, 0.873, 0.872, 0.871, 0.860, 0.839, 0.812,
0.784, 0.741, 0.697, 0.674, 0.651, 0.633, 0.611, 0.589, 0.575,
0.654, 0.724, 0.701, 0.673, 0.631, 0.592, 0.553, 0.510, 0.506,
0.562, 0.598, 0.589, 0.607, 0.620, 0.580, 0.532, 0.517, 0.517,
0.509, 0.506, 0.522, 0.531, 0.519, 0.512, 0.509, 0.498, 0.494,
0.501, 0.508, 0.502, 0.493, 0.497, 0.506, 0.510, 0.504, 0.496,
0.493, 0.490, 0.482, 0.458, 0.500, 0.000, 0.000, 0.000, 0.000
},
#endif
{ /* bval_l */
0.313, 0.938, 1.563, 2.188, 2.813, 3.438, 4.045, 4.625, 5.173,
5.698, 6.185, 6.634, 7.070, 7.492, 7.905, 8.305, 8.695, 9.064,
9.484, 9.966, 10.426, 10.866, 11.279, 11.669, 12.042, 12.386, 12.721,
13.091, 13.488, 13.873, 14.268, 14.679, 15.067, 15.424, 15.771, 16.120,
16.466, 16.807, 17.158, 17.518, 17.869, 18.215, 18.563, 18.902, 19.239,
19.580, 19.925, 20.269, 20.606, 20.944, 21.288, 21.635, 21.980, 22.319,
22.656, 22.993, 23.326, 23.656, 23.937, 0.000, 0.000, 0.000, 0.000
}
},
{ /* psy_shortBlock_32000_41 */
42, /* cbmax_s */
{ /* numlines_s */
1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 2, 2,
2, 2, 2, 2, 2, 2, 3,
3, 3, 3, 3, 4, 4, 4,
5, 5, 6, 7, 7, 8, 10
},
{ /* qthr_s */
4.532, 0.904, 0.090, 0.029, 0.009, 0.009, 0.009,
0.009, 0.009, 0.009, 0.009, 0.009, 0.009, 0.009,
0.009, 0.009, 0.009, 0.009, 0.009, 0.018, 0.018,
0.018, 0.018, 0.018, 0.018, 0.018, 0.018, 0.027,
0.027, 0.027, 0.027, 0.027, 0.072, 0.072, 0.072,
0.143, 0.143, 0.172, 0.633, 0.633, 0.723, 9.043
},
#if !CALC_NORM /* do we compute more exact values? */
{ /* norm_s */
1.000, 0.985, 0.983, 0.983, 0.981, 0.975, 0.959,
0.944, 0.933, 0.920, 0.892, 0.863, 0.839, 0.786,
0.755, 0.698, 0.673, 0.605, 0.629, 0.883, 0.858,
0.829, 0.767, 0.705, 0.637, 0.564, 0.550, 0.603,
0.635, 0.592, 0.533, 0.518, 0.568, 0.594, 0.568,
0.536, 0.522, 0.542, 0.539, 0.519, 0.514, 0.518
},
#endif
{ /* SNR_s */
-8.240, -8.240, -8.240, -8.240, -8.240, -8.240, -8.240,
-8.240, -8.240, -8.240, -7.447, -7.447, -7.447, -7.447,
-7.447, -7.447, -7.447, -7.447, -7.447, -7.447, -6.990,
-6.990, -6.990, -6.990, -6.990, -6.990, -6.990, -6.990,
-6.990, -6.990, -6.020, -6.020, -6.020, -6.020, -5.229,
-5.229, -5.229, -5.229, -4.559, -4.559, -3.980, -3.980
},
{ /* bval_s */
0.000, 1.250, 2.500, 3.750, 4.909, 5.958, 6.857,
7.700, 8.500, 9.237, 9.895, 10.500, 11.083, 11.604,
12.107, 12.554, 13.000, 13.391, 13.781, 14.474, 15.096,
15.667, 16.177, 16.636, 17.057, 17.429, 17.786, 18.177,
18.597, 18.994, 19.352, 19.693, 20.066, 20.462, 20.841,
21.201, 21.549, 21.911, 22.275, 22.625, 22.971, 23.321
}
},
{ /* psy_data3_32000_20 */
{ /* cbw_l */
1, 2, 2, 1, 2, 2, 3,
2, 3, 3, 4, 4, 4, 3,
4, 3, 4, 3, 3, 2, 2
},
{ /* bu_l */
0, 2, 4, 6, 7, 9, 11,
14, 16, 19, 22, 26, 30, 34,
37, 41, 44, 48, 51, 54, 56
},
{ /* bo_l */
2, 4, 6, 7, 9, 11, 14,
16, 19, 22, 26, 30, 34, 37,
41, 44, 48, 51, 54, 56, 58
},
{ /* w1_l */
1.000, 0.472, 0.694, 0.917, 0.139, 0.361, 0.583,
0.917, 0.250, 0.130, 0.167, 0.611, 0.522, 0.967,
0.083, 0.383, 0.005, 0.726, 0.519, 0.739, 0.116
},
{ /* w2_l */
0.528, 0.305, 0.083, 0.861, 0.639, 0.417, 0.083,
0.750, 0.870, 0.833, 0.389, 0.478, 0.033, 0.917,
0.617, 0.995, 0.274, 0.480, 0.261, 0.884, 1.000
}
},
{ /* psy_data4_32000_11 */
{ /* cbw_s */
2, 2, 3, 3, 4, 5,
4, 5, 4, 4, 3, 1
},
{ /* bu_s */
0, 3, 5, 8, 11, 15,
20, 24, 29, 33, 37, 40
},
{ /* bo_s */
2, 5, 8, 11, 15, 20,
24, 29, 33, 37, 40, 41
},
{ /* w1_s */
1.000, 0.833, 0.167, 0.500, 0.833, 0.833,
0.750, 0.750, 0.944, 0.625, 0.528, 0.062
},
{ /* w2_s */
0.167, 0.833, 0.500, 0.167, 0.167, 0.250,
0.250, 0.055, 0.375, 0.472, 0.937, 1.000
}
}
}
};
#else /* NEW_L3PARM_TABLES */
psyDataElem psy_longBlock_48000_61[62] =
{
{ 1 ,24.5 , 4.532 ,0.970 , 0.000 },
{ 1 ,24.5 , 4.532 ,0.755 , 0.469 },
{ 1 ,24.5 , 4.532 ,0.738 , 0.938 },
{ 1 ,24.5 , 0.904 ,0.730 , 1.406 },
{ 1 ,24.5 , 0.904 ,0.724 , 1.875 },
{ 1 ,20.0 , 0.090 ,0.723 , 2.344 },
{ 1 ,20.0 , 0.090 ,0.723 , 2.813 },
{ 1 ,20.0 , 0.029 ,0.723 , 3.281 },
{ 1 ,20.0 , 0.029 ,0.718 , 3.750 },
{ 1 ,20.0 , 0.009 ,0.690 , 4.199 },
{ 1 ,20.0 , 0.009 ,0.660 , 4.625 },
{ 1 ,18.0 , 0.009 ,0.641 , 5.047 },
{ 1 ,18.0 , 0.009 ,0.600 , 5.438 },
{ 1 ,18.0 , 0.009 ,0.584 , 5.828 },
{ 1 ,12.0 , 0.009 ,0.532 , 6.188 },
{ 1 ,12.0 , 0.009 ,0.537 , 6.522 },
{ 2 , 6.0 , 0.018 ,0.857 , 7.174 },
{ 2 , 6.0 , 0.018 ,0.858 , 7.801 },
{ 2 , 3.0 , 0.018 ,0.853 , 8.402 },
{ 2 , 3.0 , 0.018 ,0.824 , 8.966 },
{ 2 , 3.0 , 0.018 ,0.778 , 9.484 },
{ 2 , 3.0 , 0.018 ,0.740 , 9.966 },
{ 2 , 0.0 , 0.018 ,0.709 , 10.426 },
{ 2 , 0.0 , 0.018 ,0.676 , 10.866 },
{ 2 , 0.0 , 0.018 ,0.632 , 11.279 },
{ 2 , 0.0 , 0.018 ,0.592 , 11.669 },
{ 2 , 0.0 , 0.018 ,0.553 , 12.042 },
{ 2 , 0.0 , 0.018 ,0.510 , 12.386 },
{ 2 , 0.0 , 0.018 ,0.513 , 12.721 },
{ 3 , 0.0 , 0.027 ,0.608 , 13.115 },
{ 3 , 0.0 , 0.027 ,0.673 , 13.562 },
{ 3 , 0.0 , 0.027 ,0.637 , 13.984 },
{ 3 , 0.0 , 0.027 ,0.586 , 14.371 },
{ 3 , 0.0 , 0.027 ,0.571 , 14.741 },
{ 4 , 0.0 , 0.036 ,0.616 , 15.140 },
{ 4 , 0.0 , 0.036 ,0.640 , 15.563 },
{ 4 , 0.0 , 0.036 ,0.598 , 15.962 },
{ 4 , 0.0 , 0.036 ,0.538 , 16.324 },
{ 4 , 0.0 , 0.036 ,0.512 , 16.665 },
{ 5 , 0.0 , 0.045 ,0.528 , 17.020 },
{ 5 , 0.0 , 0.045 ,0.517 , 17.373 },
{ 5 , 0.0 , 0.045 ,0.493 , 17.708 },
{ 6 , 0.0 , 0.054 ,0.499 , 18.045 },
{ 7 , 0.0 , 0.063 ,0.525 , 18.398 },
{ 7 , 0.0 , 0.063 ,0.541 , 18.762 },
{ 8 , 0.0 , 0.072 ,0.528 , 19.120 },
{ 8 , 0.0 , 0.072 ,0.510 , 19.466 },
{ 8 , 0.0 , 0.072 ,0.506 , 19.807 },
{10 , 0.0 , 0.180 ,0.525 , 20.159 },
{10 , 0.0 , 0.180 ,0.536 , 20.522 },
{10 , 0.0 , 0.180 ,0.518 , 20.874 },
{13 , 0.0 , 0.372 ,0.501 , 21.214 },
{13 , 0.0 , 0.372 ,0.497 , 21.553 },
{14 , 0.0 , 0.400 ,0.497 , 21.892 },
{18 , 0.0 , 1.627 ,0.495 , 22.231 },
{18 , 0.0 , 1.627 ,0.494 , 22.569 },
{20 , 0.0 , 1.808 ,0.497 , 22.909 },
{25 , 0.0 , 22.607 ,0.494 , 23.248 },
{25 , 0.0 , 22.607 ,0.487 , 23.583 },
{35 , 0.0 , 31.650 ,0.483 , 23.915 },
{67 , 0.0 , 605.867 ,0.482 , 24.246 },
{67 , 0.0 , 605.867 ,0.524 , 24.576 }
};
psyDataElem psy_longBlock_44100_62[63] =
{
{ 1 ,24.5 , 4.532 ,0.951 , 0.000 },
{ 1 ,24.5 , 4.532 ,0.700 , 0.431 },
{ 1 ,24.5 , 4.532 ,0.681 , 0.861 },
{ 1 ,24.5 , 0.904 ,0.675 , 1.292 },
{ 1 ,24.5 , 0.904 ,0.667 , 1.723 },
{ 1 ,20.0 , 0.090 ,0.665 , 2.153 },
{ 1 ,20.0 , 0.090 ,0.664 , 2.584 },
{ 1 ,20.0 , 0.029 ,0.664 , 3.015 },
{ 1 ,20.0 , 0.029 ,0.664 , 3.445 },
{ 1 ,20.0 , 0.029 ,0.655 , 3.876 },
{ 1 ,20.0 , 0.009 ,0.616 , 4.279 },
{ 1 ,20.0 , 0.009 ,0.597 , 4.670 },
{ 1 ,18.0 , 0.009 ,0.578 , 5.057 },
{ 1 ,18.0 , 0.009 ,0.541 , 5.416 },
{ 1 ,18.0 , 0.009 ,0.575 , 5.774 },
{ 2 ,12.0 , 0.018 ,0.856 , 6.422 },
{ 2 , 6.0 , 0.018 ,0.846 , 7.026 },
{ 2 , 6.0 , 0.018 ,0.840 , 7.609 },
{ 2 , 3.0 , 0.018 ,0.822 , 8.168 },
{ 2 , 3.0 , 0.018 ,0.800 , 8.710 },
{ 2 , 3.0 , 0.018 ,0.753 , 9.207 },
{ 2 , 3.0 , 0.018 ,0.704 , 9.662 },
{ 2 , 0.0 , 0.018 ,0.674 , 10.099 },
{ 2 , 0.0 , 0.018 ,0.640 , 10.515 },
{ 2 , 0.0 , 0.018 ,0.609 , 10.917 },
{ 2 , 0.0 , 0.018 ,0.566 , 11.293 },
{ 2 , 0.0 , 0.018 ,0.535 , 11.652 },
{ 2 , 0.0 , 0.018 ,0.531 , 11.997 },
{ 3 , 0.0 , 0.027 ,0.615 , 12.394 },
{ 3 , 0.0 , 0.027 ,0.686 , 12.850 },
{ 3 , 0.0 , 0.027 ,0.650 , 13.277 },
{ 3 , 0.0 , 0.027 ,0.612 , 13.681 },
{ 3 , 0.0 , 0.027 ,0.567 , 14.062 },
{ 3 , 0.0 , 0.027 ,0.520 , 14.411 },
{ 3 , 0.0 , 0.027 ,0.513 , 14.751 },
{ 4 , 0.0 , 0.036 ,0.557 , 15.119 },
{ 4 , 0.0 , 0.036 ,0.584 , 15.508 },
{ 4 , 0.0 , 0.036 ,0.570 , 15.883 },
{ 5 , 0.0 , 0.045 ,0.579 , 16.263 },
{ 5 , 0.0 , 0.045 ,0.585 , 16.654 },
{ 5 , 0.0 , 0.045 ,0.548 , 17.020 },
{ 6 , 0.0 , 0.054 ,0.536 , 17.374 },
{ 6 , 0.0 , 0.054 ,0.550 , 17.744 },
{ 7 , 0.0 , 0.063 ,0.532 , 18.104 },
{ 7 , 0.0 , 0.063 ,0.504 , 18.447 },
{ 7 , 0.0 , 0.063 ,0.496 , 18.782 },
{ 9 , 0.0 , 0.081 ,0.517 , 19.130 },
{ 9 , 0.0 , 0.081 ,0.527 , 19.487 },
{ 9 , 0.0 , 0.081 ,0.516 , 19.838 },
{10 , 0.0 , 0.180 ,0.497 , 20.179 },
{10 , 0.0 , 0.180 ,0.489 , 20.510 },
{11 , 0.0 , 0.198 ,0.502 , 20.852 },
{14 , 0.0 , 0.400 ,0.501 , 21.196 },
{14 , 0.0 , 0.400 ,0.491 , 21.531 },
{15 , 0.0 , 0.429 ,0.497 , 21.870 },
{20 , 0.0 , 1.808 ,0.504 , 22.214 },
{20 , 0.0 , 1.808 ,0.504 , 22.558 },
{21 , 0.0 , 1.898 ,0.495 , 22.898 },
{27 , 0.0 , 24.416 ,0.486 , 23.232 },
{27 , 0.0 , 24.416 ,0.484 , 23.564 },
{36 , 0.0 , 32.554 ,0.483 , 23.897 },
{73 , 0.0 , 660.124 ,0.475 , 24.229 },
{18 , 0.0 , 162.770 ,0.515 , 24.442 }
};
psyDataElem psy_longBlock_32000_58[59] =
{
{ 2 ,24.5 , 4.532 ,0.997 , 0.313 },
{ 2 ,24.5 , 4.532 ,0.893 , 0.938 },
{ 2 ,24.5 , 1.809 ,0.881 , 1.563 },
{ 2 ,20.0 , 0.181 ,0.873 , 2.188 },
{ 2 ,20.0 , 0.181 ,0.872 , 2.813 },
{ 2 ,20.0 , 0.057 ,0.871 , 3.438 },
{ 2 ,20.0 , 0.018 ,0.860 , 4.045 },
{ 2 ,20.0 , 0.018 ,0.839 , 4.625 },
{ 2 ,18.0 , 0.018 ,0.812 , 5.173 },
{ 2 ,18.0 , 0.018 ,0.784 , 5.698 },
{ 2 ,12.0 , 0.018 ,0.741 , 6.185 },
{ 2 ,12.0 , 0.018 ,0.697 , 6.634 },
{ 2 , 6.0 , 0.018 ,0.674 , 7.070 },
{ 2 , 6.0 , 0.018 ,0.651 , 7.492 },
{ 2 , 6.0 , 0.018 ,0.633 , 7.905 },
{ 2 , 3.0 , 0.018 ,0.611 , 8.305 },
{ 2 , 3.0 , 0.018 ,0.589 , 8.695 },
{ 2 , 3.0 , 0.018 ,0.575 , 9.064 },
{ 3 , 3.0 , 0.027 ,0.654 , 9.484 },
{ 3 , 3.0 , 0.027 ,0.724 , 9.966 },
{ 3 , 0.0 , 0.027 ,0.701 , 10.426 },
{ 3 , 0.0 , 0.027 ,0.673 , 10.866 },
{ 3 , 0.0 , 0.027 ,0.631 , 11.279 },
{ 3 , 0.0 , 0.027 ,0.592 , 11.669 },
{ 3 , 0.0 , 0.027 ,0.553 , 12.042 },
{ 3 , 0.0 , 0.027 ,0.510 , 12.386 },
{ 3 , 0.0 , 0.027 ,0.506 , 12.721 },
{ 4 , 0.0 , 0.036 ,0.562 , 13.091 },
{ 4 , 0.0 , 0.036 ,0.598 , 13.488 },
{ 4 , 0.0 , 0.036 ,0.589 , 13.873 },
{ 5 , 0.0 , 0.045 ,0.607 , 14.268 },
{ 5 , 0.0 , 0.045 ,0.620 , 14.679 },
{ 5 , 0.0 , 0.045 ,0.580 , 15.067 },
{ 5 , 0.0 , 0.045 ,0.532 , 15.424 },
{ 5 , 0.0 , 0.045 ,0.517 , 15.771 },
{ 6 , 0.0 , 0.054 ,0.517 , 16.120 },
{ 6 , 0.0 , 0.054 ,0.509 , 16.466 },
{ 6 , 0.0 , 0.054 ,0.506 , 16.807 },
{ 8 , 0.0 , 0.072 ,0.522 , 17.158 },
{ 8 , 0.0 , 0.072 ,0.531 , 17.518 },
{ 8 , 0.0 , 0.072 ,0.519 , 17.869 },
{10 , 0.0 , 0.090 ,0.512 , 18.215 },
{10 , 0.0 , 0.090 ,0.509 , 18.563 },
{10 , 0.0 , 0.090 ,0.498 , 18.902 },
{12 , 0.0 , 0.109 ,0.494 , 19.239 },
{12 , 0.0 , 0.109 ,0.501 , 19.580 },
{13 , 0.0 , 0.118 ,0.508 , 19.925 },
{14 , 0.0 , 0.252 ,0.502 , 20.269 },
{14 , 0.0 , 0.252 ,0.493 , 20.606 },
{16 , 0.0 , 0.288 ,0.497 , 20.944 },
{20 , 0.0 , 0.572 ,0.506 , 21.288 },
{20 , 0.0 , 0.572 ,0.510 , 21.635 },
{23 , 0.0 , 0.658 ,0.504 , 21.980 },
{27 , 0.0 , 2.441 ,0.496 , 22.319 },
{27 , 0.0 , 2.441 ,0.493 , 22.656 },
{32 , 0.0 , 2.893 ,0.490 , 22.993 },
{37 , 0.0 , 33.458 ,0.482 , 23.326 },
{37 , 0.0 , 33.458 ,0.458 , 23.656 },
{12 , 0.0 , 10.851 ,0.500 , 23.937 }
};
psyDataElem2 psy_shortBlock_48000_37[38] =
{
{ 1 , 4.532 ,1.000 ,-8.240 , 0.000 },
{ 1 , 0.904 ,0.989 ,-8.240 , 1.875 },
{ 1 , 0.029 ,0.989 ,-8.240 , 3.750 },
{ 1 , 0.009 ,0.981 ,-8.240 , 5.438 },
{ 1 , 0.009 ,0.985 ,-8.240 , 6.857 },
{ 1 , 0.009 ,0.984 ,-8.240 , 8.109 },
{ 1 , 0.009 ,0.980 ,-8.240 , 9.237 },
{ 1 , 0.009 ,0.968 ,-8.240 , 10.202 },
{ 1 , 0.009 ,0.954 ,-8.240 , 11.083 },
{ 1 , 0.009 ,0.929 ,-8.240 , 11.865 },
{ 1 , 0.009 ,0.906 ,-7.447 , 12.554 },
{ 1 , 0.009 ,0.883 ,-7.447 , 13.195 },
{ 1 , 0.009 ,0.844 ,-7.447 , 13.781 },
{ 1 , 0.009 ,0.792 ,-7.447 , 14.309 },
{ 1 , 0.009 ,0.747 ,-7.447 , 14.803 },
{ 1 , 0.009 ,0.689 ,-7.447 , 15.250 },
{ 1 , 0.009 ,0.644 ,-7.447 , 15.667 },
{ 1 , 0.009 ,0.592 ,-7.447 , 16.068 },
{ 1 , 0.009 ,0.553 ,-7.447 , 16.409 },
{ 2 , 0.018 ,0.850 ,-7.447 , 17.045 },
{ 2 , 0.018 ,0.811 ,-6.990 , 17.607 },
{ 2 , 0.018 ,0.736 ,-6.990 , 18.097 },
{ 2 , 0.018 ,0.665 ,-6.990 , 18.528 },
{ 2 , 0.018 ,0.610 ,-6.990 , 18.931 },
{ 2 , 0.018 ,0.544 ,-6.990 , 19.295 },
{ 2 , 0.018 ,0.528 ,-6.990 , 19.636 },
{ 3 , 0.054 ,0.621 ,-6.990 , 20.038 },
{ 3 , 0.054 ,0.673 ,-6.990 , 20.486 },
{ 3 , 0.054 ,0.635 ,-6.990 , 20.900 },
{ 4 , 0.114 ,0.626 ,-6.990 , 21.306 },
{ 4 , 0.114 ,0.636 ,-6.020 , 21.722 },
{ 5 , 0.452 ,0.615 ,-6.020 , 22.128 },
{ 5 , 0.452 ,0.579 ,-6.020 , 22.513 },
{ 5 , 0.452 ,0.551 ,-6.020 , 22.877 },
{ 7 , 6.330 ,0.552 ,-5.229 , 23.241 },
{ 7 , 6.330 ,0.559 ,-5.229 , 23.616 },
{11 , 9.947 ,0.528 ,-5.229 , 23.974 },
{17 , 153.727 ,0.479 ,-5.229 , 24.313 }
};
psyDataElem2 psy_shortBlock_44100_38[39] =
{
{ 1 , 4.532 ,1.000 ,-8.240 , 0.000 },
{ 1 , 0.904 ,0.983 ,-8.240 , 1.723 },
{ 1 , 0.029 ,0.983 ,-8.240 , 3.445 },
{ 1 , 0.009 ,0.982 ,-8.240 , 5.057 },
{ 1 , 0.009 ,0.985 ,-8.240 , 6.422 },
{ 1 , 0.009 ,0.983 ,-8.240 , 7.609 },
{ 1 , 0.009 ,0.978 ,-8.240 , 8.710 },
{ 1 , 0.009 ,0.967 ,-8.240 , 9.662 },
{ 1 , 0.009 ,0.948 ,-8.240 , 10.515 },
{ 1 , 0.009 ,0.930 ,-8.240 , 11.293 },
{ 1 , 0.009 ,0.914 ,-7.447 , 12.009 },
{ 1 , 0.009 ,0.870 ,-7.447 , 12.625 },
{ 1 , 0.009 ,0.845 ,-7.447 , 13.210 },
{ 1 , 0.009 ,0.800 ,-7.447 , 13.748 },
{ 1 , 0.009 ,0.749 ,-7.447 , 14.241 },
{ 1 , 0.009 ,0.701 ,-7.447 , 14.695 },
{ 1 , 0.009 ,0.653 ,-7.447 , 15.125 },
{ 1 , 0.009 ,0.590 ,-7.447 , 15.508 },
{ 1 , 0.009 ,0.616 ,-7.447 , 15.891 },
{ 2 , 0.018 ,0.860 ,-7.447 , 16.537 },
{ 2 , 0.018 ,0.823 ,-6.990 , 17.112 },
{ 2 , 0.018 ,0.762 ,-6.990 , 17.621 },
{ 2 , 0.018 ,0.688 ,-6.990 , 18.073 },
{ 2 , 0.018 ,0.612 ,-6.990 , 18.470 },
{ 2 , 0.018 ,0.594 ,-6.990 , 18.849 },
{ 3 , 0.027 ,0.658 ,-6.990 , 19.271 },
{ 3 , 0.027 ,0.706 ,-6.990 , 19.741 },
{ 3 , 0.054 ,0.660 ,-6.990 , 20.177 },
{ 3 , 0.054 ,0.606 ,-6.990 , 20.576 },
{ 3 , 0.054 ,0.565 ,-6.990 , 20.950 },
{ 4 , 0.114 ,0.560 ,-6.020 , 21.316 },
{ 4 , 0.114 ,0.579 ,-6.020 , 21.699 },
{ 5 , 0.452 ,0.567 ,-6.020 , 22.078 },
{ 5 , 0.452 ,0.534 ,-6.020 , 22.438 },
{ 5 , 0.452 ,0.514 ,-5.229 , 22.782 },
{ 7 , 6.330 ,0.520 ,-5.229 , 23.133 },
{ 7 , 6.330 ,0.518 ,-5.229 , 23.484 },
{ 7 , 6.330 ,0.507 ,-5.229 , 23.828 },
{19 , 171.813 ,0.447 ,-4.559 , 24.173 }
};
psyDataElem2 psy_shortBlock_32000_41[42] =
{
{ 1 , 4.532 ,1.000 ,-8.240 , 0.000 },
{ 1 , 0.904 ,0.985 ,-8.240 , 1.250 },
{ 1 , 0.090 ,0.983 ,-8.240 , 2.500 },
{ 1 , 0.029 ,0.983 ,-8.240 , 3.750 },
{ 1 , 0.009 ,0.981 ,-8.240 , 4.909 },
{ 1 , 0.009 ,0.975 ,-8.240 , 5.958 },
{ 1 , 0.009 ,0.959 ,-8.240 , 6.857 },
{ 1 , 0.009 ,0.944 ,-8.240 , 7.700 },
{ 1 , 0.009 ,0.933 ,-8.240 , 8.500 },
{ 1 , 0.009 ,0.920 ,-8.240 , 9.237 },
{ 1 , 0.009 ,0.892 ,-7.447 , 9.895 },
{ 1 , 0.009 ,0.863 ,-7.447 , 10.500 },
{ 1 , 0.009 ,0.839 ,-7.447 , 11.083 },
{ 1 , 0.009 ,0.786 ,-7.447 , 11.604 },
{ 1 , 0.009 ,0.755 ,-7.447 , 12.107 },
{ 1 , 0.009 ,0.698 ,-7.447 , 12.554 },
{ 1 , 0.009 ,0.673 ,-7.447 , 13.000 },
{ 1 , 0.009 ,0.605 ,-7.447 , 13.391 },
{ 1 , 0.009 ,0.629 ,-7.447 , 13.781 },
{ 2 , 0.018 ,0.883 ,-7.447 , 14.474 },
{ 2 , 0.018 ,0.858 ,-6.990 , 15.096 },
{ 2 , 0.018 ,0.829 ,-6.990 , 15.667 },
{ 2 , 0.018 ,0.767 ,-6.990 , 16.177 },
{ 2 , 0.018 ,0.705 ,-6.990 , 16.636 },
{ 2 , 0.018 ,0.637 ,-6.990 , 17.057 },
{ 2 , 0.018 ,0.564 ,-6.990 , 17.429 },
{ 2 , 0.018 ,0.550 ,-6.990 , 17.786 },
{ 3 , 0.027 ,0.603 ,-6.990 , 18.177 },
{ 3 , 0.027 ,0.635 ,-6.990 , 18.597 },
{ 3 , 0.027 ,0.592 ,-6.990 , 18.994 },
{ 3 , 0.027 ,0.533 ,-6.020 , 19.352 },
{ 3 , 0.027 ,0.518 ,-6.020 , 19.693 },
{ 4 , 0.072 ,0.568 ,-6.020 , 20.066 },
{ 4 , 0.072 ,0.594 ,-6.020 , 20.462 },
{ 4 , 0.072 ,0.568 ,-5.229 , 20.841 },
{ 5 , 0.143 ,0.536 ,-5.229 , 21.201 },
{ 5 , 0.143 ,0.522 ,-5.229 , 21.549 },
{ 6 , 0.172 ,0.542 ,-5.229 , 21.911 },
{ 7 , 0.633 ,0.539 ,-4.559 , 22.275 },
{ 7 , 0.633 ,0.519 ,-4.559 , 22.625 },
{ 8 , 0.723 ,0.514 ,-3.980 , 22.971 },
{10 , 9.043 ,0.518 ,-3.980 , 23.321 }
};
psyDataElem3 psy_data3_48000_20[21] =
{
{ 3 , 0 , 4 ,1.000 ,0.056 },
{ 3 , 4 , 7 ,0.944 ,0.611 },
{ 4 , 7 ,11 ,0.389 ,0.167 },
{ 3 ,11 ,14 ,0.833 ,0.722 },
{ 3 ,14 ,17 ,0.278 ,0.639 },
{ 2 ,17 ,19 ,0.361 ,0.417 },
{ 3 ,19 ,22 ,0.583 ,0.083 },
{ 2 ,22 ,24 ,0.917 ,0.750 },
{ 3 ,24 ,27 ,0.250 ,0.417 },
{ 3 ,27 ,30 ,0.583 ,0.648 },
{ 3 ,30 ,33 ,0.352 ,0.611 },
{ 3 ,33 ,36 ,0.389 ,0.625 },
{ 4 ,36 ,40 ,0.375 ,0.144 },
{ 3 ,40 ,43 ,0.856 ,0.389 },
{ 3 ,43 ,46 ,0.611 ,0.160 },
{ 3 ,46 ,49 ,0.840 ,0.217 },
{ 3 ,49 ,52 ,0.783 ,0.184 },
{ 2 ,52 ,54 ,0.816 ,0.886 },
{ 3 ,54 ,57 ,0.114 ,0.313 },
{ 2 ,57 ,59 ,0.687 ,0.452 },
{ 1 ,59 ,60 ,0.548 ,0.908 }
};
psyDataElem3 psy_data3_44100_20[21] =
{
{ 3 , 0 , 4 ,1.000 ,0.056 },
{ 3 , 4 , 7 ,0.944 ,0.611 },
{ 4 , 7 ,11 ,0.389 ,0.167 },
{ 3 ,11 ,14 ,0.833 ,0.722 },
{ 3 ,14 ,17 ,0.278 ,0.139 },
{ 1 ,17 ,18 ,0.861 ,0.917 },
{ 3 ,18 ,21 ,0.083 ,0.583 },
{ 3 ,21 ,24 ,0.417 ,0.250 },
{ 3 ,24 ,27 ,0.750 ,0.805 },
{ 3 ,27 ,30 ,0.194 ,0.574 },
{ 3 ,30 ,33 ,0.426 ,0.537 },
{ 3 ,33 ,36 ,0.463 ,0.819 },
{ 4 ,36 ,40 ,0.180 ,0.100 },
{ 3 ,40 ,43 ,0.900 ,0.468 },
{ 3 ,43 ,46 ,0.532 ,0.623 },
{ 3 ,46 ,49 ,0.376 ,0.450 },
{ 3 ,49 ,52 ,0.550 ,0.552 },
{ 3 ,52 ,55 ,0.448 ,0.403 },
{ 2 ,55 ,57 ,0.597 ,0.643 },
{ 2 ,57 ,59 ,0.357 ,0.722 },
{ 2 ,59 ,61 ,0.278 ,0.960 }
};
psyDataElem3 psy_data3_32000_20[21] =
{
{ 1 , 0 , 2 ,1.000 ,0.528 },
{ 2 , 2 , 4 ,0.472 ,0.305 },
{ 2 , 4 , 6 ,0.694 ,0.083 },
{ 1 , 6 , 7 ,0.917 ,0.861 },
{ 2 , 7 , 9 ,0.139 ,0.639 },
{ 2 , 9 ,11 ,0.361 ,0.417 },
{ 3 ,11 ,14 ,0.583 ,0.083 },
{ 2 ,14 ,16 ,0.917 ,0.750 },
{ 3 ,16 ,19 ,0.250 ,0.870 },
{ 3 ,19 ,22 ,0.130 ,0.833 },
{ 4 ,22 ,26 ,0.167 ,0.389 },
{ 4 ,26 ,30 ,0.611 ,0.478 },
{ 4 ,30 ,34 ,0.522 ,0.033 },
{ 3 ,34 ,37 ,0.967 ,0.917 },
{ 4 ,37 ,41 ,0.083 ,0.617 },
{ 3 ,41 ,44 ,0.383 ,0.995 },
{ 4 ,44 ,48 ,0.005 ,0.274 },
{ 3 ,48 ,51 ,0.726 ,0.480 },
{ 3 ,51 ,54 ,0.519 ,0.261 },
{ 2 ,54 ,56 ,0.739 ,0.884 },
{ 2 ,56 ,58 ,0.116 ,1.000 }
};
psyDataElem3 psy_data4_48000_11[12] =
{
{ 2 , 0 , 2 ,1.000 ,0.167 },
{ 2 , 3 , 5 ,0.833 ,0.833 },
{ 3 , 5 , 8 ,0.167 ,0.500 },
{ 3 , 8 ,11 ,0.500 ,0.167 },
{ 4 ,11 ,15 ,0.833 ,0.167 },
{ 4 ,15 ,19 ,0.833 ,0.583 },
{ 3 ,19 ,22 ,0.417 ,0.917 },
{ 4 ,22 ,26 ,0.083 ,0.944 },
{ 4 ,26 ,30 ,0.055 ,0.042 },
{ 2 ,30 ,32 ,0.958 ,0.567 },
{ 3 ,32 ,35 ,0.433 ,0.167 },
{ 2 ,35 ,37 ,0.833 ,0.618 }
};
psyDataElem3 psy_data4_44100_11[12] =
{
{ 2 , 0 , 2 ,1.000 ,0.167 },
{ 2 , 3 , 5 ,0.833 ,0.833 },
{ 3 , 5 , 8 ,0.167 ,0.500 },
{ 3 , 8 ,11 ,0.500 ,0.167 },
{ 4 ,11 ,15 ,0.833 ,0.167 },
{ 5 ,15 ,20 ,0.833 ,0.250 },
{ 3 ,20 ,23 ,0.750 ,0.583 },
{ 4 ,23 ,27 ,0.417 ,0.055 },
{ 3 ,27 ,30 ,0.944 ,0.375 },
{ 3 ,30 ,33 ,0.625 ,0.300 },
{ 3 ,33 ,36 ,0.700 ,0.167 },
{ 2 ,36 ,38 ,0.833 ,1.000 }
};
psyDataElem3 psy_data4_32000_11[12] =
{
{ 2 , 0 , 2 ,1.000 ,0.167 },
{ 2 , 3 , 5 ,0.833 ,0.833 },
{ 3 , 5 , 8 ,0.167 ,0.500 },
{ 3 , 8 ,11 ,0.500 ,0.167 },
{ 4 ,11 ,15 ,0.833 ,0.167 },
{ 5 ,15 ,20 ,0.833 ,0.250 },
{ 4 ,20 ,24 ,0.750 ,0.250 },
{ 5 ,24 ,29 ,0.750 ,0.055 },
{ 4 ,29 ,33 ,0.944 ,0.375 },
{ 4 ,33 ,37 ,0.625 ,0.472 },
{ 3 ,37 ,40 ,0.528 ,0.937 },
{ 1 ,40 ,41 ,0.062 ,1.000 }
};
#endif /* NEW_L3PARM_TABLES */
/*=============================================================================*/
#if 1 /* WIND_SB_CHANGE_LEVEL == 3 */
double enwindow[512] =
{
0.000000000, 0.000101566, 0.000971317, 0.003134727, 0.035780907, 0.003134727, 0.000971317, 0.000101566,
-0.000000477, 0.000103951, 0.000953674, 0.002841473, 0.035758972, 0.003401756, 0.000983715, 0.000099182,
-0.000000477, 0.000105858, 0.000930786, 0.002521515, 0.035694122, 0.003643036, 0.000991821, 0.000096321,
-0.000000477, 0.000107288, 0.000902653, 0.002174854, 0.035586357, 0.003858566, 0.000995159, 0.000093460,
-0.000000477, 0.000108242, 0.000868797, 0.001800537, 0.035435200, 0.004049301, 0.000994205, 0.000090599,
-0.000000477, 0.000108719, 0.000829220, 0.001399517, 0.035242081, 0.004215240, 0.000989437, 0.000087261,
-0.000000477, 0.000108719, 0.000783920, 0.000971317, 0.035007000, 0.004357815, 0.000980854, 0.000083923,
-0.000000954, 0.000108242, 0.000731945, 0.000515938, 0.034730434, 0.004477024, 0.000968933, 0.000080585,
-0.000000954, 0.000106812, 0.000674248, 0.000033379, 0.034412861, 0.004573822, 0.000954151, 0.000076771,
-0.000000954, 0.000105381, 0.000610352,-0.000475883, 0.034055710, 0.004649162, 0.000935555, 0.000073433,
-0.000000954, 0.000102520, 0.000539303,-0.001011848, 0.033659935, 0.004703045, 0.000915051, 0.000070095,
-0.000001431, 0.000099182, 0.000462532,-0.001573563, 0.033225536, 0.004737377, 0.000891685, 0.000066280,
-0.000001431, 0.000095367, 0.000378609,-0.002161503, 0.032754898, 0.004752159, 0.000866413, 0.000062943,
-0.000001907, 0.000090122, 0.000288486,-0.002774239, 0.032248020, 0.004748821, 0.000838757, 0.000059605,
-0.000001907, 0.000084400, 0.000191689,-0.003411293, 0.031706810, 0.004728317, 0.000809669, 0.000055790,
-0.000002384, 0.000077724, 0.000088215,-0.004072189, 0.031132698, 0.004691124, 0.000779152, 0.000052929,
-0.000002384, 0.000069618,-0.000021458,-0.004756451, 0.030526638, 0.004638195, 0.000747204, 0.000049591,
-0.000002861, 0.000060558,-0.000137329,-0.005462170, 0.029890060, 0.004570484, 0.000714302, 0.000046253,
-0.000003338, 0.000050545,-0.000259876,-0.006189346, 0.029224873, 0.004489899, 0.000680923, 0.000043392,
-0.000003338, 0.000039577,-0.000388145,-0.006937027, 0.028532982, 0.004395962, 0.000646591, 0.000040531,
-0.000003815, 0.000027180,-0.000522137,-0.007703304, 0.027815342, 0.004290581, 0.000611782, 0.000037670,
-0.000004292, 0.000013828,-0.000661850,-0.008487225, 0.027073860, 0.004174709, 0.000576973, 0.000034809,
-0.000004768,-0.000000954,-0.000806808,-0.009287834, 0.026310921, 0.004048824, 0.000542164, 0.000032425,
-0.000005245,-0.000017166,-0.000956535,-0.010103703, 0.025527000, 0.003914356, 0.000507355, 0.000030041,
-0.000006199,-0.000034332,-0.001111031,-0.010933399, 0.024725437, 0.003771782, 0.000472546, 0.000027657,
-0.000006676,-0.000052929,-0.001269817,-0.011775017, 0.023907185, 0.003622532, 0.000438213, 0.000025272,
-0.000007629,-0.000072956,-0.001432419,-0.012627602, 0.023074150, 0.003467083, 0.000404358, 0.000023365,
-0.000008106,-0.000093937,-0.001597881,-0.013489246, 0.022228718, 0.003306866, 0.000371456, 0.000021458,
-0.000009060,-0.000116348,-0.001766682,-0.014358521, 0.021372318, 0.003141880, 0.000339031, 0.000019550,
-0.000010014,-0.000140190,-0.001937389,-0.015233517, 0.020506859, 0.002974033, 0.000307560, 0.000018120,
-0.000011444,-0.000165462,-0.002110004,-0.016112804, 0.019634247, 0.002803326, 0.000277042, 0.000016689,
-0.000012398,-0.000191212,-0.002283096,-0.016994476, 0.018756866, 0.002630711, 0.000247478, 0.000014782,
-0.000013828,-0.000218868,-0.002457142,-0.017876148, 0.017876148, 0.002457142, 0.000218868, 0.000013828,
-0.000014782,-0.000247478,-0.002630711,-0.018756866, 0.016994476, 0.002283096, 0.000191212, 0.000012398,
-0.000016689,-0.000277042,-0.002803326,-0.019634247, 0.016112804, 0.002110004, 0.000165462, 0.000011444,
-0.000018120,-0.000307560,-0.002974033,-0.020506859, 0.015233517, 0.001937389, 0.000140190, 0.000010014,
-0.000019550,-0.000339031,-0.003141880,-0.021372318, 0.014358521, 0.001766682, 0.000116348, 0.000009060,
-0.000021458,-0.000371456,-0.003306866,-0.022228718, 0.013489246, 0.001597881, 0.000093937, 0.000008106,
-0.000023365,-0.000404358,-0.003467083,-0.023074150, 0.012627602, 0.001432419, 0.000072956, 0.000007629,
-0.000025272,-0.000438213,-0.003622532,-0.023907185, 0.011775017, 0.001269817, 0.000052929, 0.000006676,
-0.000027657,-0.000472546,-0.003771782,-0.024725437, 0.010933399, 0.001111031, 0.000034332, 0.000006199,
-0.000030041,-0.000507355,-0.003914356,-0.025527000, 0.010103703, 0.000956535, 0.000017166, 0.000005245,
-0.000032425,-0.000542164,-0.004048824,-0.026310921, 0.009287834, 0.000806808, 0.000000954, 0.000004768,
-0.000034809,-0.000576973,-0.004174709,-0.027073860, 0.008487225, 0.000661850,-0.000013828, 0.000004292,
-0.000037670,-0.000611782,-0.004290581,-0.027815342, 0.007703304, 0.000522137,-0.000027180, 0.000003815,
-0.000040531,-0.000646591,-0.004395962,-0.028532982, 0.006937027, 0.000388145,-0.000039577, 0.000003338,
-0.000043392,-0.000680923,-0.004489899,-0.029224873, 0.006189346, 0.000259876,-0.000050545, 0.000003338,
-0.000046253,-0.000714302,-0.004570484,-0.029890060, 0.005462170, 0.000137329,-0.000060558, 0.000002861,
-0.000049591,-0.000747204,-0.004638195,-0.030526638, 0.004756451, 0.000021458,-0.000069618, 0.000002384,
-0.000052929,-0.000779152,-0.004691124,-0.031132698, 0.004072189,-0.000088215,-0.000077724, 0.000002384,
-0.000055790,-0.000809669,-0.004728317,-0.031706810, 0.003411293,-0.000191689,-0.000084400, 0.000001907,
-0.000059605,-0.000838757,-0.004748821,-0.032248020, 0.002774239,-0.000288486,-0.000090122, 0.000001907,
-0.000062943,-0.000866413,-0.004752159,-0.032754898, 0.002161503,-0.000378609,-0.000095367, 0.000001431,
-0.000066280,-0.000891685,-0.004737377,-0.033225536, 0.001573563,-0.000462532,-0.000099182, 0.000001431,
-0.000070095,-0.000915051,-0.004703045,-0.033659935, 0.001011848,-0.000539303,-0.000102520, 0.000000954,
-0.000073433,-0.000935555,-0.004649162,-0.034055710, 0.000475883,-0.000610352,-0.000105381, 0.000000954,
-0.000076771,-0.000954151,-0.004573822,-0.034412861,-0.000033379,-0.000674248,-0.000106812, 0.000000954,
-0.000080585,-0.000968933,-0.004477024,-0.034730434,-0.000515938,-0.000731945,-0.000108242, 0.000000954,
-0.000083923,-0.000980854,-0.004357815,-0.035007000,-0.000971317,-0.000783920,-0.000108719, 0.000000477,
-0.000087261,-0.000989437,-0.004215240,-0.035242081,-0.001399517,-0.000829220,-0.000108719, 0.000000477,
-0.000090599,-0.000994205,-0.004049301,-0.035435200,-0.001800537,-0.000868797,-0.000108242, 0.000000477,
-0.000093460,-0.000995159,-0.003858566,-0.035586357,-0.002174854,-0.000902653,-0.000107288, 0.000000477,
-0.000096321,-0.000991821,-0.003643036,-0.035694122,-0.002521515,-0.000930786,-0.000105858, 0.000000477,
-0.000099182,-0.000983715,-0.003401756,-0.035758972,-0.002841473,-0.000953674,-0.000103951, 0.000000477
};
#else /* WIND_SB_CHANGE_LEVEL < 3 */
double enwindow[512] =
{
0.000000000,-0.000000477,-0.000000477,-0.000000477,-0.000000477,-0.000000477,-0.000000477,-0.000000954,
-0.000000954,-0.000000954,-0.000000954,-0.000001431,-0.000001431,-0.000001907,-0.000001907,-0.000002384,
-0.000002384,-0.000002861,-0.000003338,-0.000003338,-0.000003815,-0.000004292,-0.000004768,-0.000005245,
-0.000006199,-0.000006676,-0.000007629,-0.000008106,-0.000009060,-0.000010014,-0.000011444,-0.000012398,
-0.000013828,-0.000014782,-0.000016689,-0.000018120,-0.000019550,-0.000021458,-0.000023365,-0.000025272,
-0.000027657,-0.000030041,-0.000032425,-0.000034809,-0.000037670,-0.000040531,-0.000043392,-0.000046253,
-0.000049591,-0.000052929,-0.000055790,-0.000059605,-0.000062943,-0.000066280,-0.000070095,-0.000073433,
-0.000076771,-0.000080585,-0.000083923,-0.000087261,-0.000090599,-0.000093460,-0.000096321,-0.000099182,
0.000101566, 0.000103951, 0.000105858, 0.000107288, 0.000108242, 0.000108719, 0.000108719, 0.000108242,
0.000106812, 0.000105381, 0.000102520, 0.000099182, 0.000095367, 0.000090122, 0.000084400, 0.000077724,
0.000069618, 0.000060558, 0.000050545, 0.000039577, 0.000027180, 0.000013828,-0.000000954,-0.000017166,
-0.000034332,-0.000052929,-0.000072956,-0.000093937,-0.000116348,-0.000140190,-0.000165462,-0.000191212,
-0.000218868,-0.000247478,-0.000277042,-0.000307560,-0.000339031,-0.000371456,-0.000404358,-0.000438213,
-0.000472546,-0.000507355,-0.000542164,-0.000576973,-0.000611782,-0.000646591,-0.000680923,-0.000714302,
-0.000747204,-0.000779152,-0.000809669,-0.000838757,-0.000866413,-0.000891685,-0.000915051,-0.000935555,
-0.000954151,-0.000968933,-0.000980854,-0.000989437,-0.000994205,-0.000995159,-0.000991821,-0.000983715,
0.000971317, 0.000953674, 0.000930786, 0.000902653, 0.000868797, 0.000829220, 0.000783920, 0.000731945,
0.000674248, 0.000610352, 0.000539303, 0.000462532, 0.000378609, 0.000288486, 0.000191689, 0.000088215,
-0.000021458,-0.000137329,-0.000259876,-0.000388145,-0.000522137,-0.000661850,-0.000806808,-0.000956535,
-0.001111031,-0.001269817,-0.001432419,-0.001597881,-0.001766682,-0.001937389,-0.002110004,-0.002283096,
-0.002457142,-0.002630711,-0.002803326,-0.002974033,-0.003141880,-0.003306866,-0.003467083,-0.003622532,
-0.003771782,-0.003914356,-0.004048824,-0.004174709,-0.004290581,-0.004395962,-0.004489899,-0.004570484,
-0.004638195,-0.004691124,-0.004728317,-0.004748821,-0.004752159,-0.004737377,-0.004703045,-0.004649162,
-0.004573822,-0.004477024,-0.004357815,-0.004215240,-0.004049301,-0.003858566,-0.003643036,-0.003401756,
0.003134727, 0.002841473, 0.002521515, 0.002174854, 0.001800537, 0.001399517, 0.000971317, 0.000515938,
0.000033379,-0.000475883,-0.001011848,-0.001573563,-0.002161503,-0.002774239,-0.003411293,-0.004072189,
-0.004756451,-0.005462170,-0.006189346,-0.006937027,-0.007703304,-0.008487225,-0.009287834,-0.010103703,
-0.010933399,-0.011775017,-0.012627602,-0.013489246,-0.014358521,-0.015233517,-0.016112804,-0.016994476,
-0.017876148,-0.018756866,-0.019634247,-0.020506859,-0.021372318,-0.022228718,-0.023074150,-0.023907185,
-0.024725437,-0.025527000,-0.026310921,-0.027073860,-0.027815342,-0.028532982,-0.029224873,-0.029890060,
-0.030526638,-0.031132698,-0.031706810,-0.032248020,-0.032754898,-0.033225536,-0.033659935,-0.034055710,
-0.034412861,-0.034730434,-0.035007000,-0.035242081,-0.035435200,-0.035586357,-0.035694122,-0.035758972,
0.035780907, 0.035758972, 0.035694122, 0.035586357, 0.035435200, 0.035242081, 0.035007000, 0.034730434,
0.034412861, 0.034055710, 0.033659935, 0.033225536, 0.032754898, 0.032248020, 0.031706810, 0.031132698,
0.030526638, 0.029890060, 0.029224873, 0.028532982, 0.027815342, 0.027073860, 0.026310921, 0.025527000,
0.024725437, 0.023907185, 0.023074150, 0.022228718, 0.021372318, 0.020506859, 0.019634247, 0.018756866,
0.017876148, 0.016994476, 0.016112804, 0.015233517, 0.014358521, 0.013489246, 0.012627602, 0.011775017,
0.010933399, 0.010103703, 0.009287834, 0.008487225, 0.007703304, 0.006937027, 0.006189346, 0.005462170,
0.004756451, 0.004072189, 0.003411293, 0.002774239, 0.002161503, 0.001573563, 0.001011848, 0.000475883,
-0.000033379,-0.000515938,-0.000971317,-0.001399517,-0.001800537,-0.002174854,-0.002521515,-0.002841473,
0.003134727, 0.003401756, 0.003643036, 0.003858566, 0.004049301, 0.004215240, 0.004357815, 0.004477024,
0.004573822, 0.004649162, 0.004703045, 0.004737377, 0.004752159, 0.004748821, 0.004728317, 0.004691124,
0.004638195, 0.004570484, 0.004489899, 0.004395962, 0.004290581, 0.004174709, 0.004048824, 0.003914356,
0.003771782, 0.003622532, 0.003467083, 0.003306866, 0.003141880, 0.002974033, 0.002803326, 0.002630711,
0.002457142, 0.002283096, 0.002110004, 0.001937389, 0.001766682, 0.001597881, 0.001432419, 0.001269817,
0.001111031, 0.000956535, 0.000806808, 0.000661850, 0.000522137, 0.000388145, 0.000259876, 0.000137329,
0.000021458,-0.000088215,-0.000191689,-0.000288486,-0.000378609,-0.000462532,-0.000539303,-0.000610352,
-0.000674248,-0.000731945,-0.000783920,-0.000829220,-0.000868797,-0.000902653,-0.000930786,-0.000953674,
0.000971317, 0.000983715, 0.000991821, 0.000995159, 0.000994205, 0.000989437, 0.000980854, 0.000968933,
0.000954151, 0.000935555, 0.000915051, 0.000891685, 0.000866413, 0.000838757, 0.000809669, 0.000779152,
0.000747204, 0.000714302, 0.000680923, 0.000646591, 0.000611782, 0.000576973, 0.000542164, 0.000507355,
0.000472546, 0.000438213, 0.000404358, 0.000371456, 0.000339031, 0.000307560, 0.000277042, 0.000247478,
0.000218868, 0.000191212, 0.000165462, 0.000140190, 0.000116348, 0.000093937, 0.000072956, 0.000052929,
0.000034332, 0.000017166, 0.000000954,-0.000013828,-0.000027180,-0.000039577,-0.000050545,-0.000060558,
-0.000069618,-0.000077724,-0.000084400,-0.000090122,-0.000095367,-0.000099182,-0.000102520,-0.000105381,
-0.000106812,-0.000108242,-0.000108719,-0.000108719,-0.000108242,-0.000107288,-0.000105858,-0.000103951,
0.000101566, 0.000099182, 0.000096321, 0.000093460, 0.000090599, 0.000087261, 0.000083923, 0.000080585,
0.000076771, 0.000073433, 0.000070095, 0.000066280, 0.000062943, 0.000059605, 0.000055790, 0.000052929,
0.000049591, 0.000046253, 0.000043392, 0.000040531, 0.000037670, 0.000034809, 0.000032425, 0.000030041,
0.000027657, 0.000025272, 0.000023365, 0.000021458, 0.000019550, 0.000018120, 0.000016689, 0.000014782,
0.000013828, 0.000012398, 0.000011444, 0.000010014, 0.000009060, 0.000008106, 0.000007629, 0.000006676,
0.000006199, 0.000005245, 0.000004768, 0.000004292, 0.000003815, 0.000003338, 0.000003338, 0.000002861,
0.000002384, 0.000002384, 0.000001907, 0.000001907, 0.000001431, 0.000001431, 0.000000954, 0.000000954,
0.000000954, 0.000000954, 0.000000477, 0.000000477, 0.000000477, 0.000000477, 0.000000477, 0.000000477
};
#endif
/*=============================================================================*/
/* >>> HUFFMAN ENCODING RELATED TABLES <<< */
/*=============================================================================*/
unsigned int huff_tab1[2*2] = {
1, 1,
1, 0
};
unsigned int huff_tab2[3*3] = {
1, 2, 1,
3, 1, 1,
3, 2, 0
};
unsigned int huff_tab3[3*3] = {
3, 2, 1,
1, 1, 1,
3, 2, 0
};
unsigned int huff_tab5[4*4] = {
1, 2, 6, 5,
3, 1, 4, 4,
7, 5, 7, 1,
6, 1, 1, 0
};
unsigned int huff_tab6[4*4] = {
7, 3, 5, 1,
6, 2, 3, 2,
5, 4, 4, 1,
3, 3, 2, 0
};
unsigned int huff_tab7[6*6] = {
1, 2, 10, 19, 16, 10,
3, 3, 7, 10, 5, 3,
11, 4, 13, 17, 8, 4,
12, 11, 18, 15, 11, 2,
7, 6, 9, 14, 3, 1,
6, 4, 5, 3, 2, 0
};
unsigned int huff_tab8[6*6] = {
3, 4, 6, 18, 12, 5,
5, 1, 2, 16, 9, 3,
7, 3, 5, 14, 7, 3,
19, 17, 15, 13, 10, 4,
13, 5, 8, 11, 5, 1,
12, 4, 4, 1, 1, 0
};
unsigned int huff_tab9[6*6] = {
7, 5, 9, 14, 15, 7,
6, 4, 5, 5, 6, 7,
7, 6, 8, 8, 8, 5,
15, 6, 9, 10, 5, 1,
11, 7, 9, 6, 4, 1,
14, 4, 6, 2, 6, 0
};
unsigned int huff_tab10[8*8] = {
1, 2, 10, 23, 35, 30, 12, 17,
3, 3, 8, 12, 18, 21, 12, 7,
11, 9, 15, 21, 32, 40, 19, 6,
14, 13, 22, 34, 46, 23, 18, 7,
20, 19, 33, 47, 27, 22, 9, 3,
31, 22, 41, 26, 21, 20, 5, 3,
14, 13, 10, 11, 16, 6, 5, 1,
9, 8, 7, 8, 4, 4, 2, 0
};
unsigned int huff_tab11[8*8] = {
3, 4, 10, 24, 34, 33, 21, 15,
5, 3, 4, 10, 32, 17, 11, 10,
11, 7, 13, 18, 30, 31, 20, 5,
25, 11, 19, 59, 27, 18, 12, 5,
35, 33, 31, 58, 30, 16, 7, 5,
28, 26, 32, 19, 17, 15, 8, 14,
14, 12, 9, 13, 14, 9, 4, 1,
11, 4, 6, 6, 6, 3, 2, 0
};
unsigned int huff_tab12[8*8] = {
9, 6, 16, 33, 41, 39, 38, 26,
7, 5, 6, 9, 23, 16, 26, 11,
17, 7, 11, 14, 21, 30, 10, 7,
17, 10, 15, 12, 18, 28, 14, 5,
32, 13, 22, 19, 18, 16, 9, 5,
40, 17, 31, 29, 17, 13, 4, 2,
27, 12, 11, 15, 10, 7, 4, 1,
27, 12, 8, 12, 6, 3, 1, 0
};
unsigned int huff_tab13[16*16] = {
1, 5, 14, 21, 34, 51, 46, 71, 42, 52, 68, 52, 67, 44, 43, 19,
3, 4, 12, 19, 31, 26, 44, 33, 31, 24, 32, 24, 31, 35, 22, 14,
15, 13, 23, 36, 59, 49, 77, 65, 29, 40, 30, 40, 27, 33, 42, 16,
22, 20, 37, 61, 56, 79, 73, 64, 43, 76, 56, 37, 26, 31, 25, 14,
35, 16, 60, 57, 97, 75, 114, 91, 54, 73, 55, 41, 48, 53, 23, 24,
58, 27, 50, 96, 76, 70, 93, 84, 77, 58, 79, 29, 74, 49, 41, 17,
47, 45, 78, 74, 115, 94, 90, 79, 69, 83, 71, 50, 59, 38, 36, 15,
72, 34, 56, 95, 92, 85, 91, 90, 86, 73, 77, 65, 51, 44, 43, 42,
43, 20, 30, 44, 55, 78, 72, 87, 78, 61, 46, 54, 37, 30, 20, 16,
53, 25, 41, 37, 44, 59, 54, 81, 66, 76, 57, 54, 37, 18, 39, 11,
35, 33, 31, 57, 42, 82, 72, 80, 47, 58, 55, 21, 22, 26, 38, 22,
53, 25, 23, 38, 70, 60, 51, 36, 55, 26, 34, 23, 27, 14, 9, 7,
34, 32, 28, 39, 49, 75, 30, 52, 48, 40, 52, 28, 18, 17, 9, 5,
45, 21, 34, 64, 56, 50, 49, 45, 31, 19, 12, 15, 10, 7, 6, 3,
48, 23, 20, 39, 36, 35, 53, 21, 16, 23, 13, 10, 6, 1, 4, 2,
16, 15, 17, 27, 25, 20, 29, 11, 17, 12, 16, 8, 1, 1, 0, 1
};
unsigned int huff_tab15[16*16] = {
7, 12, 18, 53, 47, 76, 124, 108, 89, 123, 108, 119, 107, 81, 122, 63,
13, 5, 16, 27, 46, 36, 61, 51, 42, 70, 52, 83, 65, 41, 59, 36,
19, 17, 15, 24, 41, 34, 59, 48, 40, 64, 50, 78, 62, 80, 56, 33,
29, 28, 25, 43, 39, 63, 55, 93, 76, 59, 93, 72, 54, 75, 50, 29,
52, 22, 42, 40, 67, 57, 95, 79, 72, 57, 89, 69, 49, 66, 46, 27,
77, 37, 35, 66, 58, 52, 91, 74, 62, 48, 79, 63, 90, 62, 40, 38,
125, 32, 60, 56, 50, 92, 78, 65, 55, 87, 71, 51, 73, 51, 70, 30,
109, 53, 49, 94, 88, 75, 66, 122, 91, 73, 56, 42, 64, 44, 21, 25,
90, 43, 41, 77, 73, 63, 56, 92, 77, 66, 47, 67, 48, 53, 36, 20,
71, 34, 67, 60, 58, 49, 88, 76, 67, 106, 71, 54, 38, 39, 23, 15,
109, 53, 51, 47, 90, 82, 58, 57, 48, 72, 57, 41, 23, 27, 62, 9,
86, 42, 40, 37, 70, 64, 52, 43, 70, 55, 42, 25, 29, 18, 11, 11,
118, 68, 30, 55, 50, 46, 74, 65, 49, 39, 24, 16, 22, 13, 14, 7,
91, 44, 39, 38, 34, 63, 52, 45, 31, 52, 28, 19, 14, 8, 9, 3,
123, 60, 58, 53, 47, 43, 32, 22, 37, 24, 17, 12, 15, 10, 2, 1,
71, 37, 34, 30, 28, 20, 17, 26, 21, 16, 10, 6, 8, 6, 2, 0
};
unsigned int huff_tab16[16*16] = {
1, 5, 14, 44, 74, 63, 110, 93, 172, 149, 138, 242, 225, 195, 376, 17,
3, 4, 12, 20, 35, 62, 53, 47, 83, 75, 68, 119, 201, 107, 207, 9,
15, 13, 23, 38, 67, 58, 103, 90, 161, 72, 127, 117, 110, 209, 206, 16,
45, 21, 39, 69, 64, 114, 99, 87, 158, 140, 252, 212, 199, 387, 365, 26,
75, 36, 68, 65, 115, 101, 179, 164, 155, 264, 246, 226, 395, 382, 362, 9,
66, 30, 59, 56, 102, 185, 173, 265, 142, 253, 232, 400, 388, 378, 445, 16,
111, 54, 52, 100, 184, 178, 160, 133, 257, 244, 228, 217, 385, 366, 715, 10,
98, 48, 91, 88, 165, 157, 148, 261, 248, 407, 397, 372, 380, 889, 884, 8,
85, 84, 81, 159, 156, 143, 260, 249, 427, 401, 392, 383, 727, 713, 708, 7,
154, 76, 73, 141, 131, 256, 245, 426, 406, 394, 384, 735, 359, 710, 352, 11,
139, 129, 67, 125, 247, 233, 229, 219, 393, 743, 737, 720, 885, 882, 439, 4,
243, 120, 118, 115, 227, 223, 396, 746, 742, 736, 721, 712, 706, 223, 436, 6,
202, 224, 222, 218, 216, 389, 386, 381, 364, 888, 443, 707, 440, 437, 1728, 4,
747, 211, 210, 208, 370, 379, 734, 723, 714, 1735, 883, 877, 876, 3459, 865, 2,
377, 369, 102, 187, 726, 722, 358, 711, 709, 866, 1734, 871, 3458, 870, 434, 0,
12, 10, 7, 11, 10, 17, 11, 9, 13, 12, 10, 7, 5, 3, 1, 3
};
unsigned int huff_tab24[16*16] = {
15, 13, 46, 80, 146, 262, 248, 434, 426, 669, 653, 649, 621, 517, 1032, 88,
14, 12, 21, 38, 71, 130, 122, 216, 209, 198, 327, 345, 319, 297, 279, 42,
47, 22, 41, 74, 68, 128, 120, 221, 207, 194, 182, 340, 315, 295, 541, 18,
81, 39, 75, 70, 134, 125, 116, 220, 204, 190, 178, 325, 311, 293, 271, 16,
147, 72, 69, 135, 127, 118, 112, 210, 200, 188, 352, 323, 306, 285, 540, 14,
263, 66, 129, 126, 119, 114, 214, 202, 192, 180, 341, 317, 301, 281, 262, 12,
249, 123, 121, 117, 113, 215, 206, 195, 185, 347, 330, 308, 291, 272, 520, 10,
435, 115, 111, 109, 211, 203, 196, 187, 353, 332, 313, 298, 283, 531, 381, 17,
427, 212, 208, 205, 201, 193, 186, 177, 169, 320, 303, 286, 268, 514, 377, 16,
335, 199, 197, 191, 189, 181, 174, 333, 321, 305, 289, 275, 521, 379, 371, 11,
668, 184, 183, 179, 175, 344, 331, 314, 304, 290, 277, 530, 383, 373, 366, 10,
652, 346, 171, 168, 164, 318, 309, 299, 287, 276, 263, 513, 375, 368, 362, 6,
648, 322, 316, 312, 307, 302, 292, 284, 269, 261, 512, 376, 370, 364, 359, 4,
620, 300, 296, 294, 288, 282, 273, 266, 515, 380, 374, 369, 365, 361, 357, 2,
1033, 280, 278, 274, 267, 264, 259, 382, 378, 372, 367, 363, 360, 358, 356, 0,
43, 20, 19, 17, 15, 13, 11, 9, 7, 6, 4, 7, 5, 3, 1, 3
};
unsigned int huff_tab32[16*1] = {
1,
5,
4,
5,
6,
5,
4,
4,
7,
3,
6,
0,
7,
2,
3,
1
};
unsigned int huff_tab33[16*1] = {
15,
14,
13,
12,
11,
10,
9,
8,
7,
6,
5,
4,
3,
2,
1,
0
};
unsigned char huff_hlen1[2*2] = {
1, 3,
2, 3
};
unsigned char huff_hlen2[3*3] = {
1, 3, 6,
3, 3, 5,
5, 5, 6
};
unsigned char huff_hlen3[3*3] = {
2, 2, 6,
3, 2, 5,
5, 5, 6
};
unsigned char huff_hlen5[4*4] = {
1, 3, 6, 7,
3, 3, 6, 7,
6, 6, 7, 8,
7, 6, 7, 8
};
unsigned char huff_hlen6[4*4] = {
3, 3, 5, 7,
3, 2, 4, 5,
4, 4, 5, 6,
6, 5, 6, 7
};
unsigned char huff_hlen7[6*6] = {
1, 3, 6, 8, 8, 9,
3, 4, 6, 7, 7, 8,
6, 5, 7, 8, 8, 9,
7, 7, 8, 9, 9, 9,
7, 7, 8, 9, 9, 10,
8, 8, 9, 10, 10, 10
};
unsigned char huff_hlen8[6*6] = {
2, 3, 6, 8, 8, 9,
3, 2, 4, 8, 8, 8,
6, 4, 6, 8, 8, 9,
8, 8, 8, 9, 9, 10,
8, 7, 8, 9, 10, 10,
9, 8, 9, 9, 11, 11
};
unsigned char huff_hlen9[6*6] = {
3, 3, 5, 6, 8, 9,
3, 3, 4, 5, 6, 8,
4, 4, 5, 6, 7, 8,
6, 5, 6, 7, 7, 8,
7, 6, 7, 7, 8, 9,
8, 7, 8, 8, 9, 9
};
unsigned char huff_hlen10[8*8] = {
1, 3, 6, 8, 9, 9, 9, 10,
3, 4, 6, 7, 8, 9, 8, 8,
6, 6, 7, 8, 9, 10, 9, 9,
7, 7, 8, 9, 10, 10, 9, 10,
8, 8, 9, 10, 10, 10, 10, 10,
9, 9, 10, 10, 11, 11, 10, 11,
8, 8, 9, 10, 10, 10, 11, 11,
9, 8, 9, 10, 10, 11, 11, 11
};
unsigned char huff_hlen11[8*8] = {
2, 3, 5, 7, 8, 9, 8, 9,
3, 3, 4, 6, 8, 8, 7, 8,
5, 5, 6, 7, 8, 9, 8, 8,
7, 6, 7, 9, 8, 10, 8, 9,
8, 8, 8, 9, 9, 10, 9, 10,
8, 8, 9, 10, 10, 11, 10, 11,
8, 7, 7, 8, 9, 10, 10, 10,
8, 7, 8, 9, 10, 10, 10, 10
};
unsigned char huff_hlen12[8*8] = {
4, 3, 5, 7, 8, 9, 9, 9,
3, 3, 4, 5, 7, 7, 8, 8,
5, 4, 5, 6, 7, 8, 7, 8,
6, 5, 6, 6, 7, 8, 8, 8,
7, 6, 7, 7, 8, 8, 8, 9,
8, 7, 8, 8, 8, 9, 8, 9,
8, 7, 7, 8, 8, 9, 9, 10,
9, 8, 8, 9, 9, 9, 9, 10
};
unsigned char huff_hlen13[16*16] = {
1, 4, 6, 7, 8, 9, 9, 10, 9, 10, 11, 11, 12, 12, 13, 13,
3, 4, 6, 7, 8, 8, 9, 9, 9, 9, 10, 10, 11, 12, 12, 12,
6, 6, 7, 8, 9, 9, 10, 10, 9, 10, 10, 11, 11, 12, 13, 13,
7, 7, 8, 9, 9, 10, 10, 10, 10, 11, 11, 11, 11, 12, 13, 13,
8, 7, 9, 9, 10, 10, 11, 11, 10, 11, 11, 12, 12, 13, 13, 14,
9, 8, 9, 10, 10, 10, 11, 11, 11, 11, 12, 11, 13, 13, 14, 14,
9, 9, 10, 10, 11, 11, 11, 11, 11, 12, 12, 12, 13, 13, 14, 14,
10, 9, 10, 11, 11, 11, 12, 12, 12, 12, 13, 13, 13, 14, 16, 16,
9, 8, 9, 10, 10, 11, 11, 12, 12, 12, 12, 13, 13, 14, 15, 15,
10, 9, 10, 10, 11, 11, 11, 13, 12, 13, 13, 14, 14, 14, 16, 15,
10, 10, 10, 11, 11, 12, 12, 13, 12, 13, 14, 13, 14, 15, 16, 17,
11, 10, 10, 11, 12, 12, 12, 12, 13, 13, 13, 14, 15, 15, 15, 16,
11, 11, 11, 12, 12, 13, 12, 13, 14, 14, 15, 15, 15, 16, 16, 16,
12, 11, 12, 13, 13, 13, 14, 14, 14, 14, 14, 15, 16, 15, 16, 16,
13, 12, 12, 13, 13, 13, 15, 14, 14, 17, 15, 15, 15, 17, 16, 16,
12, 12, 13, 14, 14, 14, 15, 14, 15, 15, 16, 16, 19, 18, 19, 16
};
unsigned char huff_hlen15[16*16] = {
3, 4, 5, 7, 7, 8, 9, 9, 9, 10, 10, 11, 11, 11, 12, 13,
4, 3, 5, 6, 7, 7, 8, 8, 8, 9, 9, 10, 10, 10, 11, 11,
5, 5, 5, 6, 7, 7, 8, 8, 8, 9, 9, 10, 10, 11, 11, 11,
6, 6, 6, 7, 7, 8, 8, 9, 9, 9, 10, 10, 10, 11, 11, 11,
7, 6, 7, 7, 8, 8, 9, 9, 9, 9, 10, 10, 10, 11, 11, 11,
8, 7, 7, 8, 8, 8, 9, 9, 9, 9, 10, 10, 11, 11, 11, 12,
9, 7, 8, 8, 8, 9, 9, 9, 9, 10, 10, 10, 11, 11, 12, 12,
9, 8, 8, 9, 9, 9, 9, 10, 10, 10, 10, 10, 11, 11, 11, 12,
9, 8, 8, 9, 9, 9, 9, 10, 10, 10, 10, 11, 11, 12, 12, 12,
9, 8, 9, 9, 9, 9, 10, 10, 10, 11, 11, 11, 11, 12, 12, 12,
10, 9, 9, 9, 10, 10, 10, 10, 10, 11, 11, 11, 11, 12, 13, 12,
10, 9, 9, 9, 10, 10, 10, 10, 11, 11, 11, 11, 12, 12, 12, 13,
11, 10, 9, 10, 10, 10, 11, 11, 11, 11, 11, 11, 12, 12, 13, 13,
11, 10, 10, 10, 10, 11, 11, 11, 11, 12, 12, 12, 12, 12, 13, 13,
12, 11, 11, 11, 11, 11, 11, 11, 12, 12, 12, 12, 13, 13, 12, 13,
12, 11, 11, 11, 11, 11, 11, 12, 12, 12, 12, 12, 13, 13, 13, 13
};
unsigned char huff_hlen16[16*16] = {
1, 4, 6, 8, 9, 9, 10, 10, 11, 11, 11, 12, 12, 12, 13, 9,
3, 4, 6, 7, 8, 9, 9, 9, 10, 10, 10, 11, 12, 11, 12, 8,
6, 6, 7, 8, 9, 9, 10, 10, 11, 10, 11, 11, 11, 12, 12, 9,
8, 7, 8, 9, 9, 10, 10, 10, 11, 11, 12, 12, 12, 13, 13, 10,
9, 8, 9, 9, 10, 10, 11, 11, 11, 12, 12, 12, 13, 13, 13, 9,
9, 8, 9, 9, 10, 11, 11, 12, 11, 12, 12, 13, 13, 13, 14, 10,
10, 9, 9, 10, 11, 11, 11, 11, 12, 12, 12, 12, 13, 13, 14, 10,
10, 9, 10, 10, 11, 11, 11, 12, 12, 13, 13, 13, 13, 15, 15, 10,
10, 10, 10, 11, 11, 11, 12, 12, 13, 13, 13, 13, 14, 14, 14, 10,
11, 10, 10, 11, 11, 12, 12, 13, 13, 13, 13, 14, 13, 14, 13, 11,
11, 11, 10, 11, 12, 12, 12, 12, 13, 14, 14, 14, 15, 15, 14, 10,
12, 11, 11, 11, 12, 12, 13, 14, 14, 14, 14, 14, 14, 13, 14, 11,
12, 12, 12, 12, 12, 13, 13, 13, 13, 15, 14, 14, 14, 14, 16, 11,
14, 12, 12, 12, 13, 13, 14, 14, 14, 16, 15, 15, 15, 17, 15, 11,
13, 13, 11, 12, 14, 14, 13, 14, 14, 15, 16, 15, 17, 15, 14, 11,
9, 8, 8, 9, 9, 10, 10, 10, 11, 11, 11, 11, 11, 11, 11, 8
};
unsigned char huff_hlen24[16*16] = {
4, 4, 6, 7, 8, 9, 9, 10, 10, 11, 11, 11, 11, 11, 12, 9,
4, 4, 5, 6, 7, 8, 8, 9, 9, 9, 10, 10, 10, 10, 10, 8,
6, 5, 6, 7, 7, 8, 8, 9, 9, 9, 9, 10, 10, 10, 11, 7,
7, 6, 7, 7, 8, 8, 8, 9, 9, 9, 9, 10, 10, 10, 10, 7,
8, 7, 7, 8, 8, 8, 8, 9, 9, 9, 10, 10, 10, 10, 11, 7,
9, 7, 8, 8, 8, 8, 9, 9, 9, 9, 10, 10, 10, 10, 10, 7,
9, 8, 8, 8, 8, 9, 9, 9, 9, 10, 10, 10, 10, 10, 11, 7,
10, 8, 8, 8, 9, 9, 9, 9, 10, 10, 10, 10, 10, 11, 11, 8,
10, 9, 9, 9, 9, 9, 9, 9, 9, 10, 10, 10, 10, 11, 11, 8,
10, 9, 9, 9, 9, 9, 9, 10, 10, 10, 10, 10, 11, 11, 11, 8,
11, 9, 9, 9, 9, 10, 10, 10, 10, 10, 10, 11, 11, 11, 11, 8,
11, 10, 9, 9, 9, 10, 10, 10, 10, 10, 10, 11, 11, 11, 11, 8,
11, 10, 10, 10, 10, 10, 10, 10, 10, 10, 11, 11, 11, 11, 11, 8,
11, 10, 10, 10, 10, 10, 10, 10, 11, 11, 11, 11, 11, 11, 11, 8,
12, 10, 10, 10, 10, 10, 10, 11, 11, 11, 11, 11, 11, 11, 11, 8,
8, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 4
};
unsigned char huff_hlen32[16*1] = {
1,
4,
4,
5,
4,
6,
5,
6,
4,
5,
5,
6,
5,
6,
6,
6
};
unsigned char huff_hlen33[16*1] = {
4,
4,
4,
4,
4,
4,
4,
4,
4,
4,
4,
4,
4,
4,
4,
4
};
struct huffcodetab ht[34] = {
{ 0, 0, 0, 0, -1, 0, 0 },
{ 2, 2, 0, 0, -1, huff_tab1, huff_hlen1 },
{ 3, 3, 0, 0, -1, huff_tab2, huff_hlen2 },
{ 3, 3, 0, 0, -1, huff_tab3, huff_hlen3 },
{ 0, 0, 0, 0, -1, 0, 0 },
{ 4, 4, 0, 0, -1, huff_tab5, huff_hlen5 },
{ 4, 4, 0, 0, -1, huff_tab6, huff_hlen6 },
{ 6, 6, 0, 0, -1, huff_tab7, huff_hlen7 },
{ 6, 6, 0, 0, -1, huff_tab8, huff_hlen8 },
{ 6, 6, 0, 0, -1, huff_tab9, huff_hlen9 },
{ 8, 8, 0, 0, -1, huff_tab10, huff_hlen10 },
{ 8, 8, 0, 0, -1, huff_tab11, huff_hlen11 },
{ 8, 8, 0, 0, -1, huff_tab12, huff_hlen12 },
{ 16, 16, 0, 0, -1, huff_tab13, huff_hlen13 },
{ 0, 0, 0, 0, -1, 0, 0 },
{ 16, 16, 0, 0, -1, huff_tab15, huff_hlen15 },
{ 16, 16, 1, 1, -1, huff_tab16, huff_hlen16 },
{ 16, 16, 2, 3, 16, huff_tab16, huff_hlen16 },
{ 16, 16, 3, 7, 16, huff_tab16, huff_hlen16 },
{ 16, 16, 4, 15, 16, huff_tab16, huff_hlen16 },
{ 16, 16, 6, 63, 16, huff_tab16, huff_hlen16 },
{ 16, 16, 8, 255, 16, huff_tab16, huff_hlen16 },
{ 16, 16, 10, 1023, 16, huff_tab16, huff_hlen16 },
{ 16, 16, 13, 8191, 16, huff_tab16, huff_hlen16 },
{ 16, 16, 4, 15, -1, huff_tab24, huff_hlen24 },
{ 16, 16, 5, 31, 24, huff_tab24, huff_hlen24 },
{ 16, 16, 6, 63, 24, huff_tab24, huff_hlen24 },
{ 16, 16, 7, 127, 24, huff_tab24, huff_hlen24 },
{ 16, 16, 8, 255, 24, huff_tab24, huff_hlen24 },
{ 16, 16, 9, 511, 24, huff_tab24, huff_hlen24 },
{ 16, 16, 11, 2047, 24, huff_tab24, huff_hlen24 },
{ 16, 16, 13, 8191, 24, huff_tab24, huff_hlen24 },
{ 1, 16, 0, 0, -1, huff_tab32, huff_hlen32 },
{ 1, 16, 0, 0, -1, huff_tab33, huff_hlen33 }
};
|