dec_rom.c

来自「symbian 下的helix player源代码」· C语言 代码 · 共 2,156 行 · 第 1/5 页

C
2,156
字号
   -243, 13, 199, 430,
   -59, -49, 115, -365,
   72, -172, -137, 93,
   -138, -126, 141, -84,
   5, -124, 38, -20,
   -258, 311, 601, 213,
   94, 130, -61, 502,
   -1, -157, 485, 313,
   146, -74, 158, 345,
   276, 135, 280, -57,
   490, 252, 99, 43,
   267, -74, 429, 105,
   278, -23, 119, 94,
   -542, 488, 257, -115,
   -84, -244, -438, 478,
   -113, -545, 387, 101,
   -95, -306, 111, 498,
   95, 166, 22, -301,
   420, -15, -58, -78,
   270, 29, 122, -282,
   160, -240, 50, -38
};

const Word16 D_ROM_dico23_isf_36b[SIZE_BK23_36b * 7] = {

   81, -18, 68, -27, -122, -280, -4,
   45, -177, 209, -30, -136, -74, 131,
   -44, 101, -75, -88, -48, -137, -54,
   -245, -28, 63, -18, -112, -103, 58,
   -79, -6, 220, -65, 114, -35, -50,
   109, -65, 143, -114, 129, 76, 125,
   166, 90, -61, -242, 186, -74, -43,
   -46, -92, 49, -227, 24, -155, 39,
   67, 85, 99, -42, 53, -184, -281,
   142, -122, 0, 21, -142, -15, -17,
   223, 92, -21, -48, -82, -14, -167,
   51, -37, -243, -30, -90, 18, -56,
   54, 105, 74, 86, 69, 13, -101,
   196, 72, -89, 43, 65, 19, 39,
   121, 34, 131, -82, 25, 213, -156,
   101, -102, -136, -21, 57, 214, 22,
   36, -124, 205, 204, 58, -156, -83,
   83, -117, 137, 137, 85, 116, 44,
   -92, -148, -68, 11, -102, -197, -220,
   -76, -185, -58, 132, -26, -183, 85,
   -7, -31, -2, 23, 205, -151, 10,
   -27, -37, -5, -18, 292, 131, 1,
   117, -168, 9, -93, 80, -59, -125,
   -182, -244, 98, -24, 135, -22, 94,
   221, 97, 106, 42, 43, -160, 83,
   25, -64, -21, 6, 14, -15, 154,
   126, 15, -140, 150, -10, -207, -114,
   79, -63, -211, -70, -28, -217, 165,
   46, 38, -22, 281, 132, -62, 109,
   112, 54, -112, -93, 208, 27, 296,
   115, 10, -147, 41, 216, 42, -276,
   50, -115, -254, 167, 117, -2, 61,
   17, 144, 34, -72, -186, -150, 272,
   -29, -66, -89, -95, -149, 129, 251,
   122, 0, -50, -234, -91, 36, 26,
   -105, -102, -88, -121, -236, -7, -11,
   -204, 109, 5, -191, 105, -15, 163,
   -80, 32, -24, -209, 41, 294, 70,
   -106, -94, -204, -118, 120, -50, -37,
   -82, -241, 46, -131, -29, 150, -55,
   33, 155, 120, -89, -8, 7, 62,
   213, 82, 61, 18, -161, 144, 152,
   30, 131, 65, -87, -255, -17, -107,
   -8, 85, -64, 51, -162, 223, -53,
   -134, 261, 69, -56, 218, 72, -111,
   2, 155, -113, -87, 49, 85, -28,
   -163, 42, -1, -196, 7, 39, -245,
   14, -137, -79, 11, -160, 202, -293,
   -94, 33, 208, 100, 56, -44, 326,
   -78, -41, 232, 13, -142, 227, 80,
   -16, -87, 201, 33, -133, 15, -183,
   -58, -192, -47, 184, -128, 133, 99,
   -205, 11, -155, 78, 52, 72, 141,
   -246, 26, 99, 151, 59, 115, -64,
   -79, -47, -16, -14, 6, 47, -43,
   -72, -178, -27, 162, 112, 43, -174,
   -175, 238, 186, 71, -54, -188, -76,
   -225, 233, 39, -39, -158, 122, 44,
   -26, 43, 84, 130, -93, -51, 22,
   3, 92, -150, 136, -182, -57, 97,
   -131, 179, -78, 80, 91, -165, 90,
   -2, 148, 15, 130, 65, 175, 117,
   -138, 114, -137, 132, 3, -10, -186,
   140, -4, -37, 254, -62, 92, -109
};

/*
 *  isf codebooks:  split-by-5 VQ
 *
 *  codebook   vector dimension    number of vectors
 *  ~~~~~~~~   ~~~~~~~~~~~~~~~~    ~~~~~~~~~~~~~~~~~
 *     1            2                  64
 *     2            3                  64
 *     3            3                  64
 *     4            4                  32
 *     5            4                  32
 */

/*
 * 1st split:   isf0 to isf1
 */
const Word16 D_ROM_dico1_isf_noise[SIZE_BK_NOISE1 * 2] = {
   -269, -673,
   -222, -537,
   -233, -430,
   -138, -451,
   -212, -331,
   -192, -241,
   -87, -231,
   -191, -128,
   -70, -106,
   -164, -6,
   74, -179,
   27, -33,
   -102, 74,
   -162, 115,
   -94, 172,
   -6, 130,
   -143, 234,
   14, 218,
   -65, 270,
   88, 182,
   -124, 341,
   -44, 381,
   38, 335,
   117, 274,
   -112, 454,
   74, 431,
   -5, 488,
   175, 384,
   -83, 561,
   122, 529,
   21, 601,
   229, 481,
   231, 303,
   226, 608,
   300, 372,
   210, 187,
   306, 265,
   328, 473,
   382, 331,
   371, 132,
   139, 58,
   365, 21,
   250, -82,
   443, 218,
   483, 110,
   426, 415,
   579, 222,
   518, 333,
   573, 448,
   455, 529,
   685, 329,
   332, 580,
   595, 593,
   468, 645,
   762, 517,
   326, 709,
   485, 793,
   130, 684,
   671, 737,
   354, 876,
   88, 806,
   -65, 706,
   -35, 1016,
   266, 1123
};


/*
 * 2nd split: isf2 to isf4
 */
const Word16 D_ROM_dico2_isf_noise[SIZE_BK_NOISE2 * 3] = {
   -824, -884, -949,
   -805, -456, -418,
   -442, -438, -541,
   -217, -578, -793,
   -168, -444, -582,
   -287, -492, -274,
   -552, -297, -300,
   -163, -333, -358,
   -370, -232, -232,
   -175, -358, -159,
   -381, -21, -357,
   -184, -159, -162,
   -53, -191, -280,
   18, -267, -215,
   -138, 61, -283,
   71, -95, -294,
   13, -156, -546,
   0, -83, -79,
   44, 97, -316,
   178, -52, -213,
   222, -261, -422,
   237, -118, -44,
   141, 145, -132,
   363, 81, -287,
   213, 65, 34,
   -107, 94, -5,
   91, -29, 126,
   -355, 51, -41,
   -219, -76, 145,
   -63, 100, 244,
   -719, 44, 27,
   -572, -124, 155,
   -423, 133, 315,
   -917, 71, 224,
   -268, 318, 131,
   -93, -190, 420,
   -97, 122, 491,
   -79, 317, 355,
   130, 100, 325,
   86, -293, 210,
   133, 258, 161,
   176, -73, 465,
   195, 300, 384,
   348, 22, 221,
   376, 183, 409,
   377, 286, 202,
   242, 213, 659,
   257, 565, 248,
   344, 408, -76,
   405, 440, 509,
   612, 385, 379,
   536, 607, 216,
   -56, 582, 192,
   100, 517, 567,
   -365, 448, 445,
   728, 347, 10,
   505, 357, 759,
   636, 582, 658,
   335, 517, 852,
   378, 809, 572,
   -195, 878, 829,
   529, 707, 987,
   918, 726, 392,
   1250, 997, 1063
};

/*
 * 3rd split: isf5 to isf7
 */
const Word16 D_ROM_dico3_isf_noise[SIZE_BK_NOISE3 * 3] = {
   -805, -838, -774,
   -522, -627, -828,
   -477, -486, -603,
   -295, -481, -634,
   -366, -384, -393,
   -186, -414, -396,
   -237, -394, -106,
   -252, -202, -275,
   -61, -177, -442,
   -84, -198, -199,
   -179, -125, -31,
   -72, -47, -163,
   -298, -220, 215,
   -64, -168, 251,
   -133, 156, -59,
   -30, -2, 127,
   54, 66, -61,
   -233, 21, 251,
   209, -50, 32,
   33, 194, 136,
   -117, -18, 475,
   202, 46, 309,
   256, 185, 53,
   35, 200, 390,
   200, 263, 242,
   -216, 302, 294,
   128, 358, 0,
   19, 431, 287,
   224, 447, 280,
   367, 165, 213,
   397, 314, 319,
   383, 379, 75,
   277, 325, 462,
   394, 505, 334,
   251, 98, -213,
   450, 153, 448,
   565, 226, 76,
   470, 383, 502,
   635, 390, 278,
   237, 135, 620,
   342, 401, 649,
   331, 551, 518,
   130, 418, 592,
   531, 306, 737,
   729, 389, 580,
   497, 557, 699,
   296, 383, 874,
   283, 624, 759,
   126, 622, 476,
   559, 595, 472,
   382, 770, 616,
   719, 613, 745,
   540, 639, 928,
   517, 826, 801,
   684, 811, 604,
   752, 786, 857,
   933, 661, 350,
   694, 450, 1061,
   562, 911, 1051,
   824, 813, 1104,
   758, 1047, 882,
   1140, 917, 889,
   1039, 1246, 1426,
   1483, 1666, 1876
};

/*
 * 4th split: isf8 to isf11
 */
const Word16 D_ROM_dico4_isf_noise[SIZE_BK_NOISE4 * 4] = {
   -776, -854, -891, -920,
   -552, -610, -663, -741,
   -321, -370, -476, -565,
   274, -160, -456, 201,
   265, 67, -160, -306,
   -8, -210, 79, 272,
   163, 236, 307, 308,
   578, 317, 64, 298,
   -9, 197, 342, 620,
   343, 232, 314, 622,
   173, 149, 548, 527,
   356, 370, 481, 376,
   135, 444, 488, 556,
   391, 471, 487, 653,
   228, 424, 576, 835,
   422, 372, 722, 682,
   295, 673, 693, 635,
   539, 596, 590, 449,
   475, 618, 659, 818,
   735, 517, 491, 673,
   602, 346, 257, 877,
   625, 635, 849, 720,
   727, 818, 698, 595,
   653, 481, 690, 1139,
   814, 762, 704, 908,
   507, 747, 898, 936,
   848, 855, 924, 785,
   646, 1037, 882, 795,
   772, 845, 1024, 1151,
   1133, 983, 818, 921,
   940, 1068, 1252, 1302,
   1588, 1767, 1718, 1513
};

/*
 * 5th split: isf12 to isf15
 */
const Word16 D_ROM_dico5_isf_noise[SIZE_BK_NOISE5 * 4] = {
   -810, -879, -945, -254,
   248, 184, 671, 128,
   288, 703, 918, 99,
   658, 558, 662, 219,
   552, 585, 910, 208,
   559, 804, 759, 119,
   606, 774, 921, -139,
   782, 761, 748, 208,
   756, 708, 983, 56,
   544, 864, 1010, 152,
   737, 698, 987, 299,
   771, 924, 879, 103,
   536, 785, 961, 405,
   667, 916, 801, 328,
   738, 705, 773, 439,
   823, 871, 992, 355,
   640, 1004, 1052, 369,
   724, 822, 949, 597,
   415, 655, 729, 482,
   1009, 896, 793, 363,
   908, 803, 687, -25,
   1016, 838, 1011, 189,
   947, 1112, 942, 222,
   914, 1049, 981, 527,
   956, 987, 1011, -120,
   781, 1049, 1121, 92,
   1178, 1053, 884, 47,
   1123, 1059, 1182, 118,
   933, 972, 1277, 357,
   1109, 918, 1101, 503,
   1039, 1286, 1220, 317,
   1351, 1207, 1010, 326
};

/*
 * Table of pitch and codebook gains
 *
 * g_pitch(Q14), g_code(Q11)
 *
 * pitch gain are ordered in table to reduce complexity
 * during quantization of gains.
 */

/* Number of quantization level is 64 */
const Word16 D_ROM_qua_gain6b[64 * 2] = {
   1566, 1332,
   1577, 3557,
   3071, 6490,
   4193, 10163,
   4496, 2534,
   5019, 4488,
   5586, 15614,
   5725, 1422,
   6453, 580,
   6724, 6831,
   7657, 3527,
   8072, 2099,
   8232, 5319,
   8827, 8775,
   9740, 2868,
   9856, 1465,
   10087, 12488,
   10241, 4453,
   10859, 6618,
   11321, 3587,
   11417, 1800,
   11643, 2428,
   11718, 988,
   12312, 5093,
   12523, 8413,
   12574, 26214,
   12601, 3396,
   13172, 1623,
   13285, 2423,
   13418, 6087,
   13459, 12810,

⌨️ 快捷键说明

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