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