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);
}