From 12bff5dd87e6b863482e6bfd9f4561078ebcf3f0 Mon Sep 17 00:00:00 2001 From: SathishKumar Mani Date: Mon, 24 Sep 2012 11:48:11 -0700 Subject: audioflinger/resampler: Add VERY_HIGH_QUALITY audio-resampler Change-Id: I34f5d36ae60010ec64222d6660d10a84da3bf566 Bug: 7024293 Signed-off-by: Iliyan Malchev --- services/audioflinger/audio-resampler/Android.mk | 14 + .../audio-resampler/AudioResamplerCoefficients.cpp | 55 + .../dnsampler_filter_coefficients_x128_10112011.h | 2585 ++++++++++++++++++++ .../resampler_filter_coefficients_10042011.h | 2071 ++++++++++++++++ 4 files changed, 4725 insertions(+) create mode 100644 services/audioflinger/audio-resampler/Android.mk create mode 100644 services/audioflinger/audio-resampler/AudioResamplerCoefficients.cpp create mode 100644 services/audioflinger/audio-resampler/dnsampler_filter_coefficients_x128_10112011.h create mode 100644 services/audioflinger/audio-resampler/resampler_filter_coefficients_10042011.h (limited to 'services/audioflinger/audio-resampler') diff --git a/services/audioflinger/audio-resampler/Android.mk b/services/audioflinger/audio-resampler/Android.mk new file mode 100644 index 0000000..ba37b19 --- /dev/null +++ b/services/audioflinger/audio-resampler/Android.mk @@ -0,0 +1,14 @@ +LOCAL_PATH := $(call my-dir) + +include $(CLEAR_VARS) + +LOCAL_SRC_FILES := \ + AudioResamplerCoefficients.cpp + +LOCAL_MODULE := libaudio-resampler + +LOCAL_MODULE_TAGS := optional + +LOCAL_SHARED_LIBRARIES := libutils liblog + +include $(BUILD_SHARED_LIBRARY) diff --git a/services/audioflinger/audio-resampler/AudioResamplerCoefficients.cpp b/services/audioflinger/audio-resampler/AudioResamplerCoefficients.cpp new file mode 100644 index 0000000..ade58a7 --- /dev/null +++ b/services/audioflinger/audio-resampler/AudioResamplerCoefficients.cpp @@ -0,0 +1,55 @@ +/* + * Copyright (C) 2012 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include +#include +#undef LOG_TAG +#include +//#include "common_log.h" +#define LOG_TAG "ResamplerCoefficients" +#define LOG_NDEBUG 0 + +const int32_t RESAMPLE_FIR_NUM_COEF = 16; +const int32_t RESAMPLE_FIR_LERP_INT_BITS = 7; + +using namespace android; +#ifdef __cplusplus +extern "C" { +#endif +const int32_t* readResamplerCoefficients(bool upSample) { + + ALOGV("readResamplerCoefficients"); + if(upSample) { + return resampler_filter_coefficients_10042011; + } + else { + return dnsampler_filter_coefficients_x128_10112011; + } + +} + +int32_t readResampleFirNumCoeff() { + + return RESAMPLE_FIR_NUM_COEF; +} + +int32_t readResampleFirLerpIntBits() { + + return RESAMPLE_FIR_LERP_INT_BITS; +} +#ifdef __cplusplus +} +#endif diff --git a/services/audioflinger/audio-resampler/dnsampler_filter_coefficients_x128_10112011.h b/services/audioflinger/audio-resampler/dnsampler_filter_coefficients_x128_10112011.h new file mode 100644 index 0000000..eb2944c --- /dev/null +++ b/services/audioflinger/audio-resampler/dnsampler_filter_coefficients_x128_10112011.h @@ -0,0 +1,2585 @@ + +/* + * Copyright (C) 2012 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include + +namespace android { + +const int32_t dnsampler_filter_coefficients_x128_10112011[] = { +1849391518, +1849249650, +1848824221, +1848115177, +1847122891, +1845847499, +1844289491, +1842449129, +1840327103, +1837923861, +1835240203, +1832276710, +1829034388, +1825513999, +1821716652, +1817643240, +1813295074, +1808673214, +1803779065, +1798613825, +1793179109, +1787476282, +1781507048, +1775272909, +1768775774, +1762017295, +1754999460, +1747724062, +1740193297, +1732409109, +1724373764, +1716089338, +1707558293, +1698782831, +1689765473, +1680508558, +1671014814, +1661286715, +1651327042, +1641138399, +1630723762, +1620085842, +1609227651, +1598152036, +1586862206, +1575361116, +1563652006, +1551737947, +1539622358, +1527308388, +1514799466, +1502098869, +1489210218, +1476136877, +1462882477, +1449450498, +1435844739, +1422068735, +1408126274, +1394021008, +1379756900, +1365337657, +1350767225, +1336049408, +1321188297, +1306187721, +1291051731, +1275784259, +1260389523, +1244871491, +1229234343, +1213482137, +1197619187, +1181649550, +1165577481, +1149407125, +1133142876, +1116788884, +1100349476, +1083828868, +1067231493, +1050561533, +1033823337, +1017021160, +1000159475, +983242522, +966274693, +949260282, +932203771, +915109401, +897981548, +880824504, +863642743, +846440509, +829222164, +811991981, +794754382, +777513558, +760273800, +743039333, +725814532, +708603558, +691410662, +674240023, +657095935, +639982476, +622903794, +605863979, +588867231, +571917545, +555018972, +538175499, +521391190, +504669905, +488015541, +471431958, +454923090, +438492688, +422144531, +405882352, +389709927, +373630848, +357648715, +341767096, +325989596, +310319649, +294760687, +279316098, +263989284, +248783473, +233701878, +218747691, +203924116, +189234208, +174680993, +160267473, +145996632, +131871305, +117894282, +104068338, +90396230, +76880575, +63523937, +50328860, +37297842, +24433248, +11737378, +-787473, +-13139049, +-25315210, +-37313887, +-49133021, +-60770615, +-72224791, +-83493750, +-94575698, +-105468905, +-116171744, +-126682678, +-137000178, +-147122799, +-157049194, +-166778112, +-176308299, +-185638576, +-194767849, +-203695121, +-212419395, +-220939772, +-229255432, +-237365662, +-245269744, +-252967058, +-260457050, +-267739278, +-274813300, +-281678782, +-288335451, +-294783151, +-301021713, +-307051072, +-312871207, +-318482217, +-323884189, +-329077326, +-334061875, +-338838202, +-343406662, +-347767725, +-351921891, +-355869785, +-359612019, +-363149327, +-366482470, +-369612329, +-372539768, +-375265766, +-377791316, +-380117528, +-382245500, +-384176449, +-385911601, +-387452302, +-388799883, +-389955791, +-390921477, +-391698507, +-392288434, +-392692926, +-392913649, +-392952381, +-392810881, +-392491020, +-391994654, +-391323748, +-390480249, +-389466214, +-388283683, +-386934801, +-385421695, +-383746599, +-381911725, +-379919384, +-377771869, +-375471577, +-373020872, +-370422215, +-367678046, +-364790904, +-361763287, +-358597785, +-355296968, +-351863496, +-348299986, +-344609141, +-340793645, +-336856270, +-332799742, +-328626863, +-324340418, +-319943269, +-315438225, +-310828168, +-306115960, +-301304533, +-296396768, +-291395607, +-286303973, +-281124849, +-275861163, +-270515897, +-265092015, +-259592541, +-254020439, +-248378720, +-242670378, +-236898450, +-231065914, +-225175783, +-219231057, +-213234773, +-207189910, +-201099474, +-194966455, +-188793871, +-182584674, +-176341840, +-170068330, +-163767128, +-157441156, +-151093349, +-144726627, +-138343919, +-131948090, +-125542009, +-119128533, +-112710525, +-106290787, +-99872116, +-93457296, +-87049105, +-80650255, +-74263449, +-67891377, +-61536721, +-55202101, +-48890119, +-42603362, +-36344397, +-30115726, +-23919828, +-17759168, +-11636191, +-5553280, +487212, +6482947, +12431620, +18330990, +24178851, +29973011, +35711312, +41391655, +47011985, +52570260, +58064483, +63492718, +68853076, +74143678, +79362692, +84508338, +89578892, +94572639, +99487923, +104323138, +109076739, +113747190, +118333012, +122832775, +127245111, +131568663, +135802141, +139944301, +143993966, +147949965, +151811195, +155576593, +159245166, +162815931, +166287976, +169660430, +172932498, +176103387, +179172383, +182138803, +185002039, +187761495, +190416648, +192967011, +195412171, +197751720, +199985330, +202112693, +204133584, +206047780, +207855140, +209555545, +211148956, +212635338, +214014737, +215287214, +216452911, +217511975, +218464633, +219311127, +220051778, +220686909, +221216923, +221642232, +221963326, +222180699, +222294922, +222306577, +222216320, +222024810, +221732784, +221340984, +220850224, +220261321, +219575167, +218792653, +217914741, +216942395, +215876649, +214718535, +213469149, +212129590, +210701024, +209184611, +207581573, +205893134, +204120584, +202265202, +200328328, +198311300, +196215518, +194042369, +191793295, +189469738, +187073198, +184605160, +182067159, +179460730, +176787462, +174048923, +171246730, +168382500, +165457899, +162474572, +159434208, +156338493, +153189156, +149987902, +146736470, +143436603, +140090079, +136698650, +133264101, +129788215, +126272805, +122719654, +119130572, +115507371, +111851884, +108165922, +104451311, +100709877, +96943466, +93153889, +89342976, +85512554, +81664466, +77800525, +73922553, +70032372, +66131809, +62222659, +58306723, +54385799, +50461691, +46536172, +42611011, +38687978, +34768834, +30855311, +26949132, +23052017, +19165682, +15291809, +11432068, +7588126, +3761633, +-45792, +-3832550, +-7597044, +-11337694, +-15052951, +-18741290, +-22401190, +-26031153, +-29629717, +-33195444, +-36726898, +-40222670, +-43681381, +-47101682, +-50482228, +-53821707, +-57118836, +-60372370, +-63581062, +-66743703, +-69859111, +-72926141, +-75943654, +-78910550, +-81825759, +-84688251, +-87496999, +-90251018, +-92949348, +-95591074, +-98175284, +-100701113, +-103167725, +-105574326, +-107920130, +-110204396, +-112426408, +-114585497, +-116681001, +-118712307, +-120678826, +-122580018, +-124415349, +-126184333, +-127886505, +-129521449, +-131088758, +-132588075, +-134019062, +-135381436, +-136674915, +-137899273, +-139054300, +-140139836, +-141155730, +-142101884, +-142978213, +-143784688, +-144521281, +-145188022, +-145784950, +-146312156, +-146769738, +-147157848, +-147476649, +-147726356, +-147907187, +-148019419, +-148063331, +-148039258, +-147947536, +-147788557, +-147562717, +-147270463, +-146912244, +-146488563, +-145999923, +-145446877, +-144829983, +-144149847, +-143407076, +-142602324, +-141736248, +-140809557, +-139822954, +-138777189, +-137673015, +-136511230, +-135292629, +-134018047, +-132688326, +-131304347, +-129866988, +-128377166, +-126835801, +-125243852, +-123602271, +-121912047, +-120174172, +-118389676, +-116559578, +-114684934, +-112766800, +-110806267, +-108804411, +-106762342, +-104681172, +-102562041, +-100406081, +-98214447, +-95988299, +-93728821, +-91437183, +-89114578, +-86762204, +-84381279, +-81973009, +-79538619, +-77079333, +-74596397, +-72091035, +-69564491, +-67018008, +-64452847, +-61870249, +-59271470, +-56657765, +-54030397, +-51390615, +-48739670, +-46078819, +-43409324, +-40732431, +-38049385, +-35361437, +-32669835, +-29975809, +-27280589, +-24585404, +-21891486, +-19200045, +-16512287, +-13829420, +-11152644, +-8483140, +-5822079, +-3170634, +-529970, +2098768, +4714446, +7315931, +9902105, +12471869, +15024139, +17557833, +20071880, +22565234, +25036861, +27485734, +29910841, +32311195, +34685828, +37033773, +39354083, +41645834, +43908123, +46140049, +48340738, +50509337, +52645015, +54746948, +56814333, +58846388, +60842359, +62801494, +64723072, +66606390, +68450776, +70255559, +72020101, +73743779, +75426002, +77066186, +78663776, +80218238, +81729070, +83195771, +84617877, +85994939, +87326540, +88612269, +89851753, +91044631, +92190579, +93289279, +94340447, +95343813, +96299144, +97206213, +98064827, +98874809, +99636019, +100348318, +101011607, +101625796, +102190834, +102706673, +103173303, +103590724, +103958975, +104278097, +104548170, +104769282, +104941559, +105065128, +105140157, +105166820, +105145327, +105075891, +104958764, +104794201, +104582494, +104323937, +104018863, +103667606, +103270537, +102828031, +102340497, +101808346, +101232024, +100611979, +99948695, +99242655, +98494373, +97704368, +96873190, +96001391, +95089549, +94138248, +93148103, +92119724, +91053751, +89950827, +88811624, +87636812, +86427086, +85183142, +83905705, +82595493, +81253249, +79879717, +78475668, +77041865, +75579093, +74088140, +72569815, +71024919, +69454270, +67858693, +66239031, +64596117, +62930801, +61243936, +59536392, +57809025, +56062708, +54298314, +52516733, +50718843, +48905532, +47077692, +45236223, +43382015, +41515965, +39638972, +37751945, +35855780, +33951378, +32039643, +30121481, +28197786, +26269454, +24337383, +22402475, +20465617, +18527696, +16589601, +14652220, +12716424, +10783083, +8853070, +6927251, +5006483, +3091612, +1183489, +-717043, +-2609159, +-4492039, +-6364862, +-8226816, +-10077103, +-11914934, +-13739523, +-15550093, +-17345884, +-19126146, +-20890132, +-22637106, +-24366346, +-26077146, +-27768800, +-29440618, +-31091927, +-32722068, +-34330384, +-35916235, +-37478994, +-39018053, +-40532806, +-42022667, +-43487063, +-44925444, +-46337259, +-47721979, +-49079087, +-50408090, +-51708495, +-52979834, +-54221651, +-55433514, +-56614992, +-57765679, +-58885178, +-59973119, +-61029133, +-62052877, +-63044020, +-64002256, +-64927281, +-65818818, +-66676601, +-67500387, +-68289938, +-69045045, +-69765506, +-70451147, +-71101796, +-71717309, +-72297549, +-72842408, +-73351780, +-73825587, +-74263759, +-74666254, +-75033033, +-75364085, +-75659405, +-75919016, +-76142943, +-76331242, +-76483972, +-76601219, +-76683074, +-76729655, +-76741083, +-76717507, +-76659078, +-76565976, +-76438382, +-76276507, +-76080561, +-75850784, +-75587416, +-75290725, +-74960980, +-74598477, +-74203511, +-73776405, +-73317481, +-72827089, +-72305578, +-71753320, +-71170691, +-70558089, +-69915913, +-69244582, +-68544519, +-67816171, +-67059982, +-66276416, +-65465942, +-64629046, +-63766215, +-62877953, +-61964766, +-61027182, +-60065722, +-59080928, +-58073342, +-57043524, +-55992029, +-54919428, +-53826296, +-52713221, +-51580788, +-50429596, +-49260245, +-48073350, +-46869516, +-45649365, +-44413516, +-43162604, +-41897255, +-40618108, +-39325799, +-38020978, +-36704285, +-35376367, +-34037875, +-32689467, +-31331794, +-29965512, +-28591278, +-27209755, +-25821597, +-24427461, +-23028006, +-21623896, +-20215785, +-18804329, +-17390186, +-15974013, +-14556459, +-13138172, +-11719802, +-10301999, +-8885401, +-7470647, +-6058375, +-4649221, +-3243807, +-1842755, +-446687, +943782, +2328043, +3705495, +5075537, +6437575, +7791026, +9135312, +10469860, +11794099, +13107474, +14409434, +15699433, +16976932, +18241406, +19492338, +20729214, +21951528, +23158786, +24350507, +25526208, +26685422, +27827692, +28952575, +30059626, +31148419, +32218533, +33269565, +34301113, +35312788, +36304216, +37275034, +38224885, +39153423, +40060316, +40945246, +41807897, +42647972, +43465182, +44259258, +45029930, +45776947, +46500068, +47199069, +47873729, +48523844, +49149222, +49749687, +50325066, +50875204, +51399956, +51899193, +52372790, +52820642, +53242651, +53638739, +54008828, +54352864, +54670795, +54962591, +55228223, +55467686, +55680976, +55868110, +56029109, +56164013, +56272864, +56355729, +56412671, +56443780, +56449143, +56428871, +56383077, +56311893, +56215452, +56093910, +55947423, +55776167, +55580318, +55360074, +55115633, +54847211, +54555028, +54239319, +53900322, +53538294, +53153491, +52746187, +52316657, +51865197, +51392097, +50897668, +50382220, +49846081, +49289577, +48713047, +48116836, +47501302, +46866801, +46213703, +45542381, +44853220, +44146603, +43422927, +42682590, +41926002, +41153572, +40365719, +39562864, +38745438, +37913870, +37068598, +36210060, +35338709, +34454988, +33559353, +32652259, +31734171, +30805546, +29866852, +28918556, +27961133, +26995053, +26020792, +25038826, +24049638, +23053702, +22051499, +21043509, +20030219, +19012108, +17989658, +16963352, +15933674, +14901104, +13866119, +12829202, +11790833, +10751487, +9711638, +8671763, +7632335, +6593820, +5556683, +4521391, +3488407, +2458187, +1431187, +407859, +-611345, +-1625983, +-2635618, +-3639811, +-4638127, +-5630141, +-6615431, +-7593576, +-8564163, +-9526785, +-10481043, +-11426537, +-12362876, +-13289673, +-14206552, +-15113136, +-16009059, +-16893959, +-17767487, +-18629291, +-19479032, +-20316375, +-21140997, +-21952575, +-22750798, +-23535360, +-24305970, +-25062334, +-25804171, +-26531205, +-27243175, +-27939817, +-28620882, +-29286128, +-29935325, +-30568244, +-31184668, +-31784388, +-32367206, +-32932927, +-33481369, +-34012357, +-34525729, +-35021324, +-35498994, +-35958600, +-36400012, +-36823105, +-37227767, +-37613893, +-37981391, +-38330171, +-38660157, +-38971278, +-39263479, +-39536704, +-39790914, +-40026074, +-40242163, +-40439161, +-40617065, +-40775874, +-40915600, +-41036259, +-41137883, +-41220502, +-41284167, +-41328926, +-41354844, +-41361987, +-41350437, +-41320276, +-41271601, +-41204513, +-41119123, +-41015546, +-40893911, +-40754348, +-40597001, +-40422014, +-40229546, +-40019757, +-39792819, +-39548906, +-39288206, +-39010907, +-38717208, +-38407310, +-38081429, +-37739776, +-37382578, +-37010062, +-36622464, +-36220024, +-35802990, +-35371611, +-34926149, +-34466863, +-33994021, +-33507895, +-33008767, +-32496915, +-31972628, +-31436196, +-30887917, +-30328089, +-29757014, +-29175000, +-28582360, +-27979405, +-27366455, +-26743828, +-26111852, +-25470849, +-24821150, +-24163084, +-23496990, +-22823200, +-22142053, +-21453889, +-20759052, +-20057882, +-19350724, +-18637922, +-17919826, +-17196782, +-16469137, +-15737241, +-15001445, +-14262095, +-13519542, +-12774133, +-12026222, +-11276155, +-10524279, +-9770942, +-9016494, +-8261277, +-7505635, +-6749910, +-5994447, +-5239585, +-4485659, +-3733007, +-2981966, +-2232865, +-1486032, +-741794, +-479, +737595, +1472108, +2202745, +2929192, +3651141, +4368289, +5080331, +5786969, +6487909, +7182860, +7871535, +8553649, +9228926, +9897092, +10557878, +11211015, +11856245, +12493314, +13121967, +13741959, +14353050, +14955005, +15547593, +16130588, +16703768, +17266923, +17819839, +18362313, +18894148, +19415155, +19925144, +20423935, +20911353, +21387231, +21851406, +22303720, +22744023, +23172174, +23588031, +23991464, +24382346, +24760559, +25125987, +25478524, +25818069, +26144531, +26457817, +26757849, +27044549, +27317851, +27577690, +27824011, +28056763, +28275905, +28481398, +28673213, +28851323, +29015713, +29166367, +29303283, +29426459, +29535904, +29631629, +29713655, +29782006, +29836715, +29877818, +29905359, +29919387, +29919958, +29907132, +29880978, +29841566, +29788975, +29723288, +29644596, +29552991, +29448575, +29331452, +29201735, +29059537, +28904981, +28738192, +28559303, +28368447, +28165766, +27951404, +27725513, +27488244, +27239759, +26980219, +26709793, +26428650, +26136967, +25834922, +25522700, +25200487, +24868475, +24526855, +24175830, +23815596, +23446360, +23068326, +22681709, +22286719, +21883572, +21472486, +21053686, +20627392, +20193830, +19753228, +19305819, +18851833, +18391506, +17925071, +17452770, +16974838, +16491518, +16003049, +15509677, +15011645, +14509198, +14002580, +13492042, +12977828, +12460185, +11939362, +11415608, +10889171, +10360299, +9829240, +9296245, +8761559, +8225429, +7688103, +7149828, +6610849, +6071411, +5531756, +4992131, +4452774, +3913926, +3375826, +2838712, +2302821, +1768384, +1235637, +704811, +176132, +-350173, +-873879, +-1394763, +-1912606, +-2427192, +-2938303, +-3445727, +-3949255, +-4448681, +-4943802, +-5434414, +-5920319, +-6401326, +-6877239, +-7347870, +-7813034, +-8272552, +-8726243, +-9173932, +-9615448, +-10050623, +-10479293, +-10901295, +-11316474, +-11724679, +-12125759, +-12519569, +-12905967, +-13284818, +-13655986, +-14019344, +-14374766, +-14722134, +-15061330, +-15392240, +-15714758, +-16028781, +-16334207, +-16630942, +-16918895, +-17197981, +-17468118, +-17729228, +-17981237, +-18224079, +-18457687, +-18682004, +-18896973, +-19102546, +-19298674, +-19485318, +-19662437, +-19830002, +-19987982, +-20136353, +-20275096, +-20404197, +-20523643, +-20633430, +-20733554, +-20824018, +-20904829, +-20975997, +-21037538, +-21089473, +-21131822, +-21164617, +-21187886, +-21201668, +-21206001, +-21200931, +-21186504, +-21162774, +-21129796, +-21087631, +-21036341, +-20975996, +-20906666, +-20828426, +-20741355, +-20645535, +-20541051, +-20427994, +-20306454, +-20176529, +-20038316, +-19891920, +-19737444, +-19574998, +-19404692, +-19226642, +-19040965, +-18847782, +-18647215, +-18439392, +-18224439, +-18002487, +-17773669, +-17538123, +-17295986, +-17047397, +-16792499, +-16531439, +-16264360, +-15991413, +-15712746, +-15428514, +-15138869, +-14843968, +-14543967, +-14239027, +-13929305, +-13614963, +-13296164, +-12973072, +-12645852, +-12314669, +-11979690, +-11641084, +-11299018, +-10953660, +-10605181, +-10253752, +-9899543, +-9542724, +-9183468, +-8821947, +-8458330, +-8092791, +-7725499, +-7356629, +-6986351, +-6614835, +-6242252, +-5868775, +-5494571, +-5119810, +-4744660, +-4369291, +-3993868, +-3618559, +-3243529, +-2868942, +-2494962, +-2121750, +-1749467, +-1378274, +-1008329, +-639789, +-272809, +92455, +455851, +817231, +1176442, +1533338, +1887773, +2239604, +2588688, +2934884, +3278056, +3618068, +3954787, +4288079, +4617816, +4943871, +5266119, +5584437, +5898705, +6208806, +6514625, +6816049, +7112968, +7405275, +7692864, +7975633, +8253483, +8526319, +8794045, +9056570, +9313805, +9565666, +9812069, +10052933, +10288182, +10517742, +10741541, +10959512, +11171587, +11377707, +11577809, +11771839, +11959741, +12141468, +12316971, +12486205, +12649128, +12805703, +12955894, +13099669, +13236996, +13367853, +13492214, +13610059, +13721371, +13826136, +13924343, +14015982, +14101050, +14179544, +14251463, +14316813, +14375598, +14427829, +14473516, +14512676, +14545324, +14571484, +14591176, +14604428, +14611268, +14611727, +14605840, +14593643, +14575174, +14550478, +14519596, +14482577, +14439469, +14390325, +14335196, +14274142, +14207219, +14134490, +14056016, +13971864, +13882101, +13786797, +13686023, +13579854, +13468364, +13351632, +13229736, +13102759, +12970783, +12833894, +12692177, +12545721, +12394615, +12238951, +12078822, +11914322, +11745546, +11572592, +11395558, +11214544, +11029649, +10840977, +10648630, +10452712, +10253328, +10050584, +9844586, +9635444, +9423263, +9208154, +8990226, +8769590, +8546356, +8320637, +8092543, +7862188, +7629684, +7395143, +7158678, +6920405, +6680434, +6438881, +6195859, +5951482, +5705863, +5459115, +5211352, +4962688, +4713234, +4463103, +4212408, +3961262, +3709774, +3458055, +3206216, +2954367, +2702617, +2451073, +2199845, +1949039, +1698760, +1449115, +1200206, +952139, +705015, +458936, +214002, +-29687, +-272033, +-512941, +-752313, +-990055, +-1226074, +-1460278, +-1692576, +-1922878, +-2151097, +-2377147, +-2600942, +-2822399, +-3041435, +-3257970, +-3471925, +-3683223, +-3891787, +-4097545, +-4300424, +-4500352, +-4697261, +-4891083, +-5081754, +-5269208, +-5453384, +-5634222, +-5811664, +-5985653, +-6156134, +-6323055, +-6486364, +-6646013, +-6801954, +-6954144, +-7102537, +-7247093, +-7387773, +-7524538, +-7657353, +-7786184, +-7910999, +-8031770, +-8148467, +-8261064, +-8369539, +-8473868, +-8574031, +-8670011, +-8761790, +-8849356, +-8932694, +-9011796, +-9086651, +-9157254, +-9223598, +-9285682, +-9343504, +-9397065, +-9446367, +-9491415, +-9532214, +-9568774, +-9601103, +-9629214, +-9653119, +-9672835, +-9688376, +-9699763, +-9707015, +-9710154, +-9709202, +-9704187, +-9695132, +-9682068, +-9665024, +-9644031, +-9619121, +-9590330, +-9557692, +-9521245, +-9481028, +-9437080, +-9389443, +-9338159, +-9283272, +-9224828, +-9162872, +-9097452, +-9028617, +-8956417, +-8880903, +-8802127, +-8720142, +-8635003, +-8546764, +-8455484, +-8361217, +-8264022, +-8163959, +-8061088, +-7955468, +-7847161, +-7736229, +-7622737, +-7506745, +-7388320, +-7267525, +-7144428, +-7019092, +-6891585, +-6761974, +-6630327, +-6496711, +-6361194, +-6223845, +-6084734, +-5943929, +-5801500, +-5657517, +-5512050, +-5365168, +-5216942, +-5067443, +-4916741, +-4764906, +-4612009, +-4458120, +-4303311, +-4147650, +-3991209, +-3834057, +-3676265, +-3517901, +-3359037, +-3199740, +-3040080, +-2880126, +-2719945, +-2559606, +-2399177, +-2238724, +-2078315, +-1918015, +-1757891, +-1598007, +-1438428, +-1279218, +-1120441, +-962159, +-804435, +-647330, +-490906, +-335223, +-180338, +-26312, +126797, +278933, +430040, +580062, +728943, +876632, +1023074, +1168219, +1312015, +1454411, +1595360, +1734812, +1872720, +2009038, +2143721, +2276725, +2408006, +2537522, +2665233, +2791097, +2915076, +3037131, +3157228, +3275328, +3391399, +3505405, +3617315, +3727097, +3834720, +3940156, +4043377, +4144356, +4243067, +4339485, +4433587, +4525351, +4614755, +4701780, +4786406, +4868616, +4948393, +5025721, +5100587, +5172977, +5242878, +5310279, +5375172, +5437547, +5497396, +5554712, +5609491, +5661728, +5711419, +5758562, +5803157, +5845203, +5884701, +5921652, +5956061, +5987931, +6017267, +6044075, +6068363, +6090138, +6109409, +6126186, +6140482, +6152306, +6161673, +6168595, +6173088, +6175167, +6174849, +6172151, +6167091, +6159687, +6149960, +6137930, +6123618, +6107046, +6088238, +6067217, +6044007, +6018632, +5991120, +5961496, +5929787, +5896020, +5860225, +5822429, +5782663, +5740956, +5697338, +5651841, +5604497, +5555336, +5504393, +5451699, +5397289, +5341196, +5283454, +5224099, +5163164, +5100686, +5036700, +4971242, +4904348, +4836055, +4766400, +4695420, +4623152, +4549633, +4474901, +4398995, +4321952, +4243810, +4164608, +4084383, +4003175, +3921021, +3837960, +3754032, +3669273, +3583724, +3497422, +3410406, +3322714, +3234384, +3145456, +3055967, +2965954, +2875457, +2784513, +2693159, +2601433, +2509371, +2417012, +2324391, +2231545, +2138511, +2045325, +1952022, +1858638, +1765208, +1671768, +1578350, +1484991, +1391723, +1298581, +1205597, +1112804, +1020235, +927921, +835894, +744186, +652826, +561846, +471276, +381143, +291479, +202310, +113666, +25572, +-61942, +-148851, +-235129, +-320751, +-405691, +-489926, +-573430, +-656181, +-738156, +-819332, +-899688, +-979202, +-1057854, +-1135623, +-1212489, +-1288435, +-1363441, +-1437489, +-1510563, +-1582644, +-1653718, +-1723769, +-1792781, +-1860740, +-1927631, +-1993443, +-2058161, +-2121774, +-2184270, +-2245638, +-2305868, +-2364949, +-2422873, +-2479630, +-2535212, +-2589613, +-2642824, +-2694840, +-2745654, +-2795261, +-2843656, +-2890834, +-2936793, +-2981528, +-3025036, +-3067316, +-3108366, +-3148185, +-3186772, +-3224126, +-3260249, +-3295140, +-3328802, +-3361236, +-3392444, +-3422430, +-3451195, +-3478744, +-3505081, +-3530210, +-3554136, +-3576865, +-3598402, +-3618754, +-3637927, +-3655929, +-3672765, +-3688446, +-3702978, +-3716370, +-3728631, +-3739770, +-3749797, +-3758721, +-3766553, +-3773304, +-3778983, +-3783603, +-3787174, +-3789709, +-3791219, +-3791717, +-3791215, +-3789725, +-3787262, +-3783838, +-3779466, +-3774160, +-3767934, +-3760802, +-3752778, +-3743877, +-3734113, +-3723501, +-3712056, +-3699792, +-3686725, +-3672871, +-3658244, +-3642860, +-3626735, +-3609884, +-3592324, +-3574069, +-3555137, +-3535542, +-3515302, +-3494432, +-3472947, +-3450866, +-3428203, +-3404974, +-3381197, +-3356887, +-3332060, +-3306732, +-3280921, +-3254641, +-3227909, +-3200741, +-3173153, +-3145162, +-3116781, +-3088029, +-3058920, +-3029469, +-2999694, +-2969608, +-2939228, +-2908568, +-2877644, +-2846472, +-2815064, +-2783438, +-2751607, +-2719586, +-2687389, +-2655030, +-2622524, +-2589885, +-2557126, +-2524261, +-2491304, +-2458268, +-2425166, +-2392011, +-2358815, +-2325592, +-2292354, +-2259114, +-2225882, +-2192671, +-2159493, +-2126359, +-2093281, +-2060269, +-2027334, +-1994487, +-1961738, +-1929098, +-1896576, +-1864183, +-1831927, +-1799818, +-1767865, +-1736078, +-1704464, +-1673032, +-1641791, +-1610748, +-1579911, +-1549288, +-1518886, +-1488713, +-1458774, +-1429078, +-1399630, +-1370436, +-1341503, +-1312836, +-1284441, +-1256324, +-1228489, +-1200941, +-1173686, +-1146727, +-1120069, +-1093717, +-1067673, +-1041942, +-1016527, +-991432, +-966659, +-942211, +-918092, +-894303, +-870846, +-847724, +-824940, +-802493, +-780386, +-758621, +-737199, +-716120, +-695385, +-674996, +-654951, +-635253, +-615901, +-596895, +-578234, +-559919, +-541949, +-524324, +-507042, +-490103, +-473505, +-457248, +-441330, +-425750, +-410506, +-395596, +-381019, +-366773, +-352855, +-339263, +-325995, +-313049, +-300421, +-288110, +-276112, +-264425, +-253046, +-241972, +-231199, +-220725, +-210546, +-200659, +-191060, +-181746, +-172713, +-163958, +-155477, +-147266, +-139321, +-131639, +-124215, +-117045, +-110126, +-103453, +-97022, +-90829, +-84870, +-79140, +-73636, +-68352, +-63285, +-58431, +-53784, +-49341, +-45097, +-41048, +-37188, +-33515, +-30023, +-26708, +-23566, +-20592, +-17782, +-15130, +-12634, +-10289, +-8089, +-6031, +-4111, +-2324, +-666, +868, +2281, +3578, +4763, +5839, +6812, +7685, +8462, +9146, +9743, +10255, +10686, +11041, +11322, +11533, +11679, +11762, +11785, +11753, +11668, +11533, +11352, +11128, +10864, +10563, +10227, +9860, +9464, +9042, +8596, +8129, +7644, +7142, +6626, +6099, +5562, +5017, +4467, +3913, +3357, +2800, +2245, +1694, +1146, +605, +71, +-454, +-970, +-1474, +-1966, +-2446, +-2911, +-3362, +-3797, +-4215, +-4617, +-5001, +-5367, +-5714, +-6043, +-6352, +-6641, +-6910, +-7160, +-7389, +-7598, +-7786, +-7954, +-8102, +-8230, +-8338, +-8426, +-8495, +-8545, +-8575, +-8587, +-8582, +-8558, +-8517, +-8460, +-8386, +-8297, +-8192, +-8073, +-7940, +-7794, +-7635, +-7464, +-7281, +-7088, +-6885, +-6672, +-6450, +-6221, +-5984, +-5740, +-5490, +-5235, +-4975, +-4711, +-4443, +-4173, +-3901, +-3627, +-3352, +-3077, +-2803, +-2529, +-2257, +-1986, +-1719, +-1454, +-1193, +-935, +-683, +-435, +-192, +45, +276, +501, +719, +930, +1134, +1331, +1519, +1700, +1873, +2038, +2194, +2342, +2481, +2611, +2733, +2846, +2950, +3046, +3133, +3211, +3281, +3343, +3396, +3441, +3477, +3506, +3527, +3541, +3547, +3546, +3538, +3523, +3502, +3474, +3441, +3401, +3357, +3307, +3252, +3192, +3128, +3060, +2989, +2913, +2835, +2753, +2669, +2583, +2494, +2403, +2311, +2218, +2124, +2028, +1933, +1837, +1741, +1645, +1550, +1455, +1361, +1268, +1176, +1086, +997, +910, +825, +741, +660, +581, +504, +429, +357, +287, +220, +156, +94, +35, +-22, +-75, +-126, +-175, +-220, +-263, +-303, +-341, +-375, +-408, +-437, +-464, +-489, +-511, +-531, +-548, +-564, +-577, +-588, +-597, +-604, +-610, +-613, +-615, +-616, +-614, +-612, +-608, +-603, +-597, +-590, +-582, +-573, +-563, +-553, +-542, +-530, +-518, +-506, +-493, +-480, +-466, +-453, +-439, +-425, +-411, +-398, +-384, +-370, +-357, +-344, +-331, +-318, +-305, +-293, +-281, +-269, +-258, +-247, +-237, +-227, +-217, +-208, +-199, +-190, +-182, +-174, +-167, +-160, +-154, +-147, +-142, +-136, +-131, +-126, +-121, +-117, +-113, +-109, +-106, +-102, +-99, +-96, +-93, +-90, +-87, +-85, +-82, +-80, +-78, +-76, +-74, +-72, +-70, +-68, +-66, +-64, +-62, +-60, +-58, +-57, +-55, +-53, +-51, +-50, +-48, +-46, +-45, +-43, +-41, +-40, +-38, +-36, +-35, +-33, +-31, +-30, +-28, +-27, +-25, +-24, +-22, +-21, +-20, +-18, +-17, +-16, +-15, +-13, +-12, +-11, +-10, +-9, +-9, +-8, +-7, +-6, +}; +} diff --git a/services/audioflinger/audio-resampler/resampler_filter_coefficients_10042011.h b/services/audioflinger/audio-resampler/resampler_filter_coefficients_10042011.h new file mode 100644 index 0000000..8c6a899 --- /dev/null +++ b/services/audioflinger/audio-resampler/resampler_filter_coefficients_10042011.h @@ -0,0 +1,2071 @@ +/* + * Copyright (C) 2012 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#include + +namespace android { + +const int32_t resampler_filter_coefficients_10042011[] = { +2075076504, +2074870219, +2074269557, +2073262841, +2071862786, +2070051926, +2067849110, +2065243563, +2062248465, +2058846262, +2055055548, +2050866069, +2046291635, +2041315273, +2035955897, +2030204167, +2024074532, +2017550518, +2010651175, +2003368165, +1995716923, +1987682243, +1979283938, +1970514752, +1961390076, +1951894181, +1942045775, +1931837943, +1921286728, +1910377736, +1899130344, +1887538902, +1875619770, +1863358864, +1850775104, +1837863721, +1824641940, +1811097380, +1797249776, +1783095528, +1768651291, +1753903742, +1738870726, +1723548746, +1707955054, +1692078274, +1675937190, +1659529795, +1642873313, +1625956474, +1608797063, +1591393772, +1573764495, +1555899971, +1537818785, +1519520784, +1501022796, +1482314240, +1463411160, +1444313227, +1425037741, +1405576492, +1385946622, +1366149382, +1346201706, +1326095287, +1305845828, +1285455045, +1264940308, +1244295464, +1223536951, +1202667530, +1181703085, +1160635857, +1139479271, +1118235636, +1096921134, +1075530585, +1054078577, +1032568949, +1011017224, +989417949, +967783970, +946119336, +924439752, +902741900, +881039249, +859336703, +837648175, +815968557, +794308053, +772670861, +751070988, +729505896, +707986911, +686519594, +665117063, +643776375, +622506966, +601314359, +580211607, +559197735, +538282662, +517472516, +496778402, +476197491, +455736426, +435400430, +415200497, +395136166, +375215078, +355443561, +335831583, +316378199, +297089183, +277970603, +259032151, +240274557, +221703918, +203326638, +185150446, +167174280, +149401179, +131836509, +114487708, +97355714, +80444376, +63759844, +47308498, +31090767, +15108809, +-631654, +-16124677, +-31368536, +-46360908, +-61095999, +-75569692, +-89781876, +-103732869, +-117417959, +-130833461, +-143977734, +-156850513, +-169446641, +-181763420, +-193799687, +-205556559, +-217029409, +-228216068, +-239114500, +-249725794, +-260045485, +-270072966, +-279807538, +-289252364, +-298404017, +-307262396, +-315825804, +-324097052, +-332072584, +-339753137, +-347137398, +-354229167, +-361025450, +-367527527, +-373733643, +-379647676, +-385266970, +-390594013, +-395628043, +-400374357, +-404831217, +-409001628, +-412884357, +-416484569, +-419800667, +-422836272, +-425590412, +-428068799, +-430270358, +-432199204, +-433854305, +-435241518, +-436360214, +-437215297, +-437806349, +-438139967, +-438216244, +-438040549, +-437612462, +-436938620, +-436019455, +-434860689, +-433462013, +-431830172, +-429966019, +-427875663, +-425559045, +-423023081, +-420269108, +-417303590, +-414126712, +-410745497, +-407161766, +-403382348, +-399407797, +-395245305, +-390897144, +-386370224, +-381665062, +-376788564, +-371743279, +-366536360, +-361168782, +-355647611, +-349975843, +-344160581, +-338202705, +-332108851, +-325882239, +-319530194, +-313054213, +-306461164, +-299754744, +-292942106, +-286024571, +-279008412, +-271897436, +-264698872, +-257414606, +-250051032, +-242612307, +-235105276, +-227531464, +-219896432, +-212204319, +-204462036, +-196671840, +-188839540, +-180969700, +-173068854, +-165138974, +-157185076, +-149211664, +-141225186, +-133228184, +-125225726, +-117222535, +-109224429, +-101233397, +-93253442, +-85289050, +-77345947, +-69426846, +-61535955, +-53678071, +-45858404, +-38079310, +-30344121, +-22657427, +-15024209, +-7447312, +69952, +7522929, +14907403, +22221174, +29462063, +36625813, +43708432, +50707112, +57619541, +64441301, +71168979, +77800149, +84333341, +90764454, +97090405, +103308422, +109417126, +115412500, +121292248, +127054242, +132698149, +138220442, +143619140, +148891701, +154037743, +159053739, +163938275, +168689170, +173306749, +177787867, +182131495, +186335286, +190399716, +194321853, +198101380, +201736519, +205228586, +208575166, +211776310, +214830056, +217737773, +220497194, +223108861, +225571114, +227885824, +230051117, +232067922, +233934597, +235653195, +237222146, +238642925, +239914316, +241038916, +242015623, +242846277, +243529706, +244068632, +244462216, +244712654, +244818983, +244784181, +244607765, +244292268, +243836913, +243244874, +242516010, +241653201, +240655918, +239527557, +238268354, +236881508, +235366743, +233727638, +231964766, +230081521, +228077731, +225956985, +223720128, +221370808, +218909157, +216338938, +213661333, +210880096, +207995414, +205010946, +201928111, +198750891, +195479864, +192118892, +188669741, +185136417, +181519490, +177822602, +174047687, +170198894, +166277172, +162286302, +158228508, +154107834, +149925117, +145683777, +141386129, +137036351, +132635752, +128187958, +123695608, +119162747, +114590586, +109982363, +105340765, +100669861, +95971242, +91248228, +86503703, +81741443, +76962776, +72170457, +67367307, +62557108, +57741653, +52923856, +48106777, +43293939, +38486954, +33688240, +28900789, +24128036, +19371931, +14634917, +9920080, +5230446, +567618, +-4066612, +-8669336, +-13237622, +-17769457, +-22262939, +-26715017, +-31123091, +-35485370, +-39800471, +-44065504, +-48278050, +-52436071, +-56538223, +-60581634, +-64564356, +-68484740, +-72342096, +-76133828, +-79858170, +-83513191, +-87098163, +-90610469, +-94048704, +-97411174, +-100697628, +-103905676, +-107034151, +-110081227, +-113046738, +-115928406, +-118725517, +-121436605, +-124062060, +-126599916, +-129049689, +-131409767, +-133680567, +-135860199, +-137948517, +-139944122, +-141847799, +-143657917, +-145374591, +-146996418, +-148524310, +-149956828, +-151294475, +-152536152, +-153683178, +-154734431, +-155690674, +-156550825, +-157316298, +-157986149, +-158561410, +-159041176, +-159427086, +-159718451, +-159916548, +-160020582, +-160032332, +-159951337, +-159779143, +-159515147, +-159161329, +-158717499, +-158185432, +-157564678, +-156857347, +-156063474, +-155185008, +-154221601, +-153175426, +-152046727, +-150837654, +-149548057, +-148180246, +-146734704, +-145213706, +-143617181, +-141947434, +-140205146, +-138392776, +-136510514, +-134560819, +-132544622, +-130464445, +-128320507, +-126115178, +-123849532, +-121526221, +-119145720, +-116710510, +-114221879, +-111682456, +-109092675, +-106454825, +-103770291, +-101041818, +-98270160, +-95457755, +-92606223, +-89718259, +-86794577, +-83837395, +-80848397, +-77830331, +-74784179, +-71712237, +-68616354, +-65499123, +-62361390, +-59205117, +-56032152, +-52845129, +-49645224, +-46434530, +-43215084, +-39989380, +-36758496, +-33524217, +-30288565, +-27054001, +-23821849, +-20593926, +-17372347, +-14159320, +-10955954, +-7763647, +-4584416, +-1420431, +1726908, +4856115, +7965053, +11051765, +14114989, +17153587, +20165512, +23148908, +26102328, +29024647, +31913805, +34768253, +37586799, +40368755, +43112232, +45815788, +48478013, +51098183, +53674369, +56205373, +58689945, +61127693, +63516834, +65856322, +68144797, +70381920, +72565965, +74696201, +76771518, +78791971, +80756044, +82663155, +84512076, +86302872, +88034067, +89705316, +91315544, +92865092, +94352657, +95778072, +97140241, +98439585, +99674922, +100846363, +101953029, +102995643, +103973242, +104886114, +105733366, +106515783, +107232507, +107884029, +108469586, +108990146, +109445031, +109834907, +110159075, +110418598, +110612956, +110743021, +110808247, +110809873, +110747573, +110622392, +110433872, +110183341, +109870630, +109496925, +109061853, +108566821, +108011814, +107398172, +106725651, +105995758, +105208649, +104365776, +103466973, +102513780, +101506507, +100446746, +99334505, +98171433, +96958015, +95695913, +94385172, +93027406, +91623219, +90174378, +88681103, +87145094, +85567114, +83948941, +82290788, +80594255, +78860190, +77090470, +75285527, +73447070, +71576122, +69674546, +67742761, +65782346, +63794384, +61780793, +59742181, +57680191, +55596034, +53491542, +51367245, +49224577, +47064766, +44889688, +42700109, +40497558, +38283410, +36059459, +33826411, +31585598, +29338397, +27086596, +24831081, +22573215, +20314456, +18056430, +15799888, +13545910, +11295904, +9051483, +6813612, +4583444, +2362482, +152205, +-2046514, +-4232760, +-6405078, +-8562051, +-10702661, +-12825994, +-14930573, +-17015184, +-19078982, +-21121361, +-23140947, +-25136591, +-27107282, +-29052375, +-30970456, +-32860543, +-34721731, +-36553615, +-38354874, +-40124623, +-41861868, +-43566233, +-45236425, +-46871781, +-48471484, +-50035443, +-51562506, +-53052109, +-54503334, +-55916090, +-57289239, +-58622387, +-59914726, +-61166369, +-62376298, +-63544241, +-64669360, +-65751822, +-66790682, +-67785875, +-68736719, +-69643614, +-70505769, +-71323237, +-72095315, +-72822435, +-73503872, +-74139832, +-74729705, +-75274073, +-75772337, +-76224828, +-76630970, +-76991410, +-77305656, +-77574197, +-77796578, +-77973591, +-78104888, +-78191082, +-78231765, +-78227787, +-78178906, +-78085845, +-77948266, +-77767093, +-77542200, +-77274423, +-76963506, +-76610446, +-76215234, +-75778805, +-75300971, +-74782775, +-74224327, +-73626669, +-72989720, +-72314602, +-71601546, +-70851655, +-70064886, +-69242354, +-68384382, +-67492158, +-66565755, +-65606354, +-64614392, +-63591082, +-62536507, +-61451798, +-60337466, +-59194800, +-58024034, +-56826376, +-55602460, +-54353584, +-53079977, +-51782773, +-50462662, +-49120984, +-47758105, +-46375208, +-44973078, +-43553013, +-42115335, +-40661095, +-39191102, +-37706696, +-36208364, +-34697230, +-33174211, +-31640600, +-30096851, +-28543956, +-26982847, +-25414822, +-23840464, +-22260795, +-20676812, +-19089709, +-17499984, +-15908468, +-14316132, +-12724175, +-11133249, +-9544240, +-7958198, +-6376234, +-4798939, +-3227038, +-1661555, +-103565, +1446230, +2987101, +4517998, +6037984, +7546475, +9042956, +10526443, +11996036, +13451023, +14890857, +16314514, +17721207, +19110300, +20481414, +21833586, +23166092, +24478220, +25769611, +27039309, +28286749, +29511342, +30712939, +31890678, +33044057, +34172405, +35275563, +36352672, +37403349, +38427003, +39423626, +40392440, +41333144, +42245116, +43128383, +43982211, +44806449, +45600591, +46364840, +47098569, +47801711, +48473727, +49114838, +49724455, +50302623, +50848874, +51363545, +51846135, +52296779, +52715020, +53101240, +53455010, +53776585, +54065600, +54322557, +54547131, +54739663, +54899810, +55028111, +55124307, +55188827, +55221380, +55222572, +55192228, +55130859, +55038225, +54914980, +54761033, +54576974, +54362622, +54118682, +53845150, +53542695, +53211202, +52851427, +52463450, +52047991, +51604968, +51135146, +50638673, +50116337, +49568129, +48994861, +48396765, +47774658, +47128548, +46459228, +45766990, +45052710, +44316493, +43559189, +42781174, +41983339, +41165794, +40329347, +39474419, +38601939, +37712110, +36805777, +35883432, +34945984, +33993615, +33027089, +32046926, +31054070, +30048815, +29031979, +28004160, +26966277, +25918608, +24861885, +23796723, +22724052, +21644243, +20558050, +19466141, +18369382, +17268088, +16162890, +15054445, +13943628, +12830865, +11716830, +10602238, +9487911, +8374236, +7261776, +6151235, +5043417, +3938790, +2837924, +1741550, +650377, +-435204, +-1514773, +-2587638, +-3653109, +-4710700, +-5759963, +-6800171, +-7830712, +-8851149, +-9861153, +-10860035, +-11847221, +-12822216, +-13784698, +-14733981, +-15669597, +-16591140, +-17498438, +-18390866, +-19267997, +-20129356, +-20974762, +-21803581, +-22615471, +-23410012, +-24187134, +-24946258, +-25687095, +-26409195, +-27112509, +-27796483, +-28460937, +-29105505, +-29730269, +-30334749, +-30918819, +-31482081, +-32024624, +-32545988, +-33046126, +-33524693, +-33981867, +-34417247, +-34830850, +-35222329, +-35591891, +-35939181, +-36264307, +-36566990, +-36847536, +-37105661, +-37341533, +-37554878, +-37746021, +-37914721, +-38061211, +-38185256, +-38287239, +-38366977, +-38424762, +-38460388, +-38474270, +-38466280, +-38436775, +-38385595, +-38313205, +-38219543, +-38105021, +-37969515, +-37813522, +-37637035, +-37440507, +-37223843, +-36987554, +-36731686, +-36456739, +-36162666, +-35850010, +-35518873, +-35169788, +-34802724, +-34418227, +-34016443, +-33597949, +-33162777, +-32711507, +-32244345, +-31761885, +-31264164, +-30751745, +-30224868, +-29684158, +-29129713, +-28562123, +-27981679, +-27389002, +-26784181, +-26167762, +-25540059, +-24901722, +-24252917, +-23594223, +-22926012, +-22248923, +-21563113, +-20869110, +-20167303, +-19458342, +-18742448, +-18020168, +-17291929, +-16558346, +-15819604, +-15076174, +-14328481, +-13577150, +-12822445, +-12064865, +-11304882, +-10543086, +-9779720, +-9015209, +-8250021, +-7484741, +-6719667, +-5955234, +-5191932, +-4430285, +-3670541, +-2913036, +-2158236, +-1406657, +-658617, +85527, +825280, +1560174, +2289926, +3014260, +3732701, +4444806, +5150245, +5848747, +6539832, +7223129, +7898368, +8565383, +9223733, +9873071, +10513075, +11143565, +11764092, +12374365, +12974099, +13563194, +14141234, +14707964, +15263070, +15806466, +16337748, +16856735, +17363175, +17857079, +18338088, +18806059, +19260708, +19702046, +20129723, +20543652, +20943584, +21329597, +21701383, +22058894, +22401875, +22730421, +23044252, +23343385, +23627618, +23897120, +24151661, +24391299, +24615824, +24825417, +25019868, +25199285, +25363488, +25512702, +25646760, +25765809, +25869680, +25958622, +26032502, +26091517, +26135536, +26164850, +26179375, +26179344, +26164644, +26135585, +26092113, +26034498, +25962646, +25876887, +25777203, +25663899, +25536906, +25396578, +25242934, +25076305, +24896644, +24704311, +24499364, +24282163, +24052697, +23811348, +23558211, +23293664, +23017702, +22730703, +22432787, +22124357, +21805445, +21476448, +21137523, +20789074, +20431134, +20064079, +19688086, +19303582, +18910646, +18509679, +18100894, +17684716, +17261223, +16830785, +16393630, +15950197, +15500602, +15045231, +14584340, +14118348, +13647355, +13171699, +12691641, +12207609, +11719754, +11228437, +10733948, +10236700, +9736830, +9234652, +8730459, +8224662, +7717439, +7209110, +6699986, +6190443, +5680626, +5170792, +4661242, +4152348, +3644304, +3137385, +2631912, +2128229, +1626510, +1126973, +629931, +135715, +-355469, +-843402, +-1327763, +-1808270, +-2284755, +-2757069, +-3224916, +-3688026, +-4146190, +-4599250, +-5046898, +-5488901, +-5925074, +-6355314, +-6779333, +-7196918, +-7607862, +-8012069, +-8409254, +-8799255, +-9181907, +-9557181, +-9924822, +-10284691, +-10636595, +-10980501, +-11316157, +-11643459, +-11962240, +-12272514, +-12574056, +-12866786, +-13150528, +-13425307, +-13690910, +-13947306, +-14194356, +-14432139, +-14660477, +-14879363, +-15088645, +-15288408, +-15478483, +-15658898, +-15829522, +-15990474, +-16141613, +-16282992, +-16414484, +-16536222, +-16648083, +-16750160, +-16842353, +-16924831, +-16997506, +-17060493, +-17113697, +-17157297, +-17191222, +-17215613, +-17230389, +-17235750, +-17231648, +-17218249, +-17195484, +-17163567, +-17122473, +-17072392, +-17013271, +-16945340, +-16868599, +-16783258, +-16689284, +-16586915, +-16476178, +-16357294, +-16230239, +-16095254, +-15952382, +-15801866, +-15643700, +-15478137, +-15305245, +-15125274, +-14938221, +-14744336, +-14543701, +-14336583, +-14123005, +-13903232, +-13677369, +-13445685, +-13208205, +-12965179, +-12716724, +-12463120, +-12204418, +-11940874, +-11672628, +-11399952, +-11122887, +-10841668, +-10556438, +-10267479, +-9974863, +-9678839, +-9379572, +-9077334, +-8772193, +-8464370, +-8154033, +-7841459, +-7526740, +-7210102, +-6891729, +-6571875, +-6250617, +-5928143, +-5604631, +-5280339, +-4955374, +-4629936, +-4304221, +-3978468, +-3652773, +-3327303, +-3002250, +-2677848, +-2354215, +-2031520, +-1709962, +-1389747, +-1070968, +-753751, +-438281, +-124760, +186691, +495939, +802786, +1107056, +1408639, +1707439, +2003270, +2295964, +2585396, +2871472, +3154006, +3432861, +3707940, +3979193, +4246453, +4509594, +4768498, +5023110, +5273258, +5518843, +5759760, +5995988, +6227371, +6453823, +6675229, +6891575, +7102708, +7308575, +7509086, +7704267, +7893987, +8078205, +8256820, +8429855, +8597183, +8758786, +8914577, +9064605, +9208760, +9347039, +9479353, +9605758, +9726154, +9840566, +9948924, +10051316, +10147660, +10237999, +10322257, +10400525, +10472731, +10538934, +10599070, +10653248, +10701410, +10743630, +10779849, +10810183, +10834587, +10853155, +10865840, +10872775, +10873933, +10869421, +10859197, +10843400, +10822013, +10795156, +10762793, +10725068, +10681980, +10633658, +10580078, +10521391, +10457608, +10388869, +10315156, +10236621, +10153290, +10065313, +9972683, +9875561, +9773986, +9668111, +9557933, +9443609, +9325184, +9202823, +9076535, +8946481, +8812721, +8675419, +8534581, +8390359, +8242821, +8092134, +7938325, +7781551, +7621894, +7459519, +7294449, +7126832, +6956750, +6784374, +6609741, +6433003, +6254252, +6073651, +5891227, +5707114, +5521403, +5334259, +5145731, +4955957, +4765041, +4573140, +4380296, +4186630, +3992245, +3797298, +3601843, +3406004, +3209891, +3013645, +2817308, +2620977, +2424757, +2228787, +2033128, +1837884, +1643168, +1449107, +1255755, +1063192, +871528, +680885, +491329, +302942, +115833, +-69891, +-254183, +-436990, +-618208, +-797740, +-975518, +-1151487, +-1325539, +-1497588, +-1667578, +-1835474, +-2001175, +-2164603, +-2325693, +-2484411, +-2640658, +-2794375, +-2945514, +-3094068, +-3239949, +-3383105, +-3523475, +-3661049, +-3795739, +-3927507, +-4056301, +-4182128, +-4304909, +-4424616, +-4541189, +-4654642, +-4764898, +-4871946, +-4975742, +-5076322, +-5173620, +-5267633, +-5358312, +-5445689, +-5529702, +-5610360, +-5687620, +-5761528, +-5832032, +-5899149, +-5962833, +-6023137, +-6080011, +-6133489, +-6183535, +-6230216, +-6273495, +-6313411, +-6349927, +-6383111, +-6412929, +-6439430, +-6462582, +-6482459, +-6499037, +-6512371, +-6522432, +-6529297, +-6532949, +-6533453, +-6530785, +-6525030, +-6516181, +-6504306, +-6489387, +-6471510, +-6450672, +-6426949, +-6400323, +-6370884, +-6338633, +-6303653, +-6265930, +-6225556, +-6182542, +-6136972, +-6088835, +-6038222, +-5985148, +-5929704, +-5871883, +-5811781, +-5749418, +-5684887, +-5618180, +-5549390, +-5478541, +-5405727, +-5330951, +-5254303, +-5175817, +-5095584, +-5013604, +-4929960, +-4844689, +-4757882, +-4669550, +-4579780, +-4488613, +-4396142, +-4302370, +-4207380, +-4111213, +-4013962, +-3915640, +-3816329, +-3716076, +-3614967, +-3513009, +-3410272, +-3306801, +-3202684, +-3097938, +-2992636, +-2886829, +-2780600, +-2673962, +-2566977, +-2459696, +-2352199, +-2244507, +-2136684, +-2028782, +-1920874, +-1812971, +-1705121, +-1597373, +-1489799, +-1382421, +-1275290, +-1168459, +-1061994, +-955913, +-850253, +-745067, +-640414, +-536322, +-432828, +-329984, +-227841, +-126414, +-25726, +74177, +173245, +271455, +368780, +465170, +560585, +655003, +748412, +840765, +932024, +1022164, +1111173, +1199003, +1285630, +1371035, +1455222, +1538151, +1619799, +1700140, +1779174, +1856860, +1933182, +2008118, +2081679, +2153827, +2224550, +2293824, +2361659, +2428020, +2492903, +2556292, +2618211, +2678631, +2737549, +2794945, +2850839, +2905201, +2958036, +3009325, +3059097, +3107325, +3154018, +3199156, +3242768, +3284829, +3325357, +3364336, +3401806, +3437747, +3472179, +3505082, +3536494, +3566396, +3594812, +3621723, +3647174, +3671149, +3693673, +3714729, +3734362, +3752557, +3769346, +3784715, +3798715, +3811334, +3822606, +3832516, +3841112, +3848384, +3854368, +3859049, +3862479, +3864649, +3865599, +3865314, +3863845, +3861188, +3857383, +3852418, +3846346, +3839164, +3830915, +3821584, +3811225, +3799836, +3787460, +3774084, +3759760, +3744487, +3728310, +3711218, +3693263, +3674447, +3654814, +3634352, +3613113, +3591098, +3568353, +3544866, +3520689, +3495824, +3470316, +3444153, +3417383, +3390012, +3362082, +3333586, +3304570, +3275042, +3245044, +3214563, +3183645, +3152295, +3120556, +3088416, +3055921, +3023078, +2989927, +2956457, +2922708, +2888688, +2854437, +2819945, +2785255, +2750373, +2715338, +2680135, +2644802, +2609344, +2573798, +2538153, +2502446, +2466684, +2430901, +2395085, +2359269, +2323458, +2287688, +2251947, +2216270, +2180661, +2145152, +2109728, +2074417, +2039222, +2004173, +1969258, +1934504, +1899918, +1865524, +1831311, +1797303, +1763503, +1729936, +1696594, +1663499, +1630656, +1598085, +1565774, +1533740, +1501984, +1470527, +1439358, +1408495, +1377941, +1347715, +1317803, +1288221, +1258970, +1230067, +1201504, +1173294, +1145440, +1117954, +1090824, +1064057, +1037655, +1011629, +985969, +960683, +935774, +911250, +887101, +863334, +839947, +816951, +794337, +772110, +750271, +728827, +707764, +687085, +666787, +646876, +627343, +608189, +589415, +571023, +553003, +535356, +518081, +501181, +484646, +468479, +452677, +437242, +422161, +407434, +393055, +379026, +365337, +351987, +338974, +326296, +313944, +301916, +290208, +278820, +267744, +256978, +246518, +236362, +226500, +216928, +207640, +198636, +189906, +181447, +173255, +165327, +157655, +150236, +143064, +136137, +129449, +122995, +116772, +110776, +104999, +99436, +94081, +88932, +83981, +79224, +74658, +70277, +66077, +62052, +58198, +54512, +50989, +47624, +44413, +41353, +38438, +35663, +33023, +30515, +28134, +25876, +23736, +21712, +19799, +17992, +16290, +14687, +13182, +11769, +10446, +9210, +8057, +6982, +5983, +5056, +4198, +3407, +2678, +2010, +1400, +844, +341, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +0, +}; +} -- cgit v1.1