# Copyright (c) 2017 The WebRTC project authors. All Rights Reserved. # # Use of this source code is governed by a BSD-style license # that can be found in the LICENSE file in the root of the source # tree. An additional intellectual property rights grant can be found # in the file PATENTS. All contributing project authors may # be found in the AUTHORS file in the root of the source tree. import("../../../webrtc.gni") rtc_library("speech_level_estimator") { sources = [ "speech_level_estimator.cc", "speech_level_estimator.h", ] visibility = [ "..:gain_controller2", "./*", ] configs += [ "..:apm_debug_dump" ] deps = [ ":common", "..:api", "..:apm_logging", "../../../api:array_view", "../../../rtc_base:checks", "../../../rtc_base:logging", "../../../rtc_base:safe_minmax", ] } rtc_library("adaptive_digital_gain_controller") { sources = [ "adaptive_digital_gain_controller.cc", "adaptive_digital_gain_controller.h", ] visibility = [ "..:gain_controller2", "./*", ] configs += [ "..:apm_debug_dump" ] deps = [ ":common", ":gain_applier", "..:api", "..:apm_logging", "..:audio_frame_view", "../../../common_audio", "../../../rtc_base:checks", "../../../rtc_base:logging", "../../../rtc_base:safe_minmax", "../../../system_wrappers:metrics", ] } rtc_library("saturation_protector") { sources = [ "saturation_protector.cc", "saturation_protector.h", "saturation_protector_buffer.cc", "saturation_protector_buffer.h", ] visibility = [ "..:gain_controller2", "./*", ] configs += [ "..:apm_debug_dump" ] deps = [ ":common", "..:apm_logging", "../../../rtc_base:checks", "../../../rtc_base:safe_compare", "../../../rtc_base:safe_minmax", ] absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ] } rtc_library("biquad_filter") { visibility = [ "./*" ] sources = [ "biquad_filter.cc", "biquad_filter.h", ] deps = [ "../../../api:array_view", "../../../rtc_base:macromagic", ] } rtc_library("clipping_predictor") { visibility = [ "../agc:agc", "./*", ] sources = [ "clipping_predictor.cc", "clipping_predictor.h", "clipping_predictor_level_buffer.cc", "clipping_predictor_level_buffer.h", ] deps = [ ":gain_map", "..:api", "..:audio_frame_view", "../../../common_audio", "../../../rtc_base:checks", "../../../rtc_base:logging", "../../../rtc_base:safe_minmax", ] absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ] } rtc_source_set("common") { sources = [ "agc2_common.h" ] } rtc_library("fixed_digital") { sources = [ "fixed_digital_level_estimator.cc", "fixed_digital_level_estimator.h", "interpolated_gain_curve.cc", "interpolated_gain_curve.h", "limiter.cc", "limiter.h", ] visibility = [ "..:gain_controller2", "../../audio_mixer:audio_mixer_impl", "./*", ] configs += [ "..:apm_debug_dump" ] deps = [ ":common", "..:apm_logging", "..:audio_frame_view", "../../../api:array_view", "../../../common_audio", "../../../rtc_base:checks", "../../../rtc_base:gtest_prod", "../../../rtc_base:safe_conversions", "../../../rtc_base:safe_minmax", "../../../rtc_base:stringutils", "../../../system_wrappers:metrics", ] absl_deps = [ "//third_party/abseil-cpp/absl/strings" ] } rtc_library("gain_applier") { sources = [ "gain_applier.cc", "gain_applier.h", ] visibility = [ "..:gain_controller2", "./*", ] deps = [ ":common", "..:audio_frame_view", "../../../api:array_view", "../../../rtc_base:safe_minmax", ] } rtc_source_set("gain_map") { visibility = [ "..:analog_mic_simulation", "../agc:agc", "./*", ] sources = [ "gain_map_internal.h" ] } rtc_library("input_volume_controller") { sources = [ "input_volume_controller.cc", "input_volume_controller.h", "speech_probability_buffer.cc", "speech_probability_buffer.h", ] visibility = [ "..:gain_controller2", "./*", ] configs += [ "..:apm_debug_dump" ] deps = [ ":clipping_predictor", ":gain_map", ":input_volume_stats_reporter", "..:api", "..:audio_buffer", "..:audio_frame_view", "../../../api:array_view", "../../../rtc_base:checks", "../../../rtc_base:checks", "../../../rtc_base:gtest_prod", "../../../rtc_base:gtest_prod", "../../../rtc_base:logging", "../../../rtc_base:safe_minmax", "../../../system_wrappers:field_trial", "../../../system_wrappers:metrics", ] absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ] } rtc_library("noise_level_estimator") { sources = [ "noise_level_estimator.cc", "noise_level_estimator.h", ] deps = [ ":biquad_filter", "..:apm_logging", "..:audio_frame_view", "../../../api:array_view", "../../../rtc_base:checks", "../../../system_wrappers", ] visibility = [ "..:gain_controller2", "./*", ] configs += [ "..:apm_debug_dump" ] } rtc_library("vad_wrapper") { sources = [ "vad_wrapper.cc", "vad_wrapper.h", ] visibility = [ "..:gain_controller2", "./*", ] defines = [] if (rtc_build_with_neon && current_cpu != "arm64") { suppressed_configs += [ "//build/config/compiler:compiler_arm_fpu" ] cflags = [ "-mfpu=neon" ] } deps = [ ":common", ":cpu_features", "..:audio_frame_view", "../../../api:array_view", "../../../common_audio", "../../../rtc_base:checks", "rnn_vad", "rnn_vad:rnn_vad_common", ] } rtc_library("cpu_features") { sources = [ "cpu_features.cc", "cpu_features.h", ] visibility = [ "..:gain_controller2", "./*", ] deps = [ "../../../rtc_base:stringutils", "../../../rtc_base/system:arch", "../../../system_wrappers", ] } rtc_library("speech_level_estimator_unittest") { testonly = true configs += [ "..:apm_debug_dump" ] sources = [ "speech_level_estimator_unittest.cc" ] deps = [ ":common", ":speech_level_estimator", "..:api", "..:apm_logging", "../../../rtc_base:gunit_helpers", "../../../test:test_support", ] } rtc_library("adaptive_digital_gain_controller_unittest") { testonly = true configs += [ "..:apm_debug_dump" ] sources = [ "adaptive_digital_gain_controller_unittest.cc" ] deps = [ ":adaptive_digital_gain_controller", ":common", ":test_utils", "..:api", "..:apm_logging", "..:audio_frame_view", "../../../common_audio", "../../../rtc_base:gunit_helpers", "../../../test:test_support", ] } rtc_library("gain_applier_unittest") { testonly = true configs += [ "..:apm_debug_dump" ] sources = [ "gain_applier_unittest.cc" ] deps = [ ":gain_applier", ":test_utils", "..:audio_frame_view", "../../../rtc_base:gunit_helpers", "../../../test:test_support", ] } rtc_library("saturation_protector_unittest") { testonly = true configs += [ "..:apm_debug_dump" ] sources = [ "saturation_protector_buffer_unittest.cc", "saturation_protector_unittest.cc", ] deps = [ ":common", ":saturation_protector", "..:apm_logging", "../../../rtc_base:gunit_helpers", "../../../test:test_support", ] } rtc_library("biquad_filter_unittests") { testonly = true sources = [ "biquad_filter_unittest.cc" ] deps = [ ":biquad_filter", "../../../rtc_base:gunit_helpers", ] } rtc_library("fixed_digital_unittests") { testonly = true configs += [ "..:apm_debug_dump" ] sources = [ "agc2_testing_common_unittest.cc", "compute_interpolated_gain_curve.cc", "compute_interpolated_gain_curve.h", "fixed_digital_level_estimator_unittest.cc", "interpolated_gain_curve_unittest.cc", "limiter_db_gain_curve.cc", "limiter_db_gain_curve.h", "limiter_db_gain_curve_unittest.cc", "limiter_unittest.cc", ] deps = [ ":common", ":fixed_digital", ":test_utils", "..:apm_logging", "..:audio_frame_view", "../../../api:array_view", "../../../common_audio", "../../../rtc_base:checks", "../../../rtc_base:gunit_helpers", "../../../system_wrappers:metrics", ] } rtc_library("input_volume_controller_unittests") { testonly = true sources = [ "clipping_predictor_level_buffer_unittest.cc", "clipping_predictor_unittest.cc", "input_volume_controller_unittest.cc", "speech_probability_buffer_unittest.cc", ] configs += [ "..:apm_debug_dump" ] deps = [ ":clipping_predictor", ":gain_map", ":input_volume_controller", "..:api", "../../../api:array_view", "../../../rtc_base:checks", "../../../rtc_base:random", "../../../rtc_base:safe_conversions", "../../../rtc_base:safe_minmax", "../../../rtc_base:stringutils", "../../../system_wrappers:metrics", "../../../test:field_trial", "../../../test:fileutils", "../../../test:test_support", "//testing/gtest", ] absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ] } rtc_library("noise_estimator_unittests") { testonly = true configs += [ "..:apm_debug_dump" ] sources = [ "noise_level_estimator_unittest.cc" ] deps = [ ":noise_level_estimator", ":test_utils", "..:apm_logging", "..:audio_frame_view", "../../../api:array_view", "../../../api:function_view", "../../../rtc_base:checks", "../../../rtc_base:gunit_helpers", ] } rtc_library("vad_wrapper_unittests") { testonly = true sources = [ "vad_wrapper_unittest.cc" ] deps = [ ":common", ":vad_wrapper", "..:audio_frame_view", "../../../rtc_base:checks", "../../../rtc_base:gunit_helpers", "../../../rtc_base:safe_compare", "../../../test:test_support", ] } rtc_library("test_utils") { testonly = true visibility = [ ":*", "..:audio_processing_unittests", ] sources = [ "agc2_testing_common.cc", "agc2_testing_common.h", "vector_float_frame.cc", "vector_float_frame.h", ] deps = [ "..:audio_frame_view", "../../../rtc_base:checks", "../../../rtc_base:random", ] } rtc_library("input_volume_stats_reporter") { sources = [ "input_volume_stats_reporter.cc", "input_volume_stats_reporter.h", ] deps = [ "../../../rtc_base:gtest_prod", "../../../rtc_base:logging", "../../../rtc_base:safe_minmax", "../../../rtc_base:stringutils", "../../../system_wrappers:metrics", ] absl_deps = [ "//third_party/abseil-cpp/absl/strings", "//third_party/abseil-cpp/absl/types:optional", ] } rtc_library("input_volume_stats_reporter_unittests") { testonly = true sources = [ "input_volume_stats_reporter_unittest.cc" ] deps = [ ":input_volume_stats_reporter", "../../../rtc_base:stringutils", "../../../system_wrappers:metrics", "../../../test:test_support", ] absl_deps = [ "//third_party/abseil-cpp/absl/strings" ] }