Use forced key frames when encoding with libxvid.
[ffmpeg.git] / libavcodec / dcadata.h
index 6686277..fbd22ab 100644 (file)
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
-/**
- * @file dcadata.c
- */
-
 #ifndef AVCODEC_DCADATA_H
 #define AVCODEC_DCADATA_H
 
 #include <stdint.h>
+#include "libavutil/mem.h"
 
 /* Generic tables */
 
@@ -6282,523 +6279,523 @@ static const int8_t high_freq_vq[1024][32] =
 
 /* FIR filter coefficients, they can be cut on half and maybe use float instead of double*/
 
-static const float fir_32bands_perfect[] =
+DECLARE_ALIGNED(16, static const float, fir_32bands_perfect)[] =
 {
 +1.135985195E-010,
--6.022448247E-007,
-+9.742954035E-007,
 +7.018770981E-011,
--6.628192182E-007,
-+1.085227950E-006,
 -1.608403011E-008,
--6.982898526E-007,
-+1.162929266E-006,
 -5.083275667E-008,
--7.020648809E-007,
-+1.194632091E-006,
 -1.543309907E-007,
--6.767839409E-007,
-+1.179182050E-006,
 -3.961981463E-007,
--6.262345096E-007,
-+1.033426656E-006,
 -7.342250683E-007,
--5.564140224E-007,
-+9.451737242E-007,
 -3.970030775E-007,
-+7.003467317E-007,
-+1.975324267E-006,
 -4.741137047E-007,
+-6.022448247E-007,
+-6.628192182E-007,
+-6.982898526E-007,
+-7.020648809E-007,
+-6.767839409E-007,
+-6.262345096E-007,
+-5.564140224E-007,
++7.003467317E-007,
 +8.419976893E-007,
++9.742954035E-007,
++1.085227950E-006,
++1.162929266E-006,
++1.194632091E-006,
++1.179182050E-006,
++1.033426656E-006,
++9.451737242E-007,
++1.975324267E-006,
 +1.190443072E-006,
 +5.234479659E-007,
-+6.402664354E-008,
--1.470520488E-006,
 +2.014677420E-007,
--3.246264413E-008,
--1.853591357E-006,
 +7.834767501E-008,
+-6.702406963E-010,
+-1.613285505E-009,
+-2.682709610E-009,
+-3.399493131E-009,
++1.314406006E-008,
++7.506701927E-009,
++2.788728892E-008,
++1.444918922E-007,
++3.132386439E-007,
++1.399798180E-006,
++2.032118118E-006,
++2.715013807E-006,
++3.453840463E-006,
++4.195037945E-006,
++4.896494374E-006,
++5.516381407E-006,
++6.015239251E-006,
++6.361419310E-006,
++8.006985809E-006,
++8.087732567E-006,
++7.941360309E-006,
++7.568834008E-006,
++6.986399967E-006,
++6.225028756E-006,
++5.315936960E-006,
++4.429412002E-006,
++3.332600045E-006,
++8.427224429E-007,
++4.341498823E-007,
++9.458596395E-008,
++2.975164826E-008,
++6.402664354E-008,
+-3.246264413E-008,
 -3.809887872E-008,
-+7.198007665E-007,
 +8.434094667E-008,
-+3.086857760E-006,
--6.702406963E-010,
 +6.437721822E-008,
-+6.084746474E-006,
--1.613285505E-009,
 +1.189317118E-006,
-+9.561075785E-006,
--2.682709610E-009,
 +2.497214155E-006,
-+1.309637537E-005,
--3.399493131E-009,
 +3.617151151E-006,
-+2.263354872E-005,
-+1.314406006E-008,
 +3.157242645E-006,
-+2.847247197E-005,
-+7.506701927E-009,
 +2.319611212E-006,
-+3.415624451E-005,
-+2.788728892E-008,
 +7.869333785E-006,
-+3.946387005E-005,
-+1.444918922E-007,
 +9.826449968E-006,
-+4.425736552E-005,
-+3.132386439E-007,
 +1.177108606E-005,
-+4.839275425E-005,
-+1.399798180E-006,
 +1.379448349E-005,
-+5.176846025E-005,
-+2.032118118E-006,
 +1.571428584E-005,
-+5.429694284E-005,
-+2.715013807E-006,
 +1.743183020E-005,
-+5.595519906E-005,
-+3.453840463E-006,
 +1.884208177E-005,
-+4.916387297E-006,
-+4.195037945E-006,
 +1.987093310E-005,
-+9.299508747E-006,
-+4.896494374E-006,
 +2.042970118E-005,
-+1.356193479E-005,
-+5.516381407E-006,
 -3.144468428E-005,
-+1.751866148E-005,
-+6.015239251E-006,
 -3.334947178E-005,
-+2.093936746E-005,
-+6.361419310E-006,
 -3.460439257E-005,
-+2.362549276E-005,
-+8.006985809E-006,
 -3.515914432E-005,
-+2.537086584E-005,
-+8.087732567E-006,
 -3.495384954E-005,
-+2.618136386E-005,
-+7.941360309E-006,
 -3.397853652E-005,
-+2.554462844E-005,
-+7.568834008E-006,
 -3.225446198E-005,
-+3.018750249E-005,
-+6.986399967E-006,
 -2.978993689E-005,
-+2.570833203E-005,
-+6.225028756E-006,
 -2.677291741E-005,
-+1.985177369E-005,
-+5.315936960E-006,
 -1.806914770E-005,
-+1.191342653E-005,
-+4.429412002E-006,
 -1.776598037E-005,
-+2.525620175E-006,
-+3.332600045E-006,
 -1.661818715E-005,
--1.521241393E-005,
-+8.427224429E-007,
 -1.207003334E-005,
--1.617751332E-005,
-+4.341498823E-007,
 -6.993315310E-006,
-+1.992636317E-005,
-+9.458596395E-008,
 -5.633860383E-007,
-+1.774702469E-005,
-+2.975164826E-008,
 -9.984935332E-007,
+-1.470520488E-006,
+-1.853591357E-006,
++7.198007665E-007,
++3.086857760E-006,
++6.084746474E-006,
++9.561075785E-006,
++1.309637537E-005,
++2.263354872E-005,
++2.847247197E-005,
++3.415624451E-005,
++3.946387005E-005,
++4.425736552E-005,
++4.839275425E-005,
++5.176846025E-005,
++5.429694284E-005,
++5.595519906E-005,
++4.916387297E-006,
++9.299508747E-006,
++1.356193479E-005,
++1.751866148E-005,
++2.093936746E-005,
++2.362549276E-005,
++2.537086584E-005,
++2.618136386E-005,
++2.554462844E-005,
++3.018750249E-005,
++2.570833203E-005,
++1.985177369E-005,
++1.191342653E-005,
++2.525620175E-006,
+-1.521241393E-005,
+-1.617751332E-005,
++1.992636317E-005,
++1.774702469E-005,
 +4.624524081E-005,
 +5.610509834E-005,
--5.729619297E-004,
-+4.244441516E-004,
 +6.568001118E-005,
--6.358824321E-004,
-+2.206075296E-004,
 +7.513730816E-005,
--7.021900383E-004,
--2.719412748E-007,
 +8.413690375E-005,
--7.698345580E-004,
--2.382978710E-004,
 +8.757545584E-005,
--8.385353722E-004,
--4.935106263E-004,
 +9.517164290E-005,
--9.078957955E-004,
--7.658848190E-004,
 +1.020687996E-004,
--9.775133803E-004,
--1.055365428E-003,
 +1.084438481E-004,
--1.046945457E-003,
--1.361547387E-003,
 +1.140582463E-004,
--1.115717343E-003,
--1.684492454E-003,
 +1.187910311E-004,
--1.183370827E-003,
--2.023874084E-003,
 +1.224978914E-004,
--1.252829796E-003,
--2.379294252E-003,
 +1.250260248E-004,
--1.316190348E-003,
--2.750317100E-003,
 +1.262027217E-004,
--1.376571832E-003,
--3.136433195E-003,
 +1.226499153E-004,
--1.433344092E-003,
--3.537061159E-003,
 +1.213575742E-004,
--1.485876855E-003,
--3.951539751E-003,
 +1.180980107E-004,
--1.533520175E-003,
--4.379155114E-003,
 +1.126275165E-004,
--1.575609902E-003,
--4.819062538E-003,
 +1.047207043E-004,
--1.611457788E-003,
--5.270531867E-003,
 +9.417100227E-005,
--1.640390139E-003,
--5.732392892E-003,
 +8.078388782E-005,
--1.661288203E-003,
--6.203945260E-003,
 +6.447290798E-005,
--1.674512983E-003,
--6.683901884E-003,
 +4.491530854E-005,
--1.678415807E-003,
--7.170005701E-003,
 +2.470704203E-005,
--1.672798418E-003,
--7.664063945E-003,
 -1.714242217E-006,
--1.656501088E-003,
--8.162760176E-003,
 -3.193307566E-005,
--1.633993932E-003,
--8.665001951E-003,
 -6.541742187E-005,
--1.593449386E-003,
--9.170533158E-003,
 -1.024175072E-004,
-+1.542080659E-003,
--9.676489048E-003,
 -1.312203676E-004,
-+1.479332102E-003,
--1.018219907E-002,
 -1.774113771E-004,
-+1.395521569E-003,
--1.068630442E-002,
 -2.233728592E-004,
-+1.303116791E-003,
--1.118756086E-002,
 -2.682086197E-004,
-+1.196175464E-003,
--1.168460958E-002,
 -3.347633174E-004,
-+1.073757303E-003,
--1.217562053E-002,
 -3.906481725E-004,
-+9.358961834E-004,
--1.265939046E-002,
 -4.490280990E-004,
-+7.817269652E-004,
--1.313448418E-002,
 -5.099929986E-004,
-+6.114174030E-004,
--1.359948888E-002,
--1.405300573E-002,
-+1.572482102E-002,
-+4.935106263E-004,
--1.449365262E-002,
-+1.533095632E-002,
-+2.382978710E-004,
--1.492007636E-002,
-+1.492007636E-002,
-+2.719412748E-007,
--1.533095632E-002,
-+1.449365262E-002,
--2.206075296E-004,
--1.572482102E-002,
-+1.405300573E-002,
--4.244441516E-004,
--1.610082202E-002,
-+1.359948888E-002,
--6.114174030E-004,
+-5.729619297E-004,
+-6.358824321E-004,
+-7.021900383E-004,
+-7.698345580E-004,
+-8.385353722E-004,
+-9.078957955E-004,
+-9.775133803E-004,
+-1.046945457E-003,
+-1.115717343E-003,
+-1.183370827E-003,
+-1.252829796E-003,
+-1.316190348E-003,
+-1.376571832E-003,
+-1.433344092E-003,
+-1.485876855E-003,
+-1.533520175E-003,
+-1.575609902E-003,
+-1.611457788E-003,
+-1.640390139E-003,
+-1.661288203E-003,
+-1.674512983E-003,
+-1.678415807E-003,
+-1.672798418E-003,
+-1.656501088E-003,
+-1.633993932E-003,
+-1.593449386E-003,
++1.542080659E-003,
++1.479332102E-003,
++1.395521569E-003,
++1.303116791E-003,
++1.196175464E-003,
++1.073757303E-003,
++9.358961834E-004,
++7.817269652E-004,
++6.114174030E-004,
++4.244441516E-004,
++2.206075296E-004,
+-2.719412748E-007,
+-2.382978710E-004,
+-4.935106263E-004,
+-7.658848190E-004,
+-1.055365428E-003,
+-1.361547387E-003,
+-1.684492454E-003,
+-2.023874084E-003,
+-2.379294252E-003,
+-2.750317100E-003,
+-3.136433195E-003,
+-3.537061159E-003,
+-3.951539751E-003,
+-4.379155114E-003,
+-4.819062538E-003,
+-5.270531867E-003,
+-5.732392892E-003,
+-6.203945260E-003,
+-6.683901884E-003,
+-7.170005701E-003,
+-7.664063945E-003,
+-8.162760176E-003,
+-8.665001951E-003,
+-9.170533158E-003,
+-9.676489048E-003,
+-1.018219907E-002,
+-1.068630442E-002,
+-1.118756086E-002,
+-1.168460958E-002,
+-1.217562053E-002,
+-1.265939046E-002,
+-1.313448418E-002,
+-1.359948888E-002,
+-1.405300573E-002,
+-1.449365262E-002,
+-1.492007636E-002,
+-1.533095632E-002,
+-1.572482102E-002,
+-1.610082202E-002,
 -1.645756140E-002,
-+1.313448418E-002,
--7.817269652E-004,
 -1.679391414E-002,
-+1.265939046E-002,
--9.358961834E-004,
 -1.710879989E-002,
-+1.217562053E-002,
--1.073757303E-003,
 -1.740120351E-002,
-+1.168460958E-002,
--1.196175464E-003,
 -1.767017506E-002,
-+1.118756086E-002,
--1.303116791E-003,
 -1.791484281E-002,
-+1.068630442E-002,
--1.395521569E-003,
 -1.813439466E-002,
-+1.018219907E-002,
--1.479332102E-003,
 -1.832821220E-002,
-+9.676489048E-003,
--1.542080659E-003,
 -1.849545911E-002,
-+9.170533158E-003,
-+1.593449386E-003,
 -1.863567345E-002,
-+8.665001951E-003,
-+1.633993932E-003,
 -1.874836907E-002,
-+8.162760176E-003,
-+1.656501088E-003,
 -1.883326657E-002,
-+7.664063945E-003,
-+1.672798418E-003,
 -1.889026538E-002,
-+7.170005701E-003,
-+1.678415807E-003,
 -1.891860925E-002,
-+6.683901884E-003,
-+1.674512983E-003,
 +1.891860925E-002,
-+6.203945260E-003,
-+1.661288203E-003,
 +1.889026538E-002,
-+5.732392892E-003,
-+1.640390139E-003,
 +1.883326657E-002,
-+5.270531867E-003,
-+1.611457788E-003,
 +1.874836907E-002,
-+4.819062538E-003,
-+1.575609902E-003,
 +1.863567345E-002,
-+4.379155114E-003,
-+1.533520175E-003,
 +1.849545911E-002,
-+3.951539751E-003,
-+1.485876855E-003,
 +1.832821220E-002,
-+3.537061159E-003,
-+1.433344092E-003,
 +1.813439466E-002,
-+3.136433195E-003,
-+1.376571832E-003,
 +1.791484281E-002,
-+2.750317100E-003,
-+1.316190348E-003,
 +1.767017506E-002,
-+2.379294252E-003,
-+1.252829796E-003,
 +1.740120351E-002,
-+2.023874084E-003,
-+1.183370827E-003,
 +1.710879989E-002,
-+1.684492454E-003,
-+1.115717343E-003,
 +1.679391414E-002,
-+1.361547387E-003,
-+1.046945457E-003,
 +1.645756140E-002,
-+1.055365428E-003,
-+9.775133803E-004,
 +1.610082202E-002,
++1.572482102E-002,
++1.533095632E-002,
++1.492007636E-002,
++1.449365262E-002,
++1.405300573E-002,
++1.359948888E-002,
++1.313448418E-002,
++1.265939046E-002,
++1.217562053E-002,
++1.168460958E-002,
++1.118756086E-002,
++1.068630442E-002,
++1.018219907E-002,
++9.676489048E-003,
++9.170533158E-003,
++8.665001951E-003,
++8.162760176E-003,
++7.664063945E-003,
++7.170005701E-003,
++6.683901884E-003,
++6.203945260E-003,
++5.732392892E-003,
++5.270531867E-003,
++4.819062538E-003,
++4.379155114E-003,
++3.951539751E-003,
++3.537061159E-003,
++3.136433195E-003,
++2.750317100E-003,
++2.379294252E-003,
++2.023874084E-003,
++1.684492454E-003,
++1.361547387E-003,
++1.055365428E-003,
 +7.658848190E-004,
++4.935106263E-004,
++2.382978710E-004,
++2.719412748E-007,
+-2.206075296E-004,
+-4.244441516E-004,
+-6.114174030E-004,
+-7.817269652E-004,
+-9.358961834E-004,
+-1.073757303E-003,
+-1.196175464E-003,
+-1.303116791E-003,
+-1.395521569E-003,
+-1.479332102E-003,
+-1.542080659E-003,
++1.593449386E-003,
++1.633993932E-003,
++1.656501088E-003,
++1.672798418E-003,
++1.678415807E-003,
++1.674512983E-003,
++1.661288203E-003,
++1.640390139E-003,
++1.611457788E-003,
++1.575609902E-003,
++1.533520175E-003,
++1.485876855E-003,
++1.433344092E-003,
++1.376571832E-003,
++1.316190348E-003,
++1.252829796E-003,
++1.183370827E-003,
++1.115717343E-003,
++1.046945457E-003,
++9.775133803E-004,
 +9.078957955E-004,
 +8.385353722E-004,
--8.757545584E-005,
--6.084746474E-006,
 +7.698345580E-004,
--8.413690375E-005,
--3.086857760E-006,
 +7.021900383E-004,
--7.513730816E-005,
--7.198007665E-007,
 +6.358824321E-004,
--6.568001118E-005,
-+1.853591357E-006,
 +5.729619297E-004,
--5.610509834E-005,
-+1.470520488E-006,
 +5.099929986E-004,
--4.624524081E-005,
-+9.984935332E-007,
 +4.490280990E-004,
--1.774702469E-005,
-+5.633860383E-007,
 +3.906481725E-004,
--1.992636317E-005,
-+6.993315310E-006,
 +3.347633174E-004,
-+1.617751332E-005,
-+1.207003334E-005,
 +2.682086197E-004,
-+1.521241393E-005,
-+1.661818715E-005,
 +2.233728592E-004,
--2.525620175E-006,
-+1.776598037E-005,
 +1.774113771E-004,
--1.191342653E-005,
-+1.806914770E-005,
 +1.312203676E-004,
--1.985177369E-005,
-+2.677291741E-005,
 +1.024175072E-004,
--2.570833203E-005,
-+2.978993689E-005,
 +6.541742187E-005,
--3.018750249E-005,
-+3.225446198E-005,
 +3.193307566E-005,
--2.554462844E-005,
-+3.397853652E-005,
 +1.714242217E-006,
--2.618136386E-005,
-+3.495384954E-005,
 -2.470704203E-005,
--2.537086584E-005,
-+3.515914432E-005,
 -4.491530854E-005,
--2.362549276E-005,
-+3.460439257E-005,
 -6.447290798E-005,
--2.093936746E-005,
-+3.334947178E-005,
 -8.078388782E-005,
--1.751866148E-005,
-+3.144468428E-005,
 -9.417100227E-005,
--1.356193479E-005,
--2.042970118E-005,
 -1.047207043E-004,
--9.299508747E-006,
--1.987093310E-005,
 -1.126275165E-004,
--4.916387297E-006,
--1.884208177E-005,
 -1.180980107E-004,
--5.595519906E-005,
--1.743183020E-005,
 -1.213575742E-004,
--5.429694284E-005,
--1.571428584E-005,
 -1.226499153E-004,
--5.176846025E-005,
--1.379448349E-005,
 -1.262027217E-004,
--4.839275425E-005,
--1.177108606E-005,
 -1.250260248E-004,
--4.425736552E-005,
--9.826449968E-006,
 -1.224978914E-004,
--3.946387005E-005,
--7.869333785E-006,
 -1.187910311E-004,
--3.415624451E-005,
--2.319611212E-006,
 -1.140582463E-004,
--2.847247197E-005,
--3.157242645E-006,
 -1.084438481E-004,
--2.263354872E-005,
--3.617151151E-006,
 -1.020687996E-004,
--1.309637537E-005,
--2.497214155E-006,
 -9.517164290E-005,
+-8.757545584E-005,
+-8.413690375E-005,
+-7.513730816E-005,
+-6.568001118E-005,
+-5.610509834E-005,
+-4.624524081E-005,
+-1.774702469E-005,
+-1.992636317E-005,
++1.617751332E-005,
++1.521241393E-005,
+-2.525620175E-006,
+-1.191342653E-005,
+-1.985177369E-005,
+-2.570833203E-005,
+-3.018750249E-005,
+-2.554462844E-005,
+-2.618136386E-005,
+-2.537086584E-005,
+-2.362549276E-005,
+-2.093936746E-005,
+-1.751866148E-005,
+-1.356193479E-005,
+-9.299508747E-006,
+-4.916387297E-006,
+-5.595519906E-005,
+-5.429694284E-005,
+-5.176846025E-005,
+-4.839275425E-005,
+-4.425736552E-005,
+-3.946387005E-005,
+-3.415624451E-005,
+-2.847247197E-005,
+-2.263354872E-005,
+-1.309637537E-005,
 -9.561075785E-006,
+-6.084746474E-006,
+-3.086857760E-006,
+-7.198007665E-007,
++1.853591357E-006,
++1.470520488E-006,
++9.984935332E-007,
++5.633860383E-007,
++6.993315310E-006,
++1.207003334E-005,
++1.661818715E-005,
++1.776598037E-005,
++1.806914770E-005,
++2.677291741E-005,
++2.978993689E-005,
++3.225446198E-005,
++3.397853652E-005,
++3.495384954E-005,
++3.515914432E-005,
++3.460439257E-005,
++3.334947178E-005,
++3.144468428E-005,
+-2.042970118E-005,
+-1.987093310E-005,
+-1.884208177E-005,
+-1.743183020E-005,
+-1.571428584E-005,
+-1.379448349E-005,
+-1.177108606E-005,
+-9.826449968E-006,
+-7.869333785E-006,
+-2.319611212E-006,
+-3.157242645E-006,
+-3.617151151E-006,
+-2.497214155E-006,
 -1.189317118E-006,
 -6.437721822E-008,
--4.195037945E-006,
--1.194632091E-006,
 -8.434094667E-008,
--3.453840463E-006,
--1.162929266E-006,
 +3.809887872E-008,
--2.715013807E-006,
--1.085227950E-006,
 +3.246264413E-008,
--2.032118118E-006,
--9.742954035E-007,
 -6.402664354E-008,
--1.399798180E-006,
--8.419976893E-007,
 -2.975164826E-008,
--3.132386439E-007,
--7.003467317E-007,
 -9.458596395E-008,
--1.444918922E-007,
-+5.564140224E-007,
 -4.341498823E-007,
--2.788728892E-008,
-+6.262345096E-007,
 -8.427224429E-007,
--7.506701927E-009,
-+6.767839409E-007,
 -3.332600045E-006,
--1.314406006E-008,
-+7.020648809E-007,
 -4.429412002E-006,
-+3.399493131E-009,
-+6.982898526E-007,
 -5.315936960E-006,
-+2.682709610E-009,
-+6.628192182E-007,
 -6.225028756E-006,
-+1.613285505E-009,
-+6.022448247E-007,
 -6.986399967E-006,
-+6.702406963E-010,
-+4.741137047E-007,
 -7.568834008E-006,
--7.834767501E-008,
-+3.970030775E-007,
 -7.941360309E-006,
--2.014677420E-007,
-+7.342250683E-007,
 -8.087732567E-006,
--5.234479659E-007,
-+3.961981463E-007,
 -8.006985809E-006,
--1.190443072E-006,
-+1.543309907E-007,
 -6.361419310E-006,
--1.975324267E-006,
-+5.083275667E-008,
 -6.015239251E-006,
--9.451737242E-007,
-+1.608403011E-008,
 -5.516381407E-006,
--1.033426656E-006,
--7.018770981E-011,
 -4.896494374E-006,
+-4.195037945E-006,
+-3.453840463E-006,
+-2.715013807E-006,
+-2.032118118E-006,
+-1.399798180E-006,
+-3.132386439E-007,
+-1.444918922E-007,
+-2.788728892E-008,
+-7.506701927E-009,
+-1.314406006E-008,
++3.399493131E-009,
++2.682709610E-009,
++1.613285505E-009,
++6.702406963E-010,
+-7.834767501E-008,
+-2.014677420E-007,
+-5.234479659E-007,
+-1.190443072E-006,
+-1.975324267E-006,
+-9.451737242E-007,
+-1.033426656E-006,
 -1.179182050E-006,
+-1.194632091E-006,
+-1.162929266E-006,
+-1.085227950E-006,
+-9.742954035E-007,
+-8.419976893E-007,
+-7.003467317E-007,
++5.564140224E-007,
++6.262345096E-007,
++6.767839409E-007,
++7.020648809E-007,
++6.982898526E-007,
++6.628192182E-007,
++6.022448247E-007,
++4.741137047E-007,
++3.970030775E-007,
++7.342250683E-007,
++3.961981463E-007,
++1.543309907E-007,
++5.083275667E-008,
++1.608403011E-008,
+-7.018770981E-011,
 -1.135985195E-010
 };
 
-static const float fir_32bands_nonperfect[] =
+DECLARE_ALIGNED(16, static const float, fir_32bands_nonperfect)[] =
 {
 -1.390191784E-007,
 -1.693738625E-007,
@@ -7314,1042 +7311,207 @@ static const float fir_32bands_nonperfect[] =
 +1.390191784E-007
 };
 
-//FIXME the coeffs are symetric
-static const float lfe_fir_64[] =
+DECLARE_ALIGNED(16, 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.2296309992671010E-003,
-7.8508658334612850E-003,
-7.4857366271317010E-003,
-7.1338820271193980E-003,
-6.7949919030070300E-003,
-6.4686913974583150E-003,
-6.1547122895717620E-003,
-5.8526843786239620E-003,
-5.5623454973101620E-003,
-5.2832840010523800E-003,
-5.0153112970292570E-003,
-4.7580120153725150E-003,
-4.5111598446965220E-003,
-4.2744171805679800E-003,
-4.0474990382790560E-003,
-3.8300913292914630E-003,
-3.6219672765582800E-003,
-3.4227769356220960E-003,
-3.2322725746780640E-003,
-3.0501529108732940E-003,
-2.8761904686689380E-003,
-2.7100932784378530E-003,
-2.5515670422464610E-003,
-2.4004334118217230E-003,
-2.2563596721738580E-003,
-2.1191518753767010E-003,
-1.9886041991412640E-003,
-1.8643775256350640E-003,
-1.7463274998590350E-003,
-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
+    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,
 };
 
-//FIXME the coeffs are symetric
-
-static const float lfe_fir_128[] =
+DECLARE_ALIGNED(16, 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.15112841129,
-0.14738474786,
-0.14369773865,
-0.14006754756,
-0.13649433851,
-0.13297818601,
-0.12951917946,
-0.12611730397,
-0.12277261168,
-0.11948505789,
-0.11625462025,
-0.11308115721,
-0.10996460915,
-0.10690483451,
-0.10390164703,
-0.10095486045,
-0.09806428105,
-0.09522963315,
-0.09245070815,
-0.08972713351,
-0.08705867827,
-0.08444493264,
-0.08188561350,
-0.07938029617,
-0.07692859322,
-0.07453006506,
-0.07218432426,
-0.06989086419,
-0.06764923781,
-0.06545893103,
-0.06331945211,
-0.06123027951,
-0.05919086933,
-0.05720067024,
-0.05525910854,
-0.05336561054,
-0.05151961371,
-0.04972046614,
-0.04796761274,
-0.04626038298,
-0.04459818453,
-0.04298033938,
-0.04140623659,
-0.03987516090,
-0.03838652745,
-0.03693958372,
-0.03553372994,
-0.03416819125,
-0.03284239396,
-0.03155555204,
-0.03030703776,
-0.02909611352,
-0.02792212367,
-0.02678431384,
-0.02568206564,
-0.02461459488,
-0.02358125709,
-0.02258131653,
-0.02161412500,
-0.02067894675,
-0.01977507770,
-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.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,
 };
 
-/* 10^-(dB/20), with dB beeing a list of dB values rangeing from 0 to -72 */
+/* 10^-(dB/20), with dB being a list of dB values ranging from 0 to -72 */
 /* do a 20*log10(dca_downmix_coeffs) to reconvert the values */
 
 static const float dca_downmix_coeffs[65] = {
@@ -8471,4 +7633,4 @@ where Ch(n) represents the subband samples in the (n)th audio channel.
 
 */
 
-#endif
+#endif /* AVCODEC_DCADATA_H */