Revision fe20bdf9 libavcodec/fft.c
libavcodec/fft.c  

107  107 
if (HAVE_ALTIVEC) ff_fft_init_altivec(s); 
108  108 
if (HAVE_MMX) ff_fft_init_mmx(s); 
109  109  
110 
for(j=4; j<=nbits; j++) {


111 
ff_init_ff_cos_tabs(j);


112 
}


113 
for(i=0; i<n; i++)


114 
s>revtab[split_radix_permutation(i, n, s>inverse) & (n1)] = i;


110 
for(j=4; j<=nbits; j++) { 

111 
ff_init_ff_cos_tabs(j); 

112 
} 

113 
for(i=0; i<n; i++) 

114 
s>revtab[split_radix_permutation(i, n, s>inverse) & (n1)] = i; 

115  115  
116  116 
return 0; 
117  117 
fail: 
...  ...  
125  125 
int j, np; 
126  126 
const uint16_t *revtab = s>revtab; 
127  127 
np = 1 << s>nbits; 
128 
/* TODO: handle splitradix permute in a more optimal way, probably inplace */


129 
for(j=0;j<np;j++) s>tmp_buf[revtab[j]] = z[j];


130 
memcpy(z, s>tmp_buf, np * sizeof(FFTComplex));


128 
/* TODO: handle splitradix permute in a more optimal way, probably inplace */ 

129 
for(j=0;j<np;j++) s>tmp_buf[revtab[j]] = z[j]; 

130 
memcpy(z, s>tmp_buf, np * sizeof(FFTComplex)); 

131  131 
} 
132  132  
133  133 
av_cold void ff_fft_end(FFTContext *s) 
Also available in: Unified diff