[FFmpeg-devel] [PATCH 1/3] DCA: align some arrays

Mans Rullgard mans
Sat Apr 10 18:22:06 CEST 2010


Optimised implementations of the synth filter will require these
arrays 16-byte aligned.
---
 libavcodec/dca.c     |    2 +-
 libavcodec/dcadata.h |    4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/libavcodec/dca.c b/libavcodec/dca.c
index 18074cf..9602282 100644
--- a/libavcodec/dca.c
+++ b/libavcodec/dca.c
@@ -230,7 +230,7 @@ typedef struct {
     /* Subband samples history (for ADPCM) */
     float subband_samples_hist[DCA_PRIM_CHANNELS_MAX][DCA_SUBBANDS][4];
     DECLARE_ALIGNED(16, float, subband_fir_hist)[DCA_PRIM_CHANNELS_MAX][512];
-    float subband_fir_noidea[DCA_PRIM_CHANNELS_MAX][32];
+    DECLARE_ALIGNED(16, float, subband_fir_noidea)[DCA_PRIM_CHANNELS_MAX][32];
     int hist_index[DCA_PRIM_CHANNELS_MAX];
     DECLARE_ALIGNED(16, float, raXin)[32];
 
diff --git a/libavcodec/dcadata.h b/libavcodec/dcadata.h
index 1ee7c58..b5eddcf 100644
--- a/libavcodec/dcadata.h
+++ b/libavcodec/dcadata.h
@@ -6282,7 +6282,7 @@ 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,
 +7.018770981E-011,
@@ -6798,7 +6798,7 @@ static const float fir_32bands_perfect[] =
 -1.135985195E-010
 };
 
-static const float fir_32bands_nonperfect[] =
+DECLARE_ALIGNED(16, static const float, fir_32bands_nonperfect)[] =
 {
 -1.390191784E-007,
 -1.693738625E-007,
-- 
1.7.0.4




More information about the ffmpeg-devel mailing list