misc/libtremor/tremor/lsp_lookup.h
branchwebgl
changeset 9521 8054d9d775fd
parent 9282 92af50454cf2
parent 9519 b8b5c82eb61b
child 9950 2759212a27de
equal deleted inserted replaced
9282:92af50454cf2 9521:8054d9d775fd
     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