xref: /aosp_15_r20/external/libopus/Android.bp (revision a58d3d2adb790c104798cd88c8a3aff4fa8b82cc)
1*a58d3d2aSXin Lipackage {
2*a58d3d2aSXin Li    default_applicable_licenses: ["external_libopus_license"],
3*a58d3d2aSXin Li}
4*a58d3d2aSXin Li
5*a58d3d2aSXin Li// Added automatically by a large-scale-change that took the approach of
6*a58d3d2aSXin Li// 'apply every license found to every target'. While this makes sure we respect
7*a58d3d2aSXin Li// every license restriction, it may not be entirely correct.
8*a58d3d2aSXin Li//
9*a58d3d2aSXin Li// e.g. GPL in an MIT project might only apply to the contrib/ directory.
10*a58d3d2aSXin Li//
11*a58d3d2aSXin Li// Please consider splitting the single license below into multiple licenses,
12*a58d3d2aSXin Li// taking care not to lose any license_kind information, and overriding the
13*a58d3d2aSXin Li// default license using the 'licenses: [...]' property on targets as needed.
14*a58d3d2aSXin Li//
15*a58d3d2aSXin Li// For unused files, consider creating a 'filegroup' with "//visibility:private"
16*a58d3d2aSXin Li// to attach the license to, and including a comment whether the files may be
17*a58d3d2aSXin Li// used in the current project.
18*a58d3d2aSXin Li//
19*a58d3d2aSXin Li// large-scale-change included anything that looked like it might be a license
20*a58d3d2aSXin Li// text as a license_text. e.g. LICENSE, NOTICE, COPYING etc.
21*a58d3d2aSXin Li//
22*a58d3d2aSXin Li// Please consider removing redundant or irrelevant files from 'license_text:'.
23*a58d3d2aSXin Li// http://go/android-license-faq
24*a58d3d2aSXin Lilicense {
25*a58d3d2aSXin Li    name: "external_libopus_license",
26*a58d3d2aSXin Li    visibility: [":__subpackages__"],
27*a58d3d2aSXin Li    license_kinds: [
28*a58d3d2aSXin Li        "SPDX-license-identifier-Apache-2.0",
29*a58d3d2aSXin Li        "SPDX-license-identifier-BSD",
30*a58d3d2aSXin Li    ],
31*a58d3d2aSXin Li    license_text: [
32*a58d3d2aSXin Li        "COPYING",
33*a58d3d2aSXin Li        "NOTICE",
34*a58d3d2aSXin Li    ],
35*a58d3d2aSXin Li}
36*a58d3d2aSXin Li
37*a58d3d2aSXin Licc_library {
38*a58d3d2aSXin Li    name: "libopus",
39*a58d3d2aSXin Li    vendor_available: true,
40*a58d3d2aSXin Li    host_supported: true,
41*a58d3d2aSXin Li
42*a58d3d2aSXin Li    export_include_dirs: ["include"],
43*a58d3d2aSXin Li
44*a58d3d2aSXin Li    local_include_dirs: [
45*a58d3d2aSXin Li        "src",
46*a58d3d2aSXin Li        "silk",
47*a58d3d2aSXin Li        "celt",
48*a58d3d2aSXin Li        "silk/fixed",
49*a58d3d2aSXin Li    ],
50*a58d3d2aSXin Li
51*a58d3d2aSXin Li    sanitize: {
52*a58d3d2aSXin Li        integer_overflow: true,
53*a58d3d2aSXin Li        misc_undefined: ["bounds"],
54*a58d3d2aSXin Li        blocklist: "libopus_blocklist.txt",
55*a58d3d2aSXin Li    },
56*a58d3d2aSXin Li
57*a58d3d2aSXin Li    srcs: [
58*a58d3d2aSXin Li        // CELT_SOURCES
59*a58d3d2aSXin Li        "celt/bands.c",
60*a58d3d2aSXin Li        "celt/celt.c",
61*a58d3d2aSXin Li        "celt/celt_encoder.c",
62*a58d3d2aSXin Li        "celt/celt_decoder.c",
63*a58d3d2aSXin Li        "celt/cwrs.c",
64*a58d3d2aSXin Li        "celt/entcode.c",
65*a58d3d2aSXin Li        "celt/entdec.c",
66*a58d3d2aSXin Li        "celt/entenc.c",
67*a58d3d2aSXin Li        "celt/kiss_fft.c",
68*a58d3d2aSXin Li        "celt/laplace.c",
69*a58d3d2aSXin Li        "celt/mathops.c",
70*a58d3d2aSXin Li        "celt/mdct.c",
71*a58d3d2aSXin Li        "celt/modes.c",
72*a58d3d2aSXin Li        "celt/pitch.c",
73*a58d3d2aSXin Li        "celt/celt_lpc.c",
74*a58d3d2aSXin Li        "celt/quant_bands.c",
75*a58d3d2aSXin Li        "celt/rate.c",
76*a58d3d2aSXin Li        "celt/vq.c",
77*a58d3d2aSXin Li
78*a58d3d2aSXin Li        // SILK_SOURCES
79*a58d3d2aSXin Li        "silk/CNG.c",
80*a58d3d2aSXin Li        "silk/code_signs.c",
81*a58d3d2aSXin Li        "silk/init_decoder.c",
82*a58d3d2aSXin Li        "silk/decode_core.c",
83*a58d3d2aSXin Li        "silk/decode_frame.c",
84*a58d3d2aSXin Li        "silk/decode_parameters.c",
85*a58d3d2aSXin Li        "silk/decode_indices.c",
86*a58d3d2aSXin Li        "silk/decode_pulses.c",
87*a58d3d2aSXin Li        "silk/decoder_set_fs.c",
88*a58d3d2aSXin Li        "silk/dec_API.c",
89*a58d3d2aSXin Li        "silk/enc_API.c",
90*a58d3d2aSXin Li        "silk/encode_indices.c",
91*a58d3d2aSXin Li        "silk/encode_pulses.c",
92*a58d3d2aSXin Li        "silk/gain_quant.c",
93*a58d3d2aSXin Li        "silk/interpolate.c",
94*a58d3d2aSXin Li        "silk/LP_variable_cutoff.c",
95*a58d3d2aSXin Li        "silk/NLSF_decode.c",
96*a58d3d2aSXin Li        "silk/NSQ.c",
97*a58d3d2aSXin Li        "silk/NSQ_del_dec.c",
98*a58d3d2aSXin Li        "silk/PLC.c",
99*a58d3d2aSXin Li        "silk/shell_coder.c",
100*a58d3d2aSXin Li        "silk/tables_gain.c",
101*a58d3d2aSXin Li        "silk/tables_LTP.c",
102*a58d3d2aSXin Li        "silk/tables_NLSF_CB_NB_MB.c",
103*a58d3d2aSXin Li        "silk/tables_NLSF_CB_WB.c",
104*a58d3d2aSXin Li        "silk/tables_other.c",
105*a58d3d2aSXin Li        "silk/tables_pitch_lag.c",
106*a58d3d2aSXin Li        "silk/tables_pulses_per_block.c",
107*a58d3d2aSXin Li        "silk/VAD.c",
108*a58d3d2aSXin Li        "silk/control_audio_bandwidth.c",
109*a58d3d2aSXin Li        "silk/quant_LTP_gains.c",
110*a58d3d2aSXin Li        "silk/VQ_WMat_EC.c",
111*a58d3d2aSXin Li        "silk/HP_variable_cutoff.c",
112*a58d3d2aSXin Li        "silk/NLSF_encode.c",
113*a58d3d2aSXin Li        "silk/NLSF_VQ.c",
114*a58d3d2aSXin Li        "silk/NLSF_unpack.c",
115*a58d3d2aSXin Li        "silk/NLSF_del_dec_quant.c",
116*a58d3d2aSXin Li        "silk/process_NLSFs.c",
117*a58d3d2aSXin Li        "silk/stereo_LR_to_MS.c",
118*a58d3d2aSXin Li        "silk/stereo_MS_to_LR.c",
119*a58d3d2aSXin Li        "silk/check_control_input.c",
120*a58d3d2aSXin Li        "silk/control_SNR.c",
121*a58d3d2aSXin Li        "silk/init_encoder.c",
122*a58d3d2aSXin Li        "silk/control_codec.c",
123*a58d3d2aSXin Li        "silk/A2NLSF.c",
124*a58d3d2aSXin Li        "silk/ana_filt_bank_1.c",
125*a58d3d2aSXin Li        "silk/biquad_alt.c",
126*a58d3d2aSXin Li        "silk/bwexpander_32.c",
127*a58d3d2aSXin Li        "silk/bwexpander.c",
128*a58d3d2aSXin Li        "silk/debug.c",
129*a58d3d2aSXin Li        "silk/decode_pitch.c",
130*a58d3d2aSXin Li        "silk/inner_prod_aligned.c",
131*a58d3d2aSXin Li        "silk/lin2log.c",
132*a58d3d2aSXin Li        "silk/log2lin.c",
133*a58d3d2aSXin Li        "silk/LPC_analysis_filter.c",
134*a58d3d2aSXin Li        "silk/LPC_fit.c",
135*a58d3d2aSXin Li        "silk/LPC_inv_pred_gain.c",
136*a58d3d2aSXin Li        "silk/table_LSF_cos.c",
137*a58d3d2aSXin Li        "silk/NLSF2A.c",
138*a58d3d2aSXin Li        "silk/NLSF_stabilize.c",
139*a58d3d2aSXin Li        "silk/NLSF_VQ_weights_laroia.c",
140*a58d3d2aSXin Li        "silk/pitch_est_tables.c",
141*a58d3d2aSXin Li        "silk/resampler.c",
142*a58d3d2aSXin Li        "silk/resampler_down2_3.c",
143*a58d3d2aSXin Li        "silk/resampler_down2.c",
144*a58d3d2aSXin Li        "silk/resampler_private_AR2.c",
145*a58d3d2aSXin Li        "silk/resampler_private_down_FIR.c",
146*a58d3d2aSXin Li        "silk/resampler_private_IIR_FIR.c",
147*a58d3d2aSXin Li        "silk/resampler_private_up2_HQ.c",
148*a58d3d2aSXin Li        "silk/resampler_rom.c",
149*a58d3d2aSXin Li        "silk/sigm_Q15.c",
150*a58d3d2aSXin Li        "silk/sort.c",
151*a58d3d2aSXin Li        "silk/sum_sqr_shift.c",
152*a58d3d2aSXin Li        "silk/stereo_decode_pred.c",
153*a58d3d2aSXin Li        "silk/stereo_encode_pred.c",
154*a58d3d2aSXin Li        "silk/stereo_find_predictor.c",
155*a58d3d2aSXin Li        "silk/stereo_quant_pred.c",
156*a58d3d2aSXin Li
157*a58d3d2aSXin Li        // SILK_SOURCES_FIXED
158*a58d3d2aSXin Li        "silk/fixed/LTP_analysis_filter_FIX.c",
159*a58d3d2aSXin Li        "silk/fixed/LTP_scale_ctrl_FIX.c",
160*a58d3d2aSXin Li        "silk/fixed/corrMatrix_FIX.c",
161*a58d3d2aSXin Li        "silk/fixed/encode_frame_FIX.c",
162*a58d3d2aSXin Li        "silk/fixed/find_LPC_FIX.c",
163*a58d3d2aSXin Li        "silk/fixed/find_LTP_FIX.c",
164*a58d3d2aSXin Li        "silk/fixed/find_pitch_lags_FIX.c",
165*a58d3d2aSXin Li        "silk/fixed/find_pred_coefs_FIX.c",
166*a58d3d2aSXin Li        "silk/fixed/noise_shape_analysis_FIX.c",
167*a58d3d2aSXin Li        "silk/fixed/process_gains_FIX.c",
168*a58d3d2aSXin Li        "silk/fixed/regularize_correlations_FIX.c",
169*a58d3d2aSXin Li        "silk/fixed/residual_energy16_FIX.c",
170*a58d3d2aSXin Li        "silk/fixed/residual_energy_FIX.c",
171*a58d3d2aSXin Li        "silk/fixed/warped_autocorrelation_FIX.c",
172*a58d3d2aSXin Li        "silk/fixed/apply_sine_window_FIX.c",
173*a58d3d2aSXin Li        "silk/fixed/autocorr_FIX.c",
174*a58d3d2aSXin Li        "silk/fixed/burg_modified_FIX.c",
175*a58d3d2aSXin Li        "silk/fixed/k2a_FIX.c",
176*a58d3d2aSXin Li        "silk/fixed/k2a_Q16_FIX.c",
177*a58d3d2aSXin Li        "silk/fixed/pitch_analysis_core_FIX.c",
178*a58d3d2aSXin Li        "silk/fixed/vector_ops_FIX.c",
179*a58d3d2aSXin Li        "silk/fixed/schur64_FIX.c",
180*a58d3d2aSXin Li        "silk/fixed/schur_FIX.c",
181*a58d3d2aSXin Li
182*a58d3d2aSXin Li        // OPUS_SOURCES
183*a58d3d2aSXin Li        "src/mapping_matrix.c",
184*a58d3d2aSXin Li        "src/opus.c",
185*a58d3d2aSXin Li        "src/opus_decoder.c",
186*a58d3d2aSXin Li        "src/opus_encoder.c",
187*a58d3d2aSXin Li        "src/opus_multistream.c",
188*a58d3d2aSXin Li        "src/opus_multistream_encoder.c",
189*a58d3d2aSXin Li        "src/opus_multistream_decoder.c",
190*a58d3d2aSXin Li        "src/opus_projection_encoder.c",
191*a58d3d2aSXin Li        "src/opus_projection_decoder.c",
192*a58d3d2aSXin Li        "src/repacketizer.c",
193*a58d3d2aSXin Li        "src/extensions.c",
194*a58d3d2aSXin Li        // OPUS_SOURCES_FLOAT
195*a58d3d2aSXin Li        "src/analysis.c",
196*a58d3d2aSXin Li        "src/mlp.c",
197*a58d3d2aSXin Li        "src/mlp_data.c",
198*a58d3d2aSXin Li    ],
199*a58d3d2aSXin Li
200*a58d3d2aSXin Li    cflags: [
201*a58d3d2aSXin Li        "-DNULL=0",
202*a58d3d2aSXin Li        "-DSOCKLEN_T=socklen_t",
203*a58d3d2aSXin Li        "-DLOCALE_NOT_USED",
204*a58d3d2aSXin Li        "-D_LARGEFILE_SOURCE=1",
205*a58d3d2aSXin Li        "-D_FILE_OFFSET_BITS=64",
206*a58d3d2aSXin Li        "-Drestrict=",
207*a58d3d2aSXin Li        "-D__EMX__",
208*a58d3d2aSXin Li        "-DOPUS_BUILD",
209*a58d3d2aSXin Li        "-DFIXED_POINT",
210*a58d3d2aSXin Li        "-DUSE_ALLOCA",
211*a58d3d2aSXin Li        "-DSIMD_EXTRA_ALLOC_BYTES=16",
212*a58d3d2aSXin Li        "-DHAVE_LRINT",
213*a58d3d2aSXin Li        "-DHAVE_LRINTF",
214*a58d3d2aSXin Li        "-DENABLE_HARDENING",
215*a58d3d2aSXin Li        "-O2",
216*a58d3d2aSXin Li        "-fno-math-errno",
217*a58d3d2aSXin Li        "-Wall",
218*a58d3d2aSXin Li        "-Werror",
219*a58d3d2aSXin Li    ],
220*a58d3d2aSXin Li    cppflags: [
221*a58d3d2aSXin Li        "-DBSD=1",
222*a58d3d2aSXin Li        "-ffast-math",
223*a58d3d2aSXin Li        "-O2",
224*a58d3d2aSXin Li        "-funroll-loops",
225*a58d3d2aSXin Li    ],
226*a58d3d2aSXin Li
227*a58d3d2aSXin Li    arch: {
228*a58d3d2aSXin Li        arm: {
229*a58d3d2aSXin Li            srcs: [
230*a58d3d2aSXin Li                // CELT_SOURCES_ARM
231*a58d3d2aSXin Li                "celt/arm/armcpu.c",
232*a58d3d2aSXin Li                "celt/arm/arm_celt_map.c",
233*a58d3d2aSXin Li
234*a58d3d2aSXin Li                // CELT_SOURCES_ARM_ASM
235*a58d3d2aSXin Li                "celt/arm/celt_pitch_xcorr_arm_gnu.s",
236*a58d3d2aSXin Li
237*a58d3d2aSXin Li                // CELT_AM_SOURCES_ARM_ASM
238*a58d3d2aSXin Li                "celt/arm/armopts_gnu.s",
239*a58d3d2aSXin Li
240*a58d3d2aSXin Li                // CELT_SOURCES_ARM_NEON_INTR
241*a58d3d2aSXin Li                "celt/arm/celt_neon_intr.c",
242*a58d3d2aSXin Li                "celt/arm/pitch_neon_intr.c",
243*a58d3d2aSXin Li
244*a58d3d2aSXin Li                // SILK_SOURCES_ARM_NEON_INTR,
245*a58d3d2aSXin Li                "silk/arm/arm_silk_map.c",
246*a58d3d2aSXin Li                "silk/arm/biquad_alt_neon_intr.c",
247*a58d3d2aSXin Li                "silk/arm/LPC_inv_pred_gain_neon_intr.c",
248*a58d3d2aSXin Li                "silk/arm/NSQ_del_dec_neon_intr.c",
249*a58d3d2aSXin Li                "silk/arm/NSQ_neon.c",
250*a58d3d2aSXin Li
251*a58d3d2aSXin Li                // SILK_SOURCES_FIXED_ARM_NEON_INTR,
252*a58d3d2aSXin Li                "silk/fixed/arm/warped_autocorrelation_FIX_neon_intr.c",
253*a58d3d2aSXin Li            ],
254*a58d3d2aSXin Li
255*a58d3d2aSXin Li            cflags: [
256*a58d3d2aSXin Li                "-DOPUS_ARM_ASM",
257*a58d3d2aSXin Li                "-DOPUS_ARM_INLINE_ASM",
258*a58d3d2aSXin Li                "-DOPUS_ARM_MAY_HAVE_EDSP",
259*a58d3d2aSXin Li                "-DOPUS_ARM_INLINE_EDSP",
260*a58d3d2aSXin Li                "-DOPUS_ARM_MAY_HAVE_MEDIA",
261*a58d3d2aSXin Li                "-DOPUS_ARM_INLINE_MEDIA",
262*a58d3d2aSXin Li                "-DOPUS_ARM_MAY_HAVE_NEON",
263*a58d3d2aSXin Li                "-DOPUS_ARM_MAY_HAVE_NEON_INTR",
264*a58d3d2aSXin Li                "-DOPUS_ARM_PRESUME_NEON",
265*a58d3d2aSXin Li                "-DOPUS_ARM_INLINE_NEON",
266*a58d3d2aSXin Li                "-DOPUS_HAVE_RTCD",
267*a58d3d2aSXin Li            ],
268*a58d3d2aSXin Li        },
269*a58d3d2aSXin Li
270*a58d3d2aSXin Li        arm64: {
271*a58d3d2aSXin Li            // TODO: opus 1.5 has support for arm64 (AARCH64) too.
272*a58d3d2aSXin Li        },
273*a58d3d2aSXin Li
274*a58d3d2aSXin Li        x86: {
275*a58d3d2aSXin Li            ssse3: {
276*a58d3d2aSXin Li                srcs: [
277*a58d3d2aSXin Li                    // CELT_SOURCES_SSE
278*a58d3d2aSXin Li                    "celt/x86/x86cpu.c",
279*a58d3d2aSXin Li                    "celt/x86/x86_celt_map.c",
280*a58d3d2aSXin Li                    "celt/x86/pitch_sse.c",
281*a58d3d2aSXin Li
282*a58d3d2aSXin Li                    // CELT_SOURCES_SSE2
283*a58d3d2aSXin Li                    "celt/x86/pitch_sse2.c",
284*a58d3d2aSXin Li                    "celt/x86/vq_sse2.c",
285*a58d3d2aSXin Li                ],
286*a58d3d2aSXin Li
287*a58d3d2aSXin Li                cflags: [
288*a58d3d2aSXin Li                    "-DOPUS_X86_MAY_HAVE_SSE",
289*a58d3d2aSXin Li                    "-DOPUS_X86_PRESUME_SSE",
290*a58d3d2aSXin Li                    "-DOPUS_X86_MAY_HAVE_SSE2",
291*a58d3d2aSXin Li                    "-DOPUS_X86_PRESUME_SSE2",
292*a58d3d2aSXin Li                ],
293*a58d3d2aSXin Li            },
294*a58d3d2aSXin Li
295*a58d3d2aSXin Li            sse4_1: {
296*a58d3d2aSXin Li                srcs: [
297*a58d3d2aSXin Li                    // CELT_SOURCES_SSE4_1
298*a58d3d2aSXin Li                    "celt/x86/celt_lpc_sse4_1.c",
299*a58d3d2aSXin Li                    "celt/x86/pitch_sse4_1.c",
300*a58d3d2aSXin Li
301*a58d3d2aSXin Li                    // SILK_SOURCES_SSE4_1
302*a58d3d2aSXin Li                    "silk/x86/NSQ_sse4_1.c",
303*a58d3d2aSXin Li                    "silk/x86/NSQ_del_dec_sse4_1.c",
304*a58d3d2aSXin Li                    "silk/x86/x86_silk_map.c",
305*a58d3d2aSXin Li                    "silk/x86/VAD_sse4_1.c",
306*a58d3d2aSXin Li                    "silk/x86/VQ_WMat_EC_sse4_1.c",
307*a58d3d2aSXin Li
308*a58d3d2aSXin Li                    // SILK_SOURCES_FIXED_SSE4_1
309*a58d3d2aSXin Li                    "silk/fixed/x86/vector_ops_FIX_sse4_1.c",
310*a58d3d2aSXin Li                    "silk/fixed/x86/burg_modified_FIX_sse4_1.c",
311*a58d3d2aSXin Li                ],
312*a58d3d2aSXin Li
313*a58d3d2aSXin Li                cflags: [
314*a58d3d2aSXin Li                    "-DOPUS_X86_MAY_HAVE_SSE4_1",
315*a58d3d2aSXin Li                    "-DOPUS_X86_PRESUME_SSE4_1",
316*a58d3d2aSXin Li                ],
317*a58d3d2aSXin Li            },
318*a58d3d2aSXin Li        },
319*a58d3d2aSXin Li
320*a58d3d2aSXin Li        x86_64: {
321*a58d3d2aSXin Li            ssse3: {
322*a58d3d2aSXin Li                srcs: [
323*a58d3d2aSXin Li                    // CELT_SOURCES_SSE
324*a58d3d2aSXin Li                    "celt/x86/x86cpu.c",
325*a58d3d2aSXin Li                    "celt/x86/x86_celt_map.c",
326*a58d3d2aSXin Li                    "celt/x86/pitch_sse.c",
327*a58d3d2aSXin Li
328*a58d3d2aSXin Li                    // CELT_SOURCES_SSE2
329*a58d3d2aSXin Li                    "celt/x86/pitch_sse2.c",
330*a58d3d2aSXin Li                    "celt/x86/vq_sse2.c",
331*a58d3d2aSXin Li                ],
332*a58d3d2aSXin Li
333*a58d3d2aSXin Li                cflags: [
334*a58d3d2aSXin Li                    "-DOPUS_X86_MAY_HAVE_SSE",
335*a58d3d2aSXin Li                    "-DOPUS_X86_PRESUME_SSE",
336*a58d3d2aSXin Li                    "-DOPUS_X86_MAY_HAVE_SSE2",
337*a58d3d2aSXin Li                    "-DOPUS_X86_PRESUME_SSE2",
338*a58d3d2aSXin Li                ],
339*a58d3d2aSXin Li            },
340*a58d3d2aSXin Li
341*a58d3d2aSXin Li            sse4_1: {
342*a58d3d2aSXin Li                srcs: [
343*a58d3d2aSXin Li                    // CELT_SOURCES_SSE4_1
344*a58d3d2aSXin Li                    "celt/x86/celt_lpc_sse4_1.c",
345*a58d3d2aSXin Li                    "celt/x86/pitch_sse4_1.c",
346*a58d3d2aSXin Li
347*a58d3d2aSXin Li                    // SILK_SOURCES_SSE4_1
348*a58d3d2aSXin Li                    "silk/x86/NSQ_sse4_1.c",
349*a58d3d2aSXin Li                    "silk/x86/NSQ_del_dec_sse4_1.c",
350*a58d3d2aSXin Li                    "silk/x86/x86_silk_map.c",
351*a58d3d2aSXin Li                    "silk/x86/VAD_sse4_1.c",
352*a58d3d2aSXin Li                    "silk/x86/VQ_WMat_EC_sse4_1.c",
353*a58d3d2aSXin Li
354*a58d3d2aSXin Li                    // SILK_SOURCES_FIXED_SSE4_1
355*a58d3d2aSXin Li                    "silk/fixed/x86/vector_ops_FIX_sse4_1.c",
356*a58d3d2aSXin Li                    "silk/fixed/x86/burg_modified_FIX_sse4_1.c",
357*a58d3d2aSXin Li                ],
358*a58d3d2aSXin Li
359*a58d3d2aSXin Li                cflags: [
360*a58d3d2aSXin Li                    "-DOPUS_X86_MAY_HAVE_SSE4_1",
361*a58d3d2aSXin Li                    "-DOPUS_X86_PRESUME_SSE4_1",
362*a58d3d2aSXin Li                ],
363*a58d3d2aSXin Li            },
364*a58d3d2aSXin Li        },
365*a58d3d2aSXin Li    },
366*a58d3d2aSXin Li
367*a58d3d2aSXin Li    target: {
368*a58d3d2aSXin Li        darwin: {
369*a58d3d2aSXin Li            enabled: false,
370*a58d3d2aSXin Li        },
371*a58d3d2aSXin Li    },
372*a58d3d2aSXin Li    apex_available: [
373*a58d3d2aSXin Li        "//apex_available:platform", // used by libstagefright_soft_opusdec
374*a58d3d2aSXin Li        "com.android.media.swcodec",
375*a58d3d2aSXin Li        "com.android.btservices",
376*a58d3d2aSXin Li    ],
377*a58d3d2aSXin Li    min_sdk_version: "29",
378*a58d3d2aSXin Li}
379