summaryrefslogtreecommitdiffstats
path: root/third_party/opus
diff options
context:
space:
mode:
authortlegrand@chromium.org <tlegrand@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-04-28 14:41:06 +0000
committertlegrand@chromium.org <tlegrand@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-04-28 14:41:06 +0000
commit3ecf6982c562085d64b9367f684e7eb21b5290bc (patch)
tree6797a1cae02c2377b95f2ab7cac739c3697c70e0 /third_party/opus
parent0491b8cae5bf7ede03db61853092d2afdba004ab (diff)
downloadchromium_src-3ecf6982c562085d64b9367f684e7eb21b5290bc.zip
chromium_src-3ecf6982c562085d64b9367f684e7eb21b5290bc.tar.gz
chromium_src-3ecf6982c562085d64b9367f684e7eb21b5290bc.tar.bz2
Enable ARM optimizations for Opus in iOS
Opus ARM optimizations has been enabled on Android and ChromeOS, but not on iOS because some of the optimizations don't compile for iOS. In this CL I'm enabling the optimizations that do compile. BUG= Review URL: https://codereview.chromium.org/237143003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@266564 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'third_party/opus')
-rw-r--r--third_party/opus/README.chromium2
-rw-r--r--third_party/opus/opus.gyp24
-rw-r--r--third_party/opus/opus_srcs_arm.gypi22
-rw-r--r--third_party/opus/opus_srcs_rtcd.gypi30
4 files changed, 50 insertions, 28 deletions
diff --git a/third_party/opus/README.chromium b/third_party/opus/README.chromium
index a07b77f..9a8681a 100644
--- a/third_party/opus/README.chromium
+++ b/third_party/opus/README.chromium
@@ -1,6 +1,6 @@
Name: opus
URL: http://git.xiph.org/?p=opus.git
-Version: 1.1.0B
+Version: 1.1.0
License: BSD
License File: src/COPYING
Security Critical: yes
diff --git a/third_party/opus/opus.gyp b/third_party/opus/opus.gyp
index 326367e..3b37f42 100644
--- a/third_party/opus/opus.gyp
+++ b/third_party/opus/opus.gyp
@@ -5,13 +5,18 @@
{
'variables': {
'conditions': [
- ['(OS=="android" or chromeos==1) and target_arch=="arm"', {
+ ['((OS=="android" or chromeos==1) and target_arch=="arm") or (OS=="ios" and target_arch=="armv7")', {
'use_opus_fixed_point%': 1,
'use_opus_arm_optimization%': 1,
}, {
'use_opus_fixed_point%': 0,
'use_opus_arm_optimization%': 0,
}],
+ ['(OS=="android" or chromeos==1) and target_arch=="arm"', {
+ 'use_opus_rtcd%': 1,
+ }, {
+ 'use_opus_rtcd%': 0,
+ }],
],
},
'targets': [
@@ -85,14 +90,23 @@
'OPUS_ARM_ASM',
'OPUS_ARM_INLINE_ASM',
'OPUS_ARM_INLINE_EDSP',
- 'OPUS_ARM_MAY_HAVE_EDSP',
- 'OPUS_ARM_MAY_HAVE_MEDIA',
- 'OPUS_ARM_MAY_HAVE_NEON',
- 'OPUS_HAVE_RTCD',
],
'includes': [
'opus_srcs_arm.gypi',
],
+ 'conditions': [
+ ['use_opus_rtcd==1', {
+ 'defines': [
+ 'OPUS_ARM_MAY_HAVE_EDSP',
+ 'OPUS_ARM_MAY_HAVE_MEDIA',
+ 'OPUS_ARM_MAY_HAVE_NEON',
+ 'OPUS_HAVE_RTCD',
+ ],
+ 'includes': [
+ 'opus_srcs_rtcd.gypi',
+ ],
+ }],
+ ],
}],
],
}],
diff --git a/third_party/opus/opus_srcs_arm.gypi b/third_party/opus/opus_srcs_arm.gypi
index 9727d36..79e1cb0 100644
--- a/third_party/opus/opus_srcs_arm.gypi
+++ b/third_party/opus/opus_srcs_arm.gypi
@@ -4,9 +4,6 @@
{
'sources': [
- 'src/celt/arm/arm_celt_map.c',
- 'src/celt/arm/armcpu.c',
- 'src/celt/arm/armcpu.h',
'src/celt/arm/fixed_armv4.h',
'src/celt/arm/fixed_armv5e.h',
'src/celt/arm/kiss_fft_armv4.h',
@@ -16,24 +13,5 @@
'src/silk/arm/macro_armv5e.h',
'src/silk/arm/SigProc_FIX_armv4.h',
'src/silk/arm/SigProc_FIX_armv5e.h',
- '<(INTERMEDIATE_DIR)/celt_pitch_xcorr_arm_gnu.S',
- ],
- 'actions': [
- {
- 'action_name': 'convert_assembler',
- 'inputs': [
- 'src/celt/arm/arm2gnu.pl',
- 'src/celt/arm/celt_pitch_xcorr_arm.s',
- ],
- 'outputs': [
- '<(INTERMEDIATE_DIR)/celt_pitch_xcorr_arm_gnu.S',
- ],
- 'action': [
- 'bash',
- '-c',
- 'perl src/celt/arm/arm2gnu.pl src/celt/arm/celt_pitch_xcorr_arm.s | sed "s/OPUS_ARM_MAY_HAVE_[A-Z]*/1/g" | sed "/.include/d" > <(INTERMEDIATE_DIR)/celt_pitch_xcorr_arm_gnu.S',
- ],
- 'message': 'Convert Opus assembler for ARM.'
- },
],
}
diff --git a/third_party/opus/opus_srcs_rtcd.gypi b/third_party/opus/opus_srcs_rtcd.gypi
new file mode 100644
index 0000000..648775c
--- /dev/null
+++ b/third_party/opus/opus_srcs_rtcd.gypi
@@ -0,0 +1,30 @@
+# Copyright 2014 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/arm/arm_celt_map.c',
+ 'src/celt/arm/armcpu.c',
+ 'src/celt/arm/armcpu.h',
+ '<(INTERMEDIATE_DIR)/celt_pitch_xcorr_arm_gnu.S',
+ ],
+ 'actions': [
+ {
+ 'action_name': 'convert_assembler',
+ 'inputs': [
+ 'src/celt/arm/arm2gnu.pl',
+ 'src/celt/arm/celt_pitch_xcorr_arm.s',
+ ],
+ 'outputs': [
+ '<(INTERMEDIATE_DIR)/celt_pitch_xcorr_arm_gnu.S',
+ ],
+ 'action': [
+ 'bash',
+ '-c',
+ 'perl src/celt/arm/arm2gnu.pl src/celt/arm/celt_pitch_xcorr_arm.s | sed "s/OPUS_ARM_MAY_HAVE_[A-Z]*/1/g" | sed "/.include/d" > <(INTERMEDIATE_DIR)/celt_pitch_xcorr_arm_gnu.S',
+ ],
+ 'message': 'Convert Opus assembler for ARM.'
+ },
+ ],
+}