1 /******************************************************************** 2 * * 3 * THIS FILE IS PART OF THE OggVorbis 'TREMOR' CODEC SOURCE CODE. * 4 * * 5 * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS * 6 * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE * 7 * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. * 8 * * 9 * THE OggVorbis 'TREMOR' SOURCE CODE IS (C) COPYRIGHT 1994-2002 * 10 * BY THE Xiph.Org FOUNDATION http://www.xiph.org/ * 11 * * 12 ******************************************************************** 13 14 function: lookup data 15 16 ********************************************************************/ 17 18 #ifndef _V_LOOKUP_DATA_H_ 19 #define _V_LOOKUP_DATA_H_ 20 21 #include <ogg/os_types.h> 22 23 #define FROMdB_LOOKUP_SZ 35 24 #define FROMdB2_LOOKUP_SZ 32 25 #define FROMdB_SHIFT 5 26 #define FROMdB2_SHIFT 3 27 #define FROMdB2_MASK 31 28 29 static const ogg_int32_t FROMdB_LOOKUP[FROMdB_LOOKUP_SZ]={ 30 0x003fffff, 0x0028619b, 0x00197a96, 0x0010137a, 31 0x000a24b0, 0x00066666, 0x000409c3, 0x00028c42, 32 0x00019b8c, 0x000103ab, 0x0000a3d7, 0x00006760, 33 0x0000413a, 0x00002928, 0x000019f8, 0x00001062, 34 0x00000a56, 0x00000686, 0x0000041e, 0x00000299, 35 0x000001a3, 0x00000109, 0x000000a7, 0x00000069, 36 0x00000042, 0x0000002a, 0x0000001a, 0x00000011, 37 0x0000000b, 0x00000007, 0x00000004, 0x00000003, 38 0x00000002, 0x00000001, 0x00000001}; 39 40 static const ogg_int32_t FROMdB2_LOOKUP[FROMdB2_LOOKUP_SZ]={ 41 0x000001fc, 0x000001f5, 0x000001ee, 0x000001e7, 42 0x000001e0, 0x000001d9, 0x000001d2, 0x000001cc, 43 0x000001c5, 0x000001bf, 0x000001b8, 0x000001b2, 44 0x000001ac, 0x000001a6, 0x000001a0, 0x0000019a, 45 0x00000194, 0x0000018e, 0x00000188, 0x00000183, 46 0x0000017d, 0x00000178, 0x00000172, 0x0000016d, 47 0x00000168, 0x00000163, 0x0000015e, 0x00000159, 48 0x00000154, 0x0000014f, 0x0000014a, 0x00000145, 49 }; 50 51 #define INVSQ_LOOKUP_I_SHIFT 10 52 #define INVSQ_LOOKUP_I_MASK 1023 53 static const long INVSQ_LOOKUP_I[64+1]={ 54 92682, 91966, 91267, 90583, 55 89915, 89261, 88621, 87995, 56 87381, 86781, 86192, 85616, 57 85051, 84497, 83953, 83420, 58 82897, 82384, 81880, 81385, 59 80899, 80422, 79953, 79492, 60 79039, 78594, 78156, 77726, 61 77302, 76885, 76475, 76072, 62 75674, 75283, 74898, 74519, 63 74146, 73778, 73415, 73058, 64 72706, 72359, 72016, 71679, 65 71347, 71019, 70695, 70376, 66 70061, 69750, 69444, 69141, 67 68842, 68548, 68256, 67969, 68 67685, 67405, 67128, 66855, 69 66585, 66318, 66054, 65794, 70 65536, 71 }; 72 73 static const long INVSQ_LOOKUP_IDel[64]={ 74 716, 699, 684, 668, 75 654, 640, 626, 614, 76 600, 589, 576, 565, 77 554, 544, 533, 523, 78 513, 504, 495, 486, 79 477, 469, 461, 453, 80 445, 438, 430, 424, 81 417, 410, 403, 398, 82 391, 385, 379, 373, 83 368, 363, 357, 352, 84 347, 343, 337, 332, 85 328, 324, 319, 315, 86 311, 306, 303, 299, 87 294, 292, 287, 284, 88 280, 277, 273, 270, 89 267, 264, 260, 258, 90 }; 91 92 #define COS_LOOKUP_I_SHIFT 9 93 #define COS_LOOKUP_I_MASK 511 94 #define COS_LOOKUP_I_SZ 128 95 static const ogg_int32_t COS_LOOKUP_I[COS_LOOKUP_I_SZ+1]={ 96 16384, 16379, 16364, 16340, 97 16305, 16261, 16207, 16143, 98 16069, 15986, 15893, 15791, 99 15679, 15557, 15426, 15286, 100 15137, 14978, 14811, 14635, 101 14449, 14256, 14053, 13842, 102 13623, 13395, 13160, 12916, 103 12665, 12406, 12140, 11866, 104 11585, 11297, 11003, 10702, 105 10394, 10080, 9760, 9434, 106 9102, 8765, 8423, 8076, 107 7723, 7366, 7005, 6639, 108 6270, 5897, 5520, 5139, 109 4756, 4370, 3981, 3590, 110 3196, 2801, 2404, 2006, 111 1606, 1205, 804, 402, 112 0, -401, -803, -1204, 113 -1605, -2005, -2403, -2800, 114 -3195, -3589, -3980, -4369, 115 -4755, -5138, -5519, -5896, 116 -6269, -6638, -7004, -7365, 117 -7722, -8075, -8422, -8764, 118 -9101, -9433, -9759, -10079, 119 -10393, -10701, -11002, -11296, 120 -11584, -11865, -12139, -12405, 121 -12664, -12915, -13159, -13394, 122 -13622, -13841, -14052, -14255, 123 -14448, -14634, -14810, -14977, 124 -15136, -15285, -15425, -15556, 125 -15678, -15790, -15892, -15985, 126 -16068, -16142, -16206, -16260, 127 -16304, -16339, -16363, -16378, 128 -16383, 129 }; 130 131 #endif 132 133 134 135 136 137