changeset 6833:37464a7b3f59 libavcodec

Use ff_sqrt() function instead of using a table
author vitor
date Wed, 21 May 2008 16:33:49 +0000
parents 9584a95fefcd
children bf3bc36715e6
files ra144.c ra144.h
diffstat 2 files changed, 1 insertions(+), 516 deletions(-) [+]
line wrap: on
line diff
--- a/ra144.c	Sat May 17 14:51:49 2008 +0000
+++ b/ra144.c	Wed May 21 16:33:49 2008 +0000
@@ -71,7 +71,7 @@
         x = x >> 2;
     }
 
-    return (sqrt_table[x] << s) << 2;
+    return (ff_sqrt(x << 20) << s) << 2;
 }
 
 /* do 'voice' */
--- a/ra144.h	Sat May 17 14:51:49 2008 +0000
+++ b/ra144.h	Wed May 21 16:33:49 2008 +0000
@@ -23,521 +23,6 @@
 #define FFMPEG_RA144_H
 
 /* 14.4 data tables */
-static const unsigned short sqrt_table[4096]={
-        0,  1024,  1448,  1773,  2048,  2289,  2508,  2709,
-     2896,  3072,  3238,  3396,  3547,  3692,  3831,  3965,
-     4096,  4222,  4344,  4463,  4579,  4692,  4802,  4910,
-     5016,  5120,  5221,  5320,  5418,  5514,  5608,  5701,
-     5792,  5882,  5970,  6058,  6144,  6228,  6312,  6394,
-     6476,  6556,  6636,  6714,  6792,  6869,  6945,  7020,
-     7094,  7168,  7240,  7312,  7384,  7454,  7524,  7594,
-     7662,  7731,  7798,  7865,  7931,  7997,  8062,  8127,
-     8192,  8255,  8319,  8381,  8444,  8505,  8567,  8628,
-     8688,  8749,  8808,  8868,  8927,  8985,  9043,  9101,
-     9158,  9216,  9272,  9329,  9385,  9440,  9496,  9551,
-     9605,  9660,  9714,  9768,  9821,  9875,  9928,  9980,
-    10033, 10085, 10137, 10188, 10240, 10291, 10341, 10392,
-    10442, 10492, 10542, 10592, 10641, 10690, 10739, 10788,
-    10836, 10885, 10933, 10981, 11028, 11076, 11123, 11170,
-    11217, 11264, 11310, 11356, 11402, 11448, 11494, 11539,
-    11585, 11630, 11675, 11720, 11764, 11809, 11853, 11897,
-    11941, 11985, 12029, 12072, 12116, 12159, 12202, 12245,
-    12288, 12330, 12373, 12415, 12457, 12499, 12541, 12583,
-    12624, 12666, 12707, 12748, 12789, 12830, 12871, 12912,
-    12952, 12993, 13033, 13073, 13113, 13153, 13193, 13232,
-    13272, 13312, 13351, 13390, 13429, 13468, 13507, 13546,
-    13584, 13623, 13661, 13700, 13738, 13776, 13814, 13852,
-    13890, 13927, 13965, 14002, 14040, 14077, 14114, 14151,
-    14188, 14225, 14262, 14299, 14336, 14372, 14408, 14445,
-    14481, 14517, 14553, 14589, 14625, 14661, 14697, 14732,
-    14768, 14803, 14839, 14874, 14909, 14944, 14979, 15014,
-    15049, 15084, 15119, 15153, 15188, 15222, 15257, 15291,
-    15325, 15360, 15394, 15428, 15462, 15495, 15529, 15563,
-    15597, 15630, 15664, 15697, 15730, 15764, 15797, 15830,
-    15863, 15896, 15929, 15962, 15995, 16028, 16060, 16093,
-    16125, 16158, 16190, 16223, 16255, 16287, 16319, 16351,
-    16384, 16415, 16447, 16479, 16511, 16543, 16574, 16606,
-    16638, 16669, 16700, 16732, 16763, 16794, 16826, 16857,
-    16888, 16919, 16950, 16981, 17011, 17042, 17073, 17104,
-    17134, 17165, 17195, 17226, 17256, 17287, 17317, 17347,
-    17377, 17408, 17438, 17468, 17498, 17528, 17557, 17587,
-    17617, 17647, 17676, 17706, 17736, 17765, 17795, 17824,
-    17854, 17883, 17912, 17941, 17971, 18000, 18029, 18058,
-    18087, 18116, 18145, 18174, 18203, 18231, 18260, 18289,
-    18317, 18346, 18375, 18403, 18432, 18460, 18488, 18517,
-    18545, 18573, 18601, 18630, 18658, 18686, 18714, 18742,
-    18770, 18798, 18826, 18853, 18881, 18909, 18937, 18964,
-    18992, 19019, 19047, 19075, 19102, 19129, 19157, 19184,
-    19211, 19239, 19266, 19293, 19320, 19347, 19374, 19402,
-    19429, 19456, 19482, 19509, 19536, 19563, 19590, 19617,
-    19643, 19670, 19697, 19723, 19750, 19776, 19803, 19829,
-    19856, 19882, 19908, 19935, 19961, 19987, 20013, 20040,
-    20066, 20092, 20118, 20144, 20170, 20196, 20222, 20248,
-    20274, 20300, 20325, 20351, 20377, 20403, 20428, 20454,
-    20480, 20505, 20531, 20556, 20582, 20607, 20633, 20658,
-    20683, 20709, 20734, 20759, 20784, 20810, 20835, 20860,
-    20885, 20910, 20935, 20960, 20985, 21010, 21035, 21060,
-    21085, 21110, 21135, 21159, 21184, 21209, 21234, 21258,
-    21283, 21308, 21332, 21357, 21381, 21406, 21430, 21455,
-    21479, 21504, 21528, 21552, 21577, 21601, 21625, 21649,
-    21673, 21698, 21722, 21746, 21770, 21794, 21818, 21842,
-    21866, 21890, 21914, 21938, 21962, 21986, 22010, 22033,
-    22057, 22081, 22105, 22128, 22152, 22176, 22199, 22223,
-    22246, 22270, 22294, 22317, 22341, 22364, 22387, 22411,
-    22434, 22458, 22481, 22504, 22528, 22551, 22574, 22597,
-    22620, 22644, 22667, 22690, 22713, 22736, 22759, 22782,
-    22805, 22828, 22851, 22874, 22897, 22920, 22943, 22965,
-    22988, 23011, 23034, 23057, 23079, 23102, 23125, 23147,
-    23170, 23193, 23215, 23238, 23260, 23283, 23305, 23328,
-    23350, 23373, 23395, 23418, 23440, 23462, 23485, 23507,
-    23529, 23552, 23574, 23596, 23618, 23640, 23663, 23685,
-    23707, 23729, 23751, 23773, 23795, 23817, 23839, 23861,
-    23883, 23905, 23927, 23949, 23971, 23993, 24014, 24036,
-    24058, 24080, 24102, 24123, 24145, 24167, 24188, 24210,
-    24232, 24253, 24275, 24297, 24318, 24340, 24361, 24383,
-    24404, 24426, 24447, 24469, 24490, 24511, 24533, 24554,
-    24576, 24597, 24618, 24639, 24661, 24682, 24703, 24724,
-    24746, 24767, 24788, 24809, 24830, 24851, 24872, 24893,
-    24914, 24936, 24957, 24978, 24999, 25019, 25040, 25061,
-    25082, 25103, 25124, 25145, 25166, 25187, 25207, 25228,
-    25249, 25270, 25290, 25311, 25332, 25353, 25373, 25394,
-    25415, 25435, 25456, 25476, 25497, 25517, 25538, 25559,
-    25579, 25600, 25620, 25640, 25661, 25681, 25702, 25722,
-    25742, 25763, 25783, 25803, 25824, 25844, 25864, 25885,
-    25905, 25925, 25945, 25966, 25986, 26006, 26026, 26046,
-    26066, 26086, 26106, 26127, 26147, 26167, 26187, 26207,
-    26227, 26247, 26267, 26287, 26307, 26326, 26346, 26366,
-    26386, 26406, 26426, 26446, 26465, 26485, 26505, 26525,
-    26545, 26564, 26584, 26604, 26624, 26643, 26663, 26683,
-    26702, 26722, 26741, 26761, 26781, 26800, 26820, 26839,
-    26859, 26878, 26898, 26917, 26937, 26956, 26976, 26995,
-    27014, 27034, 27053, 27073, 27092, 27111, 27131, 27150,
-    27169, 27189, 27208, 27227, 27246, 27266, 27285, 27304,
-    27323, 27342, 27362, 27381, 27400, 27419, 27438, 27457,
-    27476, 27495, 27514, 27533, 27553, 27572, 27591, 27610,
-    27629, 27648, 27666, 27685, 27704, 27723, 27742, 27761,
-    27780, 27799, 27818, 27836, 27855, 27874, 27893, 27912,
-    27930, 27949, 27968, 27987, 28005, 28024, 28043, 28062,
-    28080, 28099, 28118, 28136, 28155, 28173, 28192, 28211,
-    28229, 28248, 28266, 28285, 28303, 28322, 28340, 28359,
-    28377, 28396, 28414, 28433, 28451, 28470, 28488, 28506,
-    28525, 28543, 28562, 28580, 28598, 28617, 28635, 28653,
-    28672, 28690, 28708, 28726, 28745, 28763, 28781, 28799,
-    28817, 28836, 28854, 28872, 28890, 28908, 28926, 28944,
-    28963, 28981, 28999, 29017, 29035, 29053, 29071, 29089,
-    29107, 29125, 29143, 29161, 29179, 29197, 29215, 29233,
-    29251, 29269, 29287, 29305, 29322, 29340, 29358, 29376,
-    29394, 29412, 29429, 29447, 29465, 29483, 29501, 29518,
-    29536, 29554, 29572, 29589, 29607, 29625, 29642, 29660,
-    29678, 29696, 29713, 29731, 29748, 29766, 29784, 29801,
-    29819, 29836, 29854, 29872, 29889, 29907, 29924, 29942,
-    29959, 29977, 29994, 30012, 30029, 30047, 30064, 30081,
-    30099, 30116, 30134, 30151, 30168, 30186, 30203, 30221,
-    30238, 30255, 30273, 30290, 30307, 30324, 30342, 30359,
-    30376, 30394, 30411, 30428, 30445, 30462, 30480, 30497,
-    30514, 30531, 30548, 30566, 30583, 30600, 30617, 30634,
-    30651, 30668, 30685, 30702, 30720, 30737, 30754, 30771,
-    30788, 30805, 30822, 30839, 30856, 30873, 30890, 30907,
-    30924, 30941, 30958, 30974, 30991, 31008, 31025, 31042,
-    31059, 31076, 31093, 31110, 31126, 31143, 31160, 31177,
-    31194, 31211, 31227, 31244, 31261, 31278, 31294, 31311,
-    31328, 31345, 31361, 31378, 31395, 31411, 31428, 31445,
-    31461, 31478, 31495, 31511, 31528, 31545, 31561, 31578,
-    31595, 31611, 31628, 31644, 31661, 31677, 31694, 31710,
-    31727, 31744, 31760, 31777, 31793, 31809, 31826, 31842,
-    31859, 31875, 31892, 31908, 31925, 31941, 31957, 31974,
-    31990, 32007, 32023, 32039, 32056, 32072, 32088, 32105,
-    32121, 32137, 32154, 32170, 32186, 32203, 32219, 32235,
-    32251, 32268, 32284, 32300, 32316, 32333, 32349, 32365,
-    32381, 32397, 32414, 32430, 32446, 32462, 32478, 32494,
-    32510, 32527, 32543, 32559, 32575, 32591, 32607, 32623,
-    32639, 32655, 32671, 32687, 32703, 32719, 32735, 32751,
-    32768, 32783, 32799, 32815, 32831, 32847, 32863, 32879,
-    32895, 32911, 32927, 32943, 32959, 32975, 32991, 33007,
-    33023, 33038, 33054, 33070, 33086, 33102, 33118, 33133,
-    33149, 33165, 33181, 33197, 33212, 33228, 33244, 33260,
-    33276, 33291, 33307, 33323, 33339, 33354, 33370, 33386,
-    33401, 33417, 33433, 33448, 33464, 33480, 33495, 33511,
-    33527, 33542, 33558, 33574, 33589, 33605, 33620, 33636,
-    33652, 33667, 33683, 33698, 33714, 33729, 33745, 33760,
-    33776, 33792, 33807, 33823, 33838, 33854, 33869, 33884,
-    33900, 33915, 33931, 33946, 33962, 33977, 33993, 34008,
-    34023, 34039, 34054, 34070, 34085, 34100, 34116, 34131,
-    34146, 34162, 34177, 34193, 34208, 34223, 34238, 34254,
-    34269, 34284, 34300, 34315, 34330, 34346, 34361, 34376,
-    34391, 34407, 34422, 34437, 34452, 34467, 34483, 34498,
-    34513, 34528, 34543, 34559, 34574, 34589, 34604, 34619,
-    34634, 34649, 34665, 34680, 34695, 34710, 34725, 34740,
-    34755, 34770, 34785, 34800, 34816, 34831, 34846, 34861,
-    34876, 34891, 34906, 34921, 34936, 34951, 34966, 34981,
-    34996, 35011, 35026, 35041, 35056, 35071, 35086, 35100,
-    35115, 35130, 35145, 35160, 35175, 35190, 35205, 35220,
-    35235, 35250, 35264, 35279, 35294, 35309, 35324, 35339,
-    35353, 35368, 35383, 35398, 35413, 35428, 35442, 35457,
-    35472, 35487, 35501, 35516, 35531, 35546, 35560, 35575,
-    35590, 35605, 35619, 35634, 35649, 35664, 35678, 35693,
-    35708, 35722, 35737, 35752, 35766, 35781, 35796, 35810,
-    35825, 35840, 35854, 35869, 35883, 35898, 35913, 35927,
-    35942, 35956, 35971, 35985, 36000, 36015, 36029, 36044,
-    36058, 36073, 36087, 36102, 36116, 36131, 36145, 36160,
-    36174, 36189, 36203, 36218, 36232, 36247, 36261, 36276,
-    36290, 36305, 36319, 36333, 36348, 36362, 36377, 36391,
-    36406, 36420, 36434, 36449, 36463, 36477, 36492, 36506,
-    36521, 36535, 36549, 36564, 36578, 36592, 36607, 36621,
-    36635, 36650, 36664, 36678, 36692, 36707, 36721, 36735,
-    36750, 36764, 36778, 36792, 36807, 36821, 36835, 36849,
-    36864, 36878, 36892, 36906, 36920, 36935, 36949, 36963,
-    36977, 36991, 37005, 37020, 37034, 37048, 37062, 37076,
-    37090, 37104, 37119, 37133, 37147, 37161, 37175, 37189,
-    37203, 37217, 37231, 37246, 37260, 37274, 37288, 37302,
-    37316, 37330, 37344, 37358, 37372, 37386, 37400, 37414,
-    37428, 37442, 37456, 37470, 37484, 37498, 37512, 37526,
-    37540, 37554, 37568, 37582, 37596, 37610, 37624, 37638,
-    37652, 37665, 37679, 37693, 37707, 37721, 37735, 37749,
-    37763, 37777, 37791, 37804, 37818, 37832, 37846, 37860,
-    37874, 37888, 37901, 37915, 37929, 37943, 37957, 37970,
-    37984, 37998, 38012, 38026, 38039, 38053, 38067, 38081,
-    38095, 38108, 38122, 38136, 38150, 38163, 38177, 38191,
-    38204, 38218, 38232, 38246, 38259, 38273, 38287, 38300,
-    38314, 38328, 38341, 38355, 38369, 38382, 38396, 38410,
-    38423, 38437, 38451, 38464, 38478, 38492, 38505, 38519,
-    38532, 38546, 38560, 38573, 38587, 38600, 38614, 38628,
-    38641, 38655, 38668, 38682, 38695, 38709, 38722, 38736,
-    38749, 38763, 38777, 38790, 38804, 38817, 38831, 38844,
-    38858, 38871, 38885, 38898, 38912, 38925, 38938, 38952,
-    38965, 38979, 38992, 39006, 39019, 39033, 39046, 39059,
-    39073, 39086, 39100, 39113, 39126, 39140, 39153, 39167,
-    39180, 39193, 39207, 39220, 39234, 39247, 39260, 39274,
-    39287, 39300, 39314, 39327, 39340, 39354, 39367, 39380,
-    39394, 39407, 39420, 39433, 39447, 39460, 39473, 39487,
-    39500, 39513, 39526, 39540, 39553, 39566, 39579, 39593,
-    39606, 39619, 39632, 39646, 39659, 39672, 39685, 39698,
-    39712, 39725, 39738, 39751, 39764, 39778, 39791, 39804,
-    39817, 39830, 39843, 39857, 39870, 39883, 39896, 39909,
-    39922, 39936, 39949, 39962, 39975, 39988, 40001, 40014,
-    40027, 40040, 40053, 40067, 40080, 40093, 40106, 40119,
-    40132, 40145, 40158, 40171, 40184, 40197, 40210, 40223,
-    40236, 40249, 40262, 40275, 40288, 40301, 40314, 40327,
-    40340, 40353, 40366, 40379, 40392, 40405, 40418, 40431,
-    40444, 40457, 40470, 40483, 40496, 40509, 40522, 40535,
-    40548, 40561, 40574, 40587, 40600, 40612, 40625, 40638,
-    40651, 40664, 40677, 40690, 40703, 40716, 40728, 40741,
-    40754, 40767, 40780, 40793, 40806, 40818, 40831, 40844,
-    40857, 40870, 40883, 40895, 40908, 40921, 40934, 40947,
-    40960, 40972, 40985, 40998, 41011, 41023, 41036, 41049,
-    41062, 41075, 41087, 41100, 41113, 41126, 41138, 41151,
-    41164, 41177, 41189, 41202, 41215, 41227, 41240, 41253,
-    41266, 41278, 41291, 41304, 41316, 41329, 41342, 41354,
-    41367, 41380, 41392, 41405, 41418, 41430, 41443, 41456,
-    41468, 41481, 41494, 41506, 41519, 41532, 41544, 41557,
-    41569, 41582, 41595, 41607, 41620, 41632, 41645, 41658,
-    41670, 41683, 41695, 41708, 41720, 41733, 41746, 41758,
-    41771, 41783, 41796, 41808, 41821, 41833, 41846, 41858,
-    41871, 41883, 41896, 41909, 41921, 41934, 41946, 41959,
-    41971, 41984, 41996, 42008, 42021, 42033, 42046, 42058,
-    42071, 42083, 42096, 42108, 42121, 42133, 42146, 42158,
-    42170, 42183, 42195, 42208, 42220, 42233, 42245, 42257,
-    42270, 42282, 42295, 42307, 42319, 42332, 42344, 42356,
-    42369, 42381, 42394, 42406, 42418, 42431, 42443, 42455,
-    42468, 42480, 42492, 42505, 42517, 42529, 42542, 42554,
-    42566, 42579, 42591, 42603, 42616, 42628, 42640, 42653,
-    42665, 42677, 42689, 42702, 42714, 42726, 42738, 42751,
-    42763, 42775, 42788, 42800, 42812, 42824, 42836, 42849,
-    42861, 42873, 42885, 42898, 42910, 42922, 42934, 42947,
-    42959, 42971, 42983, 42995, 43008, 43020, 43032, 43044,
-    43056, 43068, 43081, 43093, 43105, 43117, 43129, 43141,
-    43154, 43166, 43178, 43190, 43202, 43214, 43226, 43238,
-    43251, 43263, 43275, 43287, 43299, 43311, 43323, 43335,
-    43347, 43360, 43372, 43384, 43396, 43408, 43420, 43432,
-    43444, 43456, 43468, 43480, 43492, 43504, 43516, 43529,
-    43541, 43553, 43565, 43577, 43589, 43601, 43613, 43625,
-    43637, 43649, 43661, 43673, 43685, 43697, 43709, 43721,
-    43733, 43745, 43757, 43769, 43781, 43793, 43805, 43817,
-    43829, 43841, 43853, 43864, 43876, 43888, 43900, 43912,
-    43924, 43936, 43948, 43960, 43972, 43984, 43996, 44008,
-    44020, 44032, 44043, 44055, 44067, 44079, 44091, 44103,
-    44115, 44127, 44139, 44150, 44162, 44174, 44186, 44198,
-    44210, 44222, 44233, 44245, 44257, 44269, 44281, 44293,
-    44305, 44316, 44328, 44340, 44352, 44364, 44375, 44387,
-    44399, 44411, 44423, 44434, 44446, 44458, 44470, 44482,
-    44493, 44505, 44517, 44529, 44541, 44552, 44564, 44576,
-    44588, 44599, 44611, 44623, 44635, 44646, 44658, 44670,
-    44682, 44693, 44705, 44717, 44728, 44740, 44752, 44764,
-    44775, 44787, 44799, 44810, 44822, 44834, 44846, 44857,
-    44869, 44881, 44892, 44904, 44916, 44927, 44939, 44951,
-    44962, 44974, 44986, 44997, 45009, 45021, 45032, 45044,
-    45056, 45067, 45079, 45090, 45102, 45114, 45125, 45137,
-    45148, 45160, 45172, 45183, 45195, 45207, 45218, 45230,
-    45241, 45253, 45264, 45276, 45288, 45299, 45311, 45322,
-    45334, 45345, 45357, 45369, 45380, 45392, 45403, 45415,
-    45426, 45438, 45449, 45461, 45472, 45484, 45496, 45507,
-    45519, 45530, 45542, 45553, 45565, 45576, 45588, 45599,
-    45611, 45622, 45634, 45645, 45657, 45668, 45680, 45691,
-    45702, 45714, 45725, 45737, 45748, 45760, 45771, 45783,
-    45794, 45806, 45817, 45829, 45840, 45851, 45863, 45874,
-    45886, 45897, 45909, 45920, 45931, 45943, 45954, 45966,
-    45977, 45988, 46000, 46011, 46023, 46034, 46045, 46057,
-    46068, 46080, 46091, 46102, 46114, 46125, 46136, 46148,
-    46159, 46170, 46182, 46193, 46204, 46216, 46227, 46239,
-    46250, 46261, 46273, 46284, 46295, 46306, 46318, 46329,
-    46340, 46352, 46363, 46374, 46386, 46397, 46408, 46420,
-    46431, 46442, 46453, 46465, 46476, 46487, 46499, 46510,
-    46521, 46532, 46544, 46555, 46566, 46577, 46589, 46600,
-    46611, 46622, 46634, 46645, 46656, 46667, 46679, 46690,
-    46701, 46712, 46724, 46735, 46746, 46757, 46768, 46780,
-    46791, 46802, 46813, 46824, 46836, 46847, 46858, 46869,
-    46880, 46892, 46903, 46914, 46925, 46936, 46947, 46959,
-    46970, 46981, 46992, 47003, 47014, 47026, 47037, 47048,
-    47059, 47070, 47081, 47092, 47104, 47115, 47126, 47137,
-    47148, 47159, 47170, 47181, 47192, 47204, 47215, 47226,
-    47237, 47248, 47259, 47270, 47281, 47292, 47303, 47315,
-    47326, 47337, 47348, 47359, 47370, 47381, 47392, 47403,
-    47414, 47425, 47436, 47447, 47458, 47469, 47480, 47491,
-    47503, 47514, 47525, 47536, 47547, 47558, 47569, 47580,
-    47591, 47602, 47613, 47624, 47635, 47646, 47657, 47668,
-    47679, 47690, 47701, 47712, 47723, 47734, 47745, 47756,
-    47767, 47778, 47789, 47800, 47811, 47822, 47832, 47843,
-    47854, 47865, 47876, 47887, 47898, 47909, 47920, 47931,
-    47942, 47953, 47964, 47975, 47986, 47997, 48008, 48018,
-    48029, 48040, 48051, 48062, 48073, 48084, 48095, 48106,
-    48117, 48128, 48138, 48149, 48160, 48171, 48182, 48193,
-    48204, 48215, 48225, 48236, 48247, 48258, 48269, 48280,
-    48291, 48301, 48312, 48323, 48334, 48345, 48356, 48367,
-    48377, 48388, 48399, 48410, 48421, 48432, 48442, 48453,
-    48464, 48475, 48486, 48496, 48507, 48518, 48529, 48540,
-    48550, 48561, 48572, 48583, 48594, 48604, 48615, 48626,
-    48637, 48648, 48658, 48669, 48680, 48691, 48701, 48712,
-    48723, 48734, 48744, 48755, 48766, 48777, 48787, 48798,
-    48809, 48820, 48830, 48841, 48852, 48863, 48873, 48884,
-    48895, 48906, 48916, 48927, 48938, 48948, 48959, 48970,
-    48981, 48991, 49002, 49013, 49023, 49034, 49045, 49055,
-    49066, 49077, 49087, 49098, 49109, 49119, 49130, 49141,
-    49152, 49162, 49173, 49183, 49194, 49205, 49215, 49226,
-    49237, 49247, 49258, 49269, 49279, 49290, 49301, 49311,
-    49322, 49333, 49343, 49354, 49364, 49375, 49386, 49396,
-    49407, 49417, 49428, 49439, 49449, 49460, 49470, 49481,
-    49492, 49502, 49513, 49523, 49534, 49545, 49555, 49566,
-    49576, 49587, 49597, 49608, 49619, 49629, 49640, 49650,
-    49661, 49671, 49682, 49693, 49703, 49714, 49724, 49735,
-    49745, 49756, 49766, 49777, 49787, 49798, 49808, 49819,
-    49829, 49840, 49851, 49861, 49872, 49882, 49893, 49903,
-    49914, 49924, 49935, 49945, 49956, 49966, 49977, 49987,
-    49998, 50008, 50019, 50029, 50039, 50050, 50060, 50071,
-    50081, 50092, 50102, 50113, 50123, 50134, 50144, 50155,
-    50165, 50176, 50186, 50196, 50207, 50217, 50228, 50238,
-    50249, 50259, 50269, 50280, 50290, 50301, 50311, 50322,
-    50332, 50342, 50353, 50363, 50374, 50384, 50394, 50405,
-    50415, 50426, 50436, 50446, 50457, 50467, 50478, 50488,
-    50498, 50509, 50519, 50530, 50540, 50550, 50561, 50571,
-    50581, 50592, 50602, 50612, 50623, 50633, 50644, 50654,
-    50664, 50675, 50685, 50695, 50706, 50716, 50726, 50737,
-    50747, 50757, 50768, 50778, 50788, 50799, 50809, 50819,
-    50830, 50840, 50850, 50860, 50871, 50881, 50891, 50902,
-    50912, 50922, 50933, 50943, 50953, 50963, 50974, 50984,
-    50994, 51005, 51015, 51025, 51035, 51046, 51056, 51066,
-    51076, 51087, 51097, 51107, 51118, 51128, 51138, 51148,
-    51159, 51169, 51179, 51189, 51200, 51210, 51220, 51230,
-    51240, 51251, 51261, 51271, 51281, 51292, 51302, 51312,
-    51322, 51332, 51343, 51353, 51363, 51373, 51383, 51394,
-    51404, 51414, 51424, 51434, 51445, 51455, 51465, 51475,
-    51485, 51496, 51506, 51516, 51526, 51536, 51546, 51557,
-    51567, 51577, 51587, 51597, 51607, 51618, 51628, 51638,
-    51648, 51658, 51668, 51679, 51689, 51699, 51709, 51719,
-    51729, 51739, 51750, 51760, 51770, 51780, 51790, 51800,
-    51810, 51820, 51830, 51841, 51851, 51861, 51871, 51881,
-    51891, 51901, 51911, 51921, 51932, 51942, 51952, 51962,
-    51972, 51982, 51992, 52002, 52012, 52022, 52032, 52042,
-    52053, 52063, 52073, 52083, 52093, 52103, 52113, 52123,
-    52133, 52143, 52153, 52163, 52173, 52183, 52193, 52203,
-    52213, 52224, 52234, 52244, 52254, 52264, 52274, 52284,
-    52294, 52304, 52314, 52324, 52334, 52344, 52354, 52364,
-    52374, 52384, 52394, 52404, 52414, 52424, 52434, 52444,
-    52454, 52464, 52474, 52484, 52494, 52504, 52514, 52524,
-    52534, 52544, 52554, 52564, 52574, 52584, 52594, 52604,
-    52614, 52624, 52633, 52643, 52653, 52663, 52673, 52683,
-    52693, 52703, 52713, 52723, 52733, 52743, 52753, 52763,
-    52773, 52783, 52793, 52803, 52812, 52822, 52832, 52842,
-    52852, 52862, 52872, 52882, 52892, 52902, 52912, 52922,
-    52931, 52941, 52951, 52961, 52971, 52981, 52991, 53001,
-    53011, 53021, 53030, 53040, 53050, 53060, 53070, 53080,
-    53090, 53100, 53109, 53119, 53129, 53139, 53149, 53159,
-    53169, 53179, 53188, 53198, 53208, 53218, 53228, 53238,
-    53248, 53257, 53267, 53277, 53287, 53297, 53307, 53316,
-    53326, 53336, 53346, 53356, 53366, 53375, 53385, 53395,
-    53405, 53415, 53424, 53434, 53444, 53454, 53464, 53473,
-    53483, 53493, 53503, 53513, 53522, 53532, 53542, 53552,
-    53562, 53571, 53581, 53591, 53601, 53611, 53620, 53630,
-    53640, 53650, 53659, 53669, 53679, 53689, 53699, 53708,
-    53718, 53728, 53738, 53747, 53757, 53767, 53777, 53786,
-    53796, 53806, 53816, 53825, 53835, 53845, 53855, 53864,
-    53874, 53884, 53893, 53903, 53913, 53923, 53932, 53942,
-    53952, 53961, 53971, 53981, 53991, 54000, 54010, 54020,
-    54029, 54039, 54049, 54059, 54068, 54078, 54088, 54097,
-    54107, 54117, 54126, 54136, 54146, 54155, 54165, 54175,
-    54184, 54194, 54204, 54214, 54223, 54233, 54243, 54252,
-    54262, 54272, 54281, 54291, 54300, 54310, 54320, 54329,
-    54339, 54349, 54358, 54368, 54378, 54387, 54397, 54407,
-    54416, 54426, 54435, 54445, 54455, 54464, 54474, 54484,
-    54493, 54503, 54512, 54522, 54532, 54541, 54551, 54561,
-    54570, 54580, 54589, 54599, 54609, 54618, 54628, 54637,
-    54647, 54657, 54666, 54676, 54685, 54695, 54704, 54714,
-    54724, 54733, 54743, 54752, 54762, 54772, 54781, 54791,
-    54800, 54810, 54819, 54829, 54839, 54848, 54858, 54867,
-    54877, 54886, 54896, 54905, 54915, 54924, 54934, 54944,
-    54953, 54963, 54972, 54982, 54991, 55001, 55010, 55020,
-    55029, 55039, 55048, 55058, 55067, 55077, 55087, 55096,
-    55106, 55115, 55125, 55134, 55144, 55153, 55163, 55172,
-    55182, 55191, 55201, 55210, 55220, 55229, 55239, 55248,
-    55258, 55267, 55277, 55286, 55296, 55305, 55314, 55324,
-    55333, 55343, 55352, 55362, 55371, 55381, 55390, 55400,
-    55409, 55419, 55428, 55438, 55447, 55456, 55466, 55475,
-    55485, 55494, 55504, 55513, 55523, 55532, 55541, 55551,
-    55560, 55570, 55579, 55589, 55598, 55608, 55617, 55626,
-    55636, 55645, 55655, 55664, 55673, 55683, 55692, 55702,
-    55711, 55721, 55730, 55739, 55749, 55758, 55768, 55777,
-    55786, 55796, 55805, 55815, 55824, 55833, 55843, 55852,
-    55861, 55871, 55880, 55890, 55899, 55908, 55918, 55927,
-    55937, 55946, 55955, 55965, 55974, 55983, 55993, 56002,
-    56011, 56021, 56030, 56040, 56049, 56058, 56068, 56077,
-    56086, 56096, 56105, 56114, 56124, 56133, 56142, 56152,
-    56161, 56170, 56180, 56189, 56198, 56208, 56217, 56226,
-    56236, 56245, 56254, 56264, 56273, 56282, 56292, 56301,
-    56310, 56320, 56329, 56338, 56347, 56357, 56366, 56375,
-    56385, 56394, 56403, 56413, 56422, 56431, 56440, 56450,
-    56459, 56468, 56478, 56487, 56496, 56505, 56515, 56524,
-    56533, 56542, 56552, 56561, 56570, 56580, 56589, 56598,
-    56607, 56617, 56626, 56635, 56644, 56654, 56663, 56672,
-    56681, 56691, 56700, 56709, 56718, 56728, 56737, 56746,
-    56755, 56765, 56774, 56783, 56792, 56802, 56811, 56820,
-    56829, 56838, 56848, 56857, 56866, 56875, 56885, 56894,
-    56903, 56912, 56921, 56931, 56940, 56949, 56958, 56967,
-    56977, 56986, 56995, 57004, 57013, 57023, 57032, 57041,
-    57050, 57059, 57069, 57078, 57087, 57096, 57105, 57114,
-    57124, 57133, 57142, 57151, 57160, 57170, 57179, 57188,
-    57197, 57206, 57215, 57225, 57234, 57243, 57252, 57261,
-    57270, 57279, 57289, 57298, 57307, 57316, 57325, 57334,
-    57344, 57353, 57362, 57371, 57380, 57389, 57398, 57407,
-    57417, 57426, 57435, 57444, 57453, 57462, 57471, 57480,
-    57490, 57499, 57508, 57517, 57526, 57535, 57544, 57553,
-    57563, 57572, 57581, 57590, 57599, 57608, 57617, 57626,
-    57635, 57644, 57654, 57663, 57672, 57681, 57690, 57699,
-    57708, 57717, 57726, 57735, 57744, 57753, 57763, 57772,
-    57781, 57790, 57799, 57808, 57817, 57826, 57835, 57844,
-    57853, 57862, 57871, 57880, 57889, 57899, 57908, 57917,
-    57926, 57935, 57944, 57953, 57962, 57971, 57980, 57989,
-    57998, 58007, 58016, 58025, 58034, 58043, 58052, 58061,
-    58070, 58079, 58088, 58097, 58106, 58115, 58124, 58133,
-    58143, 58152, 58161, 58170, 58179, 58188, 58197, 58206,
-    58215, 58224, 58233, 58242, 58251, 58260, 58269, 58278,
-    58287, 58296, 58305, 58314, 58323, 58332, 58341, 58350,
-    58359, 58368, 58376, 58385, 58394, 58403, 58412, 58421,
-    58430, 58439, 58448, 58457, 58466, 58475, 58484, 58493,
-    58502, 58511, 58520, 58529, 58538, 58547, 58556, 58565,
-    58574, 58583, 58592, 58601, 58610, 58618, 58627, 58636,
-    58645, 58654, 58663, 58672, 58681, 58690, 58699, 58708,
-    58717, 58726, 58735, 58744, 58752, 58761, 58770, 58779,
-    58788, 58797, 58806, 58815, 58824, 58833, 58842, 58851,
-    58859, 58868, 58877, 58886, 58895, 58904, 58913, 58922,
-    58931, 58940, 58948, 58957, 58966, 58975, 58984, 58993,
-    59002, 59011, 59020, 59028, 59037, 59046, 59055, 59064,
-    59073, 59082, 59091, 59099, 59108, 59117, 59126, 59135,
-    59144, 59153, 59162, 59170, 59179, 59188, 59197, 59206,
-    59215, 59224, 59232, 59241, 59250, 59259, 59268, 59277,
-    59285, 59294, 59303, 59312, 59321, 59330, 59339, 59347,
-    59356, 59365, 59374, 59383, 59392, 59400, 59409, 59418,
-    59427, 59436, 59444, 59453, 59462, 59471, 59480, 59489,
-    59497, 59506, 59515, 59524, 59533, 59541, 59550, 59559,
-    59568, 59577, 59585, 59594, 59603, 59612, 59621, 59629,
-    59638, 59647, 59656, 59665, 59673, 59682, 59691, 59700,
-    59708, 59717, 59726, 59735, 59744, 59752, 59761, 59770,
-    59779, 59787, 59796, 59805, 59814, 59822, 59831, 59840,
-    59849, 59858, 59866, 59875, 59884, 59893, 59901, 59910,
-    59919, 59928, 59936, 59945, 59954, 59963, 59971, 59980,
-    59989, 59998, 60006, 60015, 60024, 60032, 60041, 60050,
-    60059, 60067, 60076, 60085, 60094, 60102, 60111, 60120,
-    60128, 60137, 60146, 60155, 60163, 60172, 60181, 60189,
-    60198, 60207, 60216, 60224, 60233, 60242, 60250, 60259,
-    60268, 60276, 60285, 60294, 60303, 60311, 60320, 60329,
-    60337, 60346, 60355, 60363, 60372, 60381, 60389, 60398,
-    60407, 60416, 60424, 60433, 60442, 60450, 60459, 60468,
-    60476, 60485, 60494, 60502, 60511, 60520, 60528, 60537,
-    60546, 60554, 60563, 60572, 60580, 60589, 60597, 60606,
-    60615, 60623, 60632, 60641, 60649, 60658, 60667, 60675,
-    60684, 60693, 60701, 60710, 60718, 60727, 60736, 60744,
-    60753, 60762, 60770, 60779, 60788, 60796, 60805, 60813,
-    60822, 60831, 60839, 60848, 60856, 60865, 60874, 60882,
-    60891, 60900, 60908, 60917, 60925, 60934, 60943, 60951,
-    60960, 60968, 60977, 60986, 60994, 61003, 61011, 61020,
-    61029, 61037, 61046, 61054, 61063, 61071, 61080, 61089,
-    61097, 61106, 61114, 61123, 61132, 61140, 61149, 61157,
-    61166, 61174, 61183, 61192, 61200, 61209, 61217, 61226,
-    61234, 61243, 61251, 61260, 61269, 61277, 61286, 61294,
-    61303, 61311, 61320, 61328, 61337, 61346, 61354, 61363,
-    61371, 61380, 61388, 61397, 61405, 61414, 61422, 61431,
-    61440, 61448, 61457, 61465, 61474, 61482, 61491, 61499,
-    61508, 61516, 61525, 61533, 61542, 61550, 61559, 61567,
-    61576, 61584, 61593, 61601, 61610, 61618, 61627, 61635,
-    61644, 61652, 61661, 61669, 61678, 61686, 61695, 61703,
-    61712, 61720, 61729, 61737, 61746, 61754, 61763, 61771,
-    61780, 61788, 61797, 61805, 61814, 61822, 61831, 61839,
-    61848, 61856, 61865, 61873, 61882, 61890, 61899, 61907,
-    61916, 61924, 61932, 61941, 61949, 61958, 61966, 61975,
-    61983, 61992, 62000, 62009, 62017, 62026, 62034, 62042,
-    62051, 62059, 62068, 62076, 62085, 62093, 62102, 62110,
-    62118, 62127, 62135, 62144, 62152, 62161, 62169, 62177,
-    62186, 62194, 62203, 62211, 62220, 62228, 62236, 62245,
-    62253, 62262, 62270, 62279, 62287, 62295, 62304, 62312,
-    62321, 62329, 62337, 62346, 62354, 62363, 62371, 62380,
-    62388, 62396, 62405, 62413, 62422, 62430, 62438, 62447,
-    62455, 62464, 62472, 62480, 62489, 62497, 62505, 62514,
-    62522, 62531, 62539, 62547, 62556, 62564, 62573, 62581,
-    62589, 62598, 62606, 62614, 62623, 62631, 62640, 62648,
-    62656, 62665, 62673, 62681, 62690, 62698, 62706, 62715,
-    62723, 62732, 62740, 62748, 62757, 62765, 62773, 62782,
-    62790, 62798, 62807, 62815, 62823, 62832, 62840, 62848,
-    62857, 62865, 62873, 62882, 62890, 62898, 62907, 62915,
-    62923, 62932, 62940, 62948, 62957, 62965, 62973, 62982,
-    62990, 62998, 63007, 63015, 63023, 63032, 63040, 63048,
-    63057, 63065, 63073, 63082, 63090, 63098, 63106, 63115,
-    63123, 63131, 63140, 63148, 63156, 63165, 63173, 63181,
-    63190, 63198, 63206, 63214, 63223, 63231, 63239, 63248,
-    63256, 63264, 63272, 63281, 63289, 63297, 63306, 63314,
-    63322, 63330, 63339, 63347, 63355, 63364, 63372, 63380,
-    63388, 63397, 63405, 63413, 63421, 63430, 63438, 63446,
-    63454, 63463, 63471, 63479, 63488, 63496, 63504, 63512,
-    63521, 63529, 63537, 63545, 63554, 63562, 63570, 63578,
-    63587, 63595, 63603, 63611, 63619, 63628, 63636, 63644,
-    63652, 63661, 63669, 63677, 63685, 63694, 63702, 63710,
-    63718, 63727, 63735, 63743, 63751, 63759, 63768, 63776,
-    63784, 63792, 63801, 63809, 63817, 63825, 63833, 63842,
-    63850, 63858, 63866, 63874, 63883, 63891, 63899, 63907,
-    63915, 63924, 63932, 63940, 63948, 63956, 63965, 63973,
-    63981, 63989, 63997, 64006, 64014, 64022, 64030, 64038,
-    64047, 64055, 64063, 64071, 64079, 64088, 64096, 64104,
-    64112, 64120, 64128, 64137, 64145, 64153, 64161, 64169,
-    64177, 64186, 64194, 64202, 64210, 64218, 64226, 64235,
-    64243, 64251, 64259, 64267, 64275, 64284, 64292, 64300,
-    64308, 64316, 64324, 64332, 64341, 64349, 64357, 64365,
-    64373, 64381, 64389, 64398, 64406, 64414, 64422, 64430,
-    64438, 64446, 64455, 64463, 64471, 64479, 64487, 64495,
-    64503, 64512, 64520, 64528, 64536, 64544, 64552, 64560,
-    64568, 64576, 64585, 64593, 64601, 64609, 64617, 64625,
-    64633, 64641, 64650, 64658, 64666, 64674, 64682, 64690,
-    64698, 64706, 64714, 64722, 64731, 64739, 64747, 64755,
-    64763, 64771, 64779, 64787, 64795, 64803, 64812, 64820,
-    64828, 64836, 64844, 64852, 64860, 64868, 64876, 64884,
-    64892, 64900, 64909, 64917, 64925, 64933, 64941, 64949,
-    64957, 64965, 64973, 64981, 64989, 64997, 65005, 65013,
-    65021, 65030, 65038, 65046, 65054, 65062, 65070, 65078,
-    65086, 65094, 65102, 65110, 65118, 65126, 65134, 65142,
-    65150, 65158, 65166, 65175, 65183, 65191, 65199, 65207,
-    65215, 65223, 65231, 65239, 65247, 65255, 65263, 65271,
-    65279, 65287, 65295, 65303, 65311, 65319, 65327, 65335,
-    65343, 65351, 65359, 65367, 65375, 65383, 65391, 65399,
-    65407, 65415, 65423, 65431, 65439, 65447, 65455, 65463,
-    65471, 65479, 65487, 65495, 65503, 65511, 65519, 65527
-};
-
 static const signed short wavtable1[2304]={
      541,   956,   768, -1011,  -811,  -717,  -571,  -893,  -576,
      877,   581,   568,  -997,  -975,  -646,  -752,  -661,  -632,