diff options
author | Android Chromium Automerger <chromium-automerger@android> | 2014-09-08 18:54:49 +0000 |
---|---|---|
committer | Android Chromium Automerger <chromium-automerger@android> | 2014-09-08 18:54:49 +0000 |
commit | f1234f3b2a2d141572c99ff1b83227ebd38de29e (patch) | |
tree | d6f6ebd4bb28c35cad99ca970b8ca0006642e4ae /common_audio | |
parent | 285c0a3feb1252fca4aaaccf28eacddd08ab679a (diff) | |
parent | 69370488385c14d73e6ae8a3d5001c42884f9275 (diff) | |
download | webrtc-f1234f3b2a2d141572c99ff1b83227ebd38de29e.tar.gz |
Merge third_party/webrtc from https://chromium.googlesource.com/external/webrtc/trunk/webrtc.git at 69370488385c14d73e6ae8a3d5001c42884f9275
This commit was generated by merge_from_chromium.py.
Change-Id: Icd984259a9896fb874700b1e7a2e42bbabfb204b
Diffstat (limited to 'common_audio')
-rw-r--r-- | common_audio/BUILD.gn | 197 | ||||
-rw-r--r-- | common_audio/common_audio.gyp | 8 | ||||
-rw-r--r-- | common_audio/wav_writer.h | 2 |
3 files changed, 196 insertions, 11 deletions
diff --git a/common_audio/BUILD.gn b/common_audio/BUILD.gn index 4dcc3226..6b5fe9de 100644 --- a/common_audio/BUILD.gn +++ b/common_audio/BUILD.gn @@ -9,18 +9,207 @@ import("//build/config/arm.gni") import("../build/webrtc.gni") +config("common_audio_config") { + include_dirs = [ + "resampler/include", + "signal_processing/include", + "vad/include", + ] +} + source_set("common_audio") { - # TODO(andrew): Implement. + sources = [ + "audio_util.cc", + "fir_filter.cc", + "fir_filter.h", + "fir_filter_neon.h", + "fir_filter_sse.h", + "include/audio_util.h", + "resampler/include/push_resampler.h", + "resampler/include/resampler.h", + "resampler/push_resampler.cc", + "resampler/push_sinc_resampler.cc", + "resampler/push_sinc_resampler.h", + "resampler/resampler.cc", + "resampler/sinc_resampler.cc", + "resampler/sinc_resampler.h", + "signal_processing/include/real_fft.h", + "signal_processing/include/signal_processing_library.h", + "signal_processing/include/spl_inl.h", + "signal_processing/auto_corr_to_refl_coef.c", + "signal_processing/auto_correlation.c", + "signal_processing/complex_fft_tables.h", + "signal_processing/copy_set_operations.c", + "signal_processing/cross_correlation.c", + "signal_processing/division_operations.c", + "signal_processing/dot_product_with_scale.c", + "signal_processing/downsample_fast.c", + "signal_processing/energy.c", + "signal_processing/filter_ar.c", + "signal_processing/filter_ma_fast_q12.c", + "signal_processing/get_hanning_window.c", + "signal_processing/get_scaling_square.c", + "signal_processing/ilbc_specific_functions.c", + "signal_processing/levinson_durbin.c", + "signal_processing/lpc_to_refl_coef.c", + "signal_processing/min_max_operations.c", + "signal_processing/randomization_functions.c", + "signal_processing/refl_coef_to_lpc.c", + "signal_processing/real_fft.c", + "signal_processing/resample.c", + "signal_processing/resample_48khz.c", + "signal_processing/resample_by_2.c", + "signal_processing/resample_by_2_internal.c", + "signal_processing/resample_by_2_internal.h", + "signal_processing/resample_fractional.c", + "signal_processing/spl_init.c", + "signal_processing/spl_sqrt.c", + "signal_processing/spl_version.c", + "signal_processing/splitting_filter.c", + "signal_processing/sqrt_of_one_minus_x_squared.c", + "signal_processing/vector_scaling_operations.c", + "vad/include/webrtc_vad.h", + "vad/webrtc_vad.c", + "vad/vad_core.c", + "vad/vad_core.h", + "vad/vad_filterbank.c", + "vad/vad_filterbank.h", + "vad/vad_gmm.c", + "vad/vad_gmm.h", + "vad/vad_sp.c", + "vad/vad_sp.h", + "wav_header.cc", + "wav_header.h", + "wav_writer.cc", + "wav_writer.h", + ] + + deps = [ "../system_wrappers" ] + + if (cpu_arch == "arm") { + sources += [ + "signal_processing/complex_bit_reverse_arm.S", + "signal_processing/spl_sqrt_floor_arm.S", + ] + + if (arm_version == 7) { + deps += [ ":common_audio_neon" ] + sources += [ "signal_processing/filter_ar_fast_q12_armv7.S" ] + } else { + sources += [ "signal_processing/filter_ar_fast_q12.c" ] + } + } + + if (cpu_arch == "mipsel") { + sources += [ + "signal_processing/include/spl_inl_mips.h", + "signal_processing/complex_bit_reverse_mips.c", + "signal_processing/complex_fft_mips.c", + "signal_processing/cross_correlation_mips.c", + "signal_processing/downsample_fast_mips.c", + "signal_processing/filter_ar_fast_q12_mips.c", + "signal_processing/min_max_operations_mips.c", + "signal_processing/resample_by_2_mips.c", + "signal_processing/spl_sqrt_floor_mips.c", + ] + if (mips_dsp_rev > 0) { + sources += [ "signal_processing/vector_scaling_operations_mips.c" ] + } + } else { + sources += [ + "signal_processing/complex_fft.c", + "signal_processing/filter_ar_fast_q12.c", + ] + } + + if (cpu_arch != "arm" && cpu_arch != "mipsel") { + sources += [ + "signal_processing/complex_bit_reverse.c", + "signal_processing/spl_sqrt_floor.c", + ] + } + + if (is_win) { + cflags += [ + "/wd4334", # Ignore warning on shift operator promotion. + ] + } + + direct_dependent_configs = [ + "..:common_inherited_config", + ":common_audio_config", + ] + + if (is_clang) { + # Suppress warnings from Chrome's Clang plugins. + # See http://code.google.com/p/webrtc/issues/detail?id=163 for details. + configs -= [ "//build/config/clang:find_bad_constructs" ] + } + + if (cpu_arch == "x86" || cpu_arch == "x64") { + deps += [ ":common_audio_sse2" ] + } } if (cpu_arch == "x86" || cpu_arch == "x64") { source_set("common_audio_sse2") { - # TODO(andrew): Implement. + sources = [ + "fir_filter_sse.cc", + "resampler/sinc_resampler_sse.cc", + ] + + cflags = [ "-msse2" ] + + configs += [ "..:common_inherited_config" ] + + if (is_clang) { + # Suppress warnings from Chrome's Clang plugins. + # See http://code.google.com/p/webrtc/issues/detail?id=163 for details. + configs -= [ "//build/config/clang:find_bad_constructs" ] + } } } -if (cpu_arch == "arm" && arm_version == 7) { +if (build_armv7_neon) { source_set("common_audio_neon") { - # TODO(andrew): Implement. + sources = [ + "fir_filter_neon.cc", + "resampler/sinc_resampler_neon.cc", + "signal_processing/cross_correlation_neon.S", + "signal_processing/downsample_fast_neon.S", + "signal_processing/min_max_operations_neon.S", + "signal_processing/vector_scaling_operations_neon.S", + ] + + configs += [ + "..:common_config", + "..:common_inherited_config", + ] + + # Enable compilation for the ARM v7 Neon instruction set. This is needed + # since //build/config/arm.gni only enables Neon for iOS, not Android. + # This provides the same functionality as webrtc/build/arm_neon.gypi. + # TODO(kjellander): Investigate if this can be moved into webrtc.gni or + # //build/config/arm.gni instead, to reduce code duplication. + # Remove the -mfpu=vfpv3-d16 cflag. + configs -= [ "//build/config/compiler:compiler_arm_fpu" ] + cflags = [ + "-flax-vector-conversions", + "-mfpu=neon", + ] + + # Disable LTO in audio_processing_neon target due to compiler bug. + if (use_lto) { + cflags -= [ + "-flto", + "-ffat-lto-objects", + ] + } + + if (is_clang) { + # Suppress warnings from Chrome's Clang plugins. + # See http://code.google.com/p/webrtc/issues/detail?id=163 for details. + configs -= [ "//build/config/clang:find_bad_constructs" ] + } } } diff --git a/common_audio/common_audio.gyp b/common_audio/common_audio.gyp index ae3bacb7..e9abf822 100644 --- a/common_audio/common_audio.gyp +++ b/common_audio/common_audio.gyp @@ -228,9 +228,7 @@ 'wav_writer_unittest.cc', ], 'conditions': [ - # TODO(henrike): remove build_with_chromium==1 when the bots are - # using Chromium's buildbots. - ['build_with_chromium==1 and OS=="android"', { + ['OS=="android"', { 'dependencies': [ '<(DEPTH)/testing/android/native_test.gyp:native_test_native_code', ], @@ -239,9 +237,7 @@ }, ], # targets 'conditions': [ - # TODO(henrike): remove build_with_chromium==1 when the bots are using - # Chromium's buildbots. - ['build_with_chromium==1 and OS=="android"', { + ['OS=="android"', { 'targets': [ { 'target_name': 'common_audio_unittests_apk_target', diff --git a/common_audio/wav_writer.h b/common_audio/wav_writer.h index 45bcbac5..09667279 100644 --- a/common_audio/wav_writer.h +++ b/common_audio/wav_writer.h @@ -33,13 +33,13 @@ class WavFile { // [-32768,32767], and there must be the previously specified number of // interleaved channels. void WriteSamples(const float* samples, size_t num_samples); + void WriteSamples(const int16_t* samples, size_t num_samples); int sample_rate() const { return sample_rate_; } int num_channels() const { return num_channels_; } uint32_t num_samples() const { return num_samples_; } private: - void WriteSamples(const int16_t* samples, size_t num_samples); void Close(); const int sample_rate_; const int num_channels_; |