diff --git a/webrtc/modules/audio_coding/codecs/isac/fix/test/kenny.c b/webrtc/modules/audio_coding/codecs/isac/fix/test/kenny.cc similarity index 97% rename from webrtc/modules/audio_coding/codecs/isac/fix/test/kenny.c rename to webrtc/modules/audio_coding/codecs/isac/fix/test/kenny.cc index b7ca69443a..d95dea9822 100644 --- a/webrtc/modules/audio_coding/codecs/isac/fix/test/kenny.c +++ b/webrtc/modules/audio_coding/codecs/isac/fix/test/kenny.cc @@ -8,16 +8,17 @@ * be found in the AUTHORS file in the root of the source tree. */ -/* kenny.c - Main function for the iSAC coder */ - #include #include #include #include #include -#include "isacfix.h" +#include "webrtc/modules/audio_coding/codecs/isac/fix/interface/isacfix.h" +#include "webrtc/test/testsupport/perf_test.h" +// TODO(kma): Clean up the code and change benchmarking the whole codec to +// separate encoder and decoder. /* Defines */ #define SEED_FILE "randseed.txt" /* Used when running decoder on garbage data */ @@ -170,7 +171,7 @@ int main(int argc, char* argv[]) " in adaptive mode.\n\n"); printf("[-FL num] :Set (initial) frame length in msec. Valid length" " are 30 and 60 msec.\n\n"); - printf("[-FIXED_FL] :Frame length will be fixed to initial value.\n\n"); + printf("[-FIXED_FL] :Frame length to be fixed to initial value.\n\n"); printf("[-MAX num] :Set the limit for the payload size of iSAC" " in bytes. \n"); printf(" Minimum 100, maximum 400.\n\n"); @@ -374,7 +375,8 @@ int main(int argc, char* argv[]) sscanf(argv[CodingMode+1], "%s", bottleneck_file); f_bn = fopen(bottleneck_file, "rb"); if (f_bn == NULL) { - printf("No value provided for BottleNeck and cannot read file %s\n", bottleneck_file); + printf("No value provided for BottleNeck and cannot read file %s\n", + bottleneck_file); exit(0); } else { int aux_var; @@ -565,8 +567,8 @@ int main(int argc, char* argv[]) shortdata, (WebRtc_Word16*)streamdata); - /* If packet is ready, and CE testing, call the different API functions - from the internal API. */ + /* If packet is ready, and CE testing, call the different API + functions from the internal API. */ if (stream_len>0) { if (testCE == 1) { err = WebRtcIsacfix_ReadBwIndex((WebRtc_Word16*)streamdata, &bwe); @@ -808,6 +810,10 @@ int main(int argc, char* argv[]) runtime, (100*runtime/length_file)); printf("\n\n_______________________________________________\n"); + // Record the results with Perf test tools. + webrtc::test::PrintResult("time_per_10ms_frame", "", "isac", + (runtime * 10000) / length_file, "us", false); + fclose(inp); fclose(outp); fclose(outbits); diff --git a/webrtc/modules/audio_coding/codecs/isac/isacfix_test.gypi b/webrtc/modules/audio_coding/codecs/isac/isacfix_test.gypi index 04bdecdcf1..f82c688e90 100644 --- a/webrtc/modules/audio_coding/codecs/isac/isacfix_test.gypi +++ b/webrtc/modules/audio_coding/codecs/isac/isacfix_test.gypi @@ -14,13 +14,14 @@ 'type': 'executable', 'dependencies': [ 'iSACFix', + '<(webrtc_root)/test/test.gyp:test_support', ], 'include_dirs': [ './fix/test', './fix/interface', ], 'sources': [ - './fix/test/kenny.c', + './fix/test/kenny.cc', ], }, { diff --git a/webrtc/modules/audio_processing/audio_processing_tests.gypi b/webrtc/modules/audio_processing/audio_processing_tests.gypi index 0d5bfacb06..323a457a3c 100644 --- a/webrtc/modules/audio_processing/audio_processing_tests.gypi +++ b/webrtc/modules/audio_processing/audio_processing_tests.gypi @@ -58,8 +58,9 @@ 'dependencies': [ 'audio_processing', 'audioproc_debug_proto', - '<(webrtc_root)/system_wrappers/source/system_wrappers.gyp:system_wrappers', '<(DEPTH)/testing/gtest.gyp:gtest', + '<(webrtc_root)/system_wrappers/source/system_wrappers.gyp:system_wrappers', + '<(webrtc_root)/test/test.gyp:test_support', ], 'sources': [ 'test/process_test.cc', ], }, diff --git a/webrtc/modules/audio_processing/test/process_test.cc b/webrtc/modules/audio_processing/test/process_test.cc index e68d1e9128..70c4b1531e 100644 --- a/webrtc/modules/audio_processing/test/process_test.cc +++ b/webrtc/modules/audio_processing/test/process_test.cc @@ -19,11 +19,12 @@ #include "gtest/gtest.h" -#include "audio_processing.h" -#include "cpu_features_wrapper.h" -#include "module_common_types.h" -#include "scoped_ptr.h" -#include "tick_util.h" +#include "webrtc/modules/audio_processing/include/audio_processing.h" +#include "webrtc/modules/interface/module_common_types.h" +#include "webrtc/system_wrappers/interface/cpu_features_wrapper.h" +#include "webrtc/system_wrappers/interface/scoped_ptr.h" +#include "webrtc/system_wrappers/interface/tick_util.h" +#include "webrtc/test/testsupport/perf_test.h" #ifdef WEBRTC_ANDROID_PLATFORM_BUILD #include "external/webrtc/webrtc/modules/audio_processing/debug.pb.h" #else @@ -1032,6 +1033,9 @@ void void_main(int argc, char* argv[]) { (exec_time * 1.0) / primary_count, (max_time_us + max_time_reverse_us) / 1000.0, (min_time_us + min_time_reverse_us) / 1000.0); + // Record the results with Perf test tools. + webrtc::test::PrintResult("time_per_10ms_frame", "", "audioproc", + (exec_time * 1000) / primary_count, "us", false); } else { printf("Warning: no capture frames\n"); }