diff options
Diffstat (limited to 'apps/codecs/libfaad/cfft.c')
-rw-r--r-- | apps/codecs/libfaad/cfft.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/apps/codecs/libfaad/cfft.c b/apps/codecs/libfaad/cfft.c index 8eec8aa85c..eecfe4bc69 100644 --- a/apps/codecs/libfaad/cfft.c +++ b/apps/codecs/libfaad/cfft.c | |||
@@ -960,7 +960,17 @@ cfft_info *cffti(uint16_t n) | |||
960 | cfft_info *cfft = (cfft_info*)faad_malloc(sizeof(cfft_info)); | 960 | cfft_info *cfft = (cfft_info*)faad_malloc(sizeof(cfft_info)); |
961 | 961 | ||
962 | cfft->n = n; | 962 | cfft->n = n; |
963 | cfft->work = (complex_t*)faad_malloc(n*sizeof(complex_t)); | 963 | |
964 | if (n <= 512) | ||
965 | { | ||
966 | static complex_t work_buf[512] IBSS_ATTR; | ||
967 | |||
968 | cfft->work = work_buf; | ||
969 | } | ||
970 | else | ||
971 | { | ||
972 | cfft->work = (complex_t*)faad_malloc(n*sizeof(complex_t)); | ||
973 | } | ||
964 | 974 | ||
965 | #ifndef FIXED_POINT | 975 | #ifndef FIXED_POINT |
966 | cfft->tab = (complex_t*)faad_malloc(n*sizeof(complex_t)); | 976 | cfft->tab = (complex_t*)faad_malloc(n*sizeof(complex_t)); |