diff options
Diffstat (limited to 'webrtc/modules/audio_processing/meson.build')
-rw-r--r-- | webrtc/modules/audio_processing/meson.build | 125 |
1 files changed, 125 insertions, 0 deletions
diff --git a/webrtc/modules/audio_processing/meson.build b/webrtc/modules/audio_processing/meson.build new file mode 100644 index 0000000..5ce87a1 --- /dev/null +++ b/webrtc/modules/audio_processing/meson.build @@ -0,0 +1,125 @@ +webrtc_audio_processing_sources = [ + 'aec/aec_core.c', + 'aec/aec_rdft.c', + 'aec/aec_resampler.c', + 'aec/echo_cancellation.c', + 'aecm/echo_control_mobile.c', + 'aecm/aecm_core.c', + 'aecm/aecm_core_c.c', + 'agc/legacy/analog_agc.c', + 'agc/legacy/digital_agc.c', + 'agc/agc.cc', + 'agc/agc_manager_direct.cc', + 'agc/histogram.cc', + 'agc/utility.cc', + 'beamformer/array_util.cc', + 'beamformer/covariance_matrix_generator.cc', + 'beamformer/nonlinear_beamformer.cc', + 'intelligibility/intelligibility_enhancer.cc', + 'intelligibility/intelligibility_utils.cc', + 'logging/aec_logging_file_handling.cc', + 'transient/click_annotate.cc', + 'transient/file_utils.cc', + 'transient/moving_moments.cc', + 'transient/transient_detector.cc', + 'transient/transient_suppressor.cc', + 'transient/wpd_node.cc', + 'transient/wpd_tree.cc', + 'utility/delay_estimator.c', + 'utility/delay_estimator_wrapper.c', + 'vad/gmm.cc', + 'vad/pitch_based_vad.cc', + 'vad/pitch_internal.cc', + 'vad/pole_zero_filter.cc', + 'vad/standalone_vad.cc', + 'vad/vad_audio_proc.cc', + 'vad/vad_circular_buffer.cc', + 'vad/voice_activity_detector.cc', + 'audio_buffer.cc', + 'audio_processing_impl.cc', + 'audio_processing_impl.h', + 'echo_cancellation_impl.cc', + 'echo_control_mobile_impl.cc', + 'gain_control_impl.cc', + 'high_pass_filter_impl.cc', + 'level_estimator_impl.cc', + 'noise_suppression_impl.cc', + 'rms_level.cc', + 'splitting_filter.cc', + 'processing_component.cc', + 'three_band_filter_bank.cc', + 'typing_detection.cc', + 'voice_detection_impl.cc', +] + +webrtc_audio_processing_beamformer_headers = [ + 'beamformer/array_util.h', +] + +webrtc_audio_processing_include_headers = [ + 'include/audio_processing.h', +] + +if get_option('ns_mode') == 'float' + webrtc_audio_processing_sources += [ + 'ns/noise_suppression.c', + 'ns/ns_core.c', + ] +else + webrtc_audio_processing_sources += [ + 'ns/noise_suppression_x.c', + 'ns/nsx_core.c', + 'ns/nsx_core_c.c', + ] + if have_neon + webrtc_audio_processing_sources += [ + 'ns/nsx_core_neon.c', + ] + endif +endif + +extra_libs = [] +if have_x86 + extra_libs += [ + static_library('webrtc_audio_processing_privatearch', + ['aec/aec_core_sse2.c', 'aec/aec_rdft_sse2.c'], + dependencies: common_deps, + include_directories: webrtc_inc, + c_args: common_cflags + ['-msse2'], + cpp_args: common_cxxflags + ['-msse2'] + ) + ] +endif + +if have_neon + webrtc_audio_processing_sources += [ + 'aec/aec_core_neon.c', + 'aec/aec_rdft_neon.c', + 'aecm/aecm_core_neon.c', + ] +endif + +install_headers(webrtc_audio_processing_beamformer_headers, + subdir: 'webrtc_audio_processing/webrtc/modules/audio_processing/beamformer' +) + +install_headers(webrtc_audio_processing_include_headers, + subdir: 'webrtc_audio_processing/webrtc/modules/audio_processing/include' +) + +libwebrtc_audio_processing = library('webrtc_audio_processing', + webrtc_audio_processing_sources, + dependencies: [base_dep, audio_coding_dep, system_wrappers_dep, common_audio_dep, audio_coding_dep, webrtc_dep] + common_deps, + link_with: extra_libs, + include_directories: webrtc_inc, + c_args: common_cflags, + cpp_args: common_cxxflags, + soversion: soversion, + install: true +) + +webrtc_audio_processing_dep = declare_dependency( + link_with: libwebrtc_audio_processing, + include_directories: webrtc_inc, + version: meson.project_version() +) |