Commit 6d9d289e authored by Måns Rullgård's avatar Måns Rullgård

DCA: move an aligned array from stack to context

Originally committed as revision 19805 to svn://svn.ffmpeg.org/ffmpeg/trunk
parent 95e561ec
...@@ -230,6 +230,7 @@ typedef struct { ...@@ -230,6 +230,7 @@ typedef struct {
DECLARE_ALIGNED_16(float, subband_fir_hist[DCA_PRIM_CHANNELS_MAX][512]); DECLARE_ALIGNED_16(float, subband_fir_hist[DCA_PRIM_CHANNELS_MAX][512]);
float subband_fir_noidea[DCA_PRIM_CHANNELS_MAX][32]; float subband_fir_noidea[DCA_PRIM_CHANNELS_MAX][32];
int hist_index[DCA_PRIM_CHANNELS_MAX]; int hist_index[DCA_PRIM_CHANNELS_MAX];
DECLARE_ALIGNED_16(float, raXin[32]);
int output; ///< type of output int output; ///< type of output
float add_bias; ///< output bias float add_bias; ///< output bias
...@@ -751,7 +752,6 @@ static void qmf_32_subbands(DCAContext * s, int chans, ...@@ -751,7 +752,6 @@ static void qmf_32_subbands(DCAContext * s, int chans,
{ {
const float *prCoeff; const float *prCoeff;
int i, j; int i, j;
DECLARE_ALIGNED_16(float, raXin[32]);
int hist_index= s->hist_index[chans]; int hist_index= s->hist_index[chans];
float *subband_fir_hist2 = s->subband_fir_noidea[chans]; float *subband_fir_hist2 = s->subband_fir_noidea[chans];
...@@ -771,13 +771,13 @@ static void qmf_32_subbands(DCAContext * s, int chans, ...@@ -771,13 +771,13 @@ static void qmf_32_subbands(DCAContext * s, int chans,
float *subband_fir_hist = s->subband_fir_hist[chans] + hist_index; float *subband_fir_hist = s->subband_fir_hist[chans] + hist_index;
/* Load in one sample from each subband and clear inactive subbands */ /* Load in one sample from each subband and clear inactive subbands */
for (i = 0; i < s->subband_activity[chans]; i++){ for (i = 0; i < s->subband_activity[chans]; i++){
if((i-1)&2) raXin[i] = -samples_in[i][subindex]; if((i-1)&2) s->raXin[i] = -samples_in[i][subindex];
else raXin[i] = samples_in[i][subindex]; else s->raXin[i] = samples_in[i][subindex];
} }
for (; i < 32; i++) for (; i < 32; i++)
raXin[i] = 0.0; s->raXin[i] = 0.0;
ff_imdct_half(&s->imdct, subband_fir_hist, raXin); ff_imdct_half(&s->imdct, subband_fir_hist, s->raXin);
/* Multiply by filter coefficients */ /* Multiply by filter coefficients */
for (i = 0; i < 16; i++){ for (i = 0; i < 16; i++){
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment