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