[FFmpeg-devel] [PATCH 3/3] fft_template: Move variables to where they are used.
Reimar Döffinger
Reimar.Doeffinger at gmx.de
Fri Aug 29 18:33:01 CEST 2014
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger at gmx.de>
---
libavcodec/fft_template.c | 11 ++++-------
1 file changed, 4 insertions(+), 7 deletions(-)
diff --git a/libavcodec/fft_template.c b/libavcodec/fft_template.c
index 3abf948..23ea453 100644
--- a/libavcodec/fft_template.c
+++ b/libavcodec/fft_template.c
@@ -228,8 +228,6 @@ static void fft_calc_c(FFTContext *s, FFTComplex *z) {
int n4, n2, n34;
FFTSample tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, tmp7, tmp8;
FFTComplex *tmpz;
- FFTSample w_re, w_im;
- const FFTSample *w_re_ptr, *w_im_ptr;
const int fft_size = (1 << s->nbits);
int64_t accu;
@@ -322,6 +320,8 @@ static void fft_calc_c(FFTContext *s, FFTComplex *z) {
num_transforms = (num_transforms >> 1) | 1;
for (n=0; n<num_transforms; n++){
+ const FFTSample *w_re_ptr = ff_w_tab_sr + step;
+ const FFTSample *w_im_ptr = ff_w_tab_sr + MAX_FFT_SIZE/(4*16) - step;
offset = ff_fft_offsets_lut[n] << nbits;
tmpz = z + offset;
@@ -339,12 +339,9 @@ static void fft_calc_c(FFTContext *s, FFTComplex *z) {
tmpz[n34].im = tmpz[n4].im + tmp1;
tmpz[ n4].im = tmpz[n4].im - tmp1;
- w_re_ptr = ff_w_tab_sr + step;
- w_im_ptr = ff_w_tab_sr + MAX_FFT_SIZE/(4*16) - step;
-
for (i=1; i<n4; i++){
- w_re = w_re_ptr[0];
- w_im = w_im_ptr[0];
+ FFTSample w_re = w_re_ptr[0];
+ FFTSample w_im = w_im_ptr[0];
accu = (int64_t)w_re*tmpz[ n2+i].re;
accu += (int64_t)w_im*tmpz[ n2+i].im;
tmp1 = (int32_t)((accu + 0x40000000) >> 31);
--
2.1.0
More information about the ffmpeg-devel
mailing list