misc/libtremor/lsp_lookup.h
changeset 6415 af2047bb4f70
parent 6414 8474b7fa84d6
parent 6350 41b0a9955c47
child 6416 850b8dd3e6df
equal deleted inserted replaced
6414:8474b7fa84d6 6415:af2047bb4f70
     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 "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