From 3b2fb203fd11eeccc9039c3381ea443848cc6198 Mon Sep 17 00:00:00 2001 From: oprypin Date: Mon, 6 Mar 2017 02:23:34 -0800 Subject: [PATCH] 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} --- .gitignore | 3 ++ tools-webrtc/audio_quality/README | 4 ++ tools-webrtc/audio_quality/linux/pesq.sha1 | 1 + tools-webrtc/audio_quality/mac/pesq.sha1 | 1 + tools-webrtc/audio_quality/win/pesq.exe.sha1 | 1 + tools-webrtc/download_tools.py | 44 +++++++++++++++++++ tools-webrtc/video_quality_toolchain/README | 7 +-- .../video_quality_toolchain/download.py | 35 --------------- .../video_quality_loopback_test.py | 8 ++-- 9 files changed, 62 insertions(+), 42 deletions(-) create mode 100644 tools-webrtc/audio_quality/README create mode 100644 tools-webrtc/audio_quality/linux/pesq.sha1 create mode 100644 tools-webrtc/audio_quality/mac/pesq.sha1 create mode 100644 tools-webrtc/audio_quality/win/pesq.exe.sha1 create mode 100755 tools-webrtc/download_tools.py delete mode 100755 tools-webrtc/video_quality_toolchain/download.py diff --git a/.gitignore b/.gitignore index 5cf7c6ba57..42cd0429e5 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 0000000000..66bdd8a7e2 --- /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 0000000000..24f8a05f6b --- /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 0000000000..08b19a6f7d --- /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 0000000000..23c98696d8 --- /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 0000000000..dc64ebf8b8 --- /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 9e8ace7d85..66bdd8a7e2 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 24c243af15..0000000000 --- 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 dd112750b6..a6115f31e3 100755 --- a/webrtc/examples/androidtests/video_quality_loopback_test.py +++ b/webrtc/examples/androidtests/video_quality_loopback_test.py @@ -73,12 +73,12 @@ def main(): _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,