blob: 96a0ed50136f5aa2817fa926fb6804124c7658cb [file] [log] [blame]
kwiberg327af332017-08-18 04:09:40 -07001# Copyright (c) 2017 The WebRTC project authors. All Rights Reserved.
2#
3# Use of this source code is governed by a BSD-style license
4# that can be found in the LICENSE file in the root of the source
5# tree. An additional intellectual property rights grant can be found
6# in the file PATENTS. All contributing project authors may
7# be found in the AUTHORS file in the root of the source tree.
8
9import("../../../webrtc.gni")
10if (is_android) {
11 import("//build/config/android/config.gni")
12 import("//build/config/android/rules.gni")
13}
14
Karl Wiberg735a8382017-10-05 11:00:38 +020015# The targets with _fix and _float suffixes unconditionally use the
16# fixed-point and floating-point iSAC implementations, respectively.
17# The targets without suffixes pick one of the implementations based
18# on cleverly chosen criteria.
19
20rtc_source_set("audio_encoder_isac") {
Per Kjellandera7f2d842018-01-10 15:54:53 +000021 visibility = [ "*" ]
Karl Wibergbb23c832018-04-22 19:55:00 +020022 poisonous = [ "audio_codecs" ]
Mirko Bonadeiccbe95f2020-01-21 12:10:10 +010023 public = [ "audio_encoder_isac.h" ]
Karl Wiberg735a8382017-10-05 11:00:38 +020024 public_configs = [ ":isac_config" ]
25 if (current_cpu == "arm") {
Mirko Bonadeiccbe95f2020-01-21 12:10:10 +010026 deps = [ ":audio_encoder_isac_fix" ]
Karl Wiberg735a8382017-10-05 11:00:38 +020027 } else {
Mirko Bonadeiccbe95f2020-01-21 12:10:10 +010028 deps = [ ":audio_encoder_isac_float" ]
Karl Wiberg735a8382017-10-05 11:00:38 +020029 }
30}
31
32rtc_source_set("audio_decoder_isac") {
Per Kjellandera7f2d842018-01-10 15:54:53 +000033 visibility = [ "*" ]
Karl Wibergbb23c832018-04-22 19:55:00 +020034 poisonous = [ "audio_codecs" ]
Mirko Bonadeiccbe95f2020-01-21 12:10:10 +010035 public = [ "audio_decoder_isac.h" ]
Karl Wiberg735a8382017-10-05 11:00:38 +020036 public_configs = [ ":isac_config" ]
37 if (current_cpu == "arm") {
Mirko Bonadeiccbe95f2020-01-21 12:10:10 +010038 deps = [ ":audio_decoder_isac_fix" ]
Karl Wiberg735a8382017-10-05 11:00:38 +020039 } else {
Mirko Bonadeiccbe95f2020-01-21 12:10:10 +010040 deps = [ ":audio_decoder_isac_float" ]
Karl Wiberg735a8382017-10-05 11:00:38 +020041 }
42}
43
44config("isac_config") {
45 visibility = [ ":*" ]
46 if (current_cpu == "arm") {
47 defines = [
48 "WEBRTC_USE_BUILTIN_ISAC_FIX=1",
49 "WEBRTC_USE_BUILTIN_ISAC_FLOAT=0",
50 ]
51 } else {
52 defines = [
53 "WEBRTC_USE_BUILTIN_ISAC_FIX=0",
54 "WEBRTC_USE_BUILTIN_ISAC_FLOAT=1",
55 ]
56 }
57}
58
Mirko Bonadei86d053c2019-10-17 21:32:04 +020059rtc_library("audio_encoder_isac_fix") {
Per Kjellandera7f2d842018-01-10 15:54:53 +000060 visibility = [ "*" ]
Karl Wibergbb23c832018-04-22 19:55:00 +020061 poisonous = [ "audio_codecs" ]
kwiberg327af332017-08-18 04:09:40 -070062 sources = [
63 "audio_encoder_isac_fix.cc",
64 "audio_encoder_isac_fix.h",
65 ]
66 deps = [
67 "..:audio_codecs_api",
Jonas Orelande62c2f22022-03-29 11:04:48 +020068 "../../../api:field_trials_view",
kwiberg327af332017-08-18 04:09:40 -070069 "../../../modules/audio_coding:isac_fix",
Florent Castelli57aa81b2022-04-04 17:14:02 +020070 "../../../rtc_base:stringutils",
Mirko Bonadeic66e0042019-10-18 09:52:22 +020071 "../../../rtc_base/system:rtc_export",
Mirko Bonadei2dcf3482020-06-05 14:30:41 +020072 ]
73 absl_deps = [
Niels Möller2edab4c2018-10-22 09:48:08 +020074 "//third_party/abseil-cpp/absl/strings",
Danil Chapovalov0bc58cf2018-06-21 13:32:56 +020075 "//third_party/abseil-cpp/absl/types:optional",
kwiberg327af332017-08-18 04:09:40 -070076 ]
77}
78
Mirko Bonadei86d053c2019-10-17 21:32:04 +020079rtc_library("audio_decoder_isac_fix") {
Per Kjellandera7f2d842018-01-10 15:54:53 +000080 visibility = [ "*" ]
Karl Wibergbb23c832018-04-22 19:55:00 +020081 poisonous = [ "audio_codecs" ]
kwiberg327af332017-08-18 04:09:40 -070082 sources = [
83 "audio_decoder_isac_fix.cc",
84 "audio_decoder_isac_fix.h",
85 ]
86 deps = [
87 "..:audio_codecs_api",
Jonas Orelande62c2f22022-03-29 11:04:48 +020088 "../../../api:field_trials_view",
kwiberg327af332017-08-18 04:09:40 -070089 "../../../modules/audio_coding:isac_fix",
Mirko Bonadeic66e0042019-10-18 09:52:22 +020090 "../../../rtc_base/system:rtc_export",
Mirko Bonadei2dcf3482020-06-05 14:30:41 +020091 ]
92 absl_deps = [
Niels Möller2edab4c2018-10-22 09:48:08 +020093 "//third_party/abseil-cpp/absl/strings",
Danil Chapovalov0bc58cf2018-06-21 13:32:56 +020094 "//third_party/abseil-cpp/absl/types:optional",
kwiberg327af332017-08-18 04:09:40 -070095 ]
96}
kwiberge57556c2017-08-21 06:11:18 -070097
Mirko Bonadei86d053c2019-10-17 21:32:04 +020098rtc_library("audio_encoder_isac_float") {
Per Kjellandera7f2d842018-01-10 15:54:53 +000099 visibility = [ "*" ]
Karl Wibergbb23c832018-04-22 19:55:00 +0200100 poisonous = [ "audio_codecs" ]
kwiberge57556c2017-08-21 06:11:18 -0700101 sources = [
102 "audio_encoder_isac_float.cc",
103 "audio_encoder_isac_float.h",
104 ]
105 deps = [
106 "..:audio_codecs_api",
Jonas Orelande62c2f22022-03-29 11:04:48 +0200107 "../../../api:field_trials_view",
kwiberge57556c2017-08-21 06:11:18 -0700108 "../../../modules/audio_coding:isac",
Florent Castelli57aa81b2022-04-04 17:14:02 +0200109 "../../../rtc_base:stringutils",
Mirko Bonadei276827c2018-10-16 14:13:50 +0200110 "../../../rtc_base/system:rtc_export",
Mirko Bonadei2dcf3482020-06-05 14:30:41 +0200111 ]
112 absl_deps = [
Niels Möller2edab4c2018-10-22 09:48:08 +0200113 "//third_party/abseil-cpp/absl/strings",
Danil Chapovalov0bc58cf2018-06-21 13:32:56 +0200114 "//third_party/abseil-cpp/absl/types:optional",
kwiberge57556c2017-08-21 06:11:18 -0700115 ]
116}
117
Mirko Bonadei86d053c2019-10-17 21:32:04 +0200118rtc_library("audio_decoder_isac_float") {
Per Kjellandera7f2d842018-01-10 15:54:53 +0000119 visibility = [ "*" ]
Karl Wibergbb23c832018-04-22 19:55:00 +0200120 poisonous = [ "audio_codecs" ]
kwiberge57556c2017-08-21 06:11:18 -0700121 sources = [
122 "audio_decoder_isac_float.cc",
123 "audio_decoder_isac_float.h",
124 ]
125 deps = [
126 "..:audio_codecs_api",
Jonas Orelande62c2f22022-03-29 11:04:48 +0200127 "../../../api:field_trials_view",
kwiberge57556c2017-08-21 06:11:18 -0700128 "../../../modules/audio_coding:isac",
Mirko Bonadei3d255302018-10-11 10:50:45 +0200129 "../../../rtc_base/system:rtc_export",
Mirko Bonadei2dcf3482020-06-05 14:30:41 +0200130 ]
131 absl_deps = [
Niels Möller2edab4c2018-10-22 09:48:08 +0200132 "//third_party/abseil-cpp/absl/strings",
Danil Chapovalov0bc58cf2018-06-21 13:32:56 +0200133 "//third_party/abseil-cpp/absl/types:optional",
kwiberge57556c2017-08-21 06:11:18 -0700134 ]
135}