Commit 3ecf6982 authored by tlegrand@chromium.org's avatar tlegrand@chromium.org

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
parent 0491b8ca
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
......
......@@ -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',
],
}],
],
}],
],
}],
......
......@@ -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.'
},
],
}
# 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.'
},
],
}
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