Add PESQ precompiled tool for audio quality testing BUG=webrtc:7229 Review-Url: https://codereview.webrtc.org/2715933003 Cr-Commit-Position: refs/heads/master@{#17055}
diff --git a/.gitignore b/.gitignore index 5cf7c6b..42cd042 100644 --- a/.gitignore +++ b/.gitignore
@@ -48,6 +48,9 @@ /tools /tools-webrtc/android/profiling/flamegraph /tools-webrtc/android/profiling/simpleperf +/tools-webrtc/audio_quality/linux/pesq +/tools-webrtc/audio_quality/mac/pesq +/tools-webrtc/audio_quality/win/*.exe /tools-webrtc/video_quality_toolchain/linux/ffmpeg /tools-webrtc/video_quality_toolchain/linux/zxing /tools-webrtc/video_quality_toolchain/mac/ffmpeg
diff --git a/tools-webrtc/audio_quality/README b/tools-webrtc/audio_quality/README new file mode 100644 index 0000000..66bdd8a --- /dev/null +++ b/tools-webrtc/audio_quality/README
@@ -0,0 +1,4 @@ +Use ../download_tools.py to download the files in this directory. Note that +they are downloaded from gs://chrome-webrtc-resources, which is a +google-internal bucket. If you're a non-Googler you'll have to download and +compile these tools manually in order to use them.
diff --git a/tools-webrtc/audio_quality/linux/pesq.sha1 b/tools-webrtc/audio_quality/linux/pesq.sha1 new file mode 100644 index 0000000..24f8a05 --- /dev/null +++ b/tools-webrtc/audio_quality/linux/pesq.sha1
@@ -0,0 +1 @@ +bfbf5fa8fd9d6be5b4aa3f50caedbd786b0a034b \ No newline at end of file
diff --git a/tools-webrtc/audio_quality/mac/pesq.sha1 b/tools-webrtc/audio_quality/mac/pesq.sha1 new file mode 100644 index 0000000..08b19a6 --- /dev/null +++ b/tools-webrtc/audio_quality/mac/pesq.sha1
@@ -0,0 +1 @@ +9b9349dd7ef47709ca497cd66d9c453ab2b5c732 \ No newline at end of file
diff --git a/tools-webrtc/audio_quality/win/pesq.exe.sha1 b/tools-webrtc/audio_quality/win/pesq.exe.sha1 new file mode 100644 index 0000000..23c9869 --- /dev/null +++ b/tools-webrtc/audio_quality/win/pesq.exe.sha1
@@ -0,0 +1 @@ +67726dd1d186b142a95914efc93233b8a9e583fe \ No newline at end of file
diff --git a/tools-webrtc/download_tools.py b/tools-webrtc/download_tools.py new file mode 100755 index 0000000..dc64ebf --- /dev/null +++ b/tools-webrtc/download_tools.py
@@ -0,0 +1,44 @@ +#!/usr/bin/env python +# Copyright (c) 2016 The WebRTC project authors. All Rights Reserved. +# +# Use of this source code is governed by a BSD-style license +# that can be found in the LICENSE file in the root of the source +# tree. An additional intellectual property rights grant can be found +# in the file PATENTS. All contributing project authors may +# be found in the AUTHORS file in the root of the source tree. + +"""Downloads precompiled tools. + +These are checked into the repository as SHA-1 hashes (see *.sha1 files in +subdirectories). Note that chrome-webrtc-resources is a Google-internal bucket, +so please download and compile these tools manually if this script fails. +""" + +import os +import subprocess +import sys + + +SCRIPT_DIR = os.path.dirname(os.path.abspath(__file__)) + + +def main(directories): + if not directories: + directories = [SCRIPT_DIR] + + for path in directories: + cmd = [ + 'download_from_google_storage', + '--directory', + '--num_threads=10', + '--bucket', 'chrome-webrtc-resources', + '--auto_platform', + '--recursive', + path, + ] + print 'Downloading precompiled tools...' + subprocess.check_call(cmd) + + +if __name__ == '__main__': + sys.exit(main(sys.argv[1:]))
diff --git a/tools-webrtc/video_quality_toolchain/README b/tools-webrtc/video_quality_toolchain/README index 9e8ace7..66bdd8a 100644 --- a/tools-webrtc/video_quality_toolchain/README +++ b/tools-webrtc/video_quality_toolchain/README
@@ -1,3 +1,4 @@ -The files in this directory are downloaded from gs://chrome-webrtc-resources, -which is a google-internal bucket. If you're a non-Googler you'll have to download -and compile these tools manually in order to use them. +Use ../download_tools.py to download the files in this directory. Note that +they are downloaded from gs://chrome-webrtc-resources, which is a +google-internal bucket. If you're a non-Googler you'll have to download and +compile these tools manually in order to use them.
diff --git a/tools-webrtc/video_quality_toolchain/download.py b/tools-webrtc/video_quality_toolchain/download.py deleted file mode 100755 index 24c243a..0000000 --- a/tools-webrtc/video_quality_toolchain/download.py +++ /dev/null
@@ -1,35 +0,0 @@ -#!/usr/bin/env python -# Copyright (c) 2016 The WebRTC project authors. All Rights Reserved. -# -# Use of this source code is governed by a BSD-style license -# that can be found in the LICENSE file in the root of the source -# tree. An additional intellectual property rights grant can be found -# in the file PATENTS. All contributing project authors may -# be found in the AUTHORS file in the root of the source tree. - -"""Downloads precompiled tools needed for video quality analysis.""" - -import os -import subprocess -import sys - - -SCRIPT_DIR = os.path.dirname(os.path.abspath(__file__)) - - -def main(): - cmd = [ - 'download_from_google_storage', - '--directory', - '--num_threads=10', - '--bucket', 'chrome-webrtc-resources', - '--auto_platform', - '--recursive', - SCRIPT_DIR, - ] - print 'Downloading video quality analysis tools...' - subprocess.check_call(cmd) - - -if __name__ == '__main__': - sys.exit(main())
diff --git a/webrtc/examples/androidtests/video_quality_loopback_test.py b/webrtc/examples/androidtests/video_quality_loopback_test.py index dd11275..a6115f3 100755 --- a/webrtc/examples/androidtests/video_quality_loopback_test.py +++ b/webrtc/examples/androidtests/video_quality_loopback_test.py
@@ -73,12 +73,12 @@ _RunCommand(['gn', 'gen', build_dir_x86]) _RunCommand(['ninja', '-C', build_dir_x86, 'frame_analyzer']) - toolchain_dir = os.path.join(SRC_DIR, 'tools-webrtc', - 'video_quality_toolchain') + tools_dir = os.path.join(SRC_DIR, 'tools-webrtc') + toolchain_dir = os.path.join(tools_dir, 'video_quality_toolchain') # Download ffmpeg and zxing. - download_script = os.path.join(toolchain_dir, 'download.py') - _RunCommand([sys.executable, download_script]) + download_script = os.path.join(tools_dir, 'download_tools.py') + _RunCommand([sys.executable, download_script, toolchain_dir]) # Run the Espresso code. test_script = os.path.join(build_dir_android,