summaryrefslogtreecommitdiff
path: root/apps/codecs/libfaad/cfft.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/codecs/libfaad/cfft.c')
-rw-r--r--apps/codecs/libfaad/cfft.c12
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));