Commit ebbf54da authored by wtc's avatar wtc Committed by Commit bot

Roll opus to opus-HEAD-66611f1.

The third_party/opus/src CL is https://codereview.chromium.org/882843002.

Support MIPS optimizations in opus.

R=henrika@chromium.org,sergeyu@chromium.org
BUG=452984

Review URL: https://codereview.chromium.org/865853005

Cr-Commit-Position: refs/heads/master@{#313646}
parent b3ddfb4a
...@@ -274,7 +274,7 @@ deps = { ...@@ -274,7 +274,7 @@ deps = {
Var('chromium_git') + '/external/pywebsocket/src.git' + '@' + 'cb349e87ddb30ff8d1fa1a89be39cec901f4a29c', Var('chromium_git') + '/external/pywebsocket/src.git' + '@' + 'cb349e87ddb30ff8d1fa1a89be39cec901f4a29c',
'src/third_party/opus/src': 'src/third_party/opus/src':
Var('chromium_git') + '/chromium/deps/opus.git' + '@' + 'cae696156f1e60006e39821e79a1811ae1933c69', Var('chromium_git') + '/chromium/deps/opus.git' + '@' + '7245f1704acd521caa51be952df0fc9d7107bdff',
'src/media/cdm/ppapi/api': 'src/media/cdm/ppapi/api':
Var('chromium_git') + '/chromium/cdm.git' + '@' + '7b7c6cc620e13c8057b4b6bff19e5955feb2c8fa', # from svn revision 293617 Var('chromium_git') + '/chromium/cdm.git' + '@' + '7b7c6cc620e13c8057b4b6bff19e5955feb2c8fa', # from svn revision 293617
......
...@@ -3,13 +3,20 @@ ...@@ -3,13 +3,20 @@
# found in the LICENSE file. # found in the LICENSE file.
import("//build/config/arm.gni") import("//build/config/arm.gni")
import("//build/config/mips.gni")
# If fixed point implementation shall be used (otherwise float). # If fixed point implementation shall be used (otherwise float).
use_opus_fixed_point = cpu_arch == "arm" || cpu_arch == "arm64" # TODO(wtc): change "mipselx" to "mipsel" in this file when the compilation
# errors in the MIPS optimizations are fixed.
use_opus_fixed_point =
cpu_arch == "arm" || cpu_arch == "arm64" || cpu_arch == "mipselx"
# If ARM optimizations shall be used to accelerate performance. # If ARM optimizations shall be used to accelerate performance.
use_opus_arm_optimization = cpu_arch == "arm" use_opus_arm_optimization = cpu_arch == "arm"
# If MIPS optimizations shall be used to accelerate performance.
use_opus_mips_optimization = cpu_arch == "mipselx"
# If OPUS Run Time CPU Detections (RTCD) shall be used. # If OPUS Run Time CPU Detections (RTCD) shall be used.
# Based on the conditions in celt/arm/armcpu.c: # Based on the conditions in celt/arm/armcpu.c:
# defined(_MSC_VER) || defined(__linux__). # defined(_MSC_VER) || defined(__linux__).
...@@ -135,6 +142,29 @@ source_set("opus") { ...@@ -135,6 +142,29 @@ source_set("opus") {
] ]
} }
} }
if (use_opus_mips_optimization) {
sources += [
"src/celt/mips/celt_mipsr1.h",
"src/celt/mips/fixed_generic_mipsr1.h",
"src/celt/mips/kiss_fft_mipsr1.h",
"src/celt/mips/mdct_mipsr1.h",
"src/celt/mips/pitch_mipsr1.h",
"src/celt/mips/vq_mipsr1.c",
"src/celt/mips/vq_mipsr1.h",
"src/silk/fixed/mips/noise_shape_analysis_FIX_mipsr1.h",
"src/silk/fixed/mips/prefilter_FIX_mipsr1.h",
"src/silk/fixed/mips/warped_autocorrelation_FIX_mipsr1.h",
"src/silk/mips/NSQ_del_dec_mipsr1.h",
"src/silk/mips/macros_mipsr1.h",
"src/silk/mips/sigproc_fix_mipsr1.h",
]
defines += [
"MIPSr1_ASM",
"USE_ALLOCA",
]
}
} }
executable("opus_compare") { executable("opus_compare") {
......
Name: opus Name: opus
URL: http://git.xiph.org/?p=opus.git URL: http://git.xiph.org/?p=opus.git
Version: 1.1.0 Version: 1.1.1-beta
License: BSD License: BSD
License File: src/COPYING License File: src/COPYING
Security Critical: yes Security Critical: yes
...@@ -12,4 +12,4 @@ This library is used by Chrome Remote Desktop and WebRTC for audio stream ...@@ -12,4 +12,4 @@ This library is used by Chrome Remote Desktop and WebRTC for audio stream
encoding/decoding. encoding/decoding.
Local changes: Local changes:
- merged http://git.xiph.org/?p=opus.git;a=commitdiff;h=e70faf98b0465e4f278c72ce2d7b4ad10221a2f2 - merged http://git.xiph.org/?p=opus.git;a=commitdiff;h=66611f136733ca7f52c26f1f1ab11d506cc6e752
...@@ -5,7 +5,9 @@ ...@@ -5,7 +5,9 @@
{ {
'variables': { 'variables': {
'conditions': [ 'conditions': [
['target_arch=="arm" or target_arch=="arm64"', { # TODO(wtc): change "mipselx" to "mipsel" in this file when the
# compilation errors in the MIPS optimizations are fixed.
['target_arch=="arm" or target_arch=="arm64" or target_arch=="mipselx"', {
'use_opus_fixed_point%': 1, 'use_opus_fixed_point%': 1,
}, { }, {
'use_opus_fixed_point%': 0, 'use_opus_fixed_point%': 0,
...@@ -15,6 +17,11 @@ ...@@ -15,6 +17,11 @@
}, { }, {
'use_opus_arm_optimization%': 0, 'use_opus_arm_optimization%': 0,
}], }],
['target_arch=="mipselx"', {
'use_opus_mips_optimization%': 1,
}, {
'use_opus_mips_optimization%': 0,
}],
['target_arch=="arm" and (OS=="win" or OS=="android" or OS=="linux")', { ['target_arch=="arm" and (OS=="win" or OS=="android" or OS=="linux")', {
# Based on the conditions in celt/arm/armcpu.c: # Based on the conditions in celt/arm/armcpu.c:
# defined(_MSC_VER) || defined(__linux__). # defined(_MSC_VER) || defined(__linux__).
...@@ -124,6 +131,16 @@ ...@@ -124,6 +131,16 @@
}], }],
], ],
}], }],
['use_opus_mips_optimization==1', {
'defines': [
'MIPSr1_ASM',
'USE_ALLOCA',
],
'includes': [
'opus_srcs_mips.gypi',
],
}],
], ],
}], }],
], ],
......
# Copyright 2015 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
{
'sources': [
'src/celt/mips/celt_mipsr1.h',
'src/celt/mips/fixed_generic_mipsr1.h',
'src/celt/mips/kiss_fft_mipsr1.h',
'src/celt/mips/mdct_mipsr1.h',
'src/celt/mips/pitch_mipsr1.h',
'src/celt/mips/vq_mipsr1.c',
'src/celt/mips/vq_mipsr1.h',
'src/silk/fixed/mips/noise_shape_analysis_FIX_mipsr1.h',
'src/silk/fixed/mips/prefilter_FIX_mipsr1.h',
'src/silk/fixed/mips/warped_autocorrelation_FIX_mipsr1.h',
'src/silk/mips/NSQ_del_dec_mipsr1.h',
'src/silk/mips/macros_mipsr1.h',
'src/silk/mips/sigproc_fix_mipsr1.h',
],
}
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment