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