⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tables.c

📁 MP3编码的完整实现(源代码和使用例子都有)
💻 C
📖 第 1 页 / 共 4 页
字号:
 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};

static unsigned char t24l[]  = {
  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};

static unsigned char t32l[]  = {
  1, 4, 4, 5, 4, 6, 5, 6, 4, 5, 5, 6, 5, 6, 6, 6};
static unsigned char t33l[]  = {
  4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4};

struct huffcodetab ht[HTN] =
{
  /* xlen, linmax, table, hlen */
  { 0,   0,NULL,NULL},
  { 2,   0,t1HB, t1l},
  { 3,   0,t2HB, t2l},
  { 3,   0,t3HB, t3l},
  { 0,   0,NULL,NULL},/* Apparently not used */
  { 4,   0,t5HB, t5l},
  { 4,   0,t6HB, t6l},
  { 6,   0,t7HB, t7l},
  { 6,   0,t8HB, t8l},
  { 6,   0,t9HB, t9l},
  { 8,   0,t10HB, t10l},
  { 8,   0,t11HB, t11l},
  { 8,   0,t12HB, t12l},
  {16,   0,t13HB, t13l},
  { 0,   0,NULL,NULL},/* Apparently not used */
  {16,   0,t15HB, t15l},

  { 1,   1,t16HB, t16l},
  { 2,   3,t16HB, t16l},
  { 3,   7,t16HB, t16l},
  { 4,  15,t16HB, t16l},
  { 6,  63,t16HB, t16l},
  { 8, 255,t16HB, t16l},
  {10,1023,t16HB, t16l},
  {13,8191,t16HB, t16l},

  { 4,  15,t24HB, t24l},
  { 5,  31,t24HB, t24l},
  { 6,  63,t24HB, t24l},
  { 7, 127,t24HB, t24l},
  { 8, 255,t24HB, t24l},
  { 9, 511,t24HB, t24l},
  {11,2047,t24HB, t24l},
  {13,8191,t24HB, t24l},

  { 0,   0,t32HB, t32l},
  { 0,   0,t33HB, t33l},
};	





FLOAT8 psy_data[] =
{48000.0, 61,
 0, 1, 24.5, 4.532, 0.970, 0.000,
 1, 1, 24.5, 4.532, 0.755, 0.469,
 2, 1, 24.5, 4.532, 0.738, 0.938,
 3, 1, 24.5, 0.904, 0.730, 1.406,
 4, 1, 24.5, 0.904, 0.724, 1.875,
 5, 1, 20.0, 0.090, 0.723, 2.344,
 6, 1, 20.0, 0.090, 0.723, 2.813,
 7, 1, 20.0, 0.029, 0.723, 3.281,
 8, 1, 20.0, 0.029, 0.718, 3.750,
 9, 1, 20.0, 0.009, 0.690, 4.199,
 10, 1, 20.0, 0.009, 0.660, 4.625,
 11, 1, 18.0, 0.009, 0.641, 5.047,
 12, 1, 18.0, 0.009, 0.600, 5.438,
 13, 1, 18.0, 0.009, 0.584, 5.828,
 14, 1, 12.0, 0.009, 0.532, 6.188,
 15, 1, 12.0, 0.009, 0.537, 6.522,
 16, 2, 6.0, 0.018, 0.857, 7.174,
 17, 2, 6.0, 0.018, 0.858, 7.801,
 18, 2, 3.0, 0.018, 0.853, 8.402,
 19, 2, 3.0, 0.018, 0.824, 8.966,
 20, 2, 3.0, 0.018, 0.778, 9.484,
 21, 2, 3.0, 0.018, 0.740, 9.966,
 22, 2, 0.0, 0.018, 0.709, 10.426,
 23, 2, 0.0, 0.018, 0.676, 10.866,
 24, 2, 0.0, 0.018, 0.632, 11.279,
 25, 2, 0.0, 0.018, 0.592, 11.669,
 26, 2, 0.0, 0.018, 0.553, 12.042,
 27, 2, 0.0, 0.018, 0.510, 12.386,
 28, 2, 0.0, 0.018, 0.513, 12.721,
 29, 3, 0.0, 0.027, 0.608, 13.115,
 30, 3, 0.0, 0.027, 0.673, 13.562,
 31, 3, 0.0, 0.027, 0.637, 13.984,
 32, 3, 0.0, 0.027, 0.586, 14.371,
 33, 3, 0.0, 0.027, 0.571, 14.741,
 34, 4, 0.0, 0.036, 0.616, 15.140,
 35, 4, 0.0, 0.036, 0.640, 15.563,
 36, 4, 0.0, 0.036, 0.598, 15.962,
 37, 4, 0.0, 0.036, 0.538, 16.324,
 38, 4, 0.0, 0.036, 0.512, 16.665,
 39, 5, 0.0, 0.045, 0.528, 17.020,
 40, 5, 0.0, 0.045, 0.517, 17.373,
 41, 5, 0.0, 0.045, 0.493, 17.708,
 42, 6, 0.0, 0.054, 0.499, 18.045,
 43, 7, 0.0, 0.063, 0.525, 18.398,
 44, 7, 0.0, 0.063, 0.541, 18.762,
 45, 8, 0.0, 0.072, 0.528, 19.120,
 46, 8, 0.0, 0.072, 0.510, 19.466,
 47, 8, 0.0, 0.072, 0.506, 19.807,
 48, 10, 0.0, 0.180, 0.525, 20.159,
 49, 10, 0.0, 0.180, 0.536, 20.522,
 50, 10, 0.0, 0.180, 0.518, 20.874,
 51, 13, 0.0, 0.372, 0.501, 21.214,
 52, 13, 0.0, 0.372, 0.497, 21.553,
 53, 14, 0.0, 0.400, 0.497, 21.892,
 54, 18, 0.0, 1.627, 0.495, 22.231,
 55, 18, 0.0, 1.627, 0.494, 22.569,
 56, 20, 0.0, 1.808, 0.497, 22.909,
 57, 25, 0.0, 22.607, 0.494, 23.248,
 58, 25, 0.0, 22.607, 0.487, 23.583,
 59, 35, 0.0, 31.650, 0.483, 23.915,
 60, 67, 0.0, 605.867, 0.482, 24.246,
 61, 67, 0.0, 605.867, 0.524, 24.576,
 44100.0, 62,
 0, 1, 24.5, 4.532, 0.951, 0.000,
 1, 1, 24.5, 4.532, 0.700, 0.431,
 2, 1, 24.5, 4.532, 0.681, 0.861,
 3, 1, 24.5, 0.904, 0.675, 1.292,
 4, 1, 24.5, 0.904, 0.667, 1.723,
 5, 1, 20.0, 0.090, 0.665, 2.153,
 6, 1, 20.0, 0.090, 0.664, 2.584,
 7, 1, 20.0, 0.029, 0.664, 3.015,
 8, 1, 20.0, 0.029, 0.664, 3.445,
 9, 1, 20.0, 0.029, 0.655, 3.876,
 10, 1, 20.0, 0.009, 0.616, 4.279,
 11, 1, 20.0, 0.009, 0.597, 4.670,
 12, 1, 18.0, 0.009, 0.578, 5.057,
 13, 1, 18.0, 0.009, 0.541, 5.416,
 14, 1, 18.0, 0.009, 0.575, 5.774,
 15, 2, 12.0, 0.018, 0.856, 6.422,
 16, 2, 6.0, 0.018, 0.846, 7.026,
 17, 2, 6.0, 0.018, 0.840, 7.609,
 18, 2, 3.0, 0.018, 0.822, 8.168,
 19, 2, 3.0, 0.018, 0.800, 8.710,
 20, 2, 3.0, 0.018, 0.753, 9.207,
 21, 2, 3.0, 0.018, 0.704, 9.662,
 22, 2, 0.0, 0.018, 0.674, 10.099,
 23, 2, 0.0, 0.018, 0.640, 10.515,
 24, 2, 0.0, 0.018, 0.609, 10.917,
 25, 2, 0.0, 0.018, 0.566, 11.293,
 26, 2, 0.0, 0.018, 0.535, 11.652,
 27, 2, 0.0, 0.018, 0.531, 11.997,
 28, 3, 0.0, 0.027, 0.615, 12.394,
 29, 3, 0.0, 0.027, 0.686, 12.850,
 30, 3, 0.0, 0.027, 0.650, 13.277,
 31, 3, 0.0, 0.027, 0.612, 13.681,
 32, 3, 0.0, 0.027, 0.567, 14.062,
 33, 3, 0.0, 0.027, 0.520, 14.411,
 34, 3, 0.0, 0.027, 0.513, 14.751,
 35, 4, 0.0, 0.036, 0.557, 15.119,
 36, 4, 0.0, 0.036, 0.584, 15.508,
 37, 4, 0.0, 0.036, 0.570, 15.883,
 38, 5, 0.0, 0.045, 0.579, 16.263,
 39, 5, 0.0, 0.045, 0.585, 16.654,
 40, 5, 0.0, 0.045, 0.548, 17.020,
 41, 6, 0.0, 0.054, 0.536, 17.374,
 42, 6, 0.0, 0.054, 0.550, 17.744,
 43, 7, 0.0, 0.063, 0.532, 18.104,
 44, 7, 0.0, 0.063, 0.504, 18.447,
 45, 7, 0.0, 0.063, 0.496, 18.782,
 46, 9, 0.0, 0.081, 0.517, 19.130,
 47, 9, 0.0, 0.081, 0.527, 19.487,
 48, 9, 0.0, 0.081, 0.516, 19.838,
 49, 10, 0.0, 0.180, 0.497, 20.179,
 50, 10, 0.0, 0.180, 0.489, 20.510,
 51, 11, 0.0, 0.198, 0.502, 20.852,
 52, 14, 0.0, 0.400, 0.501, 21.196,
 53, 14, 0.0, 0.400, 0.491, 21.531,
 54, 15, 0.0, 0.429, 0.497, 21.870,
 55, 20, 0.0, 1.808, 0.504, 22.214,
 56, 20, 0.0, 1.808, 0.504, 22.558,
 57, 21, 0.0, 1.898, 0.495, 22.898,
 58, 27, 0.0, 24.416, 0.486, 23.232,
 59, 27, 0.0, 24.416, 0.484, 23.564,
 60, 36, 0.0, 32.554, 0.483, 23.897,
 61, 73, 0.0, 660.124, 0.475, 24.229,
 62, 18, 0.0, 162.770, 0.515, 24.442,
 32000.0, 58,
 0, 2, 24.5, 4.532, 0.997, 0.313,
 1, 2, 24.5, 4.532, 0.893, 0.938,
 2, 2, 24.5, 1.809, 0.881, 1.563,
 3, 2, 20.0, 0.181, 0.873, 2.188,
 4, 2, 20.0, 0.181, 0.872, 2.813,
 5, 2, 20.0, 0.057, 0.871, 3.438,
 6, 2, 20.0, 0.018, 0.860, 4.045,
 7, 2, 20.0, 0.018, 0.839, 4.625,
 8, 2, 18.0, 0.018, 0.812, 5.173,
 9, 2, 18.0, 0.018, 0.784, 5.698,
 10, 2, 12.0, 0.018, 0.741, 6.185,
 11, 2, 12.0, 0.018, 0.697, 6.634,
 12, 2, 6.0, 0.018, 0.674, 7.070,
 13, 2, 6.0, 0.018, 0.651, 7.492,
 14, 2, 6.0, 0.018, 0.633, 7.905,
 15, 2, 3.0, 0.018, 0.611, 8.305,
 16, 2, 3.0, 0.018, 0.589, 8.695,
 17, 2, 3.0, 0.018, 0.575, 9.064,
 18, 3, 3.0, 0.027, 0.654, 9.484,
 19, 3, 3.0, 0.027, 0.724, 9.966,
 20, 3, 0.0, 0.027, 0.701, 10.426,
 21, 3, 0.0, 0.027, 0.673, 10.866,
 22, 3, 0.0, 0.027, 0.631, 11.279,
 23, 3, 0.0, 0.027, 0.592, 11.669,
 24, 3, 0.0, 0.027, 0.553, 12.042,
 25, 3, 0.0, 0.027, 0.510, 12.386,
 26, 3, 0.0, 0.027, 0.506, 12.721,
 27, 4, 0.0, 0.036, 0.562, 13.091,
 28, 4, 0.0, 0.036, 0.598, 13.488,
 29, 4, 0.0, 0.036, 0.589, 13.873,
 30, 5, 0.0, 0.045, 0.607, 14.268,
 31, 5, 0.0, 0.045, 0.620, 14.679,
 32, 5, 0.0, 0.045, 0.580, 15.067,
 33, 5, 0.0, 0.045, 0.532, 15.424,
 34, 5, 0.0, 0.045, 0.517, 15.771,
 35, 6, 0.0, 0.054, 0.517, 16.120,
 36, 6, 0.0, 0.054, 0.509, 16.466,
 37, 6, 0.0, 0.054, 0.506, 16.807,
 38, 8, 0.0, 0.072, 0.522, 17.158,
 39, 8, 0.0, 0.072, 0.531, 17.518,
 40, 8, 0.0, 0.072, 0.519, 17.869,
 41, 10, 0.0, 0.090, 0.512, 18.215,
 42, 10, 0.0, 0.090, 0.509, 18.563,
 43, 10, 0.0, 0.090, 0.498, 18.902,
 44, 12, 0.0, 0.109, 0.494, 19.239,
 45, 12, 0.0, 0.109, 0.501, 19.580,
 46, 13, 0.0, 0.118, 0.508, 19.925,
 47, 14, 0.0, 0.252, 0.502, 20.269,
 48, 14, 0.0, 0.252, 0.493, 20.606,
 49, 16, 0.0, 0.288, 0.497, 20.944,
 50, 20, 0.0, 0.572, 0.506, 21.288,
 51, 20, 0.0, 0.572, 0.510, 21.635,
 52, 23, 0.0, 0.658, 0.504, 21.980,
 53, 27, 0.0, 2.441, 0.496, 22.319,
 54, 27, 0.0, 2.441, 0.493, 22.656,
 55, 32, 0.0, 2.893, 0.490, 22.993,
 56, 37, 0.0, 33.458, 0.482, 23.326,
 57, 37, 0.0, 33.458, 0.458, 23.656,
 58, 12, 0.0, 10.851, 0.500, 23.937,
 24000, 59,
 0, 2, 15, 17.8250179, 0.697374165, 0.236874461,
 1, 2, 15, 17.8250179, 0.455024809, 0.71016103,
 2, 2, 15, 1.78250182, 0.431440443, 1.18193281,
 3, 2, 15, 1.78250182, 0.42391625, 1.65102732,
 4, 2, 13, 0.178250194, 0.418206781, 2.11632562,
 5, 2, 13, 0.178250194, 0.41158545, 2.57676744,
 6, 2, 13, 0.0563676581, 0.405409157, 3.03136396,
 7, 2, 13, 0.0563676581, 0.399695486, 3.47920918,
 8, 2, 13, 0.0563676581, 0.393753231, 3.91948748,
 9, 2, 12, 0.0178250186, 0.387357473, 4.35147953,
 10, 2, 12, 0.0178250186, 0.38045457, 4.77456427,
 11, 2, 10, 0.0178250186, 0.373053908, 5.18822002,
 12, 2, 10, 0.0178250186, 0.365188122, 5.59202194,
 13, 2, 10, 0.0178250186, 0.356897771, 5.98564005,
 14, 2, 9, 0.0178250186, 0.348700613, 6.36883163,
 15, 2, 9, 0.0178250186, 0.340260029, 6.74143791,
 16, 2, 6, 0.0178250186, 0.332341045, 7.10337448,
 17, 2, 6, 0.0178250186, 0.330462843, 7.45462418,
 18, 2, 6, 0.0178250186, 0.345568359, 7.79523182,
 19, 3, 3, 0.0267375279, 0.377859652, 8.20455742,
 20, 3, 3, 0.0267375279, 0.396689415, 8.67640114,
 21, 3, 3, 0.0267375279, 0.391237885, 9.12561035,
 22, 3, 3, 0.0267375279, 0.37761277, 9.55298138,
 23, 3, 3, 0.0267375279, 0.362836808, 9.95940971,
 24, 3, 0, 0.0267375279, 0.349010617, 10.3458519,
 25, 3, 0, 0.0267375279, 0.339673489, 10.7132998,
 26, 3, 0, 0.0267375279, 0.343845725, 11.0627575,
 27, 4, 0, 0.0356500372, 0.355822682, 11.447506,
 28, 4, 0, 0.0356500372, 0.358104348, 11.8627586,
 29, 4, 0, 0.0356500372, 0.34745428, 12.2520256,
 30, 4, 0, 0.0356500372, 0.334927917, 12.6173973,
 31, 4, 0, 0.0356500372, 0.331643254, 12.9608269,
 32, 5, 0, 0.0445625484, 0.333368897, 13.3219252,
 33, 5, 0, 0.0445625484, 0.332313001, 13.6976833,
 34, 5, 0, 0.0445625484, 0.3314417, 14.047802,
 35, 6, 0, 0.0534750558, 0.330947191, 14.405302,
 36, 6, 0, 0.0534750558, 0.332477689, 14.7684803,
 37, 7, 0, 0.062387567, 0.332647532, 15.1315956,
 38, 7, 0, 0.062387567, 0.330841452, 15.4940481,
 39, 8, 0, 0.0713000745, 0.327769846, 15.8516159,
 40, 8, 0, 0.0713000745, 0.324572712, 16.204628,
 41, 9, 0, 0.0802125856, 0.323825002, 16.5502281,
 42, 10, 0, 0.0891250968, 0.321414798, 16.9067478,

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -