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 = {
Var('chromium_git') + '/external/pywebsocket/src.git' + '@' + 'cb349e87ddb30ff8d1fa1a89be39cec901f4a29c',
'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':
Var('chromium_git') + '/chromium/cdm.git' + '@' + '7b7c6cc620e13c8057b4b6bff19e5955feb2c8fa', # from svn revision 293617
......
......@@ -3,13 +3,20 @@
# found in the LICENSE file.
import("//build/config/arm.gni")
import("//build/config/mips.gni")
# 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.
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.
# Based on the conditions in celt/arm/armcpu.c:
# defined(_MSC_VER) || defined(__linux__).
......@@ -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") {
......
Name: opus
URL: http://git.xiph.org/?p=opus.git
Version: 1.1.0
Version: 1.1.1-beta
License: BSD
License File: src/COPYING
Security Critical: yes
......@@ -12,4 +12,4 @@ This library is used by Chrome Remote Desktop and WebRTC for audio stream
encoding/decoding.
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 @@
{
'variables': {
'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%': 0,
......@@ -15,6 +17,11 @@
}, {
'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")', {
# Based on the conditions in celt/arm/armcpu.c:
# defined(_MSC_VER) || defined(__linux__).
......@@ -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