www.pudn.com > iMagic_2006_0428_v098r23.rar > AAC_tables.h


#ifndef _AAC_TABLES_H 
#define _AAC_TABLES_H 
 
#include "AACEncoder.h" 
 
 
 
////////////////////////////////////////////////////////////////////////// 
// The 2^(i/16) and 1/[2^(i/16)] power index tables.  i=0 - 15  
////////////////////////////////////////////////////////////////////////// 
int c_i_POW2_X16_table[16]= 
{ 
   // (S.1.30) 
//    0x40000000,0x42D561B3,0x45CAE0F1,0x48E1E9B9, 
//    0x4C1BF828,0x4F7A9930,0x52FF6B54,0x56AC1F75, 
//    0x5A827999,0x5E8451CF,0x62B39508,0x6712460A, 
//    0x6BA27E65,0x70666F76,0x75606373,0x7A92BE8A 
 
   // (S.0.31) 
   0x00000000,0x05AAC367,0x0B95C1E3,0x11C3D373, 
   0x1837F051,0x1EF53260,0x25FED6A9,0x2D583EEA, 
   0x3504F333,0x3D08A39F,0x45672A11,0x4E248C15, 
   0x5744FCCA,0x60CCDEEC,0x6AC0C6E7,0x75257D15 
 
}; 
 
 
int c_i_INVPOW2_X16_table[16]= 
{ 
   // (S.1.30) 
//    0x40000000,0x3D495F45,0x3AB031B9,0x383337BB, 
//    0x35D13F32,0x33892305,0x3159CA84,0x2F4228E7, 
//    0x2D413CCC,0x2B560FBA,0x297FB5AA,0x27BD4C98, 
//    0x260DFC14,0x2470F4DC,0x22E57078,0x216AB0D9 
 
   // (S.0.31) 
   0x7FFFFFFF,0x7A92BE8A,0x75606373,0x70666F76, 
   0x6BA27E65,0x6712460A,0x62B39508,0x5E8451CF, 
   0x5A827999,0x56AC1F75,0x52FF6B54,0x4F7A9930, 
   0x4C1BF828,0x48E1E9B9,0x45CAE0F1,0x42D561B3 
}; 
 
 
 
// log2(sfb+2) * POW2_12 
short c_amplify_table[MAX_SCFAC_BANDS]= 
{ 
   0x1000,0x195C,0x2000,0x2526,0x295C,0x2CEA,0x3000,0x32B8,0x3526,0x3759, 
   0x395C,0x3B35,0x3CEA,0x3E82,0x4000,0x4166,0x42B8,0x43F7,0x4526,0x4646, 
   0x4759,0x4860,0x495C,0x4A4D,0x4B35,0x4C14,0x4CEA,0x4DBA,0x4E82,0x4F44, 
   0x5000,0x50B5,0x5166,0x5211,0x52B8,0x5359,0x53F7,0x5491,0x5526,0x55B8, 
   0x5646,0x56D1,0x5759,0x57DE,0x5860,0x58DF,0x595C,0x59D5,0x5A4D,0x5AC2, 
   0x5B35,0x5BA5,0x5C14 
}; 
 
 
static int samplerate_table[12]= 
{ 
   96000 , 88200 , 64000 , 48000 , 44100 , 
   32000 , 24000 , 22050 , 16000 , 12000 , 
   11025 , 8000 
}; 
 
 
    
static int bandnum_table[12]= 
{      
   41 , 41 , 47 , 49 , 49 , 51 , 
   47 , 47 , 43 , 43 , 43 , 40 
}; 
    
static int bandwidth_table[12][NSFB_LONG]= 
{ 
   {     // 96000 Hz , 41 band 
      4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  8, 
      8,  8,  8,  8,  12, 12, 12, 12, 12, 16, 16, 24, 28, 36, 44, 
      64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64 
   }, 
    
   {   // 88200 Hz , 41 band 
      4,    4,    4,    4,    4,    4,    4,    4,    4,    4,    4,    4,    4,    4,    8, 
      8,    8,    8,    8,    12, 12, 12, 12, 12, 16, 16, 24, 28,    36, 44, 
      64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64 
   }, 
    
   {     // 64000 Hz , 47 band 
      4,    4,    4,    4,    4,    4,    4,    4,    4,    4,    4,    4,    4,    4,    8, 
      8,    8,    8,    12, 12, 12, 16, 16, 16, 20, 24, 24, 28,   36, 40, 
      40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,    40, 40, 40, 
      40, 40 
   }, 
    
   {     // 48000 Hz , 49 band 
      4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  8,  8,  8,  8,  8, 
      8,  8,   12, 12, 12, 12, 16, 16, 20, 20, 24, 24, 28, 28, 32, 
      32, 32, 32, 32, 32,     32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 
      32, 32, 32, 96 
      }, 
 
   {     // 44100 Hz , 49 band 
      4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  8,  8,  8,  8,  8, 
      8,  8,   12, 12, 12, 12, 16, 16, 20, 20, 24, 24, 28, 28, 32, 
      32, 32, 32, 32, 32,     32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 
      32, 32, 32, 96 
   }, 
    
   {     // 32000 Hz , 51 band 
      4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  8,  8,  8,  8,   8, 
      8,  8,  12, 12, 12, 12, 16, 16, 20, 20, 24, 24, 28,   28, 32, 
      32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,    32, 32, 32, 
      32, 32, 32, 32, 32, 32 
   }, 
    
   {     // 24000 Hz , 47 band 
      4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  8,  8,  8,  8, 
      8,  8,  8,     8,  8,  8,  12, 12, 12, 12, 16, 16, 16, 20, 20, 
      24, 24, 28, 28, 32,     36, 36, 40, 44, 48, 52, 52, 64, 64, 64, 
      64, 64 
   }, 
    
   {     // 22050 Hz, 47 band 
      4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  8,  8,  8,  8, 
      8,  8,  8,     8,  8,  8,  12, 12, 12, 12, 16, 16, 16, 20, 20, 
      24, 24, 28, 28, 32,     36, 36, 40, 44, 48, 52, 52, 64, 64, 64, 
      64, 64 
   }, 
    
   {     // 16000 Hz , 43 band 
      8,    8,    8,    8,    8,    8,    8,    8,    8,    8,    8,    12, 12, 12,    12, 
      12, 12, 12,    12, 12, 16, 16, 16, 16, 20, 20, 20, 24,   24, 28, 
      28, 32, 36, 40, 40, 44, 48, 52, 56, 60, 64, 64, 64 
   }, 
    
   {     // 12000 Hz , 43 band 
      8,    8,    8,    8,    8,    8,    8,    8,    8,    8,    8,    12, 12, 12,    12, 
      12, 12, 12, 12, 12, 16, 16, 16, 16, 20, 20, 20, 24,   24, 28, 
      28, 32, 36, 40, 40, 44, 48, 52, 56, 60, 64, 64, 64 
   }, 
    
   {     // 11025 Hz , 43 band 
      8,    8,    8,    8,    8,    8,    8,    8,    8,    8,    8,    12, 12, 12,    12, 
      12, 12, 12, 12, 12, 16, 16, 16, 16, 20, 20, 20, 24,   24, 28, 
      28, 32, 36, 40, 40, 44, 48, 52, 56, 60, 64, 64, 64 
   }, 
    
   {     // 8000 Hz , 40 band 
      12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 16,     16, 
      16, 16, 16, 16, 16, 20, 20, 20, 20, 24, 24, 24, 28,   28, 32, 
      36, 36, 40, 44, 48, 52, 56, 60, 64, 80 
   }, 
 
}; 
 
unsigned int Fixed_Sqrt_Table[513]=  
{ 
   131072,131199,131327,131455,131583,131710, 
   131837,131964,132092,132218,132345,132472, 
   132599,132725,132851,132978,133104,133230, 
   133356,133481,133607,133732,133858,133983, 
   134108,134233,134358,134483,134608,134732, 
   134857,134981,135105,135230,135354,135477, 
   135601,135725,135848,135972,136095,136218, 
   136342,136465,136587,136710,136833,136955, 
   137078,137200,137322,137445,137567,137688, 
   137810,137932,138054,138175,138296,138418, 
   138539,138660,138781,138902,139022,139143, 
   139264,139384,139504,139624,139745,139865, 
   139984,140104,140224,140344,140463,140582, 
   140702,140821,140940,141059,141178,141297, 
   141415,141534,141652,141771,141889,142007, 
   142125,142243,142361,142479,142597,142714, 
   142832,142949,143067,143184,143301,143418, 
   143535,143652,143769,143885,144002,144118, 
   144235,144351,144467,144583,144699,144815, 
   144931,145046,145162,145278,145393,145508, 
   145624,145739,145854,145969,146084,146199, 
   146313,146428,146542,146657,146771,146886, 
   147000,147114,147228,147342,147456,147569, 
   147683,147796,147910,148023,148137,148250, 
   148363,148476,148589,148702,148815,148927, 
   149040,149152,149265,149377,149489,149602, 
   149714,149826,149938,150050,150161,150273, 
   150385,150496,150608,150719,150830,150941, 
   151053,151164,151274,151385,151496,151607, 
   151717,151828,151938,152049,152159,152269, 
   152380,152490,152600,152709,152819,152929, 
   153039,153148,153258,153367,153477,153586, 
   153695,153804,153913,154022,154131,154240, 
   154349,154457,154566,154674,154783,154891, 
   154999,155108,155216,155324,155432,155540, 
   155648,155755,155863,155971,156078,156186, 
   156293,156400,156507,156615,156722,156829, 
   156936,157043,157149,157256,157363,157469, 
   157576,157682,157789,157895,158001,158107, 
   158213,158319,158425,158531,158637,158743, 
   158848,158954,159059,159165,159270,159375, 
   159481,159586,159691,159796,159901,160006, 
   160111,160215,160320,160425,160529,160634, 
   160738,160842,160947,161051,161155,161259, 
   161363,161467,161571,161675,161779,161882, 
   161986,162089,162193,162296,162400,162503, 
   162606,162709,162812,162915,163018,163121, 
   163224,163327,163429,163532,163635,163737, 
   163840,163942,164044,164146,164249,164351, 
   164453,164555,164657,164759,164860,164962, 
   165064,165165,165267,165368,165470,165571, 
   165672,165774,165875,165976,166077,166178, 
   166279,166380,166481,166581,166682,166783, 
   166883,166984,167084,167185,167285,167385, 
   167485,167585,167686,167786,167886,167985, 
   168085,168185,168285,168384,168484,168584, 
   168683,168783,168882,168981,169080,169180, 
   169279,169378,169477,169576,169675,169774, 
   169872,169971,170070,170168,170267,170366, 
   170464,170562,170661,170759,170857,170955, 
   171053,171152,171250,171347,171445,171543, 
   171641,171739,171836,171934,172032,172129, 
   172226,172324,172421,172518,172616,172713, 
   172810,172907,173004,173101,173198,173295, 
   173391,173488,173585,173681,173778,173875, 
   173971,174067,174164,174260,174356,174453, 
   174549,174645,174741,174837,174933,175029, 
   175124,175220,175316,175412,175507,175603, 
   175698,175794,175889,175985,176080,176175, 
   176270,176365,176461,176556,176651,176746, 
   176840,176935,177030,177125,177220,177314, 
   177409,177503,177598,177692,177787,177881, 
   177975,178070,178164,178258,178352,178446, 
   178540,178634,178728,178822,178915,179009, 
   179103,179197,179290,179384,179477,179571, 
   179664,179757,179851,179944,180037,180130, 
   180224,180317,180410,180503,180595,180688, 
   180781,180874,180967,181059,181152,181245, 
   181337,181430,181522,181614,181707,181799, 
   181891,181984,182076,182168,182260,182352, 
   182444,182536,182628,182720,182811,182903, 
   182995,183087,183178,183270,183361,183453, 
   183544,183636,183727,183818,183909,184001, 
   184092,184183,184274,184365,184456,184547, 
   184638,184729,184819,184910,185001,185092, 
   185182,185273,185363 
}; 
 
#endif