1#
2#  Copyright 2017 Google, Inc.
3#
4#  Licensed under the Apache License, Version 2.0 (the "License");
5#  you may not use this file except in compliance with the License.
6#  You may obtain a copy of the License at:
7#
8#  http://www.apache.org/licenses/LICENSE-2.0
9#
10#  Unless required by applicable law or agreed to in writing, software
11#  distributed under the License is distributed on an "AS IS" BASIS,
12#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13#  See the License for the specific language governing permissions and
14#  limitations under the License.
15#
16
17config("libFraunhoferAAC_config") {
18  include_dirs = [
19    "libAACdec/include",
20    "libAACenc/include",
21    "libArithCoding/include",
22    "libDRCdec/include",
23    "libPCMutils/include",
24    "libFDK/include",
25    "libSYS/include",
26    "libMpegTPDec/include",
27    "libMpegTPEnc/include",
28    "libSACenc/include",
29    "libSACdec/include",
30    "libSBRdec/include",
31    "libSBRenc/include",
32  ]
33}
34
35#TODO(jpawlowski): this files are not build right now, but might be useful when
36# arm platform linux compilation is in use:
37#    "libAACdec/src/arm/block_arm.cpp",
38#    "libFDK/src/arm/dct_arm.cpp",
39#    "libFDK/src/arm/fft_rad2_arm.cpp",
40#    "libFDK/src/arm/scale_arm.cpp",
41#    "libSBRdec/src/arm/lpp_tran_arm.cpp",
42#    "libFDK/src/mips/fft_rad2_mips.cpp",
43#    "libFDK/src/mips/mips_fft_twiddles.cpp",
44#    "libFDK/src/mips/scale_mips.cpp",
45
46static_library("libFraunhoferAAC") {
47  sources = [
48    "libAACdec/src/aacdec_drc.cpp",
49    "libAACdec/src/aacdec_hcr_bit.cpp",
50    "libAACdec/src/aacdec_hcr.cpp",
51    "libAACdec/src/aacdec_hcrs.cpp",
52    "libAACdec/src/aacdecoder.cpp",
53    "libAACdec/src/aacdecoder_lib.cpp",
54    "libAACdec/src/aacdec_pns.cpp",
55    "libAACdec/src/aacdec_tns.cpp",
56    "libAACdec/src/aac_ram.cpp",
57    "libAACdec/src/aac_rom.cpp",
58    "libAACdec/src/block.cpp",
59    "libAACdec/src/channel.cpp",
60    "libAACdec/src/channelinfo.cpp",
61    "libAACdec/src/conceal.cpp",
62    "libAACdec/src/FDK_delay.cpp",
63    "libAACdec/src/ldfiltbank.cpp",
64    "libAACdec/src/pulsedata.cpp",
65    "libAACdec/src/rvlcbit.cpp",
66    "libAACdec/src/rvlcconceal.cpp",
67    "libAACdec/src/rvlc.cpp",
68    "libAACdec/src/stereo.cpp",
69    "libAACdec/src/usacdec_ace_d4t64.cpp",
70    "libAACdec/src/usacdec_acelp.cpp",
71    "libAACdec/src/usacdec_ace_ltp.cpp",
72    "libAACdec/src/usacdec_fac.cpp",
73    "libAACdec/src/usacdec_lpc.cpp",
74    "libAACdec/src/usacdec_lpd.cpp",
75    "libAACdec/src/usacdec_rom.cpp",
76    "libAACenc/src/aacenc.cpp",
77    "libAACenc/src/aacenc_lib.cpp",
78    "libAACenc/src/aacenc_pns.cpp",
79    "libAACenc/src/aacEnc_ram.cpp",
80    "libAACenc/src/aacEnc_rom.cpp",
81    "libAACenc/src/aacenc_tns.cpp",
82    "libAACenc/src/adj_thr.cpp",
83    "libAACenc/src/band_nrg.cpp",
84    "libAACenc/src/bandwidth.cpp",
85    "libAACenc/src/bit_cnt.cpp",
86    "libAACenc/src/bitenc.cpp",
87    "libAACenc/src/block_switch.cpp",
88    "libAACenc/src/channel_map.cpp",
89    "libAACenc/src/chaosmeasure.cpp",
90    "libAACenc/src/dyn_bits.cpp",
91    "libAACenc/src/grp_data.cpp",
92    "libAACenc/src/intensity.cpp",
93    "libAACenc/src/line_pe.cpp",
94    "libAACenc/src/metadata_compressor.cpp",
95    "libAACenc/src/metadata_main.cpp",
96    "libAACenc/src/mps_main.cpp",
97    "libAACenc/src/ms_stereo.cpp",
98    "libAACenc/src/noisedet.cpp",
99    "libAACenc/src/pnsparam.cpp",
100    "libAACenc/src/pre_echo_control.cpp",
101    "libAACenc/src/psy_configuration.cpp",
102    "libAACenc/src/psy_main.cpp",
103    "libAACenc/src/qc_main.cpp",
104    "libAACenc/src/quantize.cpp",
105    "libAACenc/src/sf_estim.cpp",
106    "libAACenc/src/spreading.cpp",
107    "libAACenc/src/tonality.cpp",
108    "libAACenc/src/transform.cpp",
109    "libArithCoding/src/ac_arith_coder.cpp",
110    "libDRCdec/src/drcDec_gainDecoder.cpp",
111    "libDRCdec/src/drcDec_reader.cpp",
112    "libDRCdec/src/drcDec_rom.cpp",
113    "libDRCdec/src/drcDec_selectionProcess.cpp",
114    "libDRCdec/src/drcDec_tools.cpp",
115    "libDRCdec/src/drcGainDec_init.cpp",
116    "libDRCdec/src/drcGainDec_preprocess.cpp",
117    "libDRCdec/src/drcGainDec_process.cpp",
118    "libDRCdec/src/FDK_drcDecLib.cpp",
119    "libFDK/src/autocorr2nd.cpp",
120    "libFDK/src/dct.cpp",
121    "libFDK/src/FDK_bitbuffer.cpp",
122    "libFDK/src/FDK_core.cpp",
123    "libFDK/src/FDK_crc.cpp",
124    "libFDK/src/FDK_decorrelate.cpp",
125    "libFDK/src/FDK_hybrid.cpp",
126    "libFDK/src/FDK_lpc.cpp",
127    "libFDK/src/FDK_matrixCalloc.cpp",
128    "libFDK/src/FDK_qmf_domain.cpp",
129    "libFDK/src/FDK_tools_rom.cpp",
130    "libFDK/src/FDK_trigFcts.cpp",
131    "libFDK/src/fft.cpp",
132    "libFDK/src/fft_rad2.cpp",
133    "libFDK/src/fixpoint_math.cpp",
134    "libFDK/src/huff_nodes.cpp",
135    "libFDK/src/mdct.cpp",
136    "libFDK/src/nlc_dec.cpp",
137    "libFDK/src/qmf.cpp",
138    "libFDK/src/scale.cpp",
139    "libMpegTPDec/src/tpdec_adif.cpp",
140    "libMpegTPDec/src/tpdec_adts.cpp",
141    "libMpegTPDec/src/tpdec_asc.cpp",
142    "libMpegTPDec/src/tpdec_drm.cpp",
143    "libMpegTPDec/src/tpdec_latm.cpp",
144    "libMpegTPDec/src/tpdec_lib.cpp",
145    "libMpegTPEnc/src/tpenc_adif.cpp",
146    "libMpegTPEnc/src/tpenc_adts.cpp",
147    "libMpegTPEnc/src/tpenc_asc.cpp",
148    "libMpegTPEnc/src/tpenc_latm.cpp",
149    "libMpegTPEnc/src/tpenc_lib.cpp",
150    "libPCMutils/src/limiter.cpp",
151    "libPCMutils/src/pcmdmx_lib.cpp",
152    "libPCMutils/src/pcm_utils.cpp",
153    "libSACdec/src/sac_bitdec.cpp",
154    "libSACdec/src/sac_calcM1andM2.cpp",
155    "libSACdec/src/sac_dec_conceal.cpp",
156    "libSACdec/src/sac_dec.cpp",
157    "libSACdec/src/sac_dec_lib.cpp",
158    "libSACdec/src/sac_process.cpp",
159    "libSACdec/src/sac_qmf.cpp",
160    "libSACdec/src/sac_reshapeBBEnv.cpp",
161    "libSACdec/src/sac_rom.cpp",
162    "libSACdec/src/sac_smoothing.cpp",
163    "libSACdec/src/sac_stp.cpp",
164    "libSACdec/src/sac_tsd.cpp",
165    "libSACenc/src/sacenc_bitstream.cpp",
166    "libSACenc/src/sacenc_delay.cpp",
167    "libSACenc/src/sacenc_dmx_tdom_enh.cpp",
168    "libSACenc/src/sacenc_filter.cpp",
169    "libSACenc/src/sacenc_framewindowing.cpp",
170    "libSACenc/src/sacenc_huff_tab.cpp",
171    "libSACenc/src/sacenc_lib.cpp",
172    "libSACenc/src/sacenc_nlc_enc.cpp",
173    "libSACenc/src/sacenc_onsetdetect.cpp",
174    "libSACenc/src/sacenc_paramextract.cpp",
175    "libSACenc/src/sacenc_staticgain.cpp",
176    "libSACenc/src/sacenc_tree.cpp",
177    "libSACenc/src/sacenc_vectorfunctions.cpp",
178    "libSBRdec/src/env_calc.cpp",
179    "libSBRdec/src/env_dec.cpp",
180    "libSBRdec/src/env_extr.cpp",
181    "libSBRdec/src/hbe.cpp",
182    "libSBRdec/src/HFgen_preFlat.cpp",
183    "libSBRdec/src/huff_dec.cpp",
184    "libSBRdec/src/lpp_tran.cpp",
185    "libSBRdec/src/psbitdec.cpp",
186    "libSBRdec/src/psdec.cpp",
187    "libSBRdec/src/psdec_drm.cpp",
188    "libSBRdec/src/psdecrom_drm.cpp",
189    "libSBRdec/src/pvc_dec.cpp",
190    "libSBRdec/src/sbr_crc.cpp",
191    "libSBRdec/src/sbr_deb.cpp",
192    "libSBRdec/src/sbr_dec.cpp",
193    "libSBRdec/src/sbrdec_drc.cpp",
194    "libSBRdec/src/sbrdec_freq_sca.cpp",
195    "libSBRdec/src/sbrdecoder.cpp",
196    "libSBRdec/src/sbr_ram.cpp",
197    "libSBRdec/src/sbr_rom.cpp",
198    "libSBRenc/src/bit_sbr.cpp",
199    "libSBRenc/src/code_env.cpp",
200    "libSBRenc/src/env_bit.cpp",
201    "libSBRenc/src/env_est.cpp",
202    "libSBRenc/src/fram_gen.cpp",
203    "libSBRenc/src/invf_est.cpp",
204    "libSBRenc/src/mh_det.cpp",
205    "libSBRenc/src/nf_est.cpp",
206    "libSBRenc/src/ps_bitenc.cpp",
207    "libSBRenc/src/ps_encode.cpp",
208    "libSBRenc/src/ps_main.cpp",
209    "libSBRenc/src/resampler.cpp",
210    "libSBRenc/src/sbrenc_freq_sca.cpp",
211    "libSBRenc/src/sbr_encoder.cpp",
212    "libSBRenc/src/sbrenc_ram.cpp",
213    "libSBRenc/src/sbrenc_rom.cpp",
214    "libSBRenc/src/sbr_misc.cpp",
215    "libSBRenc/src/ton_corr.cpp",
216    "libSBRenc/src/tran_det.cpp",
217    "libSYS/src/genericStds.cpp",
218    "libSYS/src/syslib_channelMapDescr.cpp",
219  ]
220
221  public_configs = [ ":libFraunhoferAAC_config" ]
222
223  cflags = [
224        "-Wno-sequence-point",
225        "-Wno-extra",
226        "-Wno-#warnings",
227        "-Wno-constant-logical-operand",
228        "-Wno-self-assign",
229  ]
230}
231