[FFmpeg-devel] [PATCH 01/10] dcadsp: remove scaling in LFE FIR

Christophe Gisquet christophe.gisquet at gmail.com
Fri Feb 14 17:00:45 CET 2014


This scale is constant so it is simpler to just scale the
FIR coefficients in the tables instead.
---
 libavcodec/dcadata.h | 384 +++++++++++++++++++++++++--------------------------
 libavcodec/dcadec.c  |   7 +-
 libavcodec/dcadsp.c  |  16 +--
 libavcodec/dcadsp.h  |   3 +-
 4 files changed, 203 insertions(+), 207 deletions(-)

diff --git a/libavcodec/dcadata.h b/libavcodec/dcadata.h
index 5154fbc..1cfabc0 100644
--- a/libavcodec/dcadata.h
+++ b/libavcodec/dcadata.h
@@ -7307,202 +7307,202 @@ DECLARE_ALIGNED(16, static const float, fir_32bands_nonperfect)[] =
 
 DECLARE_ALIGNED(16, static const float, lfe_fir_64)[] =
 {
-    2.658434386830777e-4, 9.029330685734748e-3,
-    7.939263433218002e-2, 2.425158768892288e-1,
-    3.430179357528686e-1, 2.398228943347931e-1,
-    7.746443897485733e-2, 8.622321300208569e-3,
-    8.179365249816328e-5, 9.450953453779220e-3,
-    8.134882897138596e-2, 2.451938837766648e-1,
-    3.429597318172455e-1, 2.371159791946411e-1,
-    7.556436210870743e-2, 8.229630999267101e-3,
-    9.439323912374676e-5, 9.887560270726680e-3,
-    8.333285897970200e-2, 2.478559017181396e-1,
-    3.428434133529663e-1, 2.343961596488952e-1,
-    7.369252294301987e-2, 7.850865833461285e-3,
-    1.082170274457894e-4, 1.033949479460716e-2,
-    8.534456789493561e-2, 2.505008876323700e-1,
-    3.426689505577088e-1, 2.316644787788391e-1,
-    7.184901088476181e-2, 7.485736627131701e-3,
-    1.233371440321207e-4, 1.080708485096693e-2,
-    8.738376945257187e-2, 2.531278133392334e-1,
-    3.424364924430847e-1, 2.289219647645950e-1,
-    7.003392279148102e-2, 7.133882027119398e-3,
-    1.397485757479444e-4, 1.129068247973919e-2,
-    8.945026248693466e-2, 2.557355761528015e-1,
-    3.421461284160614e-1, 2.261696159839630e-1,
-    6.824731826782227e-2, 6.794991903007030e-3,
-    1.575958012836054e-4, 1.179065089672804e-2,
-    9.154383838176728e-2, 2.583232223987580e-1,
-    3.417979776859284e-1, 2.234084606170654e-1,
-    6.648923456668854e-2, 6.468691397458315e-3,
-    1.769922382663936e-4, 1.230732165277004e-2,
-    9.366425126791000e-2, 2.608896791934967e-1,
-    3.413922190666198e-1, 2.206395119428635e-1,
-    6.475970894098282e-2, 6.154712289571762e-3,
-    1.981738605536520e-4, 1.284105982631445e-2,
-    9.581124037504196e-2, 2.634339034557342e-1,
-    3.409290313720703e-1, 2.178637981414795e-1,
-    6.305878609418869e-2, 5.852684378623962e-3,
-    2.211847313446924e-4, 1.339218579232693e-2,
-    9.798453748226166e-2, 2.659549415111542e-1,
-    3.404086530208588e-1, 2.150822728872299e-1,
-    6.138643622398376e-2, 5.562345497310162e-3,
-    2.460231189616024e-4, 1.396108977496624e-2,
-    1.001838669180870e-1, 2.684516608715058e-1,
-    3.398312926292420e-1, 2.122959494590759e-1,
-    5.974265560507774e-2, 5.283284001052380e-3,
-    2.726115926634520e-4, 1.454808749258518e-2,
-    1.024089083075523e-1, 2.709231376647949e-1,
-    3.391972482204438e-1, 2.095058411359787e-1,
-    5.812742188572884e-2, 5.015311297029257e-3,
-    3.013863170053810e-4, 1.515355054289102e-2,
-    1.046593263745308e-1, 2.733682692050934e-1,
-    3.385068178176880e-1, 2.067128717899322e-1,
-    5.654069408774376e-2, 4.758012015372515e-3,
-    3.328395541757345e-4, 1.577781140804291e-2,
-    1.069347932934761e-1, 2.757860720157624e-1,
-    3.377602994441986e-1, 2.039180546998978e-1,
-    5.498242005705833e-2, 4.511159844696522e-3,
-    3.658991190604866e-4, 1.642123050987720e-2,
-    1.092349365353584e-1, 2.781755328178406e-1,
-    3.369580209255218e-1, 2.011223286390304e-1,
-    5.345252528786659e-2, 4.274417180567980e-3,
-    4.018281470052898e-4, 1.708412915468216e-2,
-    1.115593686699867e-1, 2.805356979370117e-1,
-    3.361004292964936e-1, 1.983266174793244e-1,
-    5.195093154907227e-2, 4.047499038279056e-3,
-    4.401875485200435e-4, 1.776690222322941e-2,
-    1.139076948165894e-1, 2.828655838966370e-1,
-    3.351879119873047e-1, 1.955319195985794e-1,
-    5.047753453254700e-2, 3.830091329291463e-3,
-    4.812776169274002e-4, 1.846982724964619e-2,
-    1.162794977426529e-1, 2.851640880107880e-1,
-    3.342207968235016e-1, 1.927391141653061e-1,
-    4.903224110603333e-2, 3.621967276558280e-3,
-    5.252459668554366e-4, 1.919330470263958e-2,
-    1.186743453145027e-1, 2.874303460121155e-1,
-    3.331996202468872e-1, 1.899491697549820e-1,
-    4.761491715908051e-2, 3.422776935622096e-3,
-    5.721592460758984e-4, 1.993762329220772e-2,
-    1.210917681455612e-1, 2.896633744239807e-1,
-    3.321248590946198e-1, 1.871629506349564e-1,
-    4.622544348239899e-2, 3.232272574678064e-3,
-    6.222130032256246e-4, 2.070316113531590e-2,
-    1.235313042998314e-1, 2.918621897697448e-1,
-    3.309969604015350e-1, 1.843813359737396e-1,
-    4.486365616321564e-2, 3.050152910873294e-3,
-    6.755515350960195e-4, 2.149021252989769e-2,
-    1.259924471378326e-1, 2.940258979797364e-1,
-    3.298164308071136e-1, 1.816052496433258e-1,
-    4.352942481637001e-2, 2.876190468668938e-3,
-    7.324148900806904e-4, 2.229913882911205e-2,
-    1.284746825695038e-1, 2.961534857749939e-1,
-    3.285838961601258e-1, 1.788355410099030e-1,
-    4.222255200147629e-2, 2.710093278437853e-3,
-    7.928516715764999e-4, 2.313023805618286e-2,
-    1.309774816036224e-1, 2.982441186904907e-1,
-    3.272998929023742e-1, 1.760730892419815e-1,
-    4.094288870692253e-2, 2.551567042246461e-3,
-    8.570110658183694e-4, 2.398385666310787e-2,
-    1.335003077983856e-1, 3.002967536449432e-1,
-    3.259649574756622e-1, 1.733186990022659e-1,
-    3.969023004174232e-2, 2.400433411821723e-3,
-    9.251192095689476e-4, 2.486028522253036e-2,
-    1.360425949096680e-1, 3.023106753826142e-1,
-    3.245797157287598e-1, 1.705732345581055e-1,
-    3.846437484025955e-2, 2.256359672173858e-3,
-    9.974770946428180e-4, 2.575986087322235e-2,
-    1.386037617921829e-1, 3.042849004268646e-1,
-    3.231448531150818e-1, 1.678375005722046e-1,
-    3.726511076092720e-2, 2.119151875376701e-3,
-    1.073930296115577e-3, 2.668286114931106e-2,
-    1.411831974983215e-1, 3.062185347080230e-1,
-    3.216609656810760e-1, 1.651122719049454e-1,
-    3.609224036335945e-2, 1.988604199141264e-3,
-    1.155023579485714e-3, 2.762960828840732e-2,
-    1.437802612781525e-1, 3.081108033657074e-1,
-    3.201287388801574e-1, 1.623983532190323e-1,
-    3.494550660252571e-2, 1.864377525635064e-3,
-    1.240676851011813e-3, 2.860039286315441e-2,
-    1.463943719863892e-1, 3.099608123302460e-1,
-    3.185488879680634e-1, 1.596965193748474e-1,
-    3.382468968629837e-2, 1.746327499859035e-3,
-    1.331258914433420e-3, 2.959549613296986e-2,
-    1.490248143672943e-1, 3.117676973342896e-1,
-    3.169221282005310e-1, 1.570075154304504e-1,
-    3.272953629493714e-2, 1.634211512282491e-3,
-    1.426893868483603e-3, 3.061520494520664e-2,
-    1.516709625720978e-1, 3.135308027267456e-1,
-    3.152491748332978e-1, 1.543320864439010e-1,
-    3.165979683399200e-2, 1.527829794213176e-3,
+    3.1691007457e-11, 1.0763800962e-09,
+    9.4643395343e-09, 2.8910145389e-08,
+    4.0890924424e-08, 2.8589116852e-08,
+    9.2344807356e-09, 1.0278607965e-09,
+    9.7505632041e-12, 1.1266414468e-09,
+    9.6975361075e-09, 2.9229388687e-08,
+    4.0883985974e-08, 2.8266427421e-08,
+    9.0079739223e-09, 9.8104846469e-10,
+    1.1252550974e-11, 1.1786890353e-09,
+    9.9340509152e-09, 2.9546725955e-08,
+    4.0870119733e-08, 2.7942199665e-08,
+    8.7848333052e-09, 9.3589613837e-10,
+    1.2900474959e-11, 1.2325638288e-09,
+    1.0173865306e-08, 2.9862032846e-08,
+    4.0849322147e-08, 2.7616557929e-08,
+    8.5650695425e-09, 8.9236934508e-10,
+    1.4702933315e-11, 1.2883049072e-09,
+    1.0416957075e-08, 3.0175186794e-08,
+    4.082161098e-08, 2.7289624782e-08,
+    8.3486941804e-09, 8.5042500819e-10,
+    1.6659328431e-11, 1.345954237e-09,
+    1.0663302241e-08, 3.0486056346e-08,
+    4.0786996891e-08, 2.6961519239e-08,
+    8.1357143245e-09, 8.1002615726e-10,
+    1.8786883507e-11, 1.4055551167e-09,
+    1.0912875936e-08, 3.0794527817e-08,
+    4.074549409e-08, 2.663236387e-08,
+    7.9261344155e-09, 7.7112810581e-10,
+    2.109911898e-11, 1.4671470705e-09,
+    1.116564885e-08, 3.1100473308e-08,
+    4.0697123893e-08, 2.6302279466e-08,
+    7.7199588944e-09, 7.3369887943e-10,
+    2.3624165124e-11, 1.530773619e-09,
+    1.1421589896e-08, 3.1403768475e-08,
+    4.0641907617e-08, 2.5971388595e-08,
+    7.5171930902e-09, 6.9769434674e-10,
+    2.6367274683e-11, 1.5964729538e-09,
+    1.16806671e-08, 3.170429963e-08,
+    4.0579873684e-08, 2.5639804946e-08,
+    7.3178334503e-09, 6.6308325497e-10,
+    2.9328241224e-11, 1.6642915934e-09,
+    1.19428476e-08, 3.2001931771e-08,
+    4.0511046961e-08, 2.530764931e-08,
+    7.1218795306e-09, 6.2981653226e-10,
+    3.2497834285e-11, 1.7342671743e-09,
+    1.2208093203e-08, 3.2296554764e-08,
+    4.0435462978e-08, 2.4975042479e-08,
+    6.9293286664e-09, 5.9787169659e-10,
+    3.5928048731e-11, 1.8064439944e-09,
+    1.2476363942e-08, 3.2588037158e-08,
+    4.035315726e-08, 2.4642094587e-08,
+    6.7401759729e-09, 5.6719923203e-10,
+    3.9677566788e-11, 1.8808616886e-09,
+    1.2747620737e-08, 3.2876261713e-08,
+    4.0264165335e-08, 2.4308926427e-08,
+    6.5544152328e-09, 5.3777216014e-10,
+    4.361857403e-11, 1.9575632226e-09,
+    1.3021819179e-08, 3.3161107638e-08,
+    4.0168526283e-08, 2.397564991e-08,
+    6.3720375643e-09, 5.0955023534e-10,
+    4.7901647926e-11, 2.0365868991e-09,
+    1.3298913082e-08, 3.3442461245e-08,
+    4.0066293394e-08, 2.3642375169e-08,
+    6.1930336415e-09, 4.8249948481e-10,
+    5.2474444928e-11, 2.1179797915e-09,
+    1.3578855373e-08, 3.3720205295e-08,
+    3.9957512854e-08, 2.330922122e-08,
+    6.0173910299e-09, 4.5658246628e-10,
+    5.7372762791e-11, 2.2017749846e-09,
+    1.3861596315e-08, 3.3994208337e-08,
+    3.9842223742e-08, 2.2976292868e-08,
+    5.8450986273e-09, 4.3177214581e-10,
+    6.2614198548e-11, 2.2880202177e-09,
+    1.4147084393e-08, 3.4264367343e-08,
+    3.9720490008e-08, 2.2643705577e-08,
+    5.6761404466e-09, 4.0802680679e-10,
+    6.8206697235e-11, 2.376749908e-09,
+    1.4435263651e-08, 3.4530565074e-08,
+    3.9592368495e-08, 2.2311562375e-08,
+    5.5105022767e-09, 3.8531691726e-10,
+    7.4173570064e-11, 2.4680091304e-09,
+    1.4726079023e-08, 3.4792684289e-08,
+    3.9457912493e-08, 2.1979968068e-08,
+    5.3481645779e-09, 3.6360656153e-10,
+    8.0532018554e-11, 2.561832968e-09,
+    1.5019470112e-08, 3.5050618408e-08,
+    3.9317182399e-08, 2.1649032789e-08,
+    5.1891118069e-09, 3.4286862238e-10,
+    8.7310658703e-11, 2.6582644974e-09,
+    1.5315375634e-08, 3.5304246637e-08,
+    3.9170252819e-08, 2.131885779e-08,
+    5.0333204271e-09, 3.2306829434e-10,
+    9.4515284488e-11, 2.7573392458e-09,
+    1.5613732529e-08, 3.5553469502e-08,
+    3.9017187703e-08, 2.0989547878e-08,
+    4.8807726749e-09, 3.0417049435e-10,
+    1.0216368029e-10, 2.8590985135e-09,
+    1.5914476847e-08, 3.5798162656e-08,
+    3.8858050999e-08, 2.0661198974e-08,
+    4.7314441254e-09, 2.8615396164e-10,
+    1.1028280372e-10, 2.9635769394e-09,
+    1.6217541088e-08, 3.6038240836e-08,
+    3.8692917315e-08, 2.0333914108e-08,
+    4.5853107977e-09, 2.6897903349e-10,
+    1.189085358e-10, 3.0708147136e-09,
+    1.6522855972e-08, 3.6273586801e-08,
+    3.8521868362e-08, 2.0007789203e-08,
+    4.4423473788e-09, 2.5262258951e-10,
+    1.2802246763e-10, 3.1808449208e-09,
+    1.683034867e-08, 3.650409397e-08,
+    3.8344975195e-08, 1.968291663e-08,
+    4.302530332e-09, 2.3706009378e-10,
+    1.3768954032e-10, 3.2937059746e-09,
+    1.7139942798e-08, 3.6729669972e-08,
+    3.8162319527e-08, 1.9359392311e-08,
+    4.1658290151e-09, 2.2225112029e-10,
+    1.4790020597e-10, 3.4094325141e-09,
+    1.7451569079e-08, 3.6950208226e-08,
+    3.7973986622e-08, 1.9037308618e-08,
+    4.0322172268e-09, 2.0817846058e-10,
+    1.586984294e-10, 3.5280580679e-09,
+    1.7765142246e-08, 3.7165605704e-08,
+    3.7780061746e-08, 1.8716754369e-08,
+    3.901664769e-09, 1.9481319335e-10,
+    1.7009900433e-10, 3.649616831e-09,
+    1.8080587694e-08, 3.7375784245e-08,
+    3.7580630163e-08, 1.839781838e-08,
+    3.7741418879e-09, 1.8213150432e-10,
 };
 
 DECLARE_ALIGNED(16, static const float, lfe_fir_128)[] =
 {
-    0.00053168571, 0.15878495574, 0.68603444099, 0.15492856503,
-    0.00016358691, 0.16269733012, 0.68591803312, 0.15112841129,
-    0.00018878609, 0.16666537523, 0.68568539619, 0.14738474786,
-    0.00021643363, 0.17068879306, 0.68533653021, 0.14369773865,
-    0.00024667382, 0.17476719618, 0.68487155437, 0.14006754756,
-    0.00027949660, 0.17890018225, 0.68429082632, 0.13649433851,
-    0.00031519096, 0.18308731914, 0.68359452486, 0.13297818601,
-    0.00035398375, 0.18732811511, 0.68278300762, 0.12951917946,
-    0.00039634691, 0.19162209332, 0.68185669184, 0.12611730397,
-    0.00044236859, 0.19596865773, 0.68081587553, 0.12277261168,
-    0.00049204525, 0.20036731660, 0.67966115475, 0.11948505789,
-    0.00054522208, 0.20481738448, 0.67839306593, 0.11625462025,
-    0.00060277141, 0.20931822062, 0.67701220512, 0.11308115721,
-    0.00066567765, 0.21386915445, 0.67551922798, 0.10996460915,
-    0.00073179678, 0.21846942604, 0.67391467094, 0.10690483451,
-    0.00080365466, 0.22311829031, 0.67219948769, 0.10390164703,
-    0.00088037323, 0.22781492770, 0.67037439346, 0.10095486045,
-    0.00096255314, 0.23255851865, 0.66844022274, 0.09806428105,
-    0.00105048984, 0.23734821379, 0.66639786959, 0.09522963315,
-    0.00114431616, 0.24218304455, 0.66424828768, 0.09245070815,
-    0.00124442333, 0.24706205726, 0.66199249029, 0.08972713351,
-    0.00135110028, 0.25198432803, 0.65963155031, 0.08705867827,
-    0.00146482687, 0.25694879889, 0.65716648102, 0.08444493264,
-    0.00158570008, 0.26195442677, 0.65459835529, 0.08188561350,
-    0.00171401864, 0.26700007915, 0.65192854404, 0.07938029617,
-    0.00185023469, 0.27208462358, 0.64915806055, 0.07692859322,
-    0.00199495023, 0.27720692754, 0.64628833532, 0.07453006506,
-    0.00214785640, 0.28236576915, 0.64332056046, 0.07218432426,
-    0.00231004250, 0.28755992651, 0.64025616646, 0.06989086419,
-    0.00248134881, 0.29278811812, 0.63709646463, 0.06764923781,
-    0.00266251224, 0.29804900289, 0.63384294510, 0.06545893103,
-    0.00285378192, 0.30334126949, 0.63049703836, 0.06331945211,
-    0.00305565330, 0.30866351724, 0.62706029415, 0.06123027951,
-    0.00326841651, 0.31401440501, 0.62353414297, 0.05919086933,
-    0.00349264755, 0.31939238310, 0.61992025375, 0.05720067024,
-    0.00372874714, 0.32479602098, 0.61622029543, 0.05525910854,
-    0.00397720048, 0.33022382855, 0.61243581772, 0.05336561054,
-    0.00423829490, 0.33567428589, 0.60856848955, 0.05151961371,
-    0.00451271003, 0.34114575386, 0.60462015867, 0.04972046614,
-    0.00480085658, 0.34663668275, 0.60059231520, 0.04796761274,
-    0.00510312291, 0.35214546323, 0.59648692608, 0.04626038298,
-    0.00542017492, 0.35767036676, 0.59230577946, 0.04459818453,
-    0.00575236930, 0.36320972443, 0.58805054426, 0.04298033938,
-    0.00610029325, 0.36876192689, 0.58372318745, 0.04140623659,
-    0.00646453211, 0.37432509661, 0.57932555676, 0.03987516090,
-    0.00684553990, 0.37989753485, 0.57485944033, 0.03838652745,
-    0.00724391919, 0.38547745347, 0.57032698393, 0.03693958372,
-    0.00766016589, 0.39106300473, 0.56572991610, 0.03553372994,
-    0.00809498038, 0.39665243030, 0.56107026339, 0.03416819125,
-    0.00854881573, 0.40224379301, 0.55634999275, 0.03284239396,
-    0.00902230106, 0.40783521533, 0.55157101154, 0.03155555204,
-    0.00951600447, 0.41342487931, 0.54673534632, 0.03030703776,
-    0.01003060210, 0.41901078820, 0.54184508324, 0.02909611352,
-    0.01056654565, 0.42459106445, 0.53690224886, 0.02792212367,
-    0.01112466771, 0.43016362190, 0.53190881014, 0.02678431384,
-    0.01170534454, 0.43572667241, 0.52686679363, 0.02568206564,
-    0.01230939943, 0.44127810001, 0.52177828550, 0.02461459488,
-    0.01293735672, 0.44681602716, 0.51664537191, 0.02358125709,
-    0.01358995494, 0.45233830810, 0.51147013903, 0.02258131653,
-    0.01426773332, 0.45784294605, 0.50625455379, 0.02161412500,
-    0.01497144438, 0.46332800388, 0.50100076199, 0.02067894675,
-    0.01570170000, 0.46879136562, 0.49571081996, 0.01977507770,
-    0.01645922661, 0.47423094511, 0.49038675427, 0.01890186779,
-    0.01724460535, 0.47964480519, 0.48503074050, 0.01805862412,
+    6.3381876136e-11, 1.8928641765e-08, 8.1781678318e-08, 1.8468924168e-08,
+    1.9501079571e-11, 1.9395033135e-08, 8.1767801419e-08, 1.8015910541e-08,
+    2.2505055111e-11, 1.9868060974e-08, 8.1740068936e-08, 1.7569631083e-08,
+    2.5800899611e-11, 2.0347689755e-08, 8.1698480869e-08, 1.7130105334e-08,
+    2.9405811119e-11, 2.0833873293e-08, 8.1643051431e-08, 1.6697352834e-08,
+    3.3318590942e-11, 2.1326563626e-08, 8.1573823252e-08, 1.6271393122e-08,
+    3.7573690687e-11, 2.182570924e-08, 8.1490817649e-08, 1.585223508e-08,
+    4.2198151223e-11, 2.2331251515e-08, 8.1394077256e-08, 1.5439889367e-08,
+    4.7248233104e-11, 2.2843133607e-08, 8.1283651809e-08, 1.5034354206e-08,
+    5.2734445283e-11, 2.3361284462e-08, 8.1159576837e-08, 1.4635635814e-08,
+    5.8656364488e-11, 2.3885645462e-08, 8.1021923393e-08, 1.4243728863e-08,
+    6.499553673e-11, 2.4416134892e-08, 8.0870755426e-08, 1.3858630687e-08,
+    7.1855951744e-11, 2.495267637e-08, 8.070614399e-08, 1.3480324412e-08,
+    7.9354960103e-11, 2.5495189959e-08, 8.0528167246e-08, 1.3108802932e-08,
+    8.7236974589e-11, 2.6043585066e-08, 8.0336889141e-08, 1.2744049371e-08,
+    9.5803101563e-11, 2.6597772873e-08, 8.0132423363e-08, 1.2386041526e-08,
+    1.0494866781e-10, 2.715765568e-08, 7.9914855178e-08, 1.2034757191e-08,
+    1.1474527578e-10, 2.7723135787e-08, 7.968428406e-08, 1.1690173274e-08,
+    1.252281473e-10, 2.8294111942e-08, 7.9440816592e-08, 1.1352256912e-08,
+    1.3641311691e-10, 2.8870468682e-08, 7.9184566459e-08, 1.1020983237e-08,
+    1.4834682094e-10, 2.9452092321e-08, 7.8915654456e-08, 1.0696307839e-08,
+    1.6106370404e-10, 3.0038872723e-08, 7.8634208478e-08, 1.0378203186e-08,
+    1.7462097046e-10, 3.0630683767e-08, 7.8340349319e-08, 1.0066620426e-08,
+    1.890301804e-10, 3.1227401109e-08, 7.8034204876e-08, 9.7615258099e-09,
+    2.0432694425e-10, 3.1828889746e-08, 7.7715938573e-08, 9.4628687108e-09,
+    2.2056516336e-10, 3.2435014674e-08, 7.7385671204e-08, 9.1706029437e-09,
+    2.3781659975e-10, 3.304564089e-08, 7.7043573299e-08, 8.8846761059e-09,
+    2.5604443565e-10, 3.3660622734e-08, 7.6689786965e-08, 8.6050420123e-09,
+    2.7537852554e-10, 3.4279814543e-08, 7.6324482734e-08, 8.3316402666e-09,
+    2.9579982908e-10, 3.490306355e-08, 7.5947816924e-08, 8.0644175782e-09,
+    3.1739619266e-10, 3.5530209885e-08, 7.5559967172e-08, 7.8033126627e-09,
+    3.4019731476e-10, 3.6161097228e-08, 7.5161104007e-08, 7.5482669004e-09,
+    3.6426225924e-10, 3.67955586e-08, 7.4751412171e-08, 7.2992181188e-09,
+    3.8962560955e-10, 3.743343413e-08, 7.4331062194e-08, 7.0561014809e-09,
+    4.1635603298e-10, 3.8074539077e-08, 7.3900253028e-08, 6.8188512614e-09,
+    4.4450129688e-10, 3.8718702911e-08, 7.3459183625e-08, 6.5873990707e-09,
+    4.7411924387e-10, 3.9365747995e-08, 7.3008038726e-08, 6.3616765189e-09,
+    5.0524412432e-10, 4.0015493141e-08, 7.2547017282e-08, 6.1416165487e-09,
+    5.3795695676e-10, 4.0667742951e-08, 7.2076339563e-08, 5.9271414443e-09,
+    5.7230670203e-10, 4.1322312683e-08, 7.1596183204e-08, 5.7181850366e-09,
+    6.0833965643e-10, 4.197901049e-08, 7.1106782684e-08, 5.5146673894e-09,
+    6.461352009e-10, 4.2637630315e-08, 7.0608351166e-08, 5.3165178926e-09,
+    6.8573585699e-10, 4.3297973207e-08, 7.0101087601e-08, 5.1236557219e-09,
+    7.2721162425e-10, 4.3959847318e-08, 6.958522647e-08, 4.9360080467e-09,
+    7.7063228021e-10, 4.4623028828e-08, 6.9060988039e-08, 4.7534896019e-09,
+    8.1605194824e-10, 4.5287315231e-08, 6.8528585473e-08, 4.5760306655e-09,
+    8.6354245976e-10, 4.5952493366e-08, 6.7988274566e-08, 4.4035415314e-09,
+    9.1316293416e-10, 4.6618342964e-08, 6.7440261375e-08, 4.2359507013e-09,
+    9.649968602e-10, 4.7284654414e-08, 6.6884787486e-08, 4.0731658046e-09,
+    1.0190982502e-09, 4.7951196791e-08, 6.6322087378e-08, 3.9151184517e-09,
+    1.0755420998e-09, 4.8617746273e-08, 6.5752388423e-08, 3.7617149395e-09,
+    1.1343961326e-09, 4.9284086145e-08, 6.5175932207e-08, 3.6128804393e-09,
+    1.1957409507e-09, 4.9949978376e-08, 6.4592967419e-08, 3.4685270212e-09,
+    1.2596304e-09, 5.0615199143e-08, 6.4003735645e-08, 3.3285765255e-09,
+    1.3261637344e-09, 5.1279499758e-08, 6.3408471362e-08, 3.1929390243e-09,
+    1.3953858069e-09, 5.1942667056e-08, 6.2807416157e-08, 3.0615407987e-09,
+    1.4673947613e-09, 5.2604448797e-08, 6.2200818718e-08, 2.9342883678e-09,
+    1.542253103e-09, 5.3264621158e-08, 6.1588927736e-08, 2.8111049044e-09,
+    1.6200488728e-09, 5.3922928345e-08, 6.09719919e-08, 2.6919027007e-09,
+    1.7008463526e-09, 5.4579132325e-08, 6.035024569e-08, 2.5766044853e-09,
+    1.7847352485e-09, 5.5233002172e-08, 5.9723944901e-08, 2.4651225505e-09,
+    1.871788502e-09, 5.5884285644e-08, 5.909333467e-08, 2.3573729635e-09,
+    1.9620927105e-09, 5.653273405e-08, 5.8458656582e-08, 2.2532782307e-09,
+    2.0557171521e-09, 5.7178116464e-08, 5.7820169985e-08, 2.1527557514e-09,
 };
 
 /*
diff --git a/libavcodec/dcadec.c b/libavcodec/dcadec.c
index 1deddf5..7558595 100644
--- a/libavcodec/dcadec.c
+++ b/libavcodec/dcadec.c
@@ -1108,7 +1108,7 @@ static void qmf_32_subbands(DCAContext *s, int chans,
 
 static void lfe_interpolation_fir(DCAContext *s, int decimation_select,
                                   int num_deci_sample, float *samples_in,
-                                  float *samples_out, float scale)
+                                  float *samples_out)
 {
     /* samples_in: An array holding decimated samples.
      *   Samples in current subframe starts from samples_in[0],
@@ -1132,7 +1132,7 @@ static void lfe_interpolation_fir(DCAContext *s, int decimation_select,
     }
     /* Interpolation */
     for (deciindex = 0; deciindex < num_deci_sample; deciindex++) {
-        s->dcadsp.lfe_fir[idx](samples_out, samples_in, prCoeff, scale);
+        s->dcadsp.lfe_fir[idx](samples_out, samples_in, prCoeff);
         samples_in++;
         samples_out += 2 * 32 * (1 + idx);
     }
@@ -1428,8 +1428,7 @@ static int dca_filter_channels(DCAContext *s, int block_index)
     if (s->lfe) {
         lfe_interpolation_fir(s, s->lfe, 2 * s->lfe,
                               s->lfe_data + 2 * s->lfe * (block_index + 4),
-                              s->samples_chanptr[s->lfe_index],
-                              1.0 / (256.0 * 32768.0));
+                              s->samples_chanptr[s->lfe_index]);
         /* Outputs 20bits pcm samples */
     }
 
diff --git a/libavcodec/dcadsp.c b/libavcodec/dcadsp.c
index b14c435..8515fcb 100644
--- a/libavcodec/dcadsp.c
+++ b/libavcodec/dcadsp.c
@@ -34,7 +34,7 @@ static void int8x8_fmul_int32_c(float *dst, const int8_t *src, int scale)
 
 static inline void
 dca_lfe_fir(float *out, const float *in, const float *coefs,
-            int decifactor, float scale)
+            int decifactor)
 {
     float *out2 = out + decifactor;
     const float *cf0 = coefs;
@@ -50,8 +50,8 @@ dca_lfe_fir(float *out, const float *in, const float *coefs,
             v0 += s * *cf0++;
             v1 += s * *--cf1;
         }
-        *out++  = v0 * scale;
-        *out2++ = v1 * scale;
+        *out++  = v0;
+        *out2++ = v1;
     }
 }
 
@@ -83,16 +83,14 @@ static void dca_qmf_32_subbands(float samples_in[32][8], int sb_act,
     }
 }
 
-static void dca_lfe_fir0_c(float *out, const float *in, const float *coefs,
-                           float scale)
+static void dca_lfe_fir0_c(float *out, const float *in, const float *coefs)
 {
-    dca_lfe_fir(out, in, coefs, 32, scale);
+    dca_lfe_fir(out, in, coefs, 32);
 }
 
-static void dca_lfe_fir1_c(float *out, const float *in, const float *coefs,
-                           float scale)
+static void dca_lfe_fir1_c(float *out, const float *in, const float *coefs)
 {
-    dca_lfe_fir(out, in, coefs, 64, scale);
+    dca_lfe_fir(out, in, coefs, 64);
 }
 
 av_cold void ff_dcadsp_init(DCADSPContext *s)
diff --git a/libavcodec/dcadsp.h b/libavcodec/dcadsp.h
index 20d1894..c1dd301 100644
--- a/libavcodec/dcadsp.h
+++ b/libavcodec/dcadsp.h
@@ -23,8 +23,7 @@
 #include "synth_filter.h"
 
 typedef struct DCADSPContext {
-    void (*lfe_fir[2])(float *out, const float *in, const float *coefs,
-                       float scale);
+    void (*lfe_fir[2])(float *out, const float *in, const float *coefs);
     void (*qmf_32_subbands)(float samples_in[32][8], int sb_act,
                             SynthFilterContext *synth, FFTContext *imdct,
                             float synth_buf_ptr[512],
-- 
1.8.0.msysgit.0



More information about the ffmpeg-devel mailing list