• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1package {
2    default_applicable_licenses: ["external_libxaac_license"],
3}
4
5// Added automatically by a large-scale-change
6//
7// large-scale-change included anything that looked like it might be a license
8// text as a license_text. e.g. LICENSE, NOTICE, COPYING etc.
9//
10// Please consider removing redundant or irrelevant files from 'license_text:'.
11// See: http://go/android-license-faq
12license {
13    name: "external_libxaac_license",
14    visibility: [":__subpackages__"],
15    license_kinds: [
16        "SPDX-license-identifier-Apache-2.0",
17    ],
18    license_text: [
19        "LICENSE",
20        "NOTICE",
21    ],
22}
23
24cc_library_static {
25    name: "libxaacdec",
26
27    vendor_available: true,
28    host_supported: true,
29    cflags: [
30        "-O3",
31    ],
32
33    export_include_dirs: [
34        "decoder",
35        "decoder/drc_src",
36    ],
37
38    srcs: [
39        "decoder/ixheaacd_aacdecoder.c",
40        "decoder/ixheaacd_aacpluscheck.c",
41        "decoder/ixheaacd_aac_imdct.c",
42        "decoder/ixheaacd_aac_rom.c",
43        "decoder/ixheaacd_aac_tns.c",
44        "decoder/ixheaacd_acelp_bitparse.c",
45        "decoder/ixheaacd_acelp_decode.c",
46        "decoder/ixheaacd_acelp_mdct.c",
47        "decoder/ixheaacd_acelp_tools.c",
48        "decoder/ixheaacd_adts_crc_check.c",
49        "decoder/ixheaacd_api.c",
50        "decoder/ixheaacd_arith_dec.c",
51        "decoder/ixheaacd_avq_dec.c",
52        "decoder/ixheaacd_avq_rom.c",
53        "decoder/ixheaacd_basic_ops.c",
54        "decoder/ixheaacd_bitbuffer.c",
55        "decoder/ixheaacd_block.c",
56        "decoder/ixheaacd_channel.c",
57        "decoder/ixheaacd_common_initfuncs.c",
58        "decoder/ixheaacd_common_lpfuncs.c",
59        "decoder/ixheaacd_common_rom.c",
60        "decoder/ixheaacd_create.c",
61        "decoder/ixheaacd_decode_main.c",
62        "decoder/ixheaacd_dsp_fft32x32s.c",
63        "decoder/ixheaacd_env_calc.c",
64        "decoder/ixheaacd_env_dec.c",
65        "decoder/ixheaacd_env_extr.c",
66        "decoder/ixheaacd_esbr_envcal.c",
67        "decoder/ixheaacd_esbr_polyphase.c",
68        "decoder/ixheaacd_esbr_rom.c",
69        "decoder/ixheaacd_esbr_fft.c",
70        "decoder/ixheaacd_ext_ch_ele.c",
71        "decoder/ixheaacd_fft.c",
72        "decoder/ixheaacd_freq_sca.c",
73        "decoder/ixheaacd_fwd_alias_cnx.c",
74        "decoder/ixheaacd_hbe_trans.c",
75        "decoder/ixheaacd_headerdecode.c",
76        "decoder/ixheaacd_hufftables.c",
77        "decoder/ixheaacd_huff_tools.c",
78        "decoder/ixheaacd_hybrid.c",
79        "decoder/ixheaacd_imdct.c",
80        "decoder/ixheaacd_initfuncs.c",
81        "decoder/ixheaacd_init_config.c",
82        "decoder/ixheaacd_longblock.c",
83        "decoder/ixheaacd_lpc.c",
84        "decoder/ixheaacd_lpc_dec.c",
85        "decoder/ixheaacd_lpfuncs.c",
86        "decoder/ixheaacd_lpp_tran.c",
87        "decoder/ixheaacd_lt_predict.c",
88        "decoder/ixheaacd_mps_dec.c",
89        "decoder/ixheaacd_mps_decorr.c",
90        "decoder/ixheaacd_mps_hybrid_filt.c",
91        "decoder/ixheaacd_mps_parse.c",
92        "decoder/ixheaacd_mps_pre_mix.c",
93        "decoder/ixheaacd_mps_rom.c",
94        "decoder/ixheaacd_mps_smoothing.c",
95        "decoder/ixheaacd_mps_temp_process.c",
96        "decoder/ixheaacd_mps_temp_reshape.c",
97        "decoder/ixheaacd_pns_js_thumb.c",
98        "decoder/ixheaacd_pred_vec_block.c",
99        "decoder/ixheaacd_process.c",
100        "decoder/ixheaacd_ps_bitdec.c",
101        "decoder/ixheaacd_ps_dec.c",
102        "decoder/ixheaacd_pvc_rom.c",
103        "decoder/ixheaacd_rom.c",
104        "decoder/ixheaacd_sbrdecoder.c",
105        "decoder/ixheaacd_sbrdec_initfuncs.c",
106        "decoder/ixheaacd_sbrdec_lpfuncs.c",
107        "decoder/ixheaacd_sbr_crc.c",
108        "decoder/ixheaacd_sbr_dec.c",
109        "decoder/ixheaacd_sbr_rom.c",
110        "decoder/ixheaacd_spectrum_dec.c",
111        "decoder/ixheaacd_stereo.c",
112        "decoder/ixheaacd_tcx_fwd_alcnx.c",
113        "decoder/ixheaacd_tcx_fwd_mdct.c",
114        "decoder/ixheaacd_thumb_ps_dec.c",
115        "decoder/ixheaacd_tns.c",
116        "decoder/ixheaacd_basic_funcs.c",
117        "decoder/ixheaacd_Windowing.c",
118        "decoder/ixheaacd_latmdemux.c",
119        "decoder/ixheaacd_multichannel.c",
120        "decoder/ixheaacd_drc_freq_dec.c",
121        "decoder/ixheaacd_mps_poly_filt.c",
122        "decoder/ixheaacd_huff_code_reorder.c",
123        "decoder/ixheaacd_rev_vlc.c",
124        "decoder/ixheaacd_qmf_dec.c",
125        "decoder/drc_src/impd_drc_api.c",
126        "decoder/drc_src/impd_drc_bitbuffer.c",
127        "decoder/drc_src/impd_drc_dec.c",
128        "decoder/drc_src/impd_drc_dynamic_payload.c",
129        "decoder/drc_src/impd_drc_eq.c",
130        "decoder/drc_src/impd_drc_extr_delta_coded_info.c",
131        "decoder/drc_src/impd_drc_filter_bank.c",
132        "decoder/drc_src/impd_drc_gain_dec.c",
133        "decoder/drc_src/impd_drc_gain_decoder.c",
134        "decoder/drc_src/impd_drc_init.c",
135        "decoder/drc_src/impd_drc_interface_decoder.c",
136        "decoder/drc_src/impd_drc_loudness_control.c",
137        "decoder/drc_src/impd_drc_main_td_process.c",
138        "decoder/drc_src/impd_drc_multiband.c",
139        "decoder/drc_src/impd_drc_parametric_dec.c",
140        "decoder/drc_src/impd_drc_peak_limiter.c",
141        "decoder/drc_src/impd_drc_process.c",
142        "decoder/drc_src/impd_drc_rom.c",
143        "decoder/drc_src/impd_drc_selection_process.c",
144        "decoder/drc_src/impd_drc_selection_process_drcset_selection.c",
145        "decoder/drc_src/impd_drc_selection_process_init.c",
146        "decoder/drc_src/impd_drc_shape_filter.c",
147        "decoder/drc_src/impd_drc_static_payload.c",
148    ],
149
150    sanitize: {
151        misc_undefined: [
152            "unsigned-integer-overflow",
153            "signed-integer-overflow",
154            "bounds",
155        ],
156        cfi: true,
157        config: {
158            cfi_assembly_support: true,
159        },
160    },
161
162    arch: {
163        arm: {
164            local_include_dirs: [
165            ],
166
167            srcs: [
168                "decoder/generic/ixheaacd_function_selector_generic.c",
169                "decoder/generic/ixheaacd_qmf_dec_generic.c",
170            ],
171            neon: {
172                cflags: [
173                ],
174
175                local_include_dirs: [
176                    "decoder/armv7",
177                ],
178
179                srcs: [
180                    "decoder/armv7/ixheaacd_qmf_dec_armv7.c",
181                    "decoder/armv7/ixheaacd_fft_armv7.c",
182                    "decoder/armv7/ixheaacd_function_selector_armv7.c",
183                    "decoder/armv7/ixheaacd_overlap_add1.s",
184                    "decoder/armv7/ixheaacd_overlap_add2.s",
185                    "decoder/armv7/ixheaacd_lap1.s",
186                    "decoder/armv7/ixheaacd_dec_DCT2_64_asm.s",
187                    "decoder/armv7/ixheaacd_apply_rot.s",
188                    "decoder/armv7/ixheaacd_autocorr_st2.s",
189                    "decoder/armv7/ixheaacd_auto_corr.s",
190                    "decoder/armv7/ixheaacd_calcmaxspectralline.s",
191                    "decoder/armv7/ixheaacd_conv_ergtoamplitude.s",
192                    "decoder/armv7/ixheaacd_conv_ergtoamplitudelp.s",
193                    "decoder/armv7/ixheaacd_cos_sin_mod.s",
194                    "decoder/armv7/ixheaacd_dct3_32.s",
195                    "decoder/armv7/ixheaacd_decorr_filter2.s",
196                    "decoder/armv7/ixheaacd_enery_calc_per_subband.s",
197                    "decoder/armv7/ixheaacd_expsubbandsamples.s",
198                    "decoder/armv7/ixheaacd_ffr_divide16.s",
199                    "decoder/armv7/ixheaacd_fwd_modulation.s",
200                    "decoder/armv7/ixheaacd_harm_idx_zerotwolp.s",
201                    "decoder/armv7/ixheaacd_imdct_using_fft.s",
202                    "decoder/armv7/ixheaacd_inv_dit_fft_8pt.s",
203                    "decoder/armv7/ixheaacd_no_lap1.s",
204                    "decoder/armv7/ixheaacd_post_radix_compute2.s",
205                    "decoder/armv7/ixheaacd_post_radix_compute4.s",
206                    "decoder/armv7/ixheaacd_post_twiddle.s",
207                    "decoder/armv7/ixheaacd_pre_twiddle_compute.s",
208                    "decoder/armv7/ixheaacd_post_twiddle_overlap.s",
209                    "decoder/armv7/ixheaacd_radix4_bfly.s",
210                    "decoder/armv7/ixheaacd_rescale_subbandsamples.s",
211                    "decoder/armv7/ixheaacd_sbr_imdct_using_fft.s",
212                    "decoder/armv7/ixheaacd_sbr_qmfanal32_winadds.s",
213                    "decoder/armv7/ixheaacd_sbr_qmfsyn64_winadd.s",
214                    "decoder/armv7/ixheaacd_shiftrountine.s",
215                    "decoder/armv7/ixheaacd_shiftrountine_with_round.s",
216                    "decoder/armv7/ixheaacd_tns_ar_filter_fixed_32x16.s",
217                    "decoder/armv7/ixheaacd_tns_parcor2lpc_32x16.s",
218                    "decoder/armv7/ixheaacd_esbr_radix4bfly.s",
219                    "decoder/armv7/ixheaacd_esbr_cos_sin_mod_loop1.s",
220                    "decoder/armv7/ixheaacd_esbr_qmfsyn64_winadd.s",
221                    "decoder/armv7/ixheaacd_complex_ifft_p2.s",
222                    "decoder/armv7/ixheaacd_complex_fft_p2.s",
223                    "decoder/armv7/ixheaacd_esbr_cos_sin_mod_loop2.s",
224                    "decoder/armv7/ixheaacd_shiftrountine_with_round_hq.s",
225                    "decoder/armv7/ixheaacd_mps_complex_fft_64_asm.s",
226                    "decoder/armv7/ixheaacd_esbr_fwd_modulation.s",
227                    "decoder/armv7/ixheaacd_mps_synt_pre_twiddle.s",
228                    "decoder/armv7/ixheaacd_mps_synt_post_twiddle.s",
229                    "decoder/armv7/ixheaacd_calc_pre_twid.s",
230                    "decoder/armv7/ixheaacd_calc_post_twid.s",
231                    "decoder/armv7/ixheaacd_mps_synt_out_calc.s",
232                    "decoder/armv7/ixheaacd_mps_synt_post_fft_twiddle.s",
233                    "decoder/armv7/ixheaacd_sbr_qmfanal32_winadds_eld.s",
234                    "decoder/armv7/ixheaacd_shiftrountine_with_rnd_eld.s",
235                    "decoder/armv7/ixheaacd_eld_decoder_sbr_pre_twiddle.s",
236                    "decoder/armv7/ixheaacd_fft_15_ld.s",
237                    "decoder/armv7/ixheaacd_aac_ld_dec_rearrange.s",
238                    "decoder/armv7/ixheaacd_fft32x32_ld2_armv7.s",
239                    "decoder/armv7/ixheaacd_apply_scale_fac.s",
240                    "decoder/armv7/ixheaacd_tns_ar_filter_fixed.s",
241                ],
242            },
243        },
244
245        arm64: {
246            cflags: [
247            ],
248
249            local_include_dirs: [
250                "decoder/armv8",
251            ],
252
253            srcs: [
254                "decoder/armv8/ixheaacd_qmf_dec_armv8.c",
255                "decoder/armv8/ixheaacd_function_selector_armv8.c",
256                "decoder/armv8/ixheaacd_calcmaxspectralline.s",
257                "decoder/armv8/ixheaacd_sbr_imdct_using_fft.s",
258                "decoder/armv8/ixheaacd_imdct_using_fft.s",
259                "decoder/armv8/ixheaacd_no_lap1.s",
260                "decoder/armv8/ixheaacd_post_twiddle.s",
261                "decoder/armv8/ixheaacd_pre_twiddle.s",
262                "decoder/armv8/ixheaacd_sbr_qmfsyn64_winadd.s",
263                "decoder/armv8/ixheaacd_overlap_add1.s",
264                "decoder/armv8/ixheaacd_overlap_add2.s",
265                "decoder/armv8/ixheaacd_shiftrountine_with_round_eld.s",
266                "decoder/armv8/ixheaacd_fft32x32_ld2_armv8.s",
267                "decoder/armv8/ixheaacd_inv_dit_fft_8pt.s",
268                "decoder/armv8/ixheaacd_shiftrountine_with_round.s",
269                "decoder/armv8/ixheaacd_sbr_qmf_analysis32_neon.s",
270                "decoder/armv8/ixheaacd_postradixcompute4.s",
271                "decoder/armv8/ixheaacd_apply_scale_factors.s",
272                "decoder/armv8/ixheaacd_cos_sin_mod_loop1.s",
273                "decoder/armv8/ixheaacd_cos_sin_mod_loop2.s",
274                "decoder/armv8/ixheaacd_post_twiddle_overlap.s",
275            ],
276        },
277
278        x86: {
279            cflags: [
280            ],
281
282            local_include_dirs: [
283            ],
284
285            srcs: [
286                "decoder/generic/ixheaacd_qmf_dec_generic.c",
287                "decoder/x86/ixheaacd_function_selector_x86.c",
288            ],
289        },
290
291        x86_64: {
292            cflags: [
293            ],
294
295            local_include_dirs: [
296            ],
297
298            srcs: [
299                "decoder/generic/ixheaacd_qmf_dec_generic.c",
300                "decoder/x86_64/ixheaacd_function_selector_x86_64.c",
301            ],
302        },
303    },
304}
305
306subdirs = ["test"]
307