videoeditorengine/mp3aacManipLib/inc/ProcConstants.h
changeset 0 951a5db380a0
equal deleted inserted replaced
-1:000000000000 0:951a5db380a0
       
     1 /*
       
     2 * Copyright (c) 2010 Ixonos Plc.
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of the "Eclipse Public License v1.0"
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - Initial contribution
       
    11 *
       
    12 * Contributors:
       
    13 * Ixonos Plc
       
    14 *
       
    15 * Description:  
       
    16 *
       
    17 */
       
    18 
       
    19 
       
    20 /* Copyright (C) 2004 Nokia Corporation. */
       
    21 
       
    22 #ifndef __PROCCONSTANTS_H__
       
    23 #define __PROCCONSTANTS_H__
       
    24 
       
    25 #include <e32std.h>
       
    26 
       
    27 const TInt KAmrBitRates[] = 
       
    28     {
       
    29     4750,
       
    30     5150,
       
    31     5900,
       
    32     6700,
       
    33     7400,
       
    34     7950,
       
    35     10200,
       
    36     12200
       
    37     };
       
    38 
       
    39 // bit locations for fixed codebook gains
       
    40 
       
    41 // subframe 1, bitrate 12.2 kBit/s
       
    42 const TUint8 KAmrGains122_1[] = {59+8,63+8,67+8,92+8,104+8};
       
    43 // subframe 2, bitrate 12.2 kBit/s
       
    44 const TUint8 KAmrGains122_2[] = {60+8,64+8,68+8,93+8,105+8};
       
    45 // subframe 3, bitrate 12.2 kBit/s
       
    46 const TUint8 KAmrGains122_3[] = {61+8,65+8,69+8,94+8,106+8};
       
    47 // subframe 4, bitrate 12.2 kBit/s
       
    48 const TUint8 KAmrGains122_4[] = {62+8,66+8,70+8,95+8,107+8};
       
    49 
       
    50 // subframe 1, bitrate 7.95 kBit/s
       
    51 const TUint8 KAmrGains795_1[] = {23+8,27+8,31+8,59+8,83+8};
       
    52 // subframe 2, bitrate 7.95 kBit/s
       
    53 const TUint8 KAmrGains795_2[] = {24+8,28+8,32+8,60+8,84+8};
       
    54 // subframe 3, bitrate 7.95 kBit/s
       
    55 const TUint8 KAmrGains795_3[] = {25+8,29+8,33+8,61+8,85+8};
       
    56 // subframe 4, bitrate 7.95 kBit/s
       
    57 const TUint8 KAmrGains795_4[] = {26+8,30+8,34+8,62+8,86+8};
       
    58 
       
    59 
       
    60 // subframe 1, bitrate 10.2 kBit/s
       
    61 const TUint8 KAmrGains102_1[] = {33+8,53+8,83+8,34+8,35+8,82+8,84+8};
       
    62 // subframe 2, bitrate 10.2 kBit/s
       
    63 const TUint8 KAmrGains102_2[] = {36+8,54+8,86+8,37+8,38+8,85+8,87+8};
       
    64 // subframe 3, bitrate 10.2 kBit/s
       
    65 const TUint8 KAmrGains102_3[] = {39+8,55+8,89+8,40+8,41+8,88+8,90+8};
       
    66 // subframe 4, bitrate 10.2 kBit/s
       
    67 const TUint8 KAmrGains102_4[] = {42+8,56+8,92+8,43+8,44+8,91+8,93+8};
       
    68 
       
    69 
       
    70 // subframe 1, bitrate 7.4 kBit/s
       
    71 const TUint8 KAmrGains740_1[] = {27+8,31+8,78+8,35+8,39+8,57+8,68+8};
       
    72 // subframe 2, bitrate 7.4 kBit/s
       
    73 const TUint8 KAmrGains740_2[] = {28+8,32+8,79+8,36+8,40+8,58+8,69+8};
       
    74 // subframe 3, bitrate 7.4 kBit/s
       
    75 const TUint8 KAmrGains740_3[] = {29+8,33+8,80+8,37+8,41+8,59+8,70+8};
       
    76 // subframe 4, bitrate 7.4 kBit/s
       
    77 const TUint8 KAmrGains740_4[] = {30+8,34+8,81+8,38+8,42+8,60+8,71+8};
       
    78 
       
    79 
       
    80 // subframe 1, bitrate 6.7 kBit/s
       
    81 const TUint8 KAmrGains670_1[] = {35+8,85+8,66+8,41+8,45+8,55+8,74+8};
       
    82 // subframe 2, bitrate 6.7 kBit/s
       
    83 const TUint8 KAmrGains670_2[] = {36+8,84+8,67+8,42+8,46+8,56+8,75+8};
       
    84 // subframe 3, bitrate 6.7 kBit/s
       
    85 const TUint8 KAmrGains670_3[] = {37+8,83+8,68+8,43+8,47+8,57+8,76+8};
       
    86 // subframe 4, bitrate 6.7 kBit/s
       
    87 const TUint8 KAmrGains670_4[] = {38+8,82+8,69+8,44+8,48+8,58+8,77+8};
       
    88 
       
    89 
       
    90 // subframe 1, bitrate 5.9 kBit/s
       
    91 const TUint8 KAmrGains590_1[] = {76+8,55+8,51+8,47+8,37+8,29+8};
       
    92 // subframe 2, bitrate 5.9 kBit/s
       
    93 const TUint8 KAmrGains590_2[] = {77+8,56+8,52+8,48+8,38+8,30+8};
       
    94 // subframe 3, bitrate 5.9 kBit/s
       
    95 const TUint8 KAmrGains590_3[] = {78+8,57+8,53+8,49+8,39+8,31+8};
       
    96 // subframe 4, bitrate 5.9 kBit/s
       
    97 const TUint8 KAmrGains590_4[] = {79+8,58+8,54+8,50+8,40+8,32+8};
       
    98 
       
    99 
       
   100 
       
   101 // subframe 1, bitrate 5.15 kBit/s
       
   102 const TUint8 KAmrGains515_1[] = {55+8,45+8,36+8,26+8,25+8,24+8};
       
   103 // subframe 2, bitrate 5.15 kBit/s
       
   104 const TUint8 KAmrGains515_2[] = {56+8,46+8,37+8,29+8,28+8,27+8};
       
   105 // subframe 3, bitrate 5.15 kBit/s
       
   106 const TUint8 KAmrGains515_3[] = {57+8,47+8,38+8,32+8,31+8,30+8};
       
   107 // subframe 4, bitrate 5.15 kBit/s
       
   108 const TUint8 KAmrGains515_4[] = {58+8,48+8,39+8,35+8,34+8,33+8};
       
   109 
       
   110 
       
   111 //subframes 1 & s, bitrate 4.75 kBit/s
       
   112 const TUint8 KAmrGains475_1_2[] = {49+8,48+8,47+8,46+8,31+8,30+8,29+8,28+8};
       
   113 const TUint8 KAmrGains475_3_4[] = {43+8,42+8,41+8,40+8,35+8,34+8,33+8,32+8};
       
   114 
       
   115 
       
   116 // Gain table 12.2 kBit/s and 7.95 kBit/s, scalar quantized
       
   117 const TInt KAmrGainTable122[] = 
       
   118     {
       
   119     159,
       
   120     206,
       
   121     268,
       
   122     349,
       
   123     419,
       
   124     482,
       
   125     554,
       
   126     637,
       
   127     733,
       
   128     842,
       
   129     969,
       
   130     1114,
       
   131     1281,
       
   132     1473,
       
   133     1694,
       
   134     1948,
       
   135     2241,
       
   136     2577,
       
   137     2963,
       
   138     3408,
       
   139     3919,
       
   140     4507,
       
   141     5183,
       
   142     5960,
       
   143     6855,
       
   144     7883,
       
   145     9065,
       
   146     10425,
       
   147     12510,
       
   148     16263,
       
   149     21142,
       
   150     27485
       
   151     };
       
   152 
       
   153 const TInt KAmrLargestGain122 = 27485;
       
   154 
       
   155 // Gain table, 10.2, 6.70 and 7.40 kBit/s vector quantized
       
   156 
       
   157 // index = 0...127
       
   158 // KAmrGainTable[2*index] = g_pitch
       
   159 // KAmrGainTable[2*index+1] = g_fac (fixed codebook gain)
       
   160 
       
   161 const TInt KAmrGainTable102[] =
       
   162     {
       
   163 //g_pit,    g_fac 
       
   164     577,      662,        
       
   165     806,     1836,           
       
   166    3109,     1052,   
       
   167    4181,     1387,           
       
   168    2373,     1425,           
       
   169    3248,     1985,           
       
   170    1827,     2320,           
       
   171     941,     3314,           
       
   172    2351,     2977,           
       
   173    3616,     2420,           
       
   174    3451,     3096,           
       
   175    2955,     4301,           
       
   176    1848,     4500,           
       
   177    3884,     5416,           
       
   178    1187,     7210,           
       
   179    3083,     9000,           
       
   180    7384,      883,           
       
   181    5962,     1506,           
       
   182    5155,     2134,           
       
   183    7944,     2009,           
       
   184    6507,     2250,           
       
   185    7670,     2752,           
       
   186    5952,     3016,           
       
   187    4898,     3764,           
       
   188    6989,     3588,           
       
   189    8174,     3978,           
       
   190    6064,     4404,           
       
   191    7709,     5087,           
       
   192    5523,     6021,           
       
   193    7769,     7126,           
       
   194    6060,     7938,           
       
   195    5594,    11487,           
       
   196   10581,     1356,           
       
   197    9049,     1597,           
       
   198    9794,     2035,           
       
   199    8946,     2415,            
       
   200   10296,     2584,         
       
   201    9407,     2734,            
       
   202    8700,     3218,            
       
   203    9757,     3395,            
       
   204   10177,     3892,             
       
   205    9170,     4528,            
       
   206   10152,     5004,            
       
   207    9114,     5735,            
       
   208   10500,     6266,           
       
   209   10110,     7631,            
       
   210    8844,     8727,            
       
   211    8956,    12496,          
       
   212   12924,      976,          
       
   213   11435,     1755,           
       
   214   12138,     2328,            
       
   215   11388,     2368,            
       
   216   10700,     3064,            
       
   217   12332,     2861,            
       
   218   11722,     3327,            
       
   219   11270,     3700,            
       
   220   10861,     4413,           
       
   221   12082,     4533,             
       
   222   11283,     5205,            
       
   223   11960,     6305,            
       
   224   11167,     7534,             
       
   225   12128,     8329,            
       
   226   10969,    10777,            
       
   227   10300,    17376,            
       
   228   13899,     1681,           
       
   229   12580,     2045,          
       
   230   13265,     2439,           
       
   231   14033,     2989,            
       
   232   13452,     3098,           
       
   233   12396,     3658,           
       
   234   13510,     3780,            
       
   235   12880,     4272,             
       
   236   13533,     4861,           
       
   237   12667,     5457,             
       
   238   13854,     6106,             
       
   239   13031,     6483,           
       
   240   13557,     7721,             
       
   241   12957,     9311,           
       
   242   13714,    11551,            
       
   243   12591,    15206,           
       
   244   15113,     1540,           
       
   245   15072,     2333,            
       
   246   14527,     2511,           
       
   247   14692,     3199,            
       
   248   15382,     3560,           
       
   249   14133,     3960,             
       
   250   15102,     4236,             
       
   251   14332,     4824,            
       
   252   14846,     5451,           
       
   253   15306,     6083,            
       
   254   14329,     6888,           
       
   255   15060,     7689,             
       
   256   14406,     9426,           
       
   257   15387,     9741,           
       
   258   14824,    14271,           
       
   259   13600,    24939,          
       
   260   16396,     1969,           
       
   261   16817,     2832,           
       
   262   15713,     2843,            
       
   263   16104,     3336,            
       
   264   16384,     3963,            
       
   265   16940,     4579,             
       
   266   15711,     4599,            
       
   267   16222,     5448,             
       
   268   16832,     6382,            
       
   269   15745,     7141,            
       
   270   16326,     7469,           
       
   271   16611,     8624,          
       
   272   17028,    10418,           
       
   273   15905,    11817,            
       
   274   16878,    14690,            
       
   275   16515,    20870,            
       
   276   18142,     2083,            
       
   277   19401,     3178,           
       
   278   17508,     3426,            
       
   279   20054,     4027,            
       
   280   18069,     4249,             
       
   281   18952,     5066,             
       
   282   17711,     5402,             
       
   283   19835,     6192,             
       
   284   17950,     7014,            
       
   285   21318,     7877,             
       
   286   17910,     9289,           
       
   287   19144,     9290,           
       
   288   20517,    11381,           
       
   289   18075,    14485,            
       
   290   19999,    17882,            
       
   291   18842,    32764
       
   292   };
       
   293 
       
   294 const TInt KAmrLargestGain102 = 32764;
       
   295 
       
   296 
       
   297 // Gain table, 5.9 and 5.15 kBit/s vector quantized
       
   298 
       
   299 // index = 0...127
       
   300 // KAmrGainTable[2*index] = g_pitch
       
   301 // KAmrGainTable[2*index+1] = g_fac (fixed codebook gain)
       
   302 
       
   303 const TInt KAmrGainTable590[] =
       
   304     {
       
   305 //g_pit,    g_fac  
       
   306   10813,    28753,            
       
   307   20480,     2785,          
       
   308   18841,     6594,           
       
   309    6225,     7413,           
       
   310   17203,    10444,           
       
   311   21626,     1269,           
       
   312   21135,     4423,           
       
   313   11304,     1556,           
       
   314   19005,    12820,            
       
   315   17367,     2498,           
       
   316   17858,     4833,            
       
   317    9994,     2498,           
       
   318   17530,     7864,            
       
   319   14254,     1884,          
       
   320   15892,     3153,            
       
   321    6717,     1802,           
       
   322   18186,    20193,            
       
   323   18022,     3031,            
       
   324   16711,     5857,             
       
   325    8847,     4014,            
       
   326   15892,     8970,            
       
   327   18022,     1392,           
       
   328   16711,     4096,              
       
   329    8192,      655,           
       
   330   15237,    13926,            
       
   331   14254,     3112,            
       
   332   14090,     4669,            
       
   333    5406,     2703,            
       
   334   13434,     6553,             
       
   335   12451,      901,           
       
   336   12451,     2662,           
       
   337    3768,      655,           
       
   338   14745,    23511,            
       
   339   19169,     2457,            
       
   340   20152,     5079,            
       
   341    6881,     4096,               
       
   342   20480,     8560,           
       
   343   19660,      737,           
       
   344   19005,     4259,             
       
   345    7864,     2088,            
       
   346   11468,    12288,           
       
   347   15892,     1474,           
       
   348   15728,     4628,            
       
   349    9175,     1433,           
       
   350   16056,     7004,           
       
   351   14827,      737,          
       
   352   15073,     2252,           
       
   353    5079,     1228,           
       
   354   13271,    17326,           
       
   355   16547,     2334,            
       
   356   15073,     5816,             
       
   357    3932,     3686,           
       
   358   14254,     8601,           
       
   359   16875,      778,           
       
   360   15073,     3809,           
       
   361    6062,      614,           
       
   362    9338,     9256,            
       
   363   13271,     1761,           
       
   364   13271,     3522,           
       
   365    2457,     1966,           
       
   366   11468,     5529,            
       
   367   10485,      737,           
       
   368   11632,     3194,           
       
   369    1474,      778           
       
   370     };
       
   371 
       
   372 const TInt KAmrLargestGain590 = 23511;
       
   373 
       
   374 
       
   375 // index = 0...127
       
   376 // KAmrGainTable[4*index] = g_pitch(even frame)
       
   377 // KAmrGainTable[4*index+1] = g_fac(even frame)
       
   378 // KAmrGainTable[4*index+2] = g_pitch(odd frame)
       
   379 // KAmrGainTable[4*index+3] = g_fac(odd frame)
       
   380 
       
   381 
       
   382 const TInt KAmrGainTable475[] = 
       
   383     {
       
   384 //g_pit(0),    g_fac(0),      g_pit(1),    g_fac(1)      
       
   385    812,          128,           542,      140,
       
   386   2873,         1135,          2266,     3402,
       
   387   2067,          563,         12677,      647,
       
   388   4132,         1798,          5601,     5285,
       
   389   7689,          374,          3735,      441,
       
   390  10912,         2638,         11807,     2494,
       
   391  20490,          797,          5218,      675,
       
   392   6724,         8354,          5282,     1696,
       
   393   1488,          428,          5882,      452,
       
   394   5332,         4072,          3583,     1268,
       
   395   2469,          901,         15894,     1005,
       
   396  14982,         3271,         10331,     4858,
       
   397   3635,         2021,          2596,      835,
       
   398  12360,         4892,         12206,     1704,
       
   399  13432,         1604,          9118,     2341,
       
   400   3968,         1538,          5479,     9936,
       
   401   3795,          417,          1359,      414,
       
   402   3640,         1569,          7995,     3541,
       
   403  11405,          645,          8552,      635,
       
   404   4056,         1377,         16608,     6124,
       
   405  11420,          700,          2007,      607,
       
   406  12415,         1578,         11119,     4654,
       
   407  13680,         1708,         11990,     1229,
       
   408   7996,         7297,         13231,     5715,
       
   409   2428,         1159,          2073,     1941,
       
   410   6218,         6121,          3546,     1804,
       
   411   8925,         1802,          8679,     1580,
       
   412  13935,         3576,         13313,     6237,
       
   413   6142,         1130,          5994,     1734,
       
   414  14141,         4662,         11271,     3321,
       
   415  12226,         1551,         13931,     3015,
       
   416   5081,        10464,          9444,     6706,
       
   417   1689,          683,          1436,     1306,
       
   418   7212,         3933,          4082,     2713,
       
   419   7793,          704,         15070,      802,
       
   420   6299,         5212,          4337,     5357,
       
   421   6676,          541,          6062,      626,
       
   422  13651,         3700,         11498,     2408,
       
   423  16156,          716,         12177,      751,
       
   424   8065,        11489,          6314,     2256,
       
   425   4466,          496,          7293,      523,
       
   426  10213,         3833,          8394,     3037,
       
   427   8403,          966,         14228,     1880,
       
   428   8703,         5409,         16395,     4863,
       
   429   7420,         1979,          6089,     1230,
       
   430   9371,         4398,         14558,     3363,
       
   431  13559,         2873,         13163,     1465,
       
   432   5534,         1678,         13138,    14771,
       
   433   7338,          600,          1318,      548,
       
   434   4252,         3539,         10044,     2364,
       
   435  10587,          622,         13088,      669,
       
   436  14126,         3526,          5039,     9784,
       
   437  15338,          619,          3115,      590,
       
   438  16442,         3013,         15542,     4168,
       
   439  15537,         1611,         15405,     1228,
       
   440  16023,         9299,          7534,     4976,
       
   441   1990,         1213,         11447,     1157,
       
   442  12512,         5519,          9475,     2644,
       
   443   7716,         2034,         13280,     2239,
       
   444  16011,         5093,          8066,     6761,
       
   445  10083,         1413,          5002,     2347,
       
   446  12523,         5975,         15126,     2899,
       
   447  18264,         2289,         15827,     2527,
       
   448  16265,        10254,         14651,    11319,
       
   449   1797,          337,          3115,      397,
       
   450   3510,         2928,          4592,     2670,
       
   451   7519,          628,         11415,      656,
       
   452   5946,         2435,          6544,     7367,
       
   453   8238,          829,          4000,      863,
       
   454  10032,         2492,         16057,     3551,
       
   455  18204,         1054,          6103,     1454,
       
   456   5884,         7900,         18752,     3468,
       
   457   1864,          544,          9198,      683,
       
   458  11623,         4160,          4594,     1644,
       
   459   3158,         1157,         15953,     2560,
       
   460  12349,         3733,         17420,     5260,
       
   461   6106,         2004,          2917,     1742,
       
   462  16467,         5257,         16787,     1680,
       
   463  17205,         1759,          4773,     3231,
       
   464   7386,         6035,         14342,    10012,
       
   465   4035,          442,          4194,      458,
       
   466   9214,         2242,          7427,     4217,
       
   467  12860,          801,         11186,      825,
       
   468  12648,         2084,         12956,     6554,
       
   469   9505,          996,          6629,      985,
       
   470  10537,         2502,         15289,     5006,
       
   471  12602,         2055,         15484,     1653,
       
   472  16194,         6921,         14231,     5790,
       
   473   2626,          828,          5615,     1686,
       
   474  13663,         5778,          3668,     1554,
       
   475  11313,         2633,          9770,     1459,
       
   476  14003,         4733,         15897,     6291,
       
   477   6278,         1870,          7910,     2285,
       
   478  16978,         4571,         16576,     3849,
       
   479  15248,         2311,         16023,     3244,
       
   480  14459,        17808,         11847,     2763,
       
   481   1981,         1407,          1400,      876,
       
   482   4335,         3547,          4391,     4210,
       
   483   5405,          680,         17461,      781,
       
   484   6501,         5118,          8091,     7677,
       
   485   7355,          794,          8333,     1182,
       
   486  15041,         3160,         14928,     3039,
       
   487  20421,          880,         14545,      852,
       
   488  12337,        14708,          6904,     1920,
       
   489   4225,          933,          8218,     1087,
       
   490  10659,         4084,         10082,     4533,
       
   491   2735,          840,         20657,     1081,
       
   492  16711,         5966,         15873,     4578,
       
   493  10871,         2574,          3773,     1166,
       
   494  14519,         4044,         20699,     2627,
       
   495  15219,         2734,         15274,     2186,
       
   496   6257,         3226,         13125,    19480,
       
   497   7196,          930,          2462,     1618,
       
   498   4515,         3092,         13852,     4277,
       
   499  10460,          833,         17339,      810,
       
   500  16891,         2289,         15546,     8217,
       
   501  13603,         1684,          3197,     1834,
       
   502  15948,         2820,         15812,     5327,
       
   503  17006,         2438,         16788,     1326,
       
   504  15671,         8156,         11726,     8556,
       
   505   3762,         2053,          9563,     1317,
       
   506  13561,         6790,         12227,     1936,
       
   507   8180,         3550,         13287,     1778,
       
   508  16299,         6599,         16291,     7758,
       
   509   8521,         2551,          7225,     2645,
       
   510  18269,         7489,         16885,     2248,
       
   511  17882,         2884,         17265,     3328,
       
   512   9417,        20162,         11042,     8320,
       
   513   1286,          620,          1431,      583,
       
   514   5993,         2289,          3978,     3626,
       
   515   5144,          752,         13409,      830,
       
   516   5553,         2860,         11764,     5908,
       
   517  10737,          560,          5446,      564,
       
   518  13321,         3008,         11946,     3683,
       
   519  19887,          798,          9825,      728,
       
   520  13663,         8748,          7391,     3053,
       
   521   2515,          778,          6050,      833,
       
   522   6469,         5074,          8305,     2463,
       
   523   6141,         1865,         15308,     1262,
       
   524  14408,         4547,         13663,     4515,
       
   525   3137,         2983,          2479,     1259,
       
   526  15088,         4647,         15382,     2607,
       
   527  14492,         2392,         12462,     2537,
       
   528   7539,         2949,         12909,    12060,
       
   529   5468,          684,          3141,      722,
       
   530   5081,         1274,         12732,     4200,
       
   531  15302,          681,          7819,      592,
       
   532   6534,         2021,         16478,     8737,
       
   533  13364,          882,          5397,      899,
       
   534  14656,         2178,         14741,     4227,
       
   535  14270,         1298,         13929,     2029,
       
   536  15477,         7482,         15815,     4572,
       
   537   2521,         2013,          5062,     1804,
       
   538   5159,         6582,          7130,     3597,
       
   539  10920,         1611,         11729,     1708,
       
   540  16903,         3455,         16268,     6640,
       
   541   9306,         1007,          9369,     2106,
       
   542  19182,         5037,         12441,     4269,
       
   543  15919,         1332,         15357,     3512,
       
   544  11898,        14141,         16101,     6854,
       
   545   2010,          737,          3779,      861,
       
   546  11454,         2880,          3564,     3540,
       
   547   9057,         1241,         12391,      896,
       
   548   8546,         4629,         11561,     5776,
       
   549   8129,          589,          8218,      588,
       
   550  18728,         3755,         12973,     3149,
       
   551  15729,          758,         16634,      754,
       
   552  15222,        11138,         15871,     2208,
       
   553   4673,          610,         10218,      678,
       
   554  15257,         4146,          5729,     3327,
       
   555   8377,         1670,         19862,     2321,
       
   556  15450,         5511,         14054,     5481,
       
   557   5728,         2888,          7580,     1346,
       
   558  14384,         5325,         16236,     3950,
       
   559  15118,         3744,         15306,     1435,
       
   560  14597,         4070,         12301,    15696,
       
   561   7617,         1699,          2170,      884,
       
   562   4459,         4567,         18094,     3306,
       
   563  12742,          815,         14926,      907,
       
   564  15016,         4281,         15518,     8368,
       
   565  17994,         1087,          2358,      865,
       
   566  16281,         3787,         15679,     4596,
       
   567  16356,         1534,         16584,     2210,
       
   568  16833,         9697,         15929,     4513,
       
   569   3277,         1085,          9643,     2187,
       
   570  11973,         6068,          9199,     4462,
       
   571   8955,         1629,         10289,     3062,
       
   572  16481,         5155,         15466,     7066,
       
   573  13678,         2543,          5273,     2277,
       
   574  16746,         6213,         16655,     3408,
       
   575  20304,         3363,         18688,     1985,
       
   576  14172,        12867,         15154,    15703,
       
   577   4473,         1020,          1681,      886,
       
   578   4311,         4301,          8952,     3657,
       
   579   5893,         1147,         11647,     1452,
       
   580  15886,         2227,          4582,     6644,
       
   581   6929,         1205,          6220,      799,
       
   582  12415,         3409,         15968,     3877,
       
   583  19859,         2109,          9689,     2141,
       
   584  14742,         8830,         14480,     2599,
       
   585   1817,         1238,          7771,      813,
       
   586  19079,         4410,          5554,     2064,
       
   587   3687,         2844,         17435,     2256,
       
   588  16697,         4486,         16199,     5388,
       
   589   8028,         2763,          3405,     2119,
       
   590  17426,         5477,         13698,     2786,
       
   591  19879,         2720,          9098,     3880,
       
   592  18172,         4833,         17336,    12207,
       
   593   5116,          996,          4935,      988,
       
   594   9888,         3081,          6014,     5371,
       
   595  15881,         1667,          8405,     1183,
       
   596  15087,         2366,         19777,     7002,
       
   597  11963,         1562,          7279,     1128,
       
   598  16859,         1532,         15762,     5381,
       
   599  14708,         2065,         20105,     2155,
       
   600  17158,         8245,         17911,     6318,
       
   601   5467,         1504,          4100,     2574,
       
   602  17421,         6810,          5673,     2888,
       
   603  16636,         3382,          8975,     1831,
       
   604  20159,         4737,         19550,     7294,
       
   605   6658,         2781,         11472,     3321,
       
   606  19397,         5054,         18878,     4722,
       
   607  16439,         2373,         20430,     4386,
       
   608  11353,        26526,         11593,     3068,
       
   609   2866,         1566,          5108,     1070,
       
   610   9614,         4915,          4939,     3536,
       
   611   7541,          878,         20717,      851,
       
   612   6938,         4395,         16799,     7733,
       
   613  10137,         1019,          9845,      964,
       
   614  15494,         3955,         15459,     3430,
       
   615  18863,          982,         20120,      963,
       
   616  16876,        12887,         14334,     4200,
       
   617   6599,         1220,          9222,      814,
       
   618  16942,         5134,          5661,     4898,
       
   619   5488,         1798,         20258,     3962,
       
   620  17005,         6178,         17929,     5929,
       
   621   9365,         3420,          7474,     1971,
       
   622  19537,         5177,         19003,     3006,
       
   623  16454,         3788,         16070,     2367,
       
   624   8664,         2743,          9445,    26358,
       
   625  10856,         1287,          3555,     1009,
       
   626   5606,         3622,         19453,     5512,
       
   627  12453,          797,         20634,      911,
       
   628  15427,         3066,         17037,    10275,
       
   629  18883,         2633,          3913,     1268,
       
   630  19519,         3371,         18052,     5230,
       
   631  19291,         1678,         19508,     3172,
       
   632  18072,        10754,         16625,     6845,
       
   633   3134,         2298,         10869,     2437,
       
   634  15580,         6913,         12597,     3381,
       
   635  11116,         3297,         16762,     2424,
       
   636  18853,         6715,         17171,     9887,
       
   637  12743,         2605,          8937,     3140,
       
   638  19033,         7764,         18347,     3880,
       
   639  20475,         3682,         19602,     3380,
       
   640  13044,        19373,         10526,    23124
       
   641 };
       
   642 
       
   643 const TInt KAmrLargestGain475 = 26526;
       
   644 
       
   645 
       
   646 // KAmrGaindB2Gamma[0] is gamma*10000 at -127 dB
       
   647 // KAmrGaindB2Gamma[1] is gamma*10000 at -126 dB
       
   648 // KAmrGaindB2Gamma[127] is gamma*10000 at 0 dB
       
   649 // KAmrGaindB2Gamma[128] is gamma*10000 at 1 dB
       
   650 // KAmrGaindB2Gamma[255] is gamma*10000 at 128 dB
       
   651 
       
   652 const TInt KAmrGain_dB2Gamma[] = 
       
   653 
       
   654     {
       
   655 53,
       
   656 55,
       
   657 58,
       
   658 60,
       
   659 62,
       
   660 65,
       
   661 68,
       
   662 71,
       
   663 74,
       
   664 77,
       
   665 80,
       
   666 83,
       
   667 87,
       
   668 91,
       
   669 94,
       
   670 98,
       
   671 103,
       
   672 107,
       
   673 111,
       
   674 116,
       
   675 121,
       
   676 126,
       
   677 131,
       
   678 137,
       
   679 143,
       
   680 149,
       
   681 155,
       
   682 161,
       
   683 168,
       
   684 175,
       
   685 183,
       
   686 190,
       
   687 198,
       
   688 207,
       
   689 215,
       
   690 225,
       
   691 234,
       
   692 244,
       
   693 254,
       
   694 265,
       
   695 276,
       
   696 288,
       
   697 300,
       
   698 312,
       
   699 325,
       
   700 339,
       
   701 353,
       
   702 368,
       
   703 384,
       
   704 400,
       
   705 417,
       
   706 435,
       
   707 453,
       
   708 472,
       
   709 492,
       
   710 512,
       
   711 534,
       
   712 557,
       
   713 580,
       
   714 604,
       
   715 630,
       
   716 656,
       
   717 684,
       
   718 713,
       
   719 743,
       
   720 774,
       
   721 807,
       
   722 841,
       
   723 876,
       
   724 913,
       
   725 952,
       
   726 992,
       
   727 1034,
       
   728 1077,
       
   729 1122,
       
   730 1170,
       
   731 1219,
       
   732 1270,
       
   733 1324,
       
   734 1380,
       
   735 1438,
       
   736 1498,
       
   737 1562,
       
   738 1627,
       
   739 1696,
       
   740 1767,
       
   741 1842,
       
   742 1919,
       
   743 2000,
       
   744 2084,
       
   745 2172,
       
   746 2264,
       
   747 2359,
       
   748 2459,
       
   749 2562,
       
   750 2670,
       
   751 2783,
       
   752 2900,
       
   753 3022,
       
   754 3149,
       
   755 3282,
       
   756 3420,
       
   757 3564,
       
   758 3714,
       
   759 3871,
       
   760 4034,
       
   761 4204,
       
   762 4381,
       
   763 4566,
       
   764 4758,
       
   765 4958,
       
   766 5167,
       
   767 5385,
       
   768 5612,
       
   769 5848,
       
   770 6095,
       
   771 6351,
       
   772 6619,
       
   773 6898,
       
   774 7188,
       
   775 7491,
       
   776 7807,
       
   777 8136,
       
   778 8478,
       
   779 8836,
       
   780 9208,
       
   781 9596,
       
   782 10000,
       
   783 10421,
       
   784 10860,
       
   785 11318,
       
   786 11795,
       
   787 12292,
       
   788 12809,
       
   789 13349,
       
   790 13911,
       
   791 14497,
       
   792 15108,
       
   793 15745,
       
   794 16408,
       
   795 17099,
       
   796 17820,
       
   797 18570,
       
   798 19353,
       
   799 20168,
       
   800 21017,
       
   801 21903,
       
   802 22826,
       
   803 23787,
       
   804 24789,
       
   805 25834,
       
   806 26922,
       
   807 28056,
       
   808 29238,
       
   809 30470,
       
   810 31754,
       
   811 33091,
       
   812 34485,
       
   813 35938,
       
   814 37452,
       
   815 39030,
       
   816 40674,
       
   817 42388,
       
   818 44173,
       
   819 46034,
       
   820 47974,
       
   821 49995,
       
   822 52101,
       
   823 54296,
       
   824 56583,
       
   825 58967,
       
   826 61451,
       
   827 64040,
       
   828 66738,
       
   829 69549,
       
   830 72479,
       
   831 75533,
       
   832 78715,
       
   833 82031,
       
   834 85487,
       
   835 89088,
       
   836 92841,
       
   837 96753,
       
   838 100829,
       
   839 105076,
       
   840 109503,
       
   841 114116,
       
   842 118924,
       
   843 123934,
       
   844 129155,
       
   845 134596,
       
   846 140266,
       
   847 146175,
       
   848 152334,
       
   849 158751,
       
   850 165439,
       
   851 172409,
       
   852 179672,
       
   853 187241,
       
   854 195129,
       
   855 203350,
       
   856 211917,
       
   857 220844,
       
   858 230148,
       
   859 239844,
       
   860 249948,
       
   861 260478,
       
   862 271451,
       
   863 282887,
       
   864 294804,
       
   865 307224,
       
   866 320167,
       
   867 333655,
       
   868 347711,
       
   869 362360,
       
   870 377625,
       
   871 393534,
       
   872 410113,
       
   873 427390,
       
   874 445395,
       
   875 464159,
       
   876 483713,
       
   877 504091,
       
   878 525327,
       
   879 547459,
       
   880 570522,
       
   881 594557,
       
   882 619605,
       
   883 645708,
       
   884 672910,
       
   885 701258,
       
   886 730801,
       
   887 761589,
       
   888 793673,
       
   889 827109,
       
   890 861954,
       
   891 898266,
       
   892 936108,
       
   893 975545,
       
   894 1016643,
       
   895 1059472,
       
   896 1104106,
       
   897 1150620,
       
   898 1199093,
       
   899 1249609,
       
   900 1302253,
       
   901 1357114,
       
   902 1414287,
       
   903 1473869,
       
   904 1535960,
       
   905 1600667,
       
   906 1668101,
       
   907 1738375,
       
   908 1811609,
       
   909 1887929,
       
   910     };
       
   911 
       
   912 
       
   913 
       
   914 
       
   915 /*
       
   916  * definition of modes for decoder
       
   917  */
       
   918 enum Mode 
       
   919     { 
       
   920     MR475 = 0,
       
   921     MR515,
       
   922     MR59,
       
   923     MR67,
       
   924     MR74,
       
   925     MR795,
       
   926     MR102,
       
   927     MR122,
       
   928     MRDTX,
       
   929     N_MODES     /* number of (SPC) modes */
       
   930     };
       
   931 
       
   932 
       
   933 
       
   934 class TProcessingEvent 
       
   935     {
       
   936 
       
   937 public:
       
   938 
       
   939     RArray<TInt> iAllIndexes; // -1 = silence
       
   940     TInt32 iPosition; //global position in milliseconds
       
   941     TBool iCutIn; //true = cutIn, false = cutOut
       
   942     TInt iChangedClipIndex;
       
   943     
       
   944     static TInt TProcessingEvent::Compare(const TProcessingEvent& c1, const TProcessingEvent& c2) 
       
   945         {
       
   946                 
       
   947         if (c1.iPosition > c2.iPosition) 
       
   948             {
       
   949             return 1;
       
   950             }
       
   951         else if (c1.iPosition < c2.iPosition) 
       
   952             {
       
   953             return -1;
       
   954             }
       
   955         else 
       
   956             {
       
   957             return 0;
       
   958             }
       
   959         }
       
   960     
       
   961     };
       
   962 
       
   963 
       
   964 #endif