diff options
author | Jovan Zelincevic <jovan.zelincevic@imgtec.com> | 2016-03-29 09:43:35 +0200 |
---|---|---|
committer | Michael Niedermayer <michael@niedermayer.cc> | 2016-03-29 17:06:16 +0200 |
commit | b73c27151eda795932a0169274ed6c2c8bcde062 (patch) | |
tree | e6c6b688298acb11e7091aa637de14c5447d5121 | |
parent | 7888ae8266d8f721cc443fe3aa627d350ca01204 (diff) | |
download | ffmpeg-b73c27151eda795932a0169274ed6c2c8bcde062.tar.gz |
avcodec/mips: Optimization synced to the newest code base.
FFT expanded to 2^17.
Signed-off-by: Jovan Zelincevic <jovan.zelincevic@imgtec.com>
Reviewed-by: Nedeljko Babic <Nedeljko.Babic@imgtec.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
-rw-r--r-- | libavcodec/mips/fft_mips.c | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/libavcodec/mips/fft_mips.c b/libavcodec/mips/fft_mips.c index 529e0764e3..03dcbad4d8 100644 --- a/libavcodec/mips/fft_mips.c +++ b/libavcodec/mips/fft_mips.c @@ -72,7 +72,7 @@ static void ff_fft_calc_mips(FFTContext *s, FFTComplex *z) FFTComplex * tmpz_n2, * tmpz_n34, * tmpz_n4; FFTComplex * tmpz_n2_i, * tmpz_n34_i, * tmpz_n4_i, * tmpz_i; - num_transforms = (0x2aab >> (16 - s->nbits)) | 1; + num_transforms = (21845 >> (17 - s->nbits)) | 1; for (n=0; n<num_transforms; n++) { offset = ff_fft_offsets_lut[n] << 2; @@ -251,8 +251,8 @@ static void ff_fft_calc_mips(FFTContext *s, FFTComplex *z) : "memory" ); - w_re_ptr = (float*)(ff_cos_65536 + step); - w_im_ptr = (float*)(ff_cos_65536 + MAX_FFT_SIZE/4 - step); + w_re_ptr = (float*)(ff_cos_131072 + step); + w_im_ptr = (float*)(ff_cos_131072 + MAX_FFT_SIZE/4 - step); for (i=1; i<n4; i++) { w_re = w_re_ptr[0]; @@ -502,11 +502,8 @@ av_cold void ff_fft_init_mips(FFTContext *s) { int n=0; - if (s->nbits > 16) - return; - ff_fft_lut_init(ff_fft_offsets_lut, 0, 1 << 17, &n); - ff_init_ff_cos_tabs(16); + ff_init_ff_cos_tabs(17); #if HAVE_INLINE_ASM #if !HAVE_MIPS32R6 && !HAVE_MIPS64R6 |