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