diff options
author | rtoy@google.com <rtoy@google.com> | 2014-10-01 18:27:39 +0000 |
---|---|---|
committer | rtoy@google.com <rtoy@google.com> | 2014-10-01 18:27:39 +0000 |
commit | 7034c09c2817faa2b542ddd1404a052b73c83504 (patch) | |
tree | d59185aea89839ff4ba008b5d6bdeadb65177305 | |
parent | 79e64bc9243e5ff11822434cf39b9fabefff3bfb (diff) | |
download | openmax_dl-7034c09c2817faa2b542ddd1404a052b73c83504.tar.gz |
Fix build errors in test programs.
MaxSignalType and memcpy were undeclared in some places.
abs() should be used instead of fabs() on integers.
Add support for building on x64, and link with -lm to get
the trig functions.
With these changes, the test programs can be built for native Linux.
BUG=
R=andrew@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/22919004
git-svn-id: http://webrtc.googlecode.com/svn/deps/third_party/openmax@7360 4adac7df-926f-26a2-2b94-8c16560cd09d
-rw-r--r-- | dl/sp/src/test/test_fft.gyp | 10 | ||||
-rw-r--r-- | dl/sp/src/test/test_fft_time.c | 49 | ||||
-rw-r--r-- | dl/sp/src/test/test_util_fft.c | 1 |
3 files changed, 34 insertions, 26 deletions
diff --git a/dl/sp/src/test/test_fft.gyp b/dl/sp/src/test/test_fft.gyp index c1be018..d9764cc 100644 --- a/dl/sp/src/test/test_fft.gyp +++ b/dl/sp/src/test/test_fft.gyp @@ -167,13 +167,16 @@ 'test_float_rfft.c', 'support/float_rfft_thresholds.h', ], + 'libraries': [ + '-lm', + ], 'conditions': [ ['target_arch == "arm" or target_arch == "arm64"', { 'sources': [ 'support/float_rfft_neon.c', ], }], - ['target_arch == "ia32"', { + ['target_arch == "ia32" or target_arch == "x64"', { 'sources': [ 'support/float_rfft_x86.c', ], @@ -192,8 +195,11 @@ 'sources': [ 'test_fft_time.c', ], + 'libraries': [ + '-lm', + ], 'conditions': [ - ['target_arch == "ia32" or target_arch == "arm64" or target_arch == "mipsel"', { + ['target_arch == "ia32" or target_arch == "x64" or target_arch == "arm64" or target_arch == "mipsel"', { 'defines': [ # Timing test only for float FFTs on x86 and arm64 and MIPSEL. 'FLOAT_ONLY', diff --git a/dl/sp/src/test/test_fft_time.c b/dl/sp/src/test/test_fft_time.c index 6154228..beaa895 100644 --- a/dl/sp/src/test/test_fft_time.c +++ b/dl/sp/src/test/test_fft_time.c @@ -11,6 +11,7 @@ #include <math.h> #include <stdio.h> #include <stdlib.h> +#include <string.h> #include <sys/resource.h> #include <sys/time.h> #include <unistd.h> @@ -609,11 +610,11 @@ void TimeOneSC32FFT(int count, int fft_log_size, float signal_value, GetUserTime(&start_time); for (k = 0; k < count; ++k) { for (n = 0; n < fft_size; ++n) { - if (fabs(x[n].Re) > factor) { - factor = fabs(x[n].Re); + if (abs(x[n].Re) > factor) { + factor = abs(x[n].Re); } - if (fabs(x[n].Im) > factor) { - factor = fabs(x[n].Im); + if (abs(x[n].Im) > factor) { + factor = abs(x[n].Im); } } @@ -653,11 +654,11 @@ void TimeOneSC32FFT(int count, int fft_log_size, float signal_value, GetUserTime(&start_time); for (k = 0; k < count; ++k) { for (n = 0; n < fft_size; ++n) { - if (fabs(x[n].Re) > factor) { - factor = fabs(x[n].Re); + if (abs(x[n].Re) > factor) { + factor = abs(x[n].Re); } - if (fabs(x[n].Im) > factor) { - factor = fabs(x[n].Im); + if (abs(x[n].Im) > factor) { + factor = abs(x[n].Im); } } factor = ((1 << 18) - 1) / factor; @@ -791,11 +792,11 @@ void TimeOneSC16FFT(int count, int fft_log_size, float signal_value, GetUserTime(&start_time); for (k = 0; k < count; ++k) { for (n = 0; n < fft_size; ++n) { - if (fabs(x[n].Re) > factor) { - factor = fabs(x[n].Re); + if (abs(x[n].Re) > factor) { + factor = abs(x[n].Re); } - if (fabs(x[n].Im) > factor) { - factor = fabs(x[n].Im); + if (abs(x[n].Im) > factor) { + factor = abs(x[n].Im); } } @@ -835,11 +836,11 @@ void TimeOneSC16FFT(int count, int fft_log_size, float signal_value, GetUserTime(&start_time); for (k = 0; k < count; ++k) { for (n = 0; n < fft_size; ++n) { - if (fabs(x[n].Re) > factor) { - factor = fabs(x[n].Re); + if (abs(x[n].Re) > factor) { + factor = abs(x[n].Re); } - if (fabs(x[n].Im) > factor) { - factor = fabs(x[n].Im); + if (abs(x[n].Im) > factor) { + factor = abs(x[n].Im); } } factor = ((1 << 15) - 1) / factor; @@ -1013,8 +1014,8 @@ void TimeOneRFFT16(int count, int fft_log_size, float signal_value, * Spend some time computing the max of the signal, and then scaling it. */ for (n = 0; n < fft_size; ++n) { - if (fabs(xr[n]) > factor) { - factor = fabs(xr[n]); + if (abs(xr[n]) > factor) { + factor = abs(xr[n]); } } @@ -1080,8 +1081,8 @@ void TimeOneRFFT16(int count, int fft_log_size, float signal_value, * Spend some time scaling the FFT signal to fixed point. */ for (n = 0; n < fft_size; ++n) { - if (fabs(yrTrue[n]) > factor) { - factor = fabs(yrTrue[n]); + if (abs(yrTrue[n]) > factor) { + factor = abs(yrTrue[n]); } } for (n = 0; n < fft_size; ++n) { @@ -1282,8 +1283,8 @@ void TimeOneRFFT32(int count, int fft_log_size, float signal_value, * Spend some time computing the max of the signal, and then scaling it. */ for (n = 0; n < fft_size; ++n) { - if (fabs(xr[n]) > factor) { - factor = fabs(xr[n]); + if (abs(xr[n]) > factor) { + factor = abs(xr[n]); } } @@ -1331,8 +1332,8 @@ void TimeOneRFFT32(int count, int fft_log_size, float signal_value, * Spend some time scaling the FFT signal to fixed point. */ for (n = 0; n < fft_size + 2; ++n) { - if (fabs(yrTrue[n]) > factor) { - factor = fabs(yrTrue[n]); + if (abs(yrTrue[n]) > factor) { + factor = abs(yrTrue[n]); } } for (n = 0; n < fft_size + 2; ++n) { diff --git a/dl/sp/src/test/test_util_fft.c b/dl/sp/src/test/test_util_fft.c index 3deb041..025ee8d 100644 --- a/dl/sp/src/test/test_util_fft.c +++ b/dl/sp/src/test/test_util_fft.c @@ -10,6 +10,7 @@ #include "dl/sp/src/test/test_util.h" #include "dl/sp/src/test/compare.h" +#include "dl/sp/src/test/gensig.h" /* * Test results from running either forward or inverse FFT tests |