Source code
Revision control
Copy as Markdown
Other Tools
# 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",
"..:apm_logging",
"../../../api:array_view",
"../../../api/audio:audio_processing",
"../../../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",
"..:apm_logging",
"../../../api/audio:audio_frame_api",
"../../../api/audio:audio_processing",
"../../../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",
"//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",
"..:audio_frame_view",
"../../../api/audio:audio_processing",
"../../../common_audio",
"../../../rtc_base:checks",
"../../../rtc_base:logging",
"../../../rtc_base:safe_minmax",
"//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",
"../../../api/audio:audio_frame_api",
"../../../common_audio",
"../../../rtc_base:checks",
"../../../rtc_base:gtest_prod",
"../../../rtc_base:safe_conversions",
"../../../rtc_base:safe_minmax",
"../../../rtc_base:stringutils",
"../../../system_wrappers:metrics",
"//third_party/abseil-cpp/absl/strings:string_view",
]
}
rtc_library("gain_applier") {
sources = [
"gain_applier.cc",
"gain_applier.h",
]
visibility = [
"..:gain_controller2",
"./*",
]
deps = [
":common",
"..:audio_frame_view",
"../../../api/audio:audio_frame_api",
"../../../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",
"..:audio_buffer",
"..:audio_frame_view",
"../../../api:array_view",
"../../../api/audio:audio_processing",
"../../../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",
"//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",
"../../../api/audio:audio_frame_api",
"../../../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 += [ "//chromium/build/config/compiler:compiler_arm_fpu" ]
cflags = [ "-mfpu=neon" ]
}
deps = [
":common",
":cpu_features",
"../../../api/audio:audio_frame_api",
"../../../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",
"..:apm_logging",
"../../../api/audio:audio_processing",
"../../../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",
"..:apm_logging",
"..:audio_frame_view",
"../../../api/audio:audio_processing",
"../../../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",
"../../../api/audio:audio_frame_api",
"../../../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",
"../../../api/audio:audio_frame_api",
"../../../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: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",
]
}
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",
"../../../api:function_view",
"../../../api/audio:audio_frame_api",
"../../../rtc_base:checks",
"../../../rtc_base:gunit_helpers",
]
}
rtc_library("vad_wrapper_unittests") {
testonly = true
sources = [ "vad_wrapper_unittest.cc" ]
deps = [
":common",
":vad_wrapper",
"../../../api/audio:audio_frame_api",
"../../../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",
"../../../api/audio:audio_frame_api",
"../../../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",
"//third_party/abseil-cpp/absl/strings:string_view",
"//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",
"//third_party/abseil-cpp/absl/strings:string_view",
]
}