[FFmpeg-devel] [PATCH] DCA: simplify lfe_interpolation_fir()

Mans Rullgard mans
Mon Apr 12 02:14:57 CEST 2010


This reorders the lfe_fir tables, and drops the mirrored half,
such that the loops in lfe_interpolation_fir() can be simplified.
The new loop structure should be easier to implement with SIMD.
Static data size is reduced by 2kB.
3% faster on Cortex-A8.
---
 libavcodec/dca.c     |   29 +-
 libavcodec/dcadata.h | 1324 ++++++++++++++++----------------------------------
 2 files changed, 425 insertions(+), 928 deletions(-)

diff --git a/libavcodec/dca.c b/libavcodec/dca.c
index 6f944f2..378f18d 100644
--- a/libavcodec/dca.c
+++ b/libavcodec/dca.c
@@ -803,28 +803,37 @@ static void lfe_interpolation_fir(int decimation_select,
 
     int decifactor, k, j;
     const float *prCoeff;
-
-    int interp_index = 0;       /* Index to the interpolated samples */
     int deciindex;
 
     /* Select decimation filter */
     if (decimation_select == 1) {
-        decifactor = 128;
+        decifactor = 64;
         prCoeff = lfe_fir_128;
     } else {
-        decifactor = 64;
+        decifactor = 32;
         prCoeff = lfe_fir_64;
     }
     /* Interpolation */
     for (deciindex = 0; deciindex < num_deci_sample; deciindex++) {
-        /* One decimated sample generates decifactor interpolated ones */
+        float *samples_out2 = samples_out + decifactor;
+        const float *cf0 = prCoeff;
+        const float *cf1 = prCoeff + 256;
+
+        /* One decimated sample generates 2*decifactor interpolated ones */
         for (k = 0; k < decifactor; k++) {
-            float rTmp = 0.0;
-            //FIXME the coeffs are symetric, fix that
-            for (j = 0; j < 512 / decifactor; j++)
-                rTmp += samples_in[deciindex - j] * prCoeff[k + j * decifactor];
-            samples_out[interp_index++] = (rTmp * scale) + bias;
+            float v0 = 0.0;
+            float v1 = 0.0;
+            for (j = 0; j < 256 / decifactor; j++) {
+                float s = samples_in[-j];
+                v0 += s * *cf0++;
+                v1 += s * *--cf1;
+            }
+            *samples_out++  = (v0 * scale) + bias;
+            *samples_out2++ = (v1 * scale) + bias;
         }
+
+        samples_in++;
+        samples_out += decifactor;
     }
 }
 
diff --git a/libavcodec/dcadata.h b/libavcodec/dcadata.h
index c7266aa..364596e 100644
--- a/libavcodec/dcadata.h
+++ b/libavcodec/dcadata.h
@@ -7319,517 +7319,261 @@ DECLARE_ALIGNED(16, static const float, fir_32bands_nonperfect)[] =
 static const float lfe_fir_64[] =
 {
 2.6584343868307770E-004,
-8.1793652498163280E-005,
-9.4393239123746760E-005,
-1.0821702744578940E-004,
-1.2333714403212070E-004,
-1.3974857574794440E-004,
-1.5759580128360540E-004,
-1.7699223826639360E-004,
-1.9817386055365200E-004,
-2.2118473134469240E-004,
-2.4602311896160240E-004,
-2.7261159266345200E-004,
-3.0138631700538100E-004,
-3.3283955417573450E-004,
-3.6589911906048660E-004,
-4.0182814700528980E-004,
-4.4018754852004350E-004,
-4.8127761692740020E-004,
-5.2524596685543660E-004,
-5.7215924607589840E-004,
-6.2221300322562460E-004,
-6.7555153509601950E-004,
-7.3241489008069040E-004,
-7.9285167157649990E-004,
-8.5701106581836940E-004,
-9.2511920956894760E-004,
-9.9747709464281800E-004,
-1.0739302961155770E-003,
-1.1550235794857140E-003,
-1.2406768510118130E-003,
-1.3312589144334200E-003,
-1.4268938684836030E-003,
-1.5278297942131760E-003,
-1.6342115122824910E-003,
-1.7463274998590350E-003,
-1.8643775256350640E-003,
-1.9886041991412640E-003,
-2.1191518753767010E-003,
-2.2563596721738580E-003,
-2.4004334118217230E-003,
-2.5515670422464610E-003,
-2.7100932784378530E-003,
-2.8761904686689380E-003,
-3.0501529108732940E-003,
-3.2322725746780640E-003,
-3.4227769356220960E-003,
-3.6219672765582800E-003,
-3.8300913292914630E-003,
-4.0474990382790560E-003,
-4.2744171805679800E-003,
-4.5111598446965220E-003,
-4.7580120153725150E-003,
-5.0153112970292570E-003,
-5.2832840010523800E-003,
-5.5623454973101620E-003,
-5.8526843786239620E-003,
-6.1547122895717620E-003,
-6.4686913974583150E-003,
-6.7949919030070300E-003,
-7.1338820271193980E-003,
-7.4857366271317010E-003,
-7.8508658334612850E-003,
-8.2296309992671010E-003,
-8.6223213002085690E-003,
 9.0293306857347480E-003,
-9.4509534537792200E-003,
-9.8875602707266800E-003,
-1.0339494794607160E-002,
-1.0807084850966930E-002,
-1.1290682479739190E-002,
-1.1790650896728040E-002,
-1.2307321652770040E-002,
-1.2841059826314450E-002,
-1.3392185792326930E-002,
-1.3961089774966240E-002,
-1.4548087492585180E-002,
-1.5153550542891020E-002,
-1.5777811408042910E-002,
-1.6421230509877200E-002,
-1.7084129154682160E-002,
-1.7766902223229410E-002,
-1.8469827249646190E-002,
-1.9193304702639580E-002,
-1.9937623292207720E-002,
-2.0703161135315900E-002,
-2.1490212529897690E-002,
-2.2299138829112050E-002,
-2.3130238056182860E-002,
-2.3983856663107870E-002,
-2.4860285222530360E-002,
-2.5759860873222350E-002,
-2.6682861149311060E-002,
-2.7629608288407320E-002,
-2.8600392863154410E-002,
-2.9595496132969860E-002,
-3.0615204945206640E-002,
-3.1659796833992000E-002,
-3.2729536294937140E-002,
-3.3824689686298370E-002,
-3.4945506602525710E-002,
-3.6092240363359450E-002,
-3.7265110760927200E-002,
-3.8464374840259550E-002,
-3.9690230041742320E-002,
-4.0942888706922530E-002,
-4.2222552001476290E-002,
-4.3529424816370010E-002,
-4.4863656163215640E-002,
-4.6225443482398990E-002,
-4.7614917159080510E-002,
-4.9032241106033330E-002,
-5.0477534532547000E-002,
-5.1950931549072270E-002,
-5.3452525287866590E-002,
-5.4982420057058330E-002,
-5.6540694087743760E-002,
-5.8127421885728840E-002,
-5.9742655605077740E-002,
-6.1386436223983760E-002,
-6.3058786094188690E-002,
-6.4759708940982820E-002,
-6.6489234566688540E-002,
-6.8247318267822270E-002,
-7.0033922791481020E-002,
-7.1849010884761810E-002,
-7.3692522943019870E-002,
-7.5564362108707430E-002,
-7.7464438974857330E-002,
 7.9392634332180020E-002,
-8.1348828971385960E-002,
-8.3332858979702000E-002,
-8.5344567894935610E-002,
-8.7383769452571870E-002,
-8.9450262486934660E-002,
-9.1543838381767280E-002,
-9.3664251267910000E-002,
-9.5811240375041960E-002,
-9.7984537482261660E-002,
-1.0018386691808700E-001,
-1.0240890830755230E-001,
-1.0465932637453080E-001,
-1.0693479329347610E-001,
-1.0923493653535840E-001,
-1.1155936866998670E-001,
-1.1390769481658940E-001,
-1.1627949774265290E-001,
-1.1867434531450270E-001,
-1.2109176814556120E-001,
-1.2353130429983140E-001,
-1.2599244713783260E-001,
-1.2847468256950380E-001,
-1.3097748160362240E-001,
-1.3350030779838560E-001,
-1.3604259490966800E-001,
-1.3860376179218290E-001,
-1.4118319749832150E-001,
-1.4378026127815250E-001,
-1.4639437198638920E-001,
-1.4902481436729430E-001,
-1.5167096257209780E-001,
-1.5433208644390100E-001,
-1.5700751543045040E-001,
-1.5969651937484740E-001,
-1.6239835321903230E-001,
-1.6511227190494540E-001,
-1.6783750057220460E-001,
-1.7057323455810550E-001,
-1.7331869900226590E-001,
-1.7607308924198150E-001,
-1.7883554100990300E-001,
-1.8160524964332580E-001,
-1.8438133597373960E-001,
-1.8716295063495640E-001,
-1.8994916975498200E-001,
-1.9273911416530610E-001,
-1.9553191959857940E-001,
-1.9832661747932440E-001,
-2.0112232863903040E-001,
-2.0391805469989780E-001,
-2.0671287178993220E-001,
-2.0950584113597870E-001,
-2.1229594945907590E-001,
-2.1508227288722990E-001,
-2.1786379814147950E-001,
-2.2063951194286350E-001,
-2.2340846061706540E-001,
-2.2616961598396300E-001,
-2.2892196476459500E-001,
-2.3166447877883910E-001,
-2.3439615964889520E-001,
-2.3711597919464110E-001,
-2.3982289433479310E-001,
 2.4251587688922880E-001,
-2.4519388377666480E-001,
-2.4785590171813960E-001,
-2.5050088763237000E-001,
-2.5312781333923340E-001,
-2.5573557615280150E-001,
-2.5832322239875800E-001,
-2.6088967919349670E-001,
-2.6343390345573420E-001,
-2.6595494151115420E-001,
-2.6845166087150580E-001,
-2.7092313766479490E-001,
-2.7336826920509340E-001,
-2.7578607201576240E-001,
-2.7817553281784060E-001,
-2.8053569793701170E-001,
-2.8286558389663700E-001,
-2.8516408801078800E-001,
-2.8743034601211550E-001,
-2.8966337442398070E-001,
-2.9186218976974480E-001,
-2.9402589797973640E-001,
-2.9615348577499390E-001,
-2.9824411869049070E-001,
-3.0029675364494320E-001,
-3.0231067538261420E-001,
-3.0428490042686460E-001,
-3.0621853470802300E-001,
-3.0811080336570740E-001,
-3.0996081233024600E-001,
-3.1176769733428960E-001,
-3.1353080272674560E-001,
-3.1524917483329780E-001,
-3.1692212820053100E-001,
-3.1854888796806340E-001,
-3.2012873888015740E-001,
-3.2166096568107600E-001,
-3.2314485311508180E-001,
-3.2457971572875980E-001,
-3.2596495747566220E-001,
-3.2729989290237420E-001,
-3.2858389616012580E-001,
-3.2981643080711360E-001,
-3.3099696040153500E-001,
-3.3212485909461980E-001,
-3.3319962024688720E-001,
-3.3422079682350160E-001,
-3.3518791198730470E-001,
-3.3610042929649360E-001,
-3.3695802092552180E-001,
-3.3776029944419860E-001,
-3.3850681781768800E-001,
-3.3919724822044380E-001,
-3.3983129262924200E-001,
-3.4040865302085880E-001,
-3.4092903137207030E-001,
-3.4139221906661980E-001,
-3.4179797768592840E-001,
-3.4214612841606140E-001,
-3.4243649244308470E-001,
-3.4266895055770880E-001,
-3.4284341335296630E-001,
-3.4295973181724550E-001,
-3.4301793575286860E-001,
 3.4301793575286860E-001,
-3.4295973181724550E-001,
-3.4284341335296630E-001,
-3.4266895055770880E-001,
-3.4243649244308470E-001,
-3.4214612841606140E-001,
-3.4179797768592840E-001,
-3.4139221906661980E-001,
-3.4092903137207030E-001,
-3.4040865302085880E-001,
-3.3983129262924200E-001,
-3.3919724822044380E-001,
-3.3850681781768800E-001,
-3.3776029944419860E-001,
-3.3695802092552180E-001,
-3.3610042929649360E-001,
-3.3518791198730470E-001,
-3.3422079682350160E-001,
-3.3319962024688720E-001,
-3.3212485909461980E-001,
-3.3099696040153500E-001,
-3.2981643080711360E-001,
-3.2858389616012580E-001,
-3.2729989290237420E-001,
-3.2596495747566220E-001,
-3.2457971572875980E-001,
-3.2314485311508180E-001,
-3.2166096568107600E-001,
-3.2012873888015740E-001,
-3.1854888796806340E-001,
-3.1692212820053100E-001,
-3.1524917483329780E-001,
-3.1353080272674560E-001,
-3.1176769733428960E-001,
-3.0996081233024600E-001,
-3.0811080336570740E-001,
-3.0621853470802300E-001,
-3.0428490042686460E-001,
-3.0231067538261420E-001,
-3.0029675364494320E-001,
-2.9824411869049070E-001,
-2.9615348577499390E-001,
-2.9402589797973640E-001,
-2.9186218976974480E-001,
-2.8966337442398070E-001,
-2.8743034601211550E-001,
-2.8516408801078800E-001,
-2.8286558389663700E-001,
-2.8053569793701170E-001,
-2.7817553281784060E-001,
-2.7578607201576240E-001,
-2.7336826920509340E-001,
-2.7092313766479490E-001,
-2.6845166087150580E-001,
-2.6595494151115420E-001,
-2.6343390345573420E-001,
-2.6088967919349670E-001,
-2.5832322239875800E-001,
-2.5573557615280150E-001,
-2.5312781333923340E-001,
-2.5050088763237000E-001,
-2.4785590171813960E-001,
-2.4519388377666480E-001,
-2.4251587688922880E-001,
 2.3982289433479310E-001,
-2.3711597919464110E-001,
-2.3439615964889520E-001,
-2.3166447877883910E-001,
-2.2892196476459500E-001,
-2.2616961598396300E-001,
-2.2340846061706540E-001,
-2.2063951194286350E-001,
-2.1786379814147950E-001,
-2.1508227288722990E-001,
-2.1229594945907590E-001,
-2.0950584113597870E-001,
-2.0671287178993220E-001,
-2.0391805469989780E-001,
-2.0112232863903040E-001,
-1.9832661747932440E-001,
-1.9553191959857940E-001,
-1.9273911416530610E-001,
-1.8994916975498200E-001,
-1.8716295063495640E-001,
-1.8438133597373960E-001,
-1.8160524964332580E-001,
-1.7883554100990300E-001,
-1.7607308924198150E-001,
-1.7331869900226590E-001,
-1.7057323455810550E-001,
-1.6783750057220460E-001,
-1.6511227190494540E-001,
-1.6239835321903230E-001,
-1.5969651937484740E-001,
-1.5700751543045040E-001,
-1.5433208644390100E-001,
-1.5167096257209780E-001,
-1.4902481436729430E-001,
-1.4639437198638920E-001,
-1.4378026127815250E-001,
-1.4118319749832150E-001,
-1.3860376179218290E-001,
-1.3604259490966800E-001,
-1.3350030779838560E-001,
-1.3097748160362240E-001,
-1.2847468256950380E-001,
-1.2599244713783260E-001,
-1.2353130429983140E-001,
-1.2109176814556120E-001,
-1.1867434531450270E-001,
-1.1627949774265290E-001,
-1.1390769481658940E-001,
-1.1155936866998670E-001,
-1.0923493653535840E-001,
-1.0693479329347610E-001,
-1.0465932637453080E-001,
-1.0240890830755230E-001,
-1.0018386691808700E-001,
-9.7984537482261660E-002,
-9.5811240375041960E-002,
-9.3664251267910000E-002,
-9.1543838381767280E-002,
-8.9450262486934660E-002,
-8.7383769452571870E-002,
-8.5344567894935610E-002,
-8.3332858979702000E-002,
-8.1348828971385960E-002,
-7.9392634332180020E-002,
 7.7464438974857330E-002,
-7.5564362108707430E-002,
-7.3692522943019870E-002,
-7.1849010884761810E-002,
-7.0033922791481020E-002,
-6.8247318267822270E-002,
-6.6489234566688540E-002,
-6.4759708940982820E-002,
-6.3058786094188690E-002,
-6.1386436223983760E-002,
-5.9742655605077740E-002,
-5.8127421885728840E-002,
-5.6540694087743760E-002,
-5.4982420057058330E-002,
-5.3452525287866590E-002,
-5.1950931549072270E-002,
-5.0477534532547000E-002,
-4.9032241106033330E-002,
-4.7614917159080510E-002,
-4.6225443482398990E-002,
-4.4863656163215640E-002,
-4.3529424816370010E-002,
-4.2222552001476290E-002,
-4.0942888706922530E-002,
-3.9690230041742320E-002,
-3.8464374840259550E-002,
-3.7265110760927200E-002,
-3.6092240363359450E-002,
-3.4945506602525710E-002,
-3.3824689686298370E-002,
-3.2729536294937140E-002,
-3.1659796833992000E-002,
-3.0615204945206640E-002,
-2.9595496132969860E-002,
-2.8600392863154410E-002,
-2.7629608288407320E-002,
-2.6682861149311060E-002,
-2.5759860873222350E-002,
-2.4860285222530360E-002,
-2.3983856663107870E-002,
-2.3130238056182860E-002,
-2.2299138829112050E-002,
-2.1490212529897690E-002,
-2.0703161135315900E-002,
-1.9937623292207720E-002,
-1.9193304702639580E-002,
-1.8469827249646190E-002,
-1.7766902223229410E-002,
-1.7084129154682160E-002,
-1.6421230509877200E-002,
-1.5777811408042910E-002,
-1.5153550542891020E-002,
-1.4548087492585180E-002,
-1.3961089774966240E-002,
-1.3392185792326930E-002,
-1.2841059826314450E-002,
-1.2307321652770040E-002,
-1.1790650896728040E-002,
-1.1290682479739190E-002,
-1.0807084850966930E-002,
-1.0339494794607160E-002,
-9.8875602707266800E-003,
-9.4509534537792200E-003,
-9.0293306857347480E-003,
 8.6223213002085690E-003,
+8.1793652498163280E-005,
+9.4509534537792200E-003,
+8.1348828971385960E-002,
+2.4519388377666480E-001,
+3.4295973181724550E-001,
+2.3711597919464110E-001,
+7.5564362108707430E-002,
 8.2296309992671010E-003,
+9.4393239123746760E-005,
+9.8875602707266800E-003,
+8.3332858979702000E-002,
+2.4785590171813960E-001,
+3.4284341335296630E-001,
+2.3439615964889520E-001,
+7.3692522943019870E-002,
 7.8508658334612850E-003,
+1.0821702744578940E-004,
+1.0339494794607160E-002,
+8.5344567894935610E-002,
+2.5050088763237000E-001,
+3.4266895055770880E-001,
+2.3166447877883910E-001,
+7.1849010884761810E-002,
 7.4857366271317010E-003,
+1.2333714403212070E-004,
+1.0807084850966930E-002,
+8.7383769452571870E-002,
+2.5312781333923340E-001,
+3.4243649244308470E-001,
+2.2892196476459500E-001,
+7.0033922791481020E-002,
 7.1338820271193980E-003,
+1.3974857574794440E-004,
+1.1290682479739190E-002,
+8.9450262486934660E-002,
+2.5573557615280150E-001,
+3.4214612841606140E-001,
+2.2616961598396300E-001,
+6.8247318267822270E-002,
 6.7949919030070300E-003,
+1.5759580128360540E-004,
+1.1790650896728040E-002,
+9.1543838381767280E-002,
+2.5832322239875800E-001,
+3.4179797768592840E-001,
+2.2340846061706540E-001,
+6.6489234566688540E-002,
 6.4686913974583150E-003,
+1.7699223826639360E-004,
+1.2307321652770040E-002,
+9.3664251267910000E-002,
+2.6088967919349670E-001,
+3.4139221906661980E-001,
+2.2063951194286350E-001,
+6.4759708940982820E-002,
 6.1547122895717620E-003,
+1.9817386055365200E-004,
+1.2841059826314450E-002,
+9.5811240375041960E-002,
+2.6343390345573420E-001,
+3.4092903137207030E-001,
+2.1786379814147950E-001,
+6.3058786094188690E-002,
 5.8526843786239620E-003,
+2.2118473134469240E-004,
+1.3392185792326930E-002,
+9.7984537482261660E-002,
+2.6595494151115420E-001,
+3.4040865302085880E-001,
+2.1508227288722990E-001,
+6.1386436223983760E-002,
 5.5623454973101620E-003,
+2.4602311896160240E-004,
+1.3961089774966240E-002,
+1.0018386691808700E-001,
+2.6845166087150580E-001,
+3.3983129262924200E-001,
+2.1229594945907590E-001,
+5.9742655605077740E-002,
 5.2832840010523800E-003,
+2.7261159266345200E-004,
+1.4548087492585180E-002,
+1.0240890830755230E-001,
+2.7092313766479490E-001,
+3.3919724822044380E-001,
+2.0950584113597870E-001,
+5.8127421885728840E-002,
 5.0153112970292570E-003,
+3.0138631700538100E-004,
+1.5153550542891020E-002,
+1.0465932637453080E-001,
+2.7336826920509340E-001,
+3.3850681781768800E-001,
+2.0671287178993220E-001,
+5.6540694087743760E-002,
 4.7580120153725150E-003,
+3.3283955417573450E-004,
+1.5777811408042910E-002,
+1.0693479329347610E-001,
+2.7578607201576240E-001,
+3.3776029944419860E-001,
+2.0391805469989780E-001,
+5.4982420057058330E-002,
 4.5111598446965220E-003,
+3.6589911906048660E-004,
+1.6421230509877200E-002,
+1.0923493653535840E-001,
+2.7817553281784060E-001,
+3.3695802092552180E-001,
+2.0112232863903040E-001,
+5.3452525287866590E-002,
 4.2744171805679800E-003,
+4.0182814700528980E-004,
+1.7084129154682160E-002,
+1.1155936866998670E-001,
+2.8053569793701170E-001,
+3.3610042929649360E-001,
+1.9832661747932440E-001,
+5.1950931549072270E-002,
 4.0474990382790560E-003,
+4.4018754852004350E-004,
+1.7766902223229410E-002,
+1.1390769481658940E-001,
+2.8286558389663700E-001,
+3.3518791198730470E-001,
+1.9553191959857940E-001,
+5.0477534532547000E-002,
 3.8300913292914630E-003,
+4.8127761692740020E-004,
+1.8469827249646190E-002,
+1.1627949774265290E-001,
+2.8516408801078800E-001,
+3.3422079682350160E-001,
+1.9273911416530610E-001,
+4.9032241106033330E-002,
 3.6219672765582800E-003,
+5.2524596685543660E-004,
+1.9193304702639580E-002,
+1.1867434531450270E-001,
+2.8743034601211550E-001,
+3.3319962024688720E-001,
+1.8994916975498200E-001,
+4.7614917159080510E-002,
 3.4227769356220960E-003,
+5.7215924607589840E-004,
+1.9937623292207720E-002,
+1.2109176814556120E-001,
+2.8966337442398070E-001,
+3.3212485909461980E-001,
+1.8716295063495640E-001,
+4.6225443482398990E-002,
 3.2322725746780640E-003,
+6.2221300322562460E-004,
+2.0703161135315900E-002,
+1.2353130429983140E-001,
+2.9186218976974480E-001,
+3.3099696040153500E-001,
+1.8438133597373960E-001,
+4.4863656163215640E-002,
 3.0501529108732940E-003,
+6.7555153509601950E-004,
+2.1490212529897690E-002,
+1.2599244713783260E-001,
+2.9402589797973640E-001,
+3.2981643080711360E-001,
+1.8160524964332580E-001,
+4.3529424816370010E-002,
 2.8761904686689380E-003,
+7.3241489008069040E-004,
+2.2299138829112050E-002,
+1.2847468256950380E-001,
+2.9615348577499390E-001,
+3.2858389616012580E-001,
+1.7883554100990300E-001,
+4.2222552001476290E-002,
 2.7100932784378530E-003,
+7.9285167157649990E-004,
+2.3130238056182860E-002,
+1.3097748160362240E-001,
+2.9824411869049070E-001,
+3.2729989290237420E-001,
+1.7607308924198150E-001,
+4.0942888706922530E-002,
 2.5515670422464610E-003,
+8.5701106581836940E-004,
+2.3983856663107870E-002,
+1.3350030779838560E-001,
+3.0029675364494320E-001,
+3.2596495747566220E-001,
+1.7331869900226590E-001,
+3.9690230041742320E-002,
 2.4004334118217230E-003,
+9.2511920956894760E-004,
+2.4860285222530360E-002,
+1.3604259490966800E-001,
+3.0231067538261420E-001,
+3.2457971572875980E-001,
+1.7057323455810550E-001,
+3.8464374840259550E-002,
 2.2563596721738580E-003,
+9.9747709464281800E-004,
+2.5759860873222350E-002,
+1.3860376179218290E-001,
+3.0428490042686460E-001,
+3.2314485311508180E-001,
+1.6783750057220460E-001,
+3.7265110760927200E-002,
 2.1191518753767010E-003,
+1.0739302961155770E-003,
+2.6682861149311060E-002,
+1.4118319749832150E-001,
+3.0621853470802300E-001,
+3.2166096568107600E-001,
+1.6511227190494540E-001,
+3.6092240363359450E-002,
 1.9886041991412640E-003,
+1.1550235794857140E-003,
+2.7629608288407320E-002,
+1.4378026127815250E-001,
+3.0811080336570740E-001,
+3.2012873888015740E-001,
+1.6239835321903230E-001,
+3.4945506602525710E-002,
 1.8643775256350640E-003,
+1.2406768510118130E-003,
+2.8600392863154410E-002,
+1.4639437198638920E-001,
+3.0996081233024600E-001,
+3.1854888796806340E-001,
+1.5969651937484740E-001,
+3.3824689686298370E-002,
 1.7463274998590350E-003,
+1.3312589144334200E-003,
+2.9595496132969860E-002,
+1.4902481436729430E-001,
+3.1176769733428960E-001,
+3.1692212820053100E-001,
+1.5700751543045040E-001,
+3.2729536294937140E-002,
 1.6342115122824910E-003,
-1.5278297942131760E-003,
 1.4268938684836030E-003,
-1.3312589144334200E-003,
-1.2406768510118130E-003,
-1.1550235794857140E-003,
-1.0739302961155770E-003,
-9.9747709464281800E-004,
-9.2511920956894760E-004,
-8.5701106581836940E-004,
-7.9285167157649990E-004,
-7.3241489008069040E-004,
-6.7555153509601950E-004,
-6.2221300322562460E-004,
-5.7215924607589840E-004,
-5.2524596685543660E-004,
-4.8127761692740020E-004,
-4.4018754852004350E-004,
-4.0182814700528980E-004,
-3.6589911906048660E-004,
-3.3283955417573450E-004,
-3.0138631700538100E-004,
-2.7261159266345200E-004,
-2.4602311896160240E-004,
-2.2118473134469240E-004,
-1.9817386055365200E-004,
-1.7699223826639360E-004,
-1.5759580128360540E-004,
-1.3974857574794440E-004,
-1.2333714403212070E-004,
-1.0821702744578940E-004,
-9.4393239123746760E-005,
-8.1793652498163280E-005,
-2.6584343868307770E-004
+3.0615204945206640E-002,
+1.5167096257209780E-001,
+3.1353080272674560E-001,
+3.1524917483329780E-001,
+1.5433208644390100E-001,
+3.1659796833992000E-002,
+1.5278297942131760E-003,
 };
 
 //FIXME the coeffs are symmetric
@@ -7837,517 +7581,261 @@ static const float lfe_fir_64[] =
 static const float lfe_fir_128[] =
 {
 0.00053168571,
-0.00016358691,
-0.00018878609,
-0.00021643363,
-0.00024667382,
-0.00027949660,
-0.00031519096,
-0.00035398375,
-0.00039634691,
-0.00044236859,
-0.00049204525,
-0.00054522208,
-0.00060277141,
-0.00066567765,
-0.00073179678,
-0.00080365466,
-0.00088037323,
-0.00096255314,
-0.00105048984,
-0.00114431616,
-0.00124442333,
-0.00135110028,
-0.00146482687,
-0.00158570008,
-0.00171401864,
-0.00185023469,
-0.00199495023,
-0.00214785640,
-0.00231004250,
-0.00248134881,
-0.00266251224,
-0.00285378192,
-0.00305565330,
-0.00326841651,
-0.00349264755,
-0.00372874714,
-0.00397720048,
-0.00423829490,
-0.00451271003,
-0.00480085658,
-0.00510312291,
-0.00542017492,
-0.00575236930,
-0.00610029325,
-0.00646453211,
-0.00684553990,
-0.00724391919,
-0.00766016589,
-0.00809498038,
-0.00854881573,
-0.00902230106,
-0.00951600447,
-0.01003060210,
-0.01056654565,
-0.01112466771,
-0.01170534454,
-0.01230939943,
-0.01293735672,
-0.01358995494,
-0.01426773332,
-0.01497144438,
-0.01570170000,
-0.01645922661,
-0.01724460535,
-0.01805862412,
-0.01890186779,
-0.01977507770,
-0.02067894675,
-0.02161412500,
-0.02258131653,
-0.02358125709,
-0.02461459488,
-0.02568206564,
-0.02678431384,
-0.02792212367,
-0.02909611352,
-0.03030703776,
-0.03155555204,
-0.03284239396,
-0.03416819125,
-0.03553372994,
-0.03693958372,
-0.03838652745,
-0.03987516090,
-0.04140623659,
-0.04298033938,
-0.04459818453,
-0.04626038298,
-0.04796761274,
-0.04972046614,
-0.05151961371,
-0.05336561054,
-0.05525910854,
-0.05720067024,
-0.05919086933,
-0.06123027951,
-0.06331945211,
-0.06545893103,
-0.06764923781,
-0.06989086419,
-0.07218432426,
-0.07453006506,
-0.07692859322,
-0.07938029617,
-0.08188561350,
-0.08444493264,
-0.08705867827,
-0.08972713351,
-0.09245070815,
-0.09522963315,
-0.09806428105,
-0.10095486045,
-0.10390164703,
-0.10690483451,
-0.10996460915,
-0.11308115721,
-0.11625462025,
-0.11948505789,
-0.12277261168,
-0.12611730397,
-0.12951917946,
-0.13297818601,
-0.13649433851,
-0.14006754756,
-0.14369773865,
-0.14738474786,
-0.15112841129,
-0.15492856503,
 0.15878495574,
-0.16269733012,
-0.16666537523,
-0.17068879306,
-0.17476719618,
-0.17890018225,
-0.18308731914,
-0.18732811511,
-0.19162209332,
-0.19596865773,
-0.20036731660,
-0.20481738448,
-0.20931822062,
-0.21386915445,
-0.21846942604,
-0.22311829031,
-0.22781492770,
-0.23255851865,
-0.23734821379,
-0.24218304455,
-0.24706205726,
-0.25198432803,
-0.25694879889,
-0.26195442677,
-0.26700007915,
-0.27208462358,
-0.27720692754,
-0.28236576915,
-0.28755992651,
-0.29278811812,
-0.29804900289,
-0.30334126949,
-0.30866351724,
-0.31401440501,
-0.31939238310,
-0.32479602098,
-0.33022382855,
-0.33567428589,
-0.34114575386,
-0.34663668275,
-0.35214546323,
-0.35767036676,
-0.36320972443,
-0.36876192689,
-0.37432509661,
-0.37989753485,
-0.38547745347,
-0.39106300473,
-0.39665243030,
-0.40224379301,
-0.40783521533,
-0.41342487931,
-0.41901078820,
-0.42459106445,
-0.43016362190,
-0.43572667241,
-0.44127810001,
-0.44681602716,
-0.45233830810,
-0.45784294605,
-0.46332800388,
-0.46879136562,
-0.47423094511,
-0.47964480519,
-0.48503074050,
-0.49038675427,
-0.49571081996,
-0.50100076199,
-0.50625455379,
-0.51147013903,
-0.51664537191,
-0.52177828550,
-0.52686679363,
-0.53190881014,
-0.53690224886,
-0.54184508324,
-0.54673534632,
-0.55157101154,
-0.55634999275,
-0.56107026339,
-0.56572991610,
-0.57032698393,
-0.57485944033,
-0.57932555676,
-0.58372318745,
-0.58805054426,
-0.59230577946,
-0.59648692608,
-0.60059231520,
-0.60462015867,
-0.60856848955,
-0.61243581772,
-0.61622029543,
-0.61992025375,
-0.62353414297,
-0.62706029415,
-0.63049703836,
-0.63384294510,
-0.63709646463,
-0.64025616646,
-0.64332056046,
-0.64628833532,
-0.64915806055,
-0.65192854404,
-0.65459835529,
-0.65716648102,
-0.65963155031,
-0.66199249029,
-0.66424828768,
-0.66639786959,
-0.66844022274,
-0.67037439346,
-0.67219948769,
-0.67391467094,
-0.67551922798,
-0.67701220512,
-0.67839306593,
-0.67966115475,
-0.68081587553,
-0.68185669184,
-0.68278300762,
-0.68359452486,
-0.68429082632,
-0.68487155437,
-0.68533653021,
-0.68568539619,
-0.68591803312,
-0.68603444099,
 0.68603444099,
-0.68591803312,
-0.68568539619,
-0.68533653021,
-0.68487155437,
-0.68429082632,
-0.68359452486,
-0.68278300762,
-0.68185669184,
-0.68081587553,
-0.67966115475,
-0.67839306593,
-0.67701220512,
-0.67551922798,
-0.67391467094,
-0.67219948769,
-0.67037439346,
-0.66844022274,
-0.66639786959,
-0.66424828768,
-0.66199249029,
-0.65963155031,
-0.65716648102,
-0.65459835529,
-0.65192854404,
-0.64915806055,
-0.64628833532,
-0.64332056046,
-0.64025616646,
-0.63709646463,
-0.63384294510,
-0.63049703836,
-0.62706029415,
-0.62353414297,
-0.61992025375,
-0.61622029543,
-0.61243581772,
-0.60856848955,
-0.60462015867,
-0.60059231520,
-0.59648692608,
-0.59230577946,
-0.58805054426,
-0.58372318745,
-0.57932555676,
-0.57485944033,
-0.57032698393,
-0.56572991610,
-0.56107026339,
-0.55634999275,
-0.55157101154,
-0.54673534632,
-0.54184508324,
-0.53690224886,
-0.53190881014,
-0.52686679363,
-0.52177828550,
-0.51664537191,
-0.51147013903,
-0.50625455379,
-0.50100076199,
-0.49571081996,
-0.49038675427,
-0.48503074050,
-0.47964480519,
-0.47423094511,
-0.46879136562,
-0.46332800388,
-0.45784294605,
-0.45233830810,
-0.44681602716,
-0.44127810001,
-0.43572667241,
-0.43016362190,
-0.42459106445,
-0.41901078820,
-0.41342487931,
-0.40783521533,
-0.40224379301,
-0.39665243030,
-0.39106300473,
-0.38547745347,
-0.37989753485,
-0.37432509661,
-0.36876192689,
-0.36320972443,
-0.35767036676,
-0.35214546323,
-0.34663668275,
-0.34114575386,
-0.33567428589,
-0.33022382855,
-0.32479602098,
-0.31939238310,
-0.31401440501,
-0.30866351724,
-0.30334126949,
-0.29804900289,
-0.29278811812,
-0.28755992651,
-0.28236576915,
-0.27720692754,
-0.27208462358,
-0.26700007915,
-0.26195442677,
-0.25694879889,
-0.25198432803,
-0.24706205726,
-0.24218304455,
-0.23734821379,
-0.23255851865,
-0.22781492770,
-0.22311829031,
-0.21846942604,
-0.21386915445,
-0.20931822062,
-0.20481738448,
-0.20036731660,
-0.19596865773,
-0.19162209332,
-0.18732811511,
-0.18308731914,
-0.17890018225,
-0.17476719618,
-0.17068879306,
-0.16666537523,
-0.16269733012,
-0.15878495574,
 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.01805862412,
 0.01724460535,
-0.01645922661,
-0.01570170000,
-0.01497144438,
-0.01426773332,
-0.01358995494,
-0.01293735672,
-0.01230939943,
-0.01170534454,
-0.01112466771,
-0.01056654565,
-0.01003060210,
-0.00951600447,
-0.00902230106,
-0.00854881573,
-0.00809498038,
-0.00766016589,
-0.00724391919,
-0.00684553990,
-0.00646453211,
-0.00610029325,
-0.00575236930,
-0.00542017492,
-0.00510312291,
-0.00480085658,
-0.00451271003,
-0.00423829490,
-0.00397720048,
-0.00372874714,
-0.00349264755,
-0.00326841651,
-0.00305565330,
-0.00285378192,
-0.00266251224,
-0.00248134881,
-0.00231004250,
-0.00214785640,
-0.00199495023,
-0.00185023469,
-0.00171401864,
-0.00158570008,
-0.00146482687,
-0.00135110028,
-0.00124442333,
-0.00114431616,
-0.00105048984,
-0.00096255314,
-0.00088037323,
-0.00080365466,
-0.00073179678,
-0.00066567765,
-0.00060277141,
-0.00054522208,
-0.00049204525,
-0.00044236859,
-0.00039634691,
-0.00035398375,
-0.00031519096,
-0.00027949660,
-0.00024667382,
-0.00021643363,
-0.00018878609,
-0.00016358691,
-0.00053168571
+0.47964480519,
+0.48503074050,
+0.01805862412,
 };
 
 /* 10^-(dB/20), with dB being a list of dB values ranging from 0 to -72 */
-- 
1.7.0.4




More information about the ffmpeg-devel mailing list