Added test code for ARM SC16 FFT in OpenMax, and fixed a compiler warning. Verified with SNR test code. R=rtoy@google.com Review URL: https://webrtc-codereview.appspot.com/1808005 git-svn-id: http://webrtc.googlecode.com/svn/deps/third_party/openmax@4366 4adac7df-926f-26a2-2b94-8c16560cd09d
diff --git a/dl/sp/src/test/test_fft_time.c b/dl/sp/src/test/test_fft_time.c index 05f51d0..c756ce5 100644 --- a/dl/sp/src/test/test_fft_time.c +++ b/dl/sp/src/test/test_fft_time.c
@@ -67,17 +67,13 @@ " -v level Verbose output level (default = 1)\n" " -F Skip forward FFT tests\n" " -I Skip inverse FFT tests\n" - " -C Include float-to-fixed and fixed-to-float cost for" - " real\n" - " 16-bit FFT (forward and inverse)\n" - " -c count Number of FFTs to compute for timing. This is a" - " lower\n" - " lower limit; shorter FFTs will do more FFTs such" - " that the\n" - " elapsed time is very roughly constant, if -A is" - " not given.\n" - " -A Don't adapt the count given by -c; use specified" - " value\n" + " -C Include float-to-fixed and fixed-to-float cost for\n" + " fixed-point FFTs.\n" + " -c count Number of FFTs to compute for timing. This is a\n" + " lower limit; shorter FFTs will do more FFTs such\n" + " that the elapsed time is very roughly constant, if\n" + " -A is not given.\n" + " -A Don't adapt the count given by -c; use specified value\n" " -m min Mininum FFT order to test\n" " -M max Maximum FFT order to test\n" " -T Run just one FFT timing test\n" @@ -106,6 +102,7 @@ exit(0); } +/* TODO(kma/ajm/rtoy): use strings instead of numbers for fft_type. */ void main(int argc, char* argv[]) { int fft_log_size = 4; float signal_value = 32767; @@ -740,7 +737,7 @@ } } - factor = ((1 << 18) - 1) / factor; + factor = ((1 << 15) - 1) / factor; for (n = 0; n < fft_size; ++n) { temp16a[n].Re = factor * x[n].Re; temp16a[n].Im = factor * x[n].Im; @@ -783,7 +780,7 @@ factor = fabs(x[n].Im); } } - factor = ((1 << 18) - 1) / factor; + factor = ((1 << 15) - 1) / factor; for (n = 0; n < fft_size; ++n) { temp16a[n].Re = factor * x[n].Re; temp16a[n].Im = factor * x[n].Im; @@ -829,7 +826,6 @@ printf("SC16 FFT\n"); for (k = min_fft_order; k <= max_order; ++k) { - //for (k = 7; k <= 8; ++k) { int testCount = ComputeCount(count, k); TimeOneSC16FFT(testCount, k, signal_value, signal_type); }