package { default_applicable_licenses: ["external_libxaac_license"], } // Added automatically by a large-scale-change // // large-scale-change included anything that looked like it might be a license // text as a license_text. e.g. LICENSE, NOTICE, COPYING etc. // // Please consider removing redundant or irrelevant files from 'license_text:'. // See: http://go/android-license-faq license { name: "external_libxaac_license", visibility: [":__subpackages__"], license_kinds: [ "SPDX-license-identifier-Apache-2.0", ], license_text: [ "LICENSE", "NOTICE", ], } cc_library_static { name: "libxaacdec", vendor_available: true, host_supported: true, cflags: [ "-O3", ], export_include_dirs: [ "common", "decoder", "decoder/drc_src", ], srcs: [ "common/ixheaac_esbr_fft.c", "common/ixheaac_esbr_rom.c", "common/ixheaac_fft_ifft_32x32_rom.c", "decoder/ixheaacd_aacdecoder.c", "decoder/ixheaacd_aacpluscheck.c", "decoder/ixheaacd_aac_ec.c", "decoder/ixheaacd_aac_imdct.c", "decoder/ixheaacd_aac_rom.c", "decoder/ixheaacd_aac_tns.c", "decoder/ixheaacd_acelp_bitparse.c", "decoder/ixheaacd_acelp_decode.c", "decoder/ixheaacd_acelp_mdct.c", "decoder/ixheaacd_acelp_tools.c", "decoder/ixheaacd_adts_crc_check.c", "decoder/ixheaacd_api.c", "decoder/ixheaacd_arith_dec.c", "decoder/ixheaacd_avq_dec.c", "decoder/ixheaacd_avq_rom.c", "decoder/ixheaacd_basic_funcs.c", "decoder/ixheaacd_basic_ops.c", "decoder/ixheaacd_bitbuffer.c", "decoder/ixheaacd_block.c", "decoder/ixheaacd_channel.c", "decoder/ixheaacd_common_initfuncs.c", "decoder/ixheaacd_common_lpfuncs.c", "decoder/ixheaacd_common_rom.c", "decoder/ixheaacd_create.c", "decoder/ixheaacd_decode_main.c", "decoder/ixheaacd_drc_freq_dec.c", "decoder/ixheaacd_dsp_fft32x32s.c", "decoder/ixheaacd_ec_rom.c", "decoder/ixheaacd_env_calc.c", "decoder/ixheaacd_env_dec.c", "decoder/ixheaacd_env_extr.c", "decoder/ixheaacd_esbr_envcal.c", "decoder/ixheaacd_esbr_polyphase.c", "decoder/ixheaacd_ext_ch_ele.c", "decoder/ixheaacd_fft.c", "decoder/ixheaacd_fft_ifft_32x32.c", "decoder/ixheaacd_freq_sca.c", "decoder/ixheaacd_fwd_alias_cnx.c", "decoder/ixheaacd_hbe_dft_trans.c", "decoder/ixheaacd_hbe_trans.c", "decoder/ixheaacd_headerdecode.c", "decoder/ixheaacd_hufftables.c", "decoder/ixheaacd_huff_code_reorder.c", "decoder/ixheaacd_huff_tools.c", "decoder/ixheaacd_hybrid.c", "decoder/ixheaacd_imdct.c", "decoder/ixheaacd_initfuncs.c", "decoder/ixheaacd_init_config.c", "decoder/ixheaacd_latmdemux.c", "decoder/ixheaacd_ld_mps_config.c", "decoder/ixheaacd_ld_mps_dec.c", "decoder/ixheaacd_longblock.c", "decoder/ixheaacd_lpc.c", "decoder/ixheaacd_lpc_dec.c", "decoder/ixheaacd_lpfuncs.c", "decoder/ixheaacd_lpp_tran.c", "decoder/ixheaacd_lt_predict.c", "decoder/ixheaacd_mps_apply_common.c", "decoder/ixheaacd_mps_apply_m1.c", "decoder/ixheaacd_mps_apply_m2.c", "decoder/ixheaacd_mps_bitdec.c", "decoder/ixheaacd_mps_blind.c", "decoder/ixheaacd_mps_calc_m1m2_common.c", "decoder/ixheaacd_mps_calc_m1m2_emm.c", "decoder/ixheaacd_mps_calc_m1m2_tree_515x.c", "decoder/ixheaacd_mps_calc_m1m2_tree_51sx.c", "decoder/ixheaacd_mps_calc_m1m2_tree_52xx.c", "decoder/ixheaacd_mps_calc_m1m2_tree_727x.c", "decoder/ixheaacd_mps_calc_m1m2_tree_757x.c", "decoder/ixheaacd_mps_dec.c", "decoder/ixheaacd_mps_decorr.c", "decoder/ixheaacd_mps_get_index.c", "decoder/ixheaacd_mps_hybrid_filt.c", "decoder/ixheaacd_mps_initfuncs.c", "decoder/ixheaacd_mps_m1m2_common.c", "decoder/ixheaacd_mps_mdct_2_qmf.c", "decoder/ixheaacd_mps_parse.c", "decoder/ixheaacd_mps_polyphase.c", "decoder/ixheaacd_mps_poly_filt.c", "decoder/ixheaacd_mps_pre_mix.c", "decoder/ixheaacd_mps_process.c", "decoder/ixheaacd_mps_reshape_bb_env.c", "decoder/ixheaacd_mps_res_block.c", "decoder/ixheaacd_mps_res_channel.c", "decoder/ixheaacd_mps_res_channel_info.c", "decoder/ixheaacd_mps_res_longblock.c", "decoder/ixheaacd_mps_res_pns_js_thumb.c", "decoder/ixheaacd_mps_res_pulsedata.c", "decoder/ixheaacd_mps_res_tns.c", "decoder/ixheaacd_mps_rom.c", "decoder/ixheaacd_mps_smoothing.c", "decoder/ixheaacd_mps_temp_process.c", "decoder/ixheaacd_mps_temp_reshape.c", "decoder/ixheaacd_mps_tonality.c", "decoder/ixheaacd_multichannel.c", "decoder/ixheaacd_peak_limiter.c", "decoder/ixheaacd_pns_js_thumb.c", "decoder/ixheaacd_pred_vec_block.c", "decoder/ixheaacd_process.c", "decoder/ixheaacd_ps_bitdec.c", "decoder/ixheaacd_ps_dec.c", "decoder/ixheaacd_ps_dec_flt.c", "decoder/ixheaacd_pvc_rom.c", "decoder/ixheaacd_qmf_dec.c", "decoder/ixheaacd_rev_vlc.c", "decoder/ixheaacd_rom.c", "decoder/ixheaacd_sbrdecoder.c", "decoder/ixheaacd_sbrdec_initfuncs.c", "decoder/ixheaacd_sbrdec_lpfuncs.c", "decoder/ixheaacd_sbr_crc.c", "decoder/ixheaacd_sbr_dec.c", "decoder/ixheaacd_sbr_rom.c", "decoder/ixheaacd_spectrum_dec.c", "decoder/ixheaacd_stereo.c", "decoder/ixheaacd_tcx_fwd_alcnx.c", "decoder/ixheaacd_tcx_fwd_mdct.c", "decoder/ixheaacd_thumb_ps_dec.c", "decoder/ixheaacd_tns.c", "decoder/ixheaacd_usac_ec.c", "decoder/ixheaacd_Windowing.c", "decoder/drc_src/impd_drc_api.c", "decoder/drc_src/impd_drc_bitbuffer.c", "decoder/drc_src/impd_drc_dec.c", "decoder/drc_src/impd_drc_dynamic_payload.c", "decoder/drc_src/impd_drc_eq.c", "decoder/drc_src/impd_drc_extr_delta_coded_info.c", "decoder/drc_src/impd_drc_filter_bank.c", "decoder/drc_src/impd_drc_gain_dec.c", "decoder/drc_src/impd_drc_gain_decoder.c", "decoder/drc_src/impd_drc_init.c", "decoder/drc_src/impd_drc_interface_decoder.c", "decoder/drc_src/impd_drc_loudness_control.c", "decoder/drc_src/impd_drc_main_td_process.c", "decoder/drc_src/impd_drc_multiband.c", "decoder/drc_src/impd_drc_parametric_dec.c", "decoder/drc_src/impd_drc_peak_limiter.c", "decoder/drc_src/impd_drc_process.c", "decoder/drc_src/impd_drc_rom.c", "decoder/drc_src/impd_drc_selection_process.c", "decoder/drc_src/impd_drc_selection_process_drcset_selection.c", "decoder/drc_src/impd_drc_selection_process_init.c", "decoder/drc_src/impd_drc_shape_filter.c", "decoder/drc_src/impd_drc_static_payload.c", ], sanitize: { misc_undefined: [ "unsigned-integer-overflow", "signed-integer-overflow", "bounds", ], cfi: true, config: { cfi_assembly_support: true, }, }, arch: { arm: { cflags: [ ], local_include_dirs: [ "decoder/armv7", ], srcs: [ "decoder/generic/ixheaacd_function_selector_generic.c", "decoder/generic/ixheaacd_qmf_dec_generic.c", "decoder/armv7/ixheaacd_fft_armv7.c", "decoder/armv7/ixheaacd_function_selector_armv7.c", "decoder/armv7/ixheaacd_qmf_dec_armv7.c", "decoder/armv7/ixheaacd_aac_ld_dec_rearrange.s", "decoder/armv7/ixheaacd_apply_rot.s", "decoder/armv7/ixheaacd_apply_scale_fac.s", "decoder/armv7/ixheaacd_autocorr_st2.s", "decoder/armv7/ixheaacd_auto_corr.s", "decoder/armv7/ixheaacd_calcmaxspectralline.s", "decoder/armv7/ixheaacd_calc_post_twid.s", "decoder/armv7/ixheaacd_calc_pre_twid.s", "decoder/armv7/ixheaacd_complex_fft_p2.s", "decoder/armv7/ixheaacd_complex_ifft_p2.s", "decoder/armv7/ixheaacd_conv_ergtoamplitude.s", "decoder/armv7/ixheaacd_conv_ergtoamplitudelp.s", "decoder/armv7/ixheaacd_cos_sin_mod.s", "decoder/armv7/ixheaacd_dct3_32.s", "decoder/armv7/ixheaacd_decorr_filter2.s", "decoder/armv7/ixheaacd_dec_DCT2_64_asm.s", "decoder/armv7/ixheaacd_eld_decoder_sbr_pre_twiddle.s", "decoder/armv7/ixheaacd_enery_calc_per_subband.s", "decoder/armv7/ixheaacd_esbr_cos_sin_mod_loop1.s", "decoder/armv7/ixheaacd_esbr_cos_sin_mod_loop2.s", "decoder/armv7/ixheaacd_esbr_fwd_modulation.s", "decoder/armv7/ixheaacd_esbr_qmfsyn64_winadd.s", "decoder/armv7/ixheaacd_esbr_radix4bfly.s", "decoder/armv7/ixheaacd_expsubbandsamples.s", "decoder/armv7/ixheaacd_ffr_divide16.s", "decoder/armv7/ixheaacd_fft32x32_ld2_armv7.s", "decoder/armv7/ixheaacd_fft_15_ld.s", "decoder/armv7/ixheaacd_fwd_modulation.s", "decoder/armv7/ixheaacd_harm_idx_zerotwolp.s", "decoder/armv7/ixheaacd_imdct_using_fft.s", "decoder/armv7/ixheaacd_inv_dit_fft_8pt.s", "decoder/armv7/ixheaacd_lap1.s", "decoder/armv7/ixheaacd_mps_complex_fft_64_asm.s", "decoder/armv7/ixheaacd_mps_synt_out_calc.s", "decoder/armv7/ixheaacd_mps_synt_post_fft_twiddle.s", "decoder/armv7/ixheaacd_mps_synt_post_twiddle.s", "decoder/armv7/ixheaacd_mps_synt_pre_twiddle.s", "decoder/armv7/ixheaacd_no_lap1.s", "decoder/armv7/ixheaacd_overlap_add1.s", "decoder/armv7/ixheaacd_overlap_add2.s", "decoder/armv7/ixheaacd_post_radix_compute2.s", "decoder/armv7/ixheaacd_post_radix_compute4.s", "decoder/armv7/ixheaacd_post_twiddle.s", "decoder/armv7/ixheaacd_post_twiddle_overlap.s", "decoder/armv7/ixheaacd_pre_twiddle_compute.s", "decoder/armv7/ixheaacd_radix4_bfly.s", "decoder/armv7/ixheaacd_rescale_subbandsamples.s", "decoder/armv7/ixheaacd_sbr_imdct_using_fft.s", "decoder/armv7/ixheaacd_sbr_qmfanal32_winadds.s", "decoder/armv7/ixheaacd_sbr_qmfanal32_winadds_eld.s", "decoder/armv7/ixheaacd_sbr_qmfsyn64_winadd.s", "decoder/armv7/ixheaacd_shiftrountine.s", "decoder/armv7/ixheaacd_shiftrountine_with_rnd_eld.s", "decoder/armv7/ixheaacd_shiftrountine_with_round.s", "decoder/armv7/ixheaacd_shiftrountine_with_round_hq.s", "decoder/armv7/ixheaacd_tns_ar_filter_fixed.s", "decoder/armv7/ixheaacd_tns_ar_filter_fixed_32x16.s", "decoder/armv7/ixheaacd_tns_parcor2lpc_32x16.s", ], }, arm64: { cflags: [ ], local_include_dirs: [ "decoder/armv8", ], srcs: [ "decoder/armv8/ixheaacd_function_selector_armv8.c", "decoder/armv8/ixheaacd_qmf_dec_armv8.c", "decoder/armv8/ixheaacd_apply_scale_factors.s", "decoder/armv8/ixheaacd_calcmaxspectralline.s", "decoder/armv8/ixheaacd_cos_sin_mod_loop1.s", "decoder/armv8/ixheaacd_cos_sin_mod_loop2.s", "decoder/armv8/ixheaacd_fft32x32_ld2_armv8.s", "decoder/armv8/ixheaacd_imdct_using_fft.s", "decoder/armv8/ixheaacd_inv_dit_fft_8pt.s", "decoder/armv8/ixheaacd_no_lap1.s", "decoder/armv8/ixheaacd_overlap_add1.s", "decoder/armv8/ixheaacd_overlap_add2.s", "decoder/armv8/ixheaacd_postradixcompute4.s", "decoder/armv8/ixheaacd_post_twiddle.s", "decoder/armv8/ixheaacd_post_twiddle_overlap.s", "decoder/armv8/ixheaacd_pre_twiddle.s", "decoder/armv8/ixheaacd_sbr_imdct_using_fft.s", "decoder/armv8/ixheaacd_sbr_qmfsyn64_winadd.s", "decoder/armv8/ixheaacd_sbr_qmf_analysis32_neon.s", "decoder/armv8/ixheaacd_shiftrountine_with_round.s", "decoder/armv8/ixheaacd_shiftrountine_with_round_eld.s", ], }, x86: { cflags: [ ], local_include_dirs: [ ], srcs: [ "decoder/generic/ixheaacd_qmf_dec_generic.c", "decoder/x86/ixheaacd_function_selector_x86.c", ], }, x86_64: { cflags: [ ], local_include_dirs: [ ], srcs: [ "decoder/generic/ixheaacd_qmf_dec_generic.c", "decoder/x86_64/ixheaacd_function_selector_x86_64.c", ], }, riscv64: { cflags: [ ], local_include_dirs: [ ], srcs: [ "decoder/generic/ixheaacd_qmf_dec_generic.c", "decoder/generic/ixheaacd_function_selector_generic.c", ], }, }, } cc_library_static { name: "libxaacenc", vendor_available: true, host_supported: true, cflags: [ "-O3", ], export_include_dirs: [ "common", "encoder", "encoder/drc_src", ], srcs: [ "common/ixheaac_esbr_fft.c", "common/ixheaac_esbr_rom.c", "common/ixheaac_fft_ifft_32x32_rom.c", "encoder/iusace_acelp_enc.c", "encoder/iusace_acelp_rom.c", "encoder/iusace_acelp_tools.c", "encoder/iusace_arith_enc.c", "encoder/iusace_avq_enc.c", "encoder/iusace_avq_rom.c", "encoder/iusace_block_switch.c", "encoder/iusace_bitbuffer.c", "encoder/iusace_enc_fac.c", "encoder/iusace_enc_main.c", "encoder/iusace_esbr_inter_tes.c", "encoder/iusace_esbr_pvc.c", "encoder/iusace_esbr_pvc_rom.c", "encoder/iusace_esbr_rom.c", "encoder/iusace_fd_fac.c", "encoder/iusace_fft.c", "encoder/iusace_lpc.c", "encoder/iusace_lpc_avq.c", "encoder/iusace_lpd_enc.c", "encoder/iusace_lpd_rom.c", "encoder/iusace_lpd_utils.c", "encoder/iusace_ms.c", "encoder/iusace_psy_rom.c", "encoder/iusace_psy_mod.c", "encoder/iusace_psy_utils.c", "encoder/iusace_rom.c", "encoder/iusace_tcx_enc.c", "encoder/iusace_tcx_mdct.c", "encoder/iusace_tns_usac.c", "encoder/iusace_windowing.c", "encoder/iusace_write_bitstream.c", "encoder/ixheaace_adjust_threshold.c", "encoder/ixheaace_api.c", "encoder/ixheaace_asc_write.c", "encoder/ixheaace_basic_ops.c", "encoder/ixheaace_bitbuffer.c", "encoder/ixheaace_bitbuffer_hp.c", "encoder/ixheaace_bits_count.c", "encoder/ixheaace_block_switch.c", "encoder/ixheaace_calc_ms_band_energy.c", "encoder/ixheaace_channel_map.c", "encoder/ixheaace_common_rom.c", "encoder/ixheaace_cplx_pred.c", "encoder/ixheaace_dynamic_bits.c", "encoder/ixheaace_enc_init.c", "encoder/ixheaace_enc_main.c", "encoder/ixheaace_fd_enc.c", "encoder/ixheaace_fd_mdct.c", "encoder/ixheaace_fd_qc_adjthr.c", "encoder/ixheaace_fd_qc_util.c", "encoder/ixheaace_fd_quant.c", "encoder/ixheaace_fft.c", "encoder/ixheaace_group_data.c", "encoder/ixheaace_huffman_rom.c", "encoder/ixheaace_hybrid.c", "encoder/ixheaace_hybrid_init.c", "encoder/ixheaace_interface.c", "encoder/ixheaace_loudness_measurement.c", "encoder/ixheaace_mdct_480.c", "encoder/ixheaace_mps_bitstream.c", "encoder/ixheaace_mps_dct.c", "encoder/ixheaace_mps_delay.c", "encoder/ixheaace_mps_dmx_tdom_enh.c", "encoder/ixheaace_mps_enc.c", "encoder/ixheaace_mps_filter.c", "encoder/ixheaace_mps_frame_windowing.c", "encoder/ixheaace_mps_huff_tab.c", "encoder/ixheaace_mps_hybrid_filter.c", "encoder/ixheaace_mps_nlc_enc.c", "encoder/ixheaace_mps_onset_detect.c", "encoder/ixheaace_mps_param_extract.c", "encoder/ixheaace_mps_polyphase.c", "encoder/ixheaace_mps_qmf.c", "encoder/ixheaace_mps_rom.c", "encoder/ixheaace_mps_static_gain.c", "encoder/ixheaace_mps_tools_rom.c", "encoder/ixheaace_mps_tree.c", "encoder/ixheaace_mps_vector_functions.c", "encoder/ixheaace_ms_stereo.c", "encoder/ixheaace_nf.c", "encoder/ixheaace_ps_bitenc.c", "encoder/ixheaace_ps_enc.c", "encoder/ixheaace_ps_enc_init.c", "encoder/ixheaace_psy_configuration.c", "encoder/ixheaace_psy_mod.c", "encoder/ixheaace_psy_utils.c", "encoder/ixheaace_psy_utils_spreading.c", "encoder/ixheaace_qc_main_hp.c", "encoder/ixheaace_qc_util.c", "encoder/ixheaace_quant.c", "encoder/ixheaace_radix2_fft.c", "encoder/ixheaace_resampler.c", "encoder/ixheaace_resampler_init.c", "encoder/ixheaace_rom.c", "encoder/ixheaace_sbr_code_envelope.c", "encoder/ixheaace_sbr_code_envelope_lp.c", "encoder/ixheaace_sbr_crc.c", "encoder/ixheaace_sbr_env_est.c", "encoder/ixheaace_sbr_env_est_init.c", "encoder/ixheaace_sbr_frame_info_gen.c", "encoder/ixheaace_sbr_freq_scaling.c", "encoder/ixheaace_sbr_hbe_dft_trans.c", "encoder/ixheaace_sbr_hbe_fft_ifft_32x32.c", "encoder/ixheaace_sbr_hbe_polyphase.c", "encoder/ixheaace_sbr_hbe_trans.c", "encoder/ixheaace_sbr_inv_filtering_estimation.c", "encoder/ixheaace_sbr_main.c", "encoder/ixheaace_sbr_misc.c", "encoder/ixheaace_sbr_missing_harmonics_det.c", "encoder/ixheaace_sbr_noise_floor_est.c", "encoder/ixheaace_sbr_qmf_enc.c", "encoder/ixheaace_sbr_qmf_enc_init.c", "encoder/ixheaace_sbr_rom.c", "encoder/ixheaace_sbr_ton_corr.c", "encoder/ixheaace_sbr_ton_corr_hp.c", "encoder/ixheaace_sbr_tran_det.c", "encoder/ixheaace_sbr_tran_det_hp.c", "encoder/ixheaace_sbr_write_bitstream.c", "encoder/ixheaace_sf_estimation.c", "encoder/ixheaace_signal_classifier.c", "encoder/ixheaace_signal_classifier_rom.c", "encoder/ixheaace_static_bits.c", "encoder/ixheaace_stereo_preproc.c", "encoder/ixheaace_tns.c", "encoder/ixheaace_tns_hp.c", "encoder/ixheaace_tns_init.c", "encoder/ixheaace_tns_params.c", "encoder/ixheaace_write_adts_adif.c", "encoder/ixheaace_write_bitstream.c", "encoder/drc_src/impd_drc_api.c", "encoder/drc_src/impd_drc_enc.c", "encoder/drc_src/impd_drc_gain_calculator.c", "encoder/drc_src/impd_drc_gain_enc.c", "encoder/drc_src/impd_drc_mux.c", "encoder/drc_src/impd_drc_tables.c", "encoder/drc_src/impd_drc_uni_drc_eq.c", "encoder/drc_src/impd_drc_uni_drc_filter_bank.c", ], sanitize: { misc_undefined: [ "unsigned-integer-overflow", "signed-integer-overflow", "bounds", ], cfi: true, config: { cfi_assembly_support: true, }, }, } subdirs = ["test"]