Browse code

DCA: move an aligned array from stack to context

Originally committed as revision 19805 to svn://svn.ffmpeg.org/ffmpeg/trunk

Måns Rullgård authored on 2009/09/10 17:49:59
Showing 1 changed files
... ...
@@ -230,6 +230,7 @@ typedef struct {
230 230
     DECLARE_ALIGNED_16(float, subband_fir_hist[DCA_PRIM_CHANNELS_MAX][512]);
231 231
     float subband_fir_noidea[DCA_PRIM_CHANNELS_MAX][32];
232 232
     int hist_index[DCA_PRIM_CHANNELS_MAX];
233
+    DECLARE_ALIGNED_16(float, raXin[32]);
233 234
 
234 235
     int output;                 ///< type of output
235 236
     float add_bias;             ///< output bias
... ...
@@ -751,7 +752,6 @@ static void qmf_32_subbands(DCAContext * s, int chans,
751 751
 {
752 752
     const float *prCoeff;
753 753
     int i, j;
754
-    DECLARE_ALIGNED_16(float, raXin[32]);
755 754
 
756 755
     int hist_index= s->hist_index[chans];
757 756
     float *subband_fir_hist2 = s->subband_fir_noidea[chans];
... ...
@@ -771,13 +771,13 @@ static void qmf_32_subbands(DCAContext * s, int chans,
771 771
         float *subband_fir_hist = s->subband_fir_hist[chans] + hist_index;
772 772
         /* Load in one sample from each subband and clear inactive subbands */
773 773
         for (i = 0; i < s->subband_activity[chans]; i++){
774
-            if((i-1)&2) raXin[i] = -samples_in[i][subindex];
775
-            else        raXin[i] =  samples_in[i][subindex];
774
+            if((i-1)&2) s->raXin[i] = -samples_in[i][subindex];
775
+            else        s->raXin[i] =  samples_in[i][subindex];
776 776
         }
777 777
         for (; i < 32; i++)
778
-            raXin[i] = 0.0;
778
+            s->raXin[i] = 0.0;
779 779
 
780
-        ff_imdct_half(&s->imdct, subband_fir_hist, raXin);
780
+        ff_imdct_half(&s->imdct, subband_fir_hist, s->raXin);
781 781
 
782 782
         /* Multiply by filter coefficients */
783 783
         for (i = 0; i < 16; i++){