| # Copyright (c) 2014 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("../../build/webrtc.gni") |
| import("audio_coding.gni") |
| import("//build/config/arm.gni") |
| import("//testing/test.gni") |
| import("//third_party/protobuf/proto_library.gni") |
| |
| audio_codec_deps = [ |
| ":cng", |
| ":g711", |
| ":pcm16b", |
| ] |
| if (rtc_include_ilbc) { |
| audio_codec_deps += [ ":ilbc" ] |
| } |
| if (rtc_include_opus) { |
| audio_codec_deps += [ ":webrtc_opus" ] |
| } |
| if (!build_with_mozilla) { |
| if (current_cpu == "arm") { |
| audio_codec_deps += [ ":isac_fix" ] |
| } else { |
| audio_codec_deps += [ ":isac" ] |
| } |
| audio_codec_deps += [ ":g722" ] |
| } |
| if (!build_with_mozilla && !build_with_chromium) { |
| audio_codec_deps += [ ":red" ] |
| } |
| audio_coding_deps = audio_codec_deps + [ |
| "../..:webrtc_common", |
| "../../common_audio", |
| "../../system_wrappers", |
| ] |
| |
| source_set("audio_decoder_factory_interface") { |
| sources = [ |
| "codecs/audio_decoder_factory.h", |
| "codecs/audio_format.cc", |
| "codecs/audio_format.h", |
| ] |
| configs += [ "../..:common_config" ] |
| public_configs = [ "../..:common_inherited_config" ] |
| deps = [ |
| "../..:webrtc_common", |
| ] |
| } |
| |
| source_set("builtin_audio_decoder_factory") { |
| sources = [ |
| "codecs/builtin_audio_decoder_factory.cc", |
| "codecs/builtin_audio_decoder_factory.h", |
| ] |
| configs += [ "../..:common_config" ] |
| public_configs = [ "../..:common_inherited_config" ] |
| deps = [ |
| "../..:webrtc_common", |
| ":audio_decoder_factory_interface", |
| ] + audio_codec_deps |
| defines = audio_codec_defines |
| } |
| |
| source_set("rent_a_codec") { |
| sources = [ |
| "acm2/acm_codec_database.cc", |
| "acm2/acm_codec_database.h", |
| "acm2/rent_a_codec.cc", |
| "acm2/rent_a_codec.h", |
| ] |
| configs += [ "../..:common_config" ] |
| public_configs = [ "../..:common_inherited_config" ] |
| deps = [ "../..:webrtc_common" ] + audio_codec_deps |
| defines = audio_codec_defines |
| } |
| |
| config("audio_coding_config") { |
| include_dirs = [ |
| "include", |
| "../include", |
| ] |
| } |
| |
| source_set("audio_coding") { |
| sources = [ |
| "acm2/acm_common_defs.h", |
| "acm2/acm_receiver.cc", |
| "acm2/acm_receiver.h", |
| "acm2/acm_resampler.cc", |
| "acm2/acm_resampler.h", |
| "acm2/audio_coding_module.cc", |
| "acm2/call_statistics.cc", |
| "acm2/call_statistics.h", |
| "acm2/codec_manager.cc", |
| "acm2/codec_manager.h", |
| "acm2/initial_delay_manager.cc", |
| "acm2/initial_delay_manager.h", |
| "include/audio_coding_module.h", |
| "include/audio_coding_module_typedefs.h", |
| ] |
| |
| defines = [] |
| |
| configs += [ "../..:common_config" ] |
| |
| public_configs = [ |
| "../..:common_inherited_config", |
| ":audio_coding_config", |
| ] |
| |
| if (rtc_include_opus) { |
| public_deps = [ |
| ":webrtc_opus", |
| ] |
| } |
| |
| if (is_win) { |
| cflags = [ |
| # TODO(kjellander): Bug 261: fix this warning. |
| "/wd4373", # virtual function override. |
| ] |
| } |
| |
| if (is_clang) { |
| # Suppress warnings from the Chromium Clang plugins (bugs.webrtc.org/163). |
| configs -= [ "//build/config/clang:find_bad_constructs" ] |
| } |
| |
| deps = audio_coding_deps + [ |
| ":neteq", |
| ":rent_a_codec", |
| "../..:rtc_event_log", |
| ] |
| defines = audio_coding_defines |
| } |
| |
| source_set("audio_decoder_interface") { |
| sources = [ |
| "codecs/audio_decoder.cc", |
| "codecs/audio_decoder.h", |
| ] |
| configs += [ "../..:common_config" ] |
| public_configs = [ "../..:common_inherited_config" ] |
| deps = [ |
| "../..:webrtc_common", |
| "../../base:rtc_base_approved", |
| ] |
| } |
| |
| source_set("audio_encoder_interface") { |
| sources = [ |
| "codecs/audio_encoder.cc", |
| "codecs/audio_encoder.h", |
| ] |
| configs += [ "../..:common_config" ] |
| public_configs = [ "../..:common_inherited_config" ] |
| deps = [ |
| "../..:webrtc_common", |
| "../../base:rtc_base_approved", |
| ] |
| } |
| |
| config("cng_config") { |
| include_dirs = [ |
| "../../..", |
| "codecs/cng/include", |
| ] |
| } |
| |
| source_set("cng") { |
| sources = [ |
| "codecs/cng/audio_encoder_cng.cc", |
| "codecs/cng/audio_encoder_cng.h", |
| "codecs/cng/webrtc_cng.cc", |
| "codecs/cng/webrtc_cng.h", |
| ] |
| |
| configs += [ "../..:common_config" ] |
| |
| public_configs = [ |
| "../..:common_inherited_config", |
| ":cng_config", |
| ] |
| |
| deps = [ |
| ":audio_encoder_interface", |
| "../../common_audio", |
| ] |
| } |
| |
| config("red_config") { |
| include_dirs = [ "codecs/red" ] |
| } |
| |
| source_set("red") { |
| sources = [ |
| "codecs/red/audio_encoder_copy_red.cc", |
| "codecs/red/audio_encoder_copy_red.h", |
| ] |
| |
| configs += [ "../..:common_config" ] |
| |
| public_configs = [ |
| "../..:common_inherited_config", |
| ":red_config", |
| ] |
| |
| deps = [ |
| ":audio_encoder_interface", |
| "../../common_audio", |
| ] |
| } |
| |
| config("g711_config") { |
| include_dirs = [ |
| "../../..", |
| "codecs/g711/include", |
| ] |
| } |
| |
| source_set("g711") { |
| sources = [ |
| "codecs/g711/audio_decoder_pcm.cc", |
| "codecs/g711/audio_decoder_pcm.h", |
| "codecs/g711/audio_encoder_pcm.cc", |
| "codecs/g711/audio_encoder_pcm.h", |
| "codecs/g711/g711.c", |
| "codecs/g711/g711.h", |
| "codecs/g711/g711_interface.c", |
| "codecs/g711/g711_interface.h", |
| ] |
| |
| configs += [ "../..:common_config" ] |
| |
| public_configs = [ |
| "../..:common_inherited_config", |
| ":g711_config", |
| ] |
| |
| deps = [ |
| ":audio_decoder_interface", |
| ":audio_encoder_interface", |
| ] |
| } |
| |
| config("g722_config") { |
| include_dirs = [ |
| "../../..", |
| "codecs/g722/include", |
| ] |
| } |
| |
| source_set("g722") { |
| sources = [ |
| "codecs/g722/audio_decoder_g722.cc", |
| "codecs/g722/audio_decoder_g722.h", |
| "codecs/g722/audio_encoder_g722.cc", |
| "codecs/g722/audio_encoder_g722.h", |
| "codecs/g722/g722_decode.c", |
| "codecs/g722/g722_enc_dec.h", |
| "codecs/g722/g722_encode.c", |
| "codecs/g722/g722_interface.c", |
| "codecs/g722/g722_interface.h", |
| ] |
| |
| configs += [ "../..:common_config" ] |
| |
| public_configs = [ |
| "../..:common_inherited_config", |
| ":g722_config", |
| ] |
| |
| deps = [ |
| ":audio_decoder_interface", |
| ":audio_encoder_interface", |
| ] |
| } |
| |
| config("ilbc_config") { |
| include_dirs = [ |
| "../../..", |
| "codecs/ilbc/include", |
| ] |
| } |
| |
| source_set("ilbc") { |
| sources = [ |
| "codecs/ilbc/abs_quant.c", |
| "codecs/ilbc/abs_quant.h", |
| "codecs/ilbc/abs_quant_loop.c", |
| "codecs/ilbc/abs_quant_loop.h", |
| "codecs/ilbc/audio_decoder_ilbc.cc", |
| "codecs/ilbc/audio_decoder_ilbc.h", |
| "codecs/ilbc/audio_encoder_ilbc.cc", |
| "codecs/ilbc/audio_encoder_ilbc.h", |
| "codecs/ilbc/augmented_cb_corr.c", |
| "codecs/ilbc/augmented_cb_corr.h", |
| "codecs/ilbc/bw_expand.c", |
| "codecs/ilbc/bw_expand.h", |
| "codecs/ilbc/cb_construct.c", |
| "codecs/ilbc/cb_construct.h", |
| "codecs/ilbc/cb_mem_energy.c", |
| "codecs/ilbc/cb_mem_energy.h", |
| "codecs/ilbc/cb_mem_energy_augmentation.c", |
| "codecs/ilbc/cb_mem_energy_augmentation.h", |
| "codecs/ilbc/cb_mem_energy_calc.c", |
| "codecs/ilbc/cb_mem_energy_calc.h", |
| "codecs/ilbc/cb_search.c", |
| "codecs/ilbc/cb_search.h", |
| "codecs/ilbc/cb_search_core.c", |
| "codecs/ilbc/cb_search_core.h", |
| "codecs/ilbc/cb_update_best_index.c", |
| "codecs/ilbc/cb_update_best_index.h", |
| "codecs/ilbc/chebyshev.c", |
| "codecs/ilbc/chebyshev.h", |
| "codecs/ilbc/comp_corr.c", |
| "codecs/ilbc/comp_corr.h", |
| "codecs/ilbc/constants.c", |
| "codecs/ilbc/constants.h", |
| "codecs/ilbc/create_augmented_vec.c", |
| "codecs/ilbc/create_augmented_vec.h", |
| "codecs/ilbc/decode.c", |
| "codecs/ilbc/decode.h", |
| "codecs/ilbc/decode_residual.c", |
| "codecs/ilbc/decode_residual.h", |
| "codecs/ilbc/decoder_interpolate_lsf.c", |
| "codecs/ilbc/decoder_interpolate_lsf.h", |
| "codecs/ilbc/defines.h", |
| "codecs/ilbc/do_plc.c", |
| "codecs/ilbc/do_plc.h", |
| "codecs/ilbc/encode.c", |
| "codecs/ilbc/encode.h", |
| "codecs/ilbc/energy_inverse.c", |
| "codecs/ilbc/energy_inverse.h", |
| "codecs/ilbc/enh_upsample.c", |
| "codecs/ilbc/enh_upsample.h", |
| "codecs/ilbc/enhancer.c", |
| "codecs/ilbc/enhancer.h", |
| "codecs/ilbc/enhancer_interface.c", |
| "codecs/ilbc/enhancer_interface.h", |
| "codecs/ilbc/filtered_cb_vecs.c", |
| "codecs/ilbc/filtered_cb_vecs.h", |
| "codecs/ilbc/frame_classify.c", |
| "codecs/ilbc/frame_classify.h", |
| "codecs/ilbc/gain_dequant.c", |
| "codecs/ilbc/gain_dequant.h", |
| "codecs/ilbc/gain_quant.c", |
| "codecs/ilbc/gain_quant.h", |
| "codecs/ilbc/get_cd_vec.c", |
| "codecs/ilbc/get_cd_vec.h", |
| "codecs/ilbc/get_lsp_poly.c", |
| "codecs/ilbc/get_lsp_poly.h", |
| "codecs/ilbc/get_sync_seq.c", |
| "codecs/ilbc/get_sync_seq.h", |
| "codecs/ilbc/hp_input.c", |
| "codecs/ilbc/hp_input.h", |
| "codecs/ilbc/hp_output.c", |
| "codecs/ilbc/hp_output.h", |
| "codecs/ilbc/ilbc.c", |
| "codecs/ilbc/ilbc.h", |
| "codecs/ilbc/index_conv_dec.c", |
| "codecs/ilbc/index_conv_dec.h", |
| "codecs/ilbc/index_conv_enc.c", |
| "codecs/ilbc/index_conv_enc.h", |
| "codecs/ilbc/init_decode.c", |
| "codecs/ilbc/init_decode.h", |
| "codecs/ilbc/init_encode.c", |
| "codecs/ilbc/init_encode.h", |
| "codecs/ilbc/interpolate.c", |
| "codecs/ilbc/interpolate.h", |
| "codecs/ilbc/interpolate_samples.c", |
| "codecs/ilbc/interpolate_samples.h", |
| "codecs/ilbc/lpc_encode.c", |
| "codecs/ilbc/lpc_encode.h", |
| "codecs/ilbc/lsf_check.c", |
| "codecs/ilbc/lsf_check.h", |
| "codecs/ilbc/lsf_interpolate_to_poly_dec.c", |
| "codecs/ilbc/lsf_interpolate_to_poly_dec.h", |
| "codecs/ilbc/lsf_interpolate_to_poly_enc.c", |
| "codecs/ilbc/lsf_interpolate_to_poly_enc.h", |
| "codecs/ilbc/lsf_to_lsp.c", |
| "codecs/ilbc/lsf_to_lsp.h", |
| "codecs/ilbc/lsf_to_poly.c", |
| "codecs/ilbc/lsf_to_poly.h", |
| "codecs/ilbc/lsp_to_lsf.c", |
| "codecs/ilbc/lsp_to_lsf.h", |
| "codecs/ilbc/my_corr.c", |
| "codecs/ilbc/my_corr.h", |
| "codecs/ilbc/nearest_neighbor.c", |
| "codecs/ilbc/nearest_neighbor.h", |
| "codecs/ilbc/pack_bits.c", |
| "codecs/ilbc/pack_bits.h", |
| "codecs/ilbc/poly_to_lsf.c", |
| "codecs/ilbc/poly_to_lsf.h", |
| "codecs/ilbc/poly_to_lsp.c", |
| "codecs/ilbc/poly_to_lsp.h", |
| "codecs/ilbc/refiner.c", |
| "codecs/ilbc/refiner.h", |
| "codecs/ilbc/simple_interpolate_lsf.c", |
| "codecs/ilbc/simple_interpolate_lsf.h", |
| "codecs/ilbc/simple_lpc_analysis.c", |
| "codecs/ilbc/simple_lpc_analysis.h", |
| "codecs/ilbc/simple_lsf_dequant.c", |
| "codecs/ilbc/simple_lsf_dequant.h", |
| "codecs/ilbc/simple_lsf_quant.c", |
| "codecs/ilbc/simple_lsf_quant.h", |
| "codecs/ilbc/smooth.c", |
| "codecs/ilbc/smooth.h", |
| "codecs/ilbc/smooth_out_data.c", |
| "codecs/ilbc/smooth_out_data.h", |
| "codecs/ilbc/sort_sq.c", |
| "codecs/ilbc/sort_sq.h", |
| "codecs/ilbc/split_vq.c", |
| "codecs/ilbc/split_vq.h", |
| "codecs/ilbc/state_construct.c", |
| "codecs/ilbc/state_construct.h", |
| "codecs/ilbc/state_search.c", |
| "codecs/ilbc/state_search.h", |
| "codecs/ilbc/swap_bytes.c", |
| "codecs/ilbc/swap_bytes.h", |
| "codecs/ilbc/unpack_bits.c", |
| "codecs/ilbc/unpack_bits.h", |
| "codecs/ilbc/vq3.c", |
| "codecs/ilbc/vq3.h", |
| "codecs/ilbc/vq4.c", |
| "codecs/ilbc/vq4.h", |
| "codecs/ilbc/window32_w32.c", |
| "codecs/ilbc/window32_w32.h", |
| "codecs/ilbc/xcorr_coef.c", |
| "codecs/ilbc/xcorr_coef.h", |
| ] |
| |
| configs += [ "../..:common_config" ] |
| |
| public_configs = [ |
| "../..:common_inherited_config", |
| ":ilbc_config", |
| ] |
| |
| deps = [ |
| ":audio_decoder_interface", |
| ":audio_encoder_interface", |
| "../../common_audio", |
| ] |
| } |
| |
| source_set("isac_common") { |
| sources = [ |
| "codecs/isac/audio_encoder_isac_t.h", |
| "codecs/isac/audio_encoder_isac_t_impl.h", |
| "codecs/isac/locked_bandwidth_info.cc", |
| "codecs/isac/locked_bandwidth_info.h", |
| ] |
| public_configs = [ "../..:common_inherited_config" ] |
| } |
| |
| config("isac_config") { |
| include_dirs = [ |
| "../../..", |
| "codecs/isac/main/include", |
| ] |
| } |
| |
| source_set("isac") { |
| sources = [ |
| "codecs/isac/main/include/audio_decoder_isac.h", |
| "codecs/isac/main/include/audio_encoder_isac.h", |
| "codecs/isac/main/include/isac.h", |
| "codecs/isac/main/source/arith_routines.c", |
| "codecs/isac/main/source/arith_routines.h", |
| "codecs/isac/main/source/arith_routines_hist.c", |
| "codecs/isac/main/source/arith_routines_logist.c", |
| "codecs/isac/main/source/audio_decoder_isac.cc", |
| "codecs/isac/main/source/audio_encoder_isac.cc", |
| "codecs/isac/main/source/bandwidth_estimator.c", |
| "codecs/isac/main/source/bandwidth_estimator.h", |
| "codecs/isac/main/source/codec.h", |
| "codecs/isac/main/source/crc.c", |
| "codecs/isac/main/source/crc.h", |
| "codecs/isac/main/source/decode.c", |
| "codecs/isac/main/source/decode_bwe.c", |
| "codecs/isac/main/source/encode.c", |
| "codecs/isac/main/source/encode_lpc_swb.c", |
| "codecs/isac/main/source/encode_lpc_swb.h", |
| "codecs/isac/main/source/entropy_coding.c", |
| "codecs/isac/main/source/entropy_coding.h", |
| "codecs/isac/main/source/fft.c", |
| "codecs/isac/main/source/fft.h", |
| "codecs/isac/main/source/filter_functions.c", |
| "codecs/isac/main/source/filterbank_tables.c", |
| "codecs/isac/main/source/filterbank_tables.h", |
| "codecs/isac/main/source/filterbanks.c", |
| "codecs/isac/main/source/intialize.c", |
| "codecs/isac/main/source/isac.c", |
| "codecs/isac/main/source/isac_float_type.h", |
| "codecs/isac/main/source/lattice.c", |
| "codecs/isac/main/source/lpc_analysis.c", |
| "codecs/isac/main/source/lpc_analysis.h", |
| "codecs/isac/main/source/lpc_gain_swb_tables.c", |
| "codecs/isac/main/source/lpc_gain_swb_tables.h", |
| "codecs/isac/main/source/lpc_shape_swb12_tables.c", |
| "codecs/isac/main/source/lpc_shape_swb12_tables.h", |
| "codecs/isac/main/source/lpc_shape_swb16_tables.c", |
| "codecs/isac/main/source/lpc_shape_swb16_tables.h", |
| "codecs/isac/main/source/lpc_tables.c", |
| "codecs/isac/main/source/lpc_tables.h", |
| "codecs/isac/main/source/os_specific_inline.h", |
| "codecs/isac/main/source/pitch_estimator.c", |
| "codecs/isac/main/source/pitch_estimator.h", |
| "codecs/isac/main/source/pitch_filter.c", |
| "codecs/isac/main/source/pitch_gain_tables.c", |
| "codecs/isac/main/source/pitch_gain_tables.h", |
| "codecs/isac/main/source/pitch_lag_tables.c", |
| "codecs/isac/main/source/pitch_lag_tables.h", |
| "codecs/isac/main/source/settings.h", |
| "codecs/isac/main/source/spectrum_ar_model_tables.c", |
| "codecs/isac/main/source/spectrum_ar_model_tables.h", |
| "codecs/isac/main/source/structs.h", |
| "codecs/isac/main/source/transform.c", |
| ] |
| |
| if (is_linux) { |
| libs = [ "m" ] |
| } |
| |
| configs += [ "../..:common_config" ] |
| |
| public_configs = [ |
| "../..:common_inherited_config", |
| ":isac_config", |
| ] |
| |
| deps = [ |
| ":audio_decoder_interface", |
| ":audio_encoder_interface", |
| ":isac_common", |
| "../../common_audio", |
| ] |
| } |
| |
| config("isac_fix_config") { |
| include_dirs = [ |
| "../../..", |
| "codecs/isac/fix/include", |
| ] |
| } |
| |
| source_set("isac_fix") { |
| sources = [ |
| "codecs/isac/fix/include/audio_decoder_isacfix.h", |
| "codecs/isac/fix/include/audio_encoder_isacfix.h", |
| "codecs/isac/fix/include/isacfix.h", |
| "codecs/isac/fix/source/arith_routines.c", |
| "codecs/isac/fix/source/arith_routines_hist.c", |
| "codecs/isac/fix/source/arith_routines_logist.c", |
| "codecs/isac/fix/source/arith_routins.h", |
| "codecs/isac/fix/source/audio_decoder_isacfix.cc", |
| "codecs/isac/fix/source/audio_encoder_isacfix.cc", |
| "codecs/isac/fix/source/bandwidth_estimator.c", |
| "codecs/isac/fix/source/bandwidth_estimator.h", |
| "codecs/isac/fix/source/codec.h", |
| "codecs/isac/fix/source/decode.c", |
| "codecs/isac/fix/source/decode_bwe.c", |
| "codecs/isac/fix/source/decode_plc.c", |
| "codecs/isac/fix/source/encode.c", |
| "codecs/isac/fix/source/entropy_coding.c", |
| "codecs/isac/fix/source/entropy_coding.h", |
| "codecs/isac/fix/source/fft.c", |
| "codecs/isac/fix/source/fft.h", |
| "codecs/isac/fix/source/filterbank_tables.c", |
| "codecs/isac/fix/source/filterbank_tables.h", |
| "codecs/isac/fix/source/filterbanks.c", |
| "codecs/isac/fix/source/filters.c", |
| "codecs/isac/fix/source/initialize.c", |
| "codecs/isac/fix/source/isac_fix_type.h", |
| "codecs/isac/fix/source/isacfix.c", |
| "codecs/isac/fix/source/lattice.c", |
| "codecs/isac/fix/source/lattice_c.c", |
| "codecs/isac/fix/source/lpc_masking_model.c", |
| "codecs/isac/fix/source/lpc_masking_model.h", |
| "codecs/isac/fix/source/lpc_tables.c", |
| "codecs/isac/fix/source/lpc_tables.h", |
| "codecs/isac/fix/source/pitch_estimator.c", |
| "codecs/isac/fix/source/pitch_estimator.h", |
| "codecs/isac/fix/source/pitch_estimator_c.c", |
| "codecs/isac/fix/source/pitch_filter.c", |
| "codecs/isac/fix/source/pitch_filter_c.c", |
| "codecs/isac/fix/source/pitch_gain_tables.c", |
| "codecs/isac/fix/source/pitch_gain_tables.h", |
| "codecs/isac/fix/source/pitch_lag_tables.c", |
| "codecs/isac/fix/source/pitch_lag_tables.h", |
| "codecs/isac/fix/source/settings.h", |
| "codecs/isac/fix/source/spectrum_ar_model_tables.c", |
| "codecs/isac/fix/source/spectrum_ar_model_tables.h", |
| "codecs/isac/fix/source/structs.h", |
| "codecs/isac/fix/source/transform.c", |
| "codecs/isac/fix/source/transform_tables.c", |
| ] |
| |
| if (!is_win) { |
| defines = [ "WEBRTC_LINUX" ] |
| } |
| |
| configs += [ "../..:common_config" ] |
| |
| public_configs = [ |
| "../..:common_inherited_config", |
| ":isac_fix_config", |
| ] |
| |
| deps = [ |
| ":audio_decoder_interface", |
| ":audio_encoder_interface", |
| ":isac_common", |
| "../../common_audio", |
| "../../system_wrappers", |
| ] |
| |
| if (rtc_build_with_neon) { |
| deps += [ ":isac_neon" ] |
| } |
| |
| if (current_cpu == "arm" && arm_version >= 7) { |
| sources += [ |
| "codecs/isac/fix/source/lattice_armv7.S", |
| "codecs/isac/fix/source/pitch_filter_armv6.S", |
| ] |
| sources -= [ |
| "codecs/isac/fix/source/lattice_c.c", |
| "codecs/isac/fix/source/pitch_filter_c.c", |
| ] |
| } |
| |
| if (current_cpu == "mipsel") { |
| sources += [ |
| "codecs/isac/fix/source/entropy_coding_mips.c", |
| "codecs/isac/fix/source/filters_mips.c", |
| "codecs/isac/fix/source/lattice_mips.c", |
| "codecs/isac/fix/source/pitch_estimator_mips.c", |
| "codecs/isac/fix/source/transform_mips.c", |
| ] |
| sources -= [ |
| "codecs/isac/fix/source/lattice_c.c", |
| "codecs/isac/fix/source/pitch_estimator_c.c", |
| ] |
| if (mips_dsp_rev > 0) { |
| sources += [ "codecs/isac/fix/source/filterbanks_mips.c" ] |
| } |
| if (mips_dsp_rev > 1) { |
| sources += [ |
| "codecs/isac/fix/source/lpc_masking_model_mips.c", |
| "codecs/isac/fix/source/pitch_filter_mips.c", |
| ] |
| sources -= [ "codecs/isac/fix/source/pitch_filter_c.c" ] |
| } |
| } |
| } |
| |
| if (rtc_build_with_neon) { |
| source_set("isac_neon") { |
| sources = [ |
| "codecs/isac/fix/source/entropy_coding_neon.c", |
| "codecs/isac/fix/source/filterbanks_neon.c", |
| "codecs/isac/fix/source/filters_neon.c", |
| "codecs/isac/fix/source/lattice_neon.c", |
| "codecs/isac/fix/source/transform_neon.c", |
| ] |
| |
| if (current_cpu != "arm64") { |
| # Enable compilation for the 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. |
| configs -= [ "//build/config/compiler:compiler_arm_fpu" ] |
| cflags = [ "-mfpu=neon" ] |
| } |
| |
| # Disable LTO on NEON targets due to compiler bug. |
| # TODO(fdegans): Enable this. See crbug.com/408997. |
| if (rtc_use_lto) { |
| cflags -= [ |
| "-flto", |
| "-ffat-lto-objects", |
| ] |
| } |
| |
| configs += [ "../..:common_config" ] |
| public_configs = [ "../..:common_inherited_config" ] |
| |
| deps = [ |
| "../../common_audio", |
| ] |
| } |
| } |
| |
| config("pcm16b_config") { |
| include_dirs = [ |
| "../../..", |
| "codecs/pcm16b/include", |
| ] |
| } |
| |
| source_set("pcm16b") { |
| sources = [ |
| "codecs/pcm16b/audio_decoder_pcm16b.cc", |
| "codecs/pcm16b/audio_decoder_pcm16b.h", |
| "codecs/pcm16b/audio_encoder_pcm16b.cc", |
| "codecs/pcm16b/audio_encoder_pcm16b.h", |
| "codecs/pcm16b/pcm16b.c", |
| "codecs/pcm16b/pcm16b.h", |
| ] |
| |
| deps = [ |
| ":audio_decoder_interface", |
| ":audio_encoder_interface", |
| ":g711", |
| ] |
| |
| configs += [ "../..:common_config" ] |
| |
| public_configs = [ |
| "../..:common_inherited_config", |
| ":pcm16b_config", |
| ] |
| } |
| |
| config("opus_config") { |
| include_dirs = [ "../../.." ] |
| } |
| |
| source_set("webrtc_opus") { |
| sources = [ |
| "codecs/opus/audio_decoder_opus.cc", |
| "codecs/opus/audio_decoder_opus.h", |
| "codecs/opus/audio_encoder_opus.cc", |
| "codecs/opus/audio_encoder_opus.h", |
| "codecs/opus/opus_inst.h", |
| "codecs/opus/opus_interface.c", |
| "codecs/opus/opus_interface.h", |
| ] |
| |
| deps = [ |
| ":audio_decoder_interface", |
| ":audio_encoder_interface", |
| "../../base:rtc_base_approved", |
| ] |
| |
| if (rtc_build_opus) { |
| configs += [ "../..:common_config" ] |
| public_configs = [ "../..:common_inherited_config" ] |
| |
| public_deps = [ |
| rtc_opus_dir, |
| ] |
| } else if (build_with_mozilla) { |
| include_dirs = [ getenv("DIST") + "/include/opus" ] |
| } |
| } |
| |
| config("neteq_config") { |
| include_dirs = [ |
| # Need Opus header files for the audio classifier. |
| "//third_party/opus/src/celt", |
| "//third_party/opus/src/src", |
| ] |
| } |
| |
| source_set("neteq") { |
| sources = [ |
| "neteq/accelerate.cc", |
| "neteq/accelerate.h", |
| "neteq/audio_classifier.cc", |
| "neteq/audio_classifier.h", |
| "neteq/audio_decoder_impl.cc", |
| "neteq/audio_decoder_impl.h", |
| "neteq/audio_multi_vector.cc", |
| "neteq/audio_multi_vector.h", |
| "neteq/audio_vector.cc", |
| "neteq/audio_vector.h", |
| "neteq/background_noise.cc", |
| "neteq/background_noise.h", |
| "neteq/buffer_level_filter.cc", |
| "neteq/buffer_level_filter.h", |
| "neteq/comfort_noise.cc", |
| "neteq/comfort_noise.h", |
| "neteq/cross_correlation.cc", |
| "neteq/cross_correlation.h", |
| "neteq/decision_logic.cc", |
| "neteq/decision_logic.h", |
| "neteq/decision_logic_fax.cc", |
| "neteq/decision_logic_fax.h", |
| "neteq/decision_logic_normal.cc", |
| "neteq/decision_logic_normal.h", |
| "neteq/decoder_database.cc", |
| "neteq/decoder_database.h", |
| "neteq/defines.h", |
| "neteq/delay_manager.cc", |
| "neteq/delay_manager.h", |
| "neteq/delay_peak_detector.cc", |
| "neteq/delay_peak_detector.h", |
| "neteq/dsp_helper.cc", |
| "neteq/dsp_helper.h", |
| "neteq/dtmf_buffer.cc", |
| "neteq/dtmf_buffer.h", |
| "neteq/dtmf_tone_generator.cc", |
| "neteq/dtmf_tone_generator.h", |
| "neteq/expand.cc", |
| "neteq/expand.h", |
| "neteq/include/neteq.h", |
| "neteq/merge.cc", |
| "neteq/merge.h", |
| "neteq/nack_tracker.cc", |
| "neteq/nack_tracker.h", |
| "neteq/neteq.cc", |
| "neteq/neteq_impl.cc", |
| "neteq/neteq_impl.h", |
| "neteq/normal.cc", |
| "neteq/normal.h", |
| "neteq/packet.cc", |
| "neteq/packet.h", |
| "neteq/packet_buffer.cc", |
| "neteq/packet_buffer.h", |
| "neteq/payload_splitter.cc", |
| "neteq/payload_splitter.h", |
| "neteq/post_decode_vad.cc", |
| "neteq/post_decode_vad.h", |
| "neteq/preemptive_expand.cc", |
| "neteq/preemptive_expand.h", |
| "neteq/random_vector.cc", |
| "neteq/random_vector.h", |
| "neteq/rtcp.cc", |
| "neteq/rtcp.h", |
| "neteq/statistics_calculator.cc", |
| "neteq/statistics_calculator.h", |
| "neteq/sync_buffer.cc", |
| "neteq/sync_buffer.h", |
| "neteq/tick_timer.cc", |
| "neteq/tick_timer.h", |
| "neteq/time_stretch.cc", |
| "neteq/time_stretch.h", |
| "neteq/timestamp_scaler.cc", |
| "neteq/timestamp_scaler.h", |
| ] |
| |
| configs += [ "../..:common_config" ] |
| |
| public_configs = [ |
| "../..:common_inherited_config", |
| ":neteq_config", |
| ] |
| |
| deps = [ |
| ":audio_decoder_interface", |
| ":builtin_audio_decoder_factory", |
| ":cng", |
| ":g711", |
| ":pcm16b", |
| ":rent_a_codec", |
| "../..:webrtc_common", |
| "../../common_audio", |
| "../../system_wrappers", |
| ] |
| |
| defines = [] |
| |
| if (rtc_include_ilbc) { |
| defines += [ "WEBRTC_CODEC_ILBC" ] |
| deps += [ ":ilbc" ] |
| } |
| if (rtc_include_opus) { |
| defines += [ "WEBRTC_CODEC_OPUS" ] |
| deps += [ ":webrtc_opus" ] |
| } |
| if (!build_with_mozilla) { |
| if (current_cpu == "arm") { |
| defines += [ "WEBRTC_CODEC_ISACFX" ] |
| deps += [ ":isac_fix" ] |
| } else { |
| defines += [ "WEBRTC_CODEC_ISAC" ] |
| deps += [ ":isac" ] |
| } |
| defines += [ "WEBRTC_CODEC_G722" ] |
| deps += [ ":g722" ] |
| } |
| } |
| |
| if (rtc_include_tests) { |
| source_set("acm_receive_test") { |
| testonly = true |
| sources = [ |
| "acm2/acm_receive_test_oldapi.cc", |
| "acm2/acm_receive_test_oldapi.h", |
| ] |
| |
| configs += [ "../..:common_config" ] |
| public_configs = [ "../..:common_inherited_config" ] |
| |
| if (is_clang) { |
| # Suppress warnings from the Chromium Clang plugins (bugs.webrtc.org/163). |
| configs -= [ "//build/config/clang:find_bad_constructs" ] |
| } |
| |
| defines = audio_coding_defines |
| |
| deps = audio_coding_deps + [ |
| ":audio_coding", |
| ":neteq_unittest_tools", |
| "//testing/gtest", |
| ] |
| } |
| |
| source_set("acm_send_test") { |
| testonly = true |
| sources = [ |
| "acm2/acm_send_test_oldapi.cc", |
| "acm2/acm_send_test_oldapi.h", |
| ] |
| |
| configs += [ "../..:common_config" ] |
| public_configs = [ "../..:common_inherited_config" ] |
| |
| if (is_clang) { |
| # Suppress warnings from the Chromium Clang plugins (bugs.webrtc.org/163). |
| configs -= [ "//build/config/clang:find_bad_constructs" ] |
| } |
| |
| defines = audio_coding_defines |
| |
| deps = audio_coding_deps + [ |
| ":audio_coding", |
| ":neteq_unittest_tools", |
| "//testing/gtest", |
| ] |
| } |
| |
| executable("delay_test") { |
| testonly = true |
| sources = [ |
| "test/Channel.cc", |
| "test/PCMFile.cc", |
| "test/delay_test.cc", |
| "test/utility.cc", |
| ] |
| |
| configs += [ "../..:common_config" ] |
| public_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" ] |
| } |
| |
| deps = [ |
| ":audio_coding", |
| "../../:webrtc_common", |
| "../../system_wrappers", |
| "../../system_wrappers:system_wrappers_default", |
| "../../test:test_support", |
| "../rtp_rtcp", |
| "//testing/gtest", |
| "//third_party/gflags:gflags", |
| ] |
| } # delay_test |
| |
| executable("insert_packet_with_timing") { |
| testonly = true |
| sources = [ |
| "test/Channel.cc", |
| "test/PCMFile.cc", |
| "test/insert_packet_with_timing.cc", |
| ] |
| |
| configs += [ "../..:common_config" ] |
| public_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" ] |
| } |
| |
| deps = [ |
| ":audio_coding", |
| "../../:webrtc_common", |
| "../../system_wrappers", |
| "../../system_wrappers:system_wrappers_default", |
| "../../test:test_support", |
| "../rtp_rtcp", |
| "//testing/gtest", |
| "//third_party/gflags:gflags", |
| ] |
| } # insert_packet_with_timing |
| |
| test("audio_decoder_unittests") { |
| testonly = true |
| sources = [ |
| "neteq/audio_decoder_unittest.cc", |
| ] |
| |
| configs += [ "../..:common_config" ] |
| public_configs = [ "../..:common_inherited_config" ] |
| |
| if (is_clang) { |
| # Suppress warnings from the Chromium Clang plugins (bugs.webrtc.org/163). |
| configs -= [ "//build/config/clang:find_bad_constructs" ] |
| } |
| |
| deps = [] |
| |
| defines = neteq_defines |
| |
| deps += audio_coding_deps |
| deps += [ |
| ":audio_decoder_interface", |
| ":isac", |
| ":isac_fix", |
| ":neteq", |
| ":neteq_unittest_tools", |
| "../../common_audio/", |
| "../../test:test_support_main", |
| "//testing/gtest", |
| ] |
| |
| if (is_android) { |
| deps += [ "//testing/android/native_test:native_test_native_code" ] |
| } |
| |
| if (is_ios) { |
| data = [ |
| "//resources/audio_coding/testfile32kHz.pcm", |
| ] |
| } |
| } # audio_decoder_unittests |
| |
| if (rtc_enable_protobuf) { |
| proto_library("neteq_unittest_proto") { |
| sources = [ |
| "neteq/neteq_unittest.proto", |
| ] |
| proto_out_dir = "webrtc/audio_coding/neteq" |
| } |
| |
| source_set("rtc_event_log_source") { |
| testonly = true |
| sources = [ |
| "neteq/tools/rtc_event_log_source.cc", |
| "neteq/tools/rtc_event_log_source.h", |
| ] |
| |
| if (is_clang) { |
| # Suppress warnings from the Chromium Clang plugins |
| # (bugs.webrtc.org/163). |
| configs -= [ "//build/config/clang:find_bad_constructs" ] |
| } |
| |
| deps = [ |
| "../../:rtc_event_log_parser", |
| ] |
| public_deps = [ |
| "../../:rtc_event_log_proto", |
| ] |
| } |
| |
| test("neteq_rtpplay") { |
| testonly = true |
| defines = [] |
| deps = [] |
| sources = [ |
| "neteq/tools/neteq_rtpplay.cc", |
| ] |
| |
| if (is_clang) { |
| # Suppress warnings from the Chromium Clang plugins |
| # (bugs.webrtc.org/163). |
| configs -= [ "//build/config/clang:find_bad_constructs" ] |
| } |
| |
| if (is_win) { |
| cflags = [ |
| # TODO(kjellander): bugs.webrtc.org/261: Fix this warning. |
| "/wd4373", # virtual function override. |
| ] |
| } |
| |
| deps += [ |
| ":neteq", |
| ":neteq_unittest_tools", |
| "../../system_wrappers:system_wrappers_default", |
| "../../test:test_support", |
| "//third_party/gflags", |
| ] |
| } |
| } |
| |
| test("audio_codec_speed_tests") { |
| testonly = true |
| defines = [] |
| deps = [] |
| sources = [ |
| "codecs/isac/fix/test/isac_speed_test.cc", |
| "codecs/opus/opus_speed_test.cc", |
| "codecs/tools/audio_codec_speed_test.cc", |
| "codecs/tools/audio_codec_speed_test.h", |
| ] |
| |
| if (is_clang) { |
| # Suppress warnings from the Chromium Clang plugins |
| # (bugs.webrtc.org/163). |
| configs -= [ "//build/config/clang:find_bad_constructs" ] |
| } |
| |
| if (is_android) { |
| deps += [ "//testing/android/native_test:native_test_native_code" ] |
| } |
| |
| deps += [ |
| ":isac_fix", |
| ":webrtc_opus", |
| "../../system_wrappers:system_wrappers_default", |
| "../../test:test_support_main", |
| "../audio_processing/", |
| "//testing/gtest", |
| ] |
| } |
| |
| source_set("neteq_test_support") { |
| testonly = true |
| sources = [ |
| "neteq/tools/neteq_external_decoder_test.cc", |
| "neteq/tools/neteq_external_decoder_test.h", |
| "neteq/tools/neteq_performance_test.cc", |
| "neteq/tools/neteq_performance_test.h", |
| "neteq/tools/neteq_quality_test.cc", |
| "neteq/tools/neteq_quality_test.h", |
| ] |
| |
| configs += [ "../..:common_config" ] |
| public_configs = [ "../..:common_inherited_config" ] |
| |
| if (is_clang) { |
| # Suppress warnings from the Chromium Clang plugins (bugs.webrtc.org/163). |
| configs -= [ "//build/config/clang:find_bad_constructs" ] |
| } |
| |
| deps = [ |
| ":neteq", |
| ":neteq_unittest_tools", |
| ":pcm16b", |
| "//testing/gtest", |
| "//third_party/gflags", |
| ] |
| } |
| |
| config("neteq_unittest_tools_config") { |
| include_dirs = [ "tools" ] |
| } |
| |
| source_set("neteq_unittest_tools") { |
| testonly = true |
| sources = [ |
| "neteq/tools/audio_checksum.h", |
| "neteq/tools/audio_loop.cc", |
| "neteq/tools/audio_loop.h", |
| "neteq/tools/audio_sink.h", |
| "neteq/tools/constant_pcm_packet_source.cc", |
| "neteq/tools/constant_pcm_packet_source.h", |
| "neteq/tools/fake_decode_from_file.cc", |
| "neteq/tools/fake_decode_from_file.h", |
| "neteq/tools/input_audio_file.cc", |
| "neteq/tools/input_audio_file.h", |
| "neteq/tools/neteq_input.h", |
| "neteq/tools/neteq_packet_source_input.cc", |
| "neteq/tools/neteq_packet_source_input.h", |
| "neteq/tools/neteq_replacement_input.cc", |
| "neteq/tools/neteq_replacement_input.h", |
| "neteq/tools/neteq_test.cc", |
| "neteq/tools/neteq_test.h", |
| "neteq/tools/output_audio_file.h", |
| "neteq/tools/output_wav_file.h", |
| "neteq/tools/packet.cc", |
| "neteq/tools/packet.h", |
| "neteq/tools/packet_source.h", |
| "neteq/tools/resample_input_audio_file.cc", |
| "neteq/tools/resample_input_audio_file.h", |
| "neteq/tools/rtp_file_source.cc", |
| "neteq/tools/rtp_file_source.h", |
| "neteq/tools/rtp_generator.cc", |
| "neteq/tools/rtp_generator.h", |
| ] |
| |
| configs += [ "../..:common_config" ] |
| public_configs = [ |
| "../..:common_inherited_config", |
| ":neteq_unittest_tools_config", |
| ] |
| |
| if (is_clang) { |
| # Suppress warnings from the Chromium Clang plugins (bugs.webrtc.org/163). |
| configs -= [ "//build/config/clang:find_bad_constructs" ] |
| } |
| |
| deps = [ |
| "../../common_audio", |
| "../../test:rtp_test_utils", |
| "../rtp_rtcp", |
| ] |
| |
| if (rtc_enable_protobuf) { |
| deps += [ ":rtc_event_log_source" ] |
| } |
| } |
| |
| source_set("neteq_test_tools") { |
| testonly = true |
| sources = [ |
| "neteq/test/NETEQTEST_DummyRTPpacket.cc", |
| "neteq/test/NETEQTEST_DummyRTPpacket.h", |
| "neteq/test/NETEQTEST_RTPpacket.cc", |
| "neteq/test/NETEQTEST_RTPpacket.h", |
| ] |
| |
| deps = [ |
| ":cng", |
| ":g711", |
| ":g722", |
| ":ilbc", |
| ":isac", |
| ":pcm16b", |
| "../..:webrtc_common", |
| "//testing/gtest", |
| ] |
| |
| include_dirs = [ |
| "neteq/include", |
| "neteq/test", |
| "../../", |
| ] |
| |
| if (is_win) { |
| cflags = [ |
| # Disable warnings to enable Win64 build, issue 1323. |
| "/wd4267", # size_t to int truncation |
| ] |
| } |
| } |
| |
| config("RTPencode_config") { |
| defines = [ |
| "CODEC_ILBC", |
| "CODEC_PCM16B", |
| "CODEC_G711", |
| "CODEC_G722", |
| "CODEC_ISAC", |
| "CODEC_PCM16B_WB", |
| "CODEC_ISAC_SWB", |
| "CODEC_PCM16B_32KHZ", |
| "CODEC_PCM16B_48KHZ", |
| "CODEC_CNGCODEC8", |
| "CODEC_CNGCODEC16", |
| "CODEC_CNGCODEC32", |
| "CODEC_ATEVENT_DECODE", |
| "CODEC_RED", |
| "CODEC_OPUS", |
| ] |
| } |
| |
| executable("RTPencode") { |
| testonly = true |
| |
| deps = [ |
| # TODO(hlundin): Make RTPencode use ACM to encode files. |
| ":cng", |
| ":g711", |
| ":g722", |
| ":ilbc", |
| ":isac", |
| ":neteq_test_tools", |
| ":pcm16b", |
| ":webrtc_opus", |
| "../../common_audio", |
| ] |
| |
| configs += [ ":RTPencode_config" ] |
| |
| sources = [ |
| "neteq/test/RTPencode.cc", |
| ] |
| |
| include_dirs = [ |
| "neteq/include", |
| "neteq/test", |
| ] |
| |
| if (is_win) { |
| cflags = [ |
| # Disable warnings to enable Win64 build, issue 1323. |
| "/wd4267", # size_t to int truncation |
| ] |
| } |
| } |
| |
| executable("RTPchange") { |
| testonly = true |
| |
| sources = [ |
| "neteq/test/RTPchange.cc", |
| ] |
| |
| deps = [ |
| ":neteq_test_tools", |
| ] |
| } |
| |
| executable("rtpcat") { |
| testonly = true |
| |
| sources = [ |
| "neteq/tools/rtpcat.cc", |
| ] |
| |
| deps = [ |
| "../../system_wrappers:system_wrappers_default", |
| "../../test:rtp_test_utils", |
| "//testing/gtest", |
| ] |
| } |
| |
| executable("RTPtimeshift") { |
| testonly = true |
| |
| sources = [ |
| "neteq/test/RTPtimeshift.cc", |
| ] |
| |
| deps = [ |
| ":neteq_test_tools", |
| "//testing/gtest", |
| ] |
| } |
| |
| executable("RTPjitter") { |
| testonly = true |
| deps = [ |
| "../..:webrtc_common", |
| "//testing/gtest", |
| ] |
| sources = [ |
| "neteq/test/RTPjitter.cc", |
| ] |
| } |
| |
| executable("rtp_analyze") { |
| testonly = true |
| |
| sources = [ |
| "neteq/tools/rtp_analyze.cc", |
| ] |
| |
| deps = [ |
| ":neteq", |
| ":neteq_unittest_tools", |
| ":pcm16b", |
| "../../system_wrappers:system_wrappers_default", |
| "//testing/gtest", |
| "//third_party/gflags:gflags", |
| ] |
| |
| 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" ] |
| } |
| } |
| } |