summaryrefslogtreecommitdiffstats
path: root/Android.bp
blob: 6f1d23c939c9e1ddde323004648b9a69c1817d27 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
cc_library_static {
    name: "libxaacdec",

    vendor_available: true,
    vndk: {
        enabled: true,
    },

    cflags: [
        "-O3"
    ],

    export_include_dirs: [
        "decoder",
        "decoder/drc_src"
    ],

    srcs: [
        "decoder/ixheaacd_aacdecoder.c",
        "decoder/ixheaacd_aacpluscheck.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_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_dsp_fft32x32s.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_esbr_rom.c",
        "decoder/ixheaacd_esbr_fft.c",
        "decoder/ixheaacd_ext_ch_ele.c",
        "decoder/ixheaacd_fft.c",
        "decoder/ixheaacd_freq_sca.c",
        "decoder/ixheaacd_fwd_alias_cnx.c",
        "decoder/ixheaacd_hbe_trans.c",
        "decoder/ixheaacd_headerdecode.c",
        "decoder/ixheaacd_hufftables.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_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_dec.c",
        "decoder/ixheaacd_mps_decorr.c",
        "decoder/ixheaacd_mps_hybrid_filt.c",
        "decoder/ixheaacd_mps_parse.c",
        "decoder/ixheaacd_mps_pre_mix.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_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_pvc_rom.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_basic_funcs.c",
        "decoder/ixheaacd_Windowing.c",
        "decoder/ixheaacd_latmdemux.c",
        "decoder/ixheaacd_multichannel.c",
        "decoder/ixheaacd_drc_freq_dec.c",
        "decoder/ixheaacd_mps_poly_filt.c",
        "decoder/ixheaacd_huff_code_reorder.c",
        "decoder/ixheaacd_rev_vlc.c",
        "decoder/ixheaacd_qmf_dec.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_host_params.c",
        "decoder/drc_src/impd_drc_init.c",
        "decoder/drc_src/impd_drc_interface_decoder.c",
        "decoder/drc_src/impd_drc_interface_parser.c",
        "decoder/drc_src/impd_drc_loudness_control.c",
        "decoder/drc_src/impd_drc_main_qmf_process.c",
        "decoder/drc_src/impd_drc_main_stft_process.c",
        "decoder/drc_src/impd_drc_main_td_process.c",
        "decoder/drc_src/impd_drc_main_td_qmf_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",
        ],
        cfi: true,
    },

    arch: {
        arm: {
            local_include_dirs: [
            ],

            srcs: [
                "decoder/generic/ixheaacd_function_selector_generic.c",
                "decoder/generic/ixheaacd_qmf_dec_generic.c",
            ],
            neon: {
                cflags: [
                ],

                local_include_dirs: [
                    "decoder/armv7",
                ],

                srcs: [
                    "decoder/armv7/ixheaacd_qmf_dec_armv7.c",
                    "decoder/armv7/ixheaacd_fft_armv7.c",
                    "decoder/armv7/ixheaacd_function_selector_armv7.c",
                    "decoder/armv7/ixheaacd_overlap_add1.s",
                    "decoder/armv7/ixheaacd_overlap_add2.s",
                    "decoder/armv7/ixheaacd_lap1.s",
                    "decoder/armv7/ixheaacd_dec_DCT2_64_asm.s",
                    "decoder/armv7/ixheaacd_apply_rot.s",
                    "decoder/armv7/ixheaacd_autocorr_st2.s",
                    "decoder/armv7/ixheaacd_auto_corr.s",
                    "decoder/armv7/ixheaacd_calcmaxspectralline.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_enery_calc_per_subband.s",
                    "decoder/armv7/ixheaacd_expsubbandsamples.s",
                    "decoder/armv7/ixheaacd_ffr_divide16.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_no_lap1.s",
                    "decoder/armv7/ixheaacd_post_radix_compute2.s",
                    "decoder/armv7/ixheaacd_post_radix_compute4.s",
                    "decoder/armv7/ixheaacd_post_twiddle.s",
                    "decoder/armv7/ixheaacd_pre_twiddle_compute.s",
                    "decoder/armv7/ixheaacd_post_twiddle_overlap.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_qmfsyn64_winadd.s",
                    "decoder/armv7/ixheaacd_shiftrountine.s",
                    "decoder/armv7/ixheaacd_shiftrountine_with_round.s",
                    "decoder/armv7/ixheaacd_tns_ar_filter_fixed_32x16.s",
                    "decoder/armv7/ixheaacd_tns_parcor2lpc_32x16.s",
                    "decoder/armv7/ixheaacd_esbr_radix4bfly.s",
                    "decoder/armv7/ixheaacd_esbr_cos_sin_mod_loop1.s",
                    "decoder/armv7/ixheaacd_esbr_qmfsyn64_winadd.s",
                    "decoder/armv7/ixheaacd_complex_ifft_p2.s",
                    "decoder/armv7/ixheaacd_complex_fft_p2.s",
                    "decoder/armv7/ixheaacd_esbr_cos_sin_mod_loop2.s",
                    "decoder/armv7/ixheaacd_shiftrountine_with_round_hq.s",
                    "decoder/armv7/ixheaacd_mps_complex_fft_64_asm.s",
                    "decoder/armv7/ixheaacd_esbr_fwd_modulation.s",
                    "decoder/armv7/ixheaacd_mps_synt_pre_twiddle.s",
                    "decoder/armv7/ixheaacd_mps_synt_post_twiddle.s",
                    "decoder/armv7/ixheaacd_calc_pre_twid.s",
                    "decoder/armv7/ixheaacd_calc_post_twid.s",
                    "decoder/armv7/ixheaacd_mps_synt_out_calc.s",
                    "decoder/armv7/ixheaacd_mps_synt_post_fft_twiddle.s",
                    "decoder/armv7/ixheaacd_sbr_qmfanal32_winadds_eld.s",
                    "decoder/armv7/ixheaacd_shiftrountine_with_rnd_eld.s",
                    "decoder/armv7/ixheaacd_eld_decoder_sbr_pre_twiddle.s",
                    "decoder/armv7/ixheaacd_fft_15_ld.s",
                    "decoder/armv7/ixheaacd_aac_ld_dec_rearrange.s",
                    "decoder/armv7/ixheaacd_fft32x32_ld2_armv7.s",
                    "decoder/armv7/ixheaacd_apply_scale_fac.s",
                    "decoder/armv7/ixheaacd_tns_ar_filter_fixed.s"
                ],
            }
        },

        arm64: {
            cflags: [
            ],

            local_include_dirs: [
                "decoder/armv8",
            ],

            srcs: [
                "decoder/armv8/ixheaacd_qmf_dec_armv8.c",
                "decoder/armv8/ixheaacd_function_selector_armv8.c",
                "decoder/armv8/ixheaacd_calcmaxspectralline.s",
                "decoder/armv8/ixheaacd_sbr_imdct_using_fft.s",
                "decoder/armv8/ixheaacd_imdct_using_fft.s",
                "decoder/armv8/ixheaacd_no_lap1.s",
                "decoder/armv8/ixheaacd_post_twiddle.s",
                "decoder/armv8/ixheaacd_pre_twiddle.s",
                "decoder/armv8/ixheaacd_sbr_qmfsyn64_winadd.s",
                "decoder/armv8/ixheaacd_overlap_add1.s",
                "decoder/armv8/ixheaacd_overlap_add2.s",
                "decoder/armv8/ixheaacd_shiftrountine_with_round_eld.s",
                "decoder/armv8/ixheaacd_fft32x32_ld2_armv8.s",
                "decoder/armv8/ixheaacd_inv_dit_fft_8pt.s",
                "decoder/armv8/ixheaacd_shiftrountine_with_round.s",
                "decoder/armv8/ixheaacd_sbr_qmf_analysis32_neon.s",
                "decoder/armv8/ixheaacd_postradixcompute4.s",
                "decoder/armv8/ixheaacd_apply_scale_factors.s",
                "decoder/armv8/ixheaacd_cos_sin_mod_loop1.s",
                "decoder/armv8/ixheaacd_cos_sin_mod_loop2.s",
                "decoder/armv8/ixheaacd_post_twiddle_overlap.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",
            ],
        },

        mips: {
            cflags: [
            ],

            local_include_dirs: [
            ],

            srcs: [
                "decoder/generic/ixheaacd_function_selector_generic.c",
            ],
        },

        mips64: {
            cflags: [
            ],

            local_include_dirs: [
            ],

            srcs: [
                "decoder/generic/ixheaacd_function_selector_generic.c",
            ],
        },
    },
}

subdirs = ["test"]