mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-07-01 21:48:15 +08:00
DCA: move an aligned array from stack to context
Originally committed as revision 19805 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
@ -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,
|
|||||||
{
|
{
|
||||||
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,
|
|||||||
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++){
|
||||||
|
Reference in New Issue
Block a user