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

📄 mpegaudiodectab.h

📁 tcpmp播放器的flv插件
💻 H
📖 第 1 页 / 共 2 页
字号:
/** * @file mpegaudiodectab.h * mpeg audio layer decoder tables.  */const uint16_t mpa_bitrate_tab[2][3][15] = {    { {0, 32, 64, 96, 128, 160, 192, 224, 256, 288, 320, 352, 384, 416, 448 },      {0, 32, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320, 384 },      {0, 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320 } },    { {0, 32, 48, 56, 64, 80, 96, 112, 128, 144, 160, 176, 192, 224, 256},      {0, 8, 16, 24, 32, 40, 48, 56, 64, 80, 96, 112, 128, 144, 160},      {0, 8, 16, 24, 32, 40, 48, 56, 64, 80, 96, 112, 128, 144, 160}    }};const uint16_t mpa_freq_tab[3] = { 44100, 48000, 32000 };/*******************************************************//* half mpeg encoding window (full precision) */const int32_t mpa_enwindow[257] = {     0,    -1,    -1,    -1,    -1,    -1,    -1,    -2,    -2,    -2,    -2,    -3,    -3,    -4,    -4,    -5,    -5,    -6,    -7,    -7,    -8,    -9,   -10,   -11,   -13,   -14,   -16,   -17,   -19,   -21,   -24,   -26,   -29,   -31,   -35,   -38,   -41,   -45,   -49,   -53,   -58,   -63,   -68,   -73,   -79,   -85,   -91,   -97,  -104,  -111,  -117,  -125,  -132,  -139,  -147,  -154,  -161,  -169,  -176,  -183,  -190,  -196,  -202,  -208,   213,   218,   222,   225,   227,   228,   228,   227,   224,   221,   215,   208,   200,   189,   177,   163,   146,   127,   106,    83,    57,    29,    -2,   -36,   -72,  -111,  -153,  -197,  -244,  -294,  -347,  -401,  -459,  -519,  -581,  -645,  -711,  -779,  -848,  -919,  -991, -1064, -1137, -1210, -1283, -1356, -1428, -1498, -1567, -1634, -1698, -1759, -1817, -1870, -1919, -1962, -2001, -2032, -2057, -2075, -2085, -2087, -2080, -2063,  2037,  2000,  1952,  1893,  1822,  1739,  1644,  1535,  1414,  1280,  1131,   970,   794,   605,   402,   185,   -45,  -288,  -545,  -814, -1095, -1388, -1692, -2006, -2330, -2663, -3004, -3351, -3705, -4063, -4425, -4788, -5153, -5517, -5879, -6237, -6589, -6935, -7271, -7597, -7910, -8209, -8491, -8755, -8998, -9219, -9416, -9585, -9727, -9838, -9916, -9959, -9966, -9935, -9863, -9750, -9592, -9389, -9139, -8840, -8492, -8092, -7640, -7134,  6574,  5959,  5288,  4561,  3776,  2935,  2037,  1082,    70,  -998, -2122, -3300, -4533, -5818, -7154, -8540, -9975,-11455,-12980,-14548,-16155,-17799,-19478,-21189,-22929,-24694,-26482,-28289,-30112,-31947,-33791,-35640,-37489,-39336,-41176,-43006,-44821,-46617,-48390,-50137,-51853,-53534,-55178,-56778,-58333,-59838,-61289,-62684,-64019,-65290,-66494,-67629,-68692,-69679,-70590,-71420,-72169,-72835,-73415,-73908,-74313,-74630,-74856,-74992, 75038,};/*******************************************************//* layer 2 tables */const int sblimit_table[5] = { 27 , 30 , 8, 12 , 30 };const int quant_steps[17] = {    3,     5,    7,    9,    15,    31,    63,  127,  255,   511,    1023,  2047, 4095, 8191, 16383,    32767, 65535};/* we use a negative value if grouped */const int quant_bits[17] = {    -5,  -7,  3, -10, 4,      5,  6,  7,  8,  9,    10, 11, 12, 13, 14,    15, 16 };/* encoding tables which give the quantization index. Note how it is   possible to store them efficiently ! */static const unsigned char alloc_table_0[] = { 4,  0,  2,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15, 16,  4,  0,  2,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15, 16,  4,  0,  2,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15, 16,  4,  0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 16,  4,  0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 16,  4,  0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 16,  4,  0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 16,  4,  0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 16,  4,  0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 16,  4,  0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 16,  4,  0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 16,  3,  0,  1,  2,  3,  4,  5, 16,  3,  0,  1,  2,  3,  4,  5, 16,  3,  0,  1,  2,  3,  4,  5, 16,  3,  0,  1,  2,  3,  4,  5, 16,  3,  0,  1,  2,  3,  4,  5, 16,  3,  0,  1,  2,  3,  4,  5, 16,  3,  0,  1,  2,  3,  4,  5, 16,  3,  0,  1,  2,  3,  4,  5, 16,  3,  0,  1,  2,  3,  4,  5, 16,  3,  0,  1,  2,  3,  4,  5, 16,  3,  0,  1,  2,  3,  4,  5, 16,  3,  0,  1,  2,  3,  4,  5, 16,  2,  0,  1, 16,  2,  0,  1, 16,  2,  0,  1, 16,  2,  0,  1, 16, };static const unsigned char alloc_table_1[] = { 4,  0,  2,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15, 16,  4,  0,  2,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15, 16,  4,  0,  2,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15, 16,  4,  0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 16,  4,  0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 16,  4,  0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 16,  4,  0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 16,  4,  0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 16,  4,  0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 16,  4,  0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 16,  4,  0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 16,  3,  0,  1,  2,  3,  4,  5, 16,  3,  0,  1,  2,  3,  4,  5, 16,  3,  0,  1,  2,  3,  4,  5, 16,  3,  0,  1,  2,  3,  4,  5, 16,  3,  0,  1,  2,  3,  4,  5, 16,  3,  0,  1,  2,  3,  4,  5, 16,  3,  0,  1,  2,  3,  4,  5, 16,  3,  0,  1,  2,  3,  4,  5, 16,  3,  0,  1,  2,  3,  4,  5, 16,  3,  0,  1,  2,  3,  4,  5, 16,  3,  0,  1,  2,  3,  4,  5, 16,  3,  0,  1,  2,  3,  4,  5, 16,  2,  0,  1, 16,  2,  0,  1, 16,  2,  0,  1, 16,  2,  0,  1, 16,  2,  0,  1, 16,  2,  0,  1, 16,  2,  0,  1, 16, };static const unsigned char alloc_table_2[] = { 4,  0,  1,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15,  4,  0,  1,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15,  3,  0,  1,  3,  4,  5,  6,  7,  3,  0,  1,  3,  4,  5,  6,  7,  3,  0,  1,  3,  4,  5,  6,  7,  3,  0,  1,  3,  4,  5,  6,  7,  3,  0,  1,  3,  4,  5,  6,  7,  3,  0,  1,  3,  4,  5,  6,  7, };static const unsigned char alloc_table_3[] = { 4,  0,  1,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15,  4,  0,  1,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15,  3,  0,  1,  3,  4,  5,  6,  7,  3,  0,  1,  3,  4,  5,  6,  7,  3,  0,  1,  3,  4,  5,  6,  7,  3,  0,  1,  3,  4,  5,  6,  7,  3,  0,  1,  3,  4,  5,  6,  7,  3,  0,  1,  3,  4,  5,  6,  7,  3,  0,  1,  3,  4,  5,  6,  7,  3,  0,  1,  3,  4,  5,  6,  7,  3,  0,  1,  3,  4,  5,  6,  7,  3,  0,  1,  3,  4,  5,  6,  7, };static const unsigned char alloc_table_4[] = { 4,  0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 4,  0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14,  4,  0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14,  4,  0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14,  3,  0,  1,  3,  4,  5,  6,  7,  3,  0,  1,  3,  4,  5,  6,  7,  3,  0,  1,  3,  4,  5,  6,  7,  3,  0,  1,  3,  4,  5,  6,  7,  3,  0,  1,  3,  4,  5,  6,  7,  3,  0,  1,  3,  4,  5,  6,  7,  3,  0,  1,  3,  4,  5,  6,  7,  2,  0,  1,  3,  2,  0,  1,  3,  2,  0,  1,  3,  2,  0,  1,  3,  2,  0,  1,  3,  2,  0,  1,  3,  2,  0,  1,  3,  2,  0,  1,  3,  2,  0,  1,  3,  2,  0,  1,  3,  2,  0,  1,  3,  2,  0,  1,  3,  2,  0,  1,  3,  2,  0,  1,  3,  2,  0,  1,  3,  2,  0,  1,  3,  2,  0,  1,  3,  2,  0,  1,  3,  2,  0,  1,  3, };const unsigned char *alloc_tables[5] = { alloc_table_0, alloc_table_1, alloc_table_2, alloc_table_3, alloc_table_4, };/*******************************************************//* layer 3 tables *//* layer3 scale factor size */static const uint8_t slen_table[2][16] = {    { 0, 0, 0, 0, 3, 1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4 },    { 0, 1, 2, 3, 0, 1, 2, 3, 1, 2, 3, 1, 2, 3, 2, 3 },};/* number of lsf scale factors for a given size */static const uint8_t lsf_nsf_table[6][3][4] = {    { {  6,  5,  5, 5 }, {  9,  9,  9, 9 }, {  6,  9,  9, 9 } },    { {  6,  5,  7, 3 }, {  9,  9, 12, 6 }, {  6,  9, 12, 6 } },    { { 11, 10,  0, 0 }, { 18, 18,  0, 0 }, { 15, 18,  0, 0 } },    { {  7,  7,  7, 0 }, { 12, 12, 12, 0 }, {  6, 15, 12, 0 } },     { {  6,  6,  6, 3 }, { 12,  9,  9, 6 }, {  6, 12,  9, 6 } },    { {  8,  8,  5, 0 }, { 15, 12,  9, 0 }, {  6, 18,  9, 0 } },};/* mpegaudio layer 3 huffman tables */const uint16_t mpa_huffcodes_1[4] = { 0x0001, 0x0001, 0x0001, 0x0000,};const uint8_t mpa_huffbits_1[4] = {  1,  3,  2,  3,};const uint16_t mpa_huffcodes_2[9] = { 0x0001, 0x0002, 0x0001, 0x0003, 0x0001, 0x0001, 0x0003, 0x0002, 0x0000,};const uint8_t mpa_huffbits_2[9] = {  1,  3,  6,  3,  3,  5,  5,  5,  6,};const uint16_t mpa_huffcodes_3[9] = { 0x0003, 0x0002, 0x0001, 0x0001, 0x0001, 0x0001, 0x0003, 0x0002, 0x0000,};const uint8_t mpa_huffbits_3[9] = {  2,  2,  6,  3,  2,  5,  5,  5,  6,};const uint16_t mpa_huffcodes_5[16] = { 0x0001, 0x0002, 0x0006, 0x0005, 0x0003, 0x0001, 0x0004, 0x0004, 0x0007, 0x0005, 0x0007, 0x0001, 0x0006, 0x0001, 0x0001, 0x0000,};const uint8_t mpa_huffbits_5[16] = {  1,  3,  6,  7,  3,  3,  6,  7,  6,  6,  7,  8,  7,  6,  7,  8,};const uint16_t mpa_huffcodes_6[16] = { 0x0007, 0x0003, 0x0005, 0x0001, 0x0006, 0x0002, 0x0003, 0x0002, 0x0005, 0x0004, 0x0004, 0x0001, 0x0003, 0x0003, 0x0002, 0x0000,};const uint8_t mpa_huffbits_6[16] = {  3,  3,  5,  7,  3,  2,  4,  5,  4,  4,  5,  6,  6,  5,  6,  7,};const uint16_t mpa_huffcodes_7[36] = { 0x0001, 0x0002, 0x000a, 0x0013, 0x0010, 0x000a, 0x0003, 0x0003, 0x0007, 0x000a, 0x0005, 0x0003, 0x000b, 0x0004, 0x000d, 0x0011, 0x0008, 0x0004, 0x000c, 0x000b, 0x0012, 0x000f, 0x000b, 0x0002, 0x0007, 0x0006, 0x0009, 0x000e, 0x0003, 0x0001, 0x0006, 0x0004, 0x0005, 0x0003, 0x0002, 0x0000,};const uint8_t mpa_huffbits_7[36] = {  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,};const uint16_t mpa_huffcodes_8[36] = { 0x0003, 0x0004, 0x0006, 0x0012, 0x000c, 0x0005, 0x0005, 0x0001, 0x0002, 0x0010, 0x0009, 0x0003, 0x0007, 0x0003, 0x0005, 0x000e, 0x0007, 0x0003, 0x0013, 0x0011, 0x000f, 0x000d, 0x000a, 0x0004, 0x000d, 0x0005, 0x0008, 0x000b, 0x0005, 0x0001, 0x000c, 0x0004, 0x0004, 0x0001, 0x0001, 0x0000,};const uint8_t mpa_huffbits_8[36] = {  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,};const uint16_t mpa_huffcodes_9[36] = { 0x0007, 0x0005, 0x0009, 0x000e, 0x000f, 0x0007, 0x0006, 0x0004, 0x0005, 0x0005, 0x0006, 0x0007, 0x0007, 0x0006, 0x0008, 0x0008, 0x0008, 0x0005, 0x000f, 0x0006, 0x0009, 0x000a, 0x0005, 0x0001, 0x000b, 0x0007, 0x0009, 0x0006, 0x0004, 0x0001, 0x000e, 0x0004, 0x0006, 0x0002, 0x0006, 0x0000,};const uint8_t mpa_huffbits_9[36] = {  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,};const uint16_t mpa_huffcodes_10[64] = { 0x0001, 0x0002, 0x000a, 0x0017, 0x0023, 0x001e, 0x000c, 0x0011, 0x0003, 0x0003, 0x0008, 0x000c, 0x0012, 0x0015, 0x000c, 0x0007, 0x000b, 0x0009, 0x000f, 0x0015, 0x0020, 0x0028, 0x0013, 0x0006, 0x000e, 0x000d, 0x0016, 0x0022, 0x002e, 0x0017, 0x0012, 0x0007, 0x0014, 0x0013, 0x0021, 0x002f, 0x001b, 0x0016, 0x0009, 0x0003, 0x001f, 0x0016, 0x0029, 0x001a, 0x0015, 0x0014, 0x0005, 0x0003, 0x000e, 0x000d, 0x000a, 0x000b, 0x0010, 0x0006, 0x0005, 0x0001, 0x0009, 0x0008, 0x0007, 0x0008, 0x0004, 0x0004, 0x0002, 0x0000,};const uint8_t mpa_huffbits_10[64] = {  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,};const uint16_t mpa_huffcodes_11[64] = { 0x0003, 0x0004, 0x000a, 0x0018, 0x0022, 0x0021, 0x0015, 0x000f, 0x0005, 0x0003, 0x0004, 0x000a, 0x0020, 0x0011, 0x000b, 0x000a, 0x000b, 0x0007, 0x000d, 0x0012, 0x001e, 0x001f, 0x0014, 0x0005, 0x0019, 0x000b, 0x0013, 0x003b, 0x001b, 0x0012, 0x000c, 0x0005, 0x0023, 0x0021, 0x001f, 0x003a, 0x001e, 0x0010, 0x0007, 0x0005, 0x001c, 0x001a, 0x0020, 0x0013, 0x0011, 0x000f, 0x0008, 0x000e, 0x000e, 0x000c, 0x0009, 0x000d, 0x000e, 0x0009, 0x0004, 0x0001, 0x000b, 0x0004, 0x0006, 0x0006, 0x0006, 0x0003, 0x0002, 0x0000,};const uint8_t mpa_huffbits_11[64] = {  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,};const uint16_t mpa_huffcodes_12[64] = { 0x0009, 0x0006, 0x0010, 0x0021, 0x0029, 0x0027, 0x0026, 0x001a, 0x0007, 0x0005, 0x0006, 0x0009, 0x0017, 0x0010, 0x001a, 0x000b, 0x0011, 0x0007, 0x000b, 0x000e, 0x0015, 0x001e, 0x000a, 0x0007, 0x0011, 0x000a, 0x000f, 0x000c, 0x0012, 0x001c, 0x000e, 0x0005, 0x0020, 0x000d, 0x0016, 0x0013, 0x0012, 0x0010, 0x0009, 0x0005, 0x0028, 0x0011, 0x001f, 0x001d, 0x0011, 0x000d, 0x0004, 0x0002, 0x001b, 0x000c, 0x000b, 0x000f, 0x000a, 0x0007, 0x0004, 0x0001, 0x001b, 0x000c, 0x0008, 0x000c, 0x0006, 0x0003, 0x0001, 0x0000,};const uint8_t mpa_huffbits_12[64] = {  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,};const uint16_t mpa_huffcodes_13[256] = { 0x0001, 0x0005, 0x000e, 0x0015, 0x0022, 0x0033, 0x002e, 0x0047, 0x002a, 0x0034, 0x0044, 0x0034, 0x0043, 0x002c, 0x002b, 0x0013,

⌨️ 快捷键说明

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