xref: /aosp_15_r20/external/libaom/Android.bp (revision 77c1e3ccc04c968bd2bc212e87364f250e820521)
1// *** THIS PACKAGE HAS SPECIAL LICENSING CONDITIONS.  PLEASE
2//     CONSULT YOUR go/whichlawyer LEGAL TEAM MEMBER BEFORE
3//     DEPENDING ON IT IN YOUR PROJECT. ***
4// THIS FILE IS AUTOGENERATED, DO NOT EDIT
5// Generated from Android.bp.in, run ./generate_config.sh to regenerate
6
7aom_av1_common_intrin_avx2 = [
8    "av1/common/x86/av1_inv_txfm_avx2.c",
9    "av1/common/x86/cdef_block_avx2.c",
10    "av1/common/x86/cfl_avx2.c",
11    "av1/common/x86/convolve_2d_avx2.c",
12    "av1/common/x86/convolve_avx2.c",
13    "av1/common/x86/highbd_convolve_2d_avx2.c",
14    "av1/common/x86/highbd_inv_txfm_avx2.c",
15    "av1/common/x86/highbd_jnt_convolve_avx2.c",
16    "av1/common/x86/highbd_warp_affine_avx2.c",
17    "av1/common/x86/highbd_wiener_convolve_avx2.c",
18    "av1/common/x86/jnt_convolve_avx2.c",
19    "av1/common/x86/reconinter_avx2.c",
20    "av1/common/x86/resize_avx2.c",
21    "av1/common/x86/selfguided_avx2.c",
22    "av1/common/x86/warp_plane_avx2.c",
23    "av1/common/x86/wiener_convolve_avx2.c",
24]
25
26aom_av1_common_intrin_neon = [
27    "av1/common/arm/av1_convolve_horiz_rs_neon.c",
28    "av1/common/arm/av1_convolve_scale_neon.c",
29    "av1/common/arm/av1_inv_txfm_neon.c",
30    "av1/common/arm/av1_txfm_neon.c",
31    "av1/common/arm/blend_a64_hmask_neon.c",
32    "av1/common/arm/blend_a64_vmask_neon.c",
33    "av1/common/arm/cdef_block_neon.c",
34    "av1/common/arm/cfl_neon.c",
35    "av1/common/arm/compound_convolve_neon.c",
36    "av1/common/arm/convolve_neon.c",
37    "av1/common/arm/highbd_compound_convolve_neon.c",
38    "av1/common/arm/highbd_convolve_horiz_rs_neon.c",
39    "av1/common/arm/highbd_convolve_neon.c",
40    "av1/common/arm/highbd_convolve_scale_neon.c",
41    "av1/common/arm/highbd_inv_txfm_neon.c",
42    "av1/common/arm/highbd_reconinter_neon.c",
43    "av1/common/arm/highbd_reconintra_neon.c",
44    "av1/common/arm/highbd_warp_plane_neon.c",
45    "av1/common/arm/highbd_wiener_convolve_neon.c",
46    "av1/common/arm/reconinter_neon.c",
47    "av1/common/arm/reconintra_neon.c",
48    "av1/common/arm/resize_neon.c",
49    "av1/common/arm/selfguided_neon.c",
50    "av1/common/arm/warp_plane_neon.c",
51    "av1/common/arm/wiener_convolve_neon.c",
52]
53
54aom_av1_common_intrin_neon_dotprod = [
55    "av1/common/arm/av1_convolve_scale_neon_dotprod.c",
56    "av1/common/arm/compound_convolve_neon_dotprod.c",
57    "av1/common/arm/convolve_neon_dotprod.c",
58    "av1/common/arm/resize_neon_dotprod.c",
59]
60
61aom_av1_common_intrin_neon_i8mm = [
62    "av1/common/arm/av1_convolve_scale_neon_i8mm.c",
63    "av1/common/arm/compound_convolve_neon_i8mm.c",
64    "av1/common/arm/convolve_neon_i8mm.c",
65    "av1/common/arm/resize_neon_i8mm.c",
66    "av1/common/arm/warp_plane_neon_i8mm.c",
67]
68
69aom_av1_common_intrin_sse2 = [
70    "av1/common/x86/cfl_sse2.c",
71    "av1/common/x86/convolve_2d_sse2.c",
72    "av1/common/x86/convolve_sse2.c",
73    "av1/common/x86/jnt_convolve_sse2.c",
74    "av1/common/x86/resize_sse2.c",
75    "av1/common/x86/wiener_convolve_sse2.c",
76]
77
78aom_av1_common_intrin_sse4_1 = [
79    "av1/common/x86/av1_convolve_horiz_rs_sse4.c",
80    "av1/common/x86/av1_convolve_scale_sse4.c",
81    "av1/common/x86/av1_txfm_sse4.c",
82    "av1/common/x86/cdef_block_sse4.c",
83    "av1/common/x86/filterintra_sse4.c",
84    "av1/common/x86/highbd_convolve_2d_sse4.c",
85    "av1/common/x86/highbd_inv_txfm_sse4.c",
86    "av1/common/x86/highbd_jnt_convolve_sse4.c",
87    "av1/common/x86/highbd_warp_plane_sse4.c",
88    "av1/common/x86/intra_edge_sse4.c",
89    "av1/common/x86/reconinter_sse4.c",
90    "av1/common/x86/selfguided_sse4.c",
91    "av1/common/x86/warp_plane_sse4.c",
92]
93
94aom_av1_common_intrin_ssse3 = [
95    "av1/common/x86/av1_inv_txfm_ssse3.c",
96    "av1/common/x86/cfl_ssse3.c",
97    "av1/common/x86/highbd_convolve_2d_ssse3.c",
98    "av1/common/x86/highbd_wiener_convolve_ssse3.c",
99    "av1/common/x86/jnt_convolve_ssse3.c",
100    "av1/common/x86/reconinter_ssse3.c",
101    "av1/common/x86/resize_ssse3.c",
102]
103
104aom_av1_common_intrin_ssse3_x86 = [
105    "av1/common/x86/cdef_block_ssse3.c",
106]
107
108aom_av1_common_intrin_sve = [
109    "av1/common/arm/highbd_warp_plane_sve.c",
110    "av1/common/arm/warp_plane_sve.c",
111]
112
113aom_av1_common_intrin_sve2 = [
114    "av1/common/arm/convolve_sve2.c",
115    "av1/common/arm/highbd_compound_convolve_sve2.c",
116    "av1/common/arm/highbd_convolve_sve2.c",
117]
118
119aom_av1_common_intrin_vsx = [
120    "av1/common/ppc/cfl_ppc.c",
121]
122
123aom_av1_common_sources = [
124    "av1/arg_defs.c",
125    "av1/common/alloccommon.c",
126    "av1/common/av1_inv_txfm1d.c",
127    "av1/common/av1_inv_txfm2d.c",
128    "av1/common/av1_loopfilter.c",
129    "av1/common/av1_txfm.c",
130    "av1/common/blockd.c",
131    "av1/common/cdef.c",
132    "av1/common/cdef_block.c",
133    "av1/common/cfl.c",
134    "av1/common/common_data.c",
135    "av1/common/convolve.c",
136    "av1/common/debugmodes.c",
137    "av1/common/entropy.c",
138    "av1/common/entropymode.c",
139    "av1/common/entropymv.c",
140    "av1/common/frame_buffers.c",
141    "av1/common/idct.c",
142    "av1/common/mvref_common.c",
143    "av1/common/obu_util.c",
144    "av1/common/pred_common.c",
145    "av1/common/quant_common.c",
146    "av1/common/reconinter.c",
147    "av1/common/reconintra.c",
148    "av1/common/resize.c",
149    "av1/common/restoration.c",
150    "av1/common/scale.c",
151    "av1/common/scan.c",
152    "av1/common/seg_common.c",
153    "av1/common/thread_common.c",
154    "av1/common/tile_common.c",
155    "av1/common/timing.c",
156    "av1/common/txb_common.c",
157    "av1/common/warped_motion.c",
158    "common/args_helper.c",
159]
160
161aom_av1_decoder_sources = [
162    "av1/av1_dx_iface.c",
163    "av1/decoder/decodeframe.c",
164    "av1/decoder/decodemv.c",
165    "av1/decoder/decoder.c",
166    "av1/decoder/decodetxb.c",
167    "av1/decoder/detokenize.c",
168    "av1/decoder/grain_synthesis.c",
169    "av1/decoder/obu.c",
170]
171
172aom_av1_encoder_asm_sse2 = [
173    "av1/encoder/x86/dct_sse2.asm",
174    "av1/encoder/x86/error_sse2.asm",
175]
176
177aom_av1_encoder_asm_ssse3_x86_64 = [
178    "av1/encoder/x86/av1_quantize_ssse3_x86_64.asm",
179]
180
181aom_av1_encoder_intrin_arm_crc32 = [
182    "av1/encoder/arm/hash_arm_crc32.c",
183]
184
185aom_av1_encoder_intrin_avx2 = [
186    "av1/encoder/x86/av1_fwd_txfm2d_avx2.c",
187    "av1/encoder/x86/av1_highbd_quantize_avx2.c",
188    "av1/encoder/x86/av1_k_means_avx2.c",
189    "av1/encoder/x86/av1_quantize_avx2.c",
190    "av1/encoder/x86/cnn_avx2.c",
191    "av1/encoder/x86/encodetxb_avx2.c",
192    "av1/encoder/x86/error_intrin_avx2.c",
193    "av1/encoder/x86/highbd_block_error_intrin_avx2.c",
194    "av1/encoder/x86/highbd_fwd_txfm_avx2.c",
195    "av1/encoder/x86/highbd_temporal_filter_avx2.c",
196    "av1/encoder/x86/ml_avx2.c",
197    "av1/encoder/x86/pickrst_avx2.c",
198    "av1/encoder/x86/rdopt_avx2.c",
199    "av1/encoder/x86/temporal_filter_avx2.c",
200    "av1/encoder/x86/wedge_utils_avx2.c",
201]
202
203aom_av1_encoder_intrin_neon = [
204    "av1/encoder/arm/av1_error_neon.c",
205    "av1/encoder/arm/av1_fwd_txfm2d_neon.c",
206    "av1/encoder/arm/av1_highbd_quantize_neon.c",
207    "av1/encoder/arm/av1_k_means_neon.c",
208    "av1/encoder/arm/cnn_neon.c",
209    "av1/encoder/arm/encodetxb_neon.c",
210    "av1/encoder/arm/highbd_fwd_txfm_neon.c",
211    "av1/encoder/arm/highbd_pickrst_neon.c",
212    "av1/encoder/arm/highbd_rdopt_neon.c",
213    "av1/encoder/arm/highbd_temporal_filter_neon.c",
214    "av1/encoder/arm/hybrid_fwd_txfm_neon.c",
215    "av1/encoder/arm/ml_neon.c",
216    "av1/encoder/arm/pickrst_neon.c",
217    "av1/encoder/arm/quantize_neon.c",
218    "av1/encoder/arm/rdopt_neon.c",
219    "av1/encoder/arm/reconinter_enc_neon.c",
220    "av1/encoder/arm/temporal_filter_neon.c",
221    "av1/encoder/arm/wedge_utils_neon.c",
222]
223
224aom_av1_encoder_intrin_neon_dotprod = [
225    "av1/encoder/arm/temporal_filter_neon_dotprod.c",
226]
227
228aom_av1_encoder_intrin_sse2 = [
229    "av1/encoder/x86/av1_fwd_txfm_sse2.c",
230    "av1/encoder/x86/av1_k_means_sse2.c",
231    "av1/encoder/x86/av1_quantize_sse2.c",
232    "av1/encoder/x86/encodetxb_sse2.c",
233    "av1/encoder/x86/error_intrin_sse2.c",
234    "av1/encoder/x86/highbd_block_error_intrin_sse2.c",
235    "av1/encoder/x86/highbd_temporal_filter_sse2.c",
236    "av1/encoder/x86/reconinter_enc_sse2.c",
237    "av1/encoder/x86/temporal_filter_sse2.c",
238    "av1/encoder/x86/wedge_utils_sse2.c",
239]
240
241aom_av1_encoder_intrin_sse3 = [
242    "av1/encoder/x86/ml_sse3.c",
243]
244
245aom_av1_encoder_intrin_sse4_1 = [
246    "av1/encoder/x86/av1_fwd_txfm1d_sse4.c",
247    "av1/encoder/x86/av1_fwd_txfm2d_sse4.c",
248    "av1/encoder/x86/av1_highbd_quantize_sse4.c",
249    "av1/encoder/x86/encodetxb_sse4.c",
250    "av1/encoder/x86/highbd_fwd_txfm_sse4.c",
251    "av1/encoder/x86/pickrst_sse4.c",
252    "av1/encoder/x86/rdopt_sse4.c",
253]
254
255aom_av1_encoder_intrin_sse4_2 = [
256    "av1/encoder/x86/hash_sse42.c",
257]
258
259aom_av1_encoder_intrin_sve = [
260    "av1/encoder/arm/av1_error_sve.c",
261    "av1/encoder/arm/highbd_pickrst_sve.c",
262    "av1/encoder/arm/pickrst_sve.c",
263    "av1/encoder/arm/wedge_utils_sve.c",
264]
265
266aom_av1_encoder_sources = [
267    "av1/av1_cx_iface.c",
268    "av1/encoder/allintra_vis.c",
269    "av1/encoder/aq_complexity.c",
270    "av1/encoder/aq_cyclicrefresh.c",
271    "av1/encoder/aq_variance.c",
272    "av1/encoder/av1_fwd_txfm1d.c",
273    "av1/encoder/av1_fwd_txfm2d.c",
274    "av1/encoder/av1_noise_estimate.c",
275    "av1/encoder/av1_quantize.c",
276    "av1/encoder/bitstream.c",
277    "av1/encoder/cnn.c",
278    "av1/encoder/compound_type.c",
279    "av1/encoder/context_tree.c",
280    "av1/encoder/cost.c",
281    "av1/encoder/dwt.c",
282    "av1/encoder/encode_strategy.c",
283    "av1/encoder/encodeframe.c",
284    "av1/encoder/encodeframe_utils.c",
285    "av1/encoder/encodemb.c",
286    "av1/encoder/encodemv.c",
287    "av1/encoder/encoder.c",
288    "av1/encoder/encoder_utils.c",
289    "av1/encoder/encodetxb.c",
290    "av1/encoder/ethread.c",
291    "av1/encoder/extend.c",
292    "av1/encoder/external_partition.c",
293    "av1/encoder/firstpass.c",
294    "av1/encoder/global_motion.c",
295    "av1/encoder/global_motion_facade.c",
296    "av1/encoder/gop_structure.c",
297    "av1/encoder/hash.c",
298    "av1/encoder/hash_motion.c",
299    "av1/encoder/hybrid_fwd_txfm.c",
300    "av1/encoder/interp_search.c",
301    "av1/encoder/intra_mode_search.c",
302    "av1/encoder/level.c",
303    "av1/encoder/lookahead.c",
304    "av1/encoder/mcomp.c",
305    "av1/encoder/ml.c",
306    "av1/encoder/motion_search_facade.c",
307    "av1/encoder/mv_prec.c",
308    "av1/encoder/nonrd_opt.c",
309    "av1/encoder/nonrd_pickmode.c",
310    "av1/encoder/palette.c",
311    "av1/encoder/partition_search.c",
312    "av1/encoder/partition_strategy.c",
313    "av1/encoder/pass2_strategy.c",
314    "av1/encoder/pickcdef.c",
315    "av1/encoder/picklpf.c",
316    "av1/encoder/pickrst.c",
317    "av1/encoder/ratectrl.c",
318    "av1/encoder/rd.c",
319    "av1/encoder/rdopt.c",
320    "av1/encoder/reconinter_enc.c",
321    "av1/encoder/segmentation.c",
322    "av1/encoder/speed_features.c",
323    "av1/encoder/superres_scale.c",
324    "av1/encoder/svc_layercontext.c",
325    "av1/encoder/temporal_filter.c",
326    "av1/encoder/tokenize.c",
327    "av1/encoder/tpl_model.c",
328    "av1/encoder/tx_search.c",
329    "av1/encoder/txb_rdopt.c",
330    "av1/encoder/var_based_part.c",
331    "av1/encoder/wedge_utils.c",
332    "third_party/fastfeat/fast.c",
333    "third_party/fastfeat/fast_9.c",
334    "third_party/fastfeat/nonmax.c",
335    "third_party/vector/vector.c",
336]
337
338aom_av1_rc_sources = [
339    "av1/ratectrl_rtc.cc",
340]
341
342aom_common_app_util_sources = [
343    "av1/arg_defs.c",
344    "common/args.c",
345    "common/args_helper.c",
346    "common/av1_config.c",
347    "common/ivfdec.c",
348    "common/md5_utils.c",
349    "common/rawenc.c",
350    "common/tools_common.c",
351    "common/y4menc.c",
352]
353
354aom_decoder_app_util_sources = [
355    "common/obudec.c",
356    "common/video_reader.c",
357]
358
359aom_dsp_common_asm_sse2 = [
360    "aom_dsp/x86/aom_high_subpixel_8t_sse2.asm",
361    "aom_dsp/x86/aom_high_subpixel_bilinear_sse2.asm",
362    "aom_dsp/x86/highbd_intrapred_asm_sse2.asm",
363    "aom_dsp/x86/intrapred_asm_sse2.asm",
364]
365
366aom_dsp_common_asm_ssse3 = [
367    "aom_dsp/x86/aom_subpixel_8t_ssse3.asm",
368    "aom_dsp/x86/aom_subpixel_bilinear_ssse3.asm",
369]
370
371aom_dsp_common_intrin_avx2 = [
372    "aom_dsp/x86/aom_convolve_copy_avx2.c",
373    "aom_dsp/x86/aom_subpixel_8t_intrin_avx2.c",
374    "aom_dsp/x86/blend_a64_mask_avx2.c",
375    "aom_dsp/x86/highbd_convolve_avx2.c",
376    "aom_dsp/x86/highbd_loopfilter_avx2.c",
377    "aom_dsp/x86/intrapred_avx2.c",
378    "aom_dsp/x86/loopfilter_avx2.c",
379]
380
381aom_dsp_common_intrin_neon = [
382    "aom_dsp/arm/aom_convolve8_neon.c",
383    "aom_dsp/arm/aom_convolve_copy_neon.c",
384    "aom_dsp/arm/aom_scaled_convolve8_neon.c",
385    "aom_dsp/arm/blend_a64_mask_neon.c",
386    "aom_dsp/arm/highbd_blend_a64_hmask_neon.c",
387    "aom_dsp/arm/highbd_blend_a64_mask_neon.c",
388    "aom_dsp/arm/highbd_blend_a64_vmask_neon.c",
389    "aom_dsp/arm/highbd_convolve8_neon.c",
390    "aom_dsp/arm/highbd_intrapred_neon.c",
391    "aom_dsp/arm/highbd_loopfilter_neon.c",
392    "aom_dsp/arm/intrapred_neon.c",
393    "aom_dsp/arm/loopfilter_neon.c",
394]
395
396aom_dsp_common_intrin_neon_dotprod = [
397    "aom_dsp/arm/aom_convolve8_neon_dotprod.c",
398    "aom_dsp/arm/aom_scaled_convolve8_neon_dotprod.c",
399]
400
401aom_dsp_common_intrin_neon_i8mm = [
402    "aom_dsp/arm/aom_convolve8_neon_i8mm.c",
403    "aom_dsp/arm/aom_scaled_convolve8_neon_i8mm.c",
404]
405
406aom_dsp_common_intrin_sse2 = [
407    "aom_dsp/x86/aom_convolve_copy_sse2.c",
408    "aom_dsp/x86/highbd_convolve_sse2.c",
409    "aom_dsp/x86/highbd_intrapred_sse2.c",
410    "aom_dsp/x86/highbd_loopfilter_sse2.c",
411    "aom_dsp/x86/intrapred_sse2.c",
412    "aom_dsp/x86/loopfilter_sse2.c",
413]
414
415aom_dsp_common_intrin_sse4_1 = [
416    "aom_dsp/x86/blend_a64_hmask_sse4.c",
417    "aom_dsp/x86/blend_a64_mask_sse4.c",
418    "aom_dsp/x86/blend_a64_vmask_sse4.c",
419    "aom_dsp/x86/intrapred_sse4.c",
420]
421
422aom_dsp_common_intrin_ssse3 = [
423    "aom_dsp/x86/aom_subpixel_8t_intrin_ssse3.c",
424    "aom_dsp/x86/highbd_convolve_ssse3.c",
425    "aom_dsp/x86/intrapred_ssse3.c",
426]
427
428aom_dsp_common_intrin_sve = [
429    "aom_dsp/arm/highbd_convolve8_sve.c",
430]
431
432aom_dsp_common_sources = [
433    "aom_dsp/aom_convolve.c",
434    "aom_dsp/bitreader_buffer.c",
435    "aom_dsp/bitwriter_buffer.c",
436    "aom_dsp/blend_a64_hmask.c",
437    "aom_dsp/blend_a64_mask.c",
438    "aom_dsp/blend_a64_vmask.c",
439    "aom_dsp/entcode.c",
440    "aom_dsp/intrapred.c",
441    "aom_dsp/loopfilter.c",
442    "aom_dsp/odintrin.c",
443]
444
445aom_dsp_decoder_sources = [
446    "aom_dsp/binary_codes_reader.c",
447    "aom_dsp/bitreader.c",
448    "aom_dsp/entdec.c",
449]
450
451aom_dsp_encoder_asm_sse2 = [
452    "aom_dsp/x86/highbd_sad4d_sse2.asm",
453    "aom_dsp/x86/highbd_sad_sse2.asm",
454    "aom_dsp/x86/highbd_subpel_variance_impl_sse2.asm",
455    "aom_dsp/x86/highbd_variance_impl_sse2.asm",
456    "aom_dsp/x86/sad4d_sse2.asm",
457    "aom_dsp/x86/sad_sse2.asm",
458    "aom_dsp/x86/subtract_sse2.asm",
459]
460
461aom_dsp_encoder_asm_sse2_x86_64 = [
462    "aom_dsp/x86/ssim_sse2_x86_64.asm",
463]
464
465aom_dsp_encoder_asm_ssse3 = [
466    "aom_dsp/x86/subpel_variance_ssse3.asm",
467]
468
469aom_dsp_encoder_asm_ssse3_x86_64 = [
470    "aom_dsp/x86/fwd_txfm_ssse3_x86_64.asm",
471    "aom_dsp/x86/quantize_ssse3_x86_64.asm",
472]
473
474aom_dsp_encoder_intrin_avx = [
475    "aom_dsp/x86/aom_quantize_avx.c",
476]
477
478aom_dsp_encoder_intrin_avx2 = [
479    "aom_dsp/flow_estimation/x86/corner_match_avx2.c",
480    "aom_dsp/flow_estimation/x86/disflow_avx2.c",
481    "aom_dsp/x86/adaptive_quantize_avx2.c",
482    "aom_dsp/x86/avg_intrin_avx2.c",
483    "aom_dsp/x86/blk_sse_sum_avx2.c",
484    "aom_dsp/x86/fft_avx2.c",
485    "aom_dsp/x86/highbd_adaptive_quantize_avx2.c",
486    "aom_dsp/x86/highbd_quantize_intrin_avx2.c",
487    "aom_dsp/x86/highbd_sad_avx2.c",
488    "aom_dsp/x86/highbd_variance_avx2.c",
489    "aom_dsp/x86/masked_sad_intrin_avx2.c",
490    "aom_dsp/x86/obmc_sad_avx2.c",
491    "aom_dsp/x86/obmc_variance_avx2.c",
492    "aom_dsp/x86/quantize_avx2.c",
493    "aom_dsp/x86/sad4d_avx2.c",
494    "aom_dsp/x86/sad_avx2.c",
495    "aom_dsp/x86/sad_impl_avx2.c",
496    "aom_dsp/x86/sse_avx2.c",
497    "aom_dsp/x86/subtract_avx2.c",
498    "aom_dsp/x86/sum_squares_avx2.c",
499    "aom_dsp/x86/variance_avx2.c",
500    "aom_dsp/x86/variance_impl_avx2.c",
501]
502
503aom_dsp_encoder_intrin_neon = [
504    "aom_dsp/arm/avg_neon.c",
505    "aom_dsp/arm/avg_pred_neon.c",
506    "aom_dsp/arm/blk_sse_sum_neon.c",
507    "aom_dsp/arm/fwd_txfm_neon.c",
508    "aom_dsp/arm/hadamard_neon.c",
509    "aom_dsp/arm/highbd_avg_neon.c",
510    "aom_dsp/arm/highbd_avg_pred_neon.c",
511    "aom_dsp/arm/highbd_hadamard_neon.c",
512    "aom_dsp/arm/highbd_masked_sad_neon.c",
513    "aom_dsp/arm/highbd_obmc_sad_neon.c",
514    "aom_dsp/arm/highbd_obmc_variance_neon.c",
515    "aom_dsp/arm/highbd_quantize_neon.c",
516    "aom_dsp/arm/highbd_sad_neon.c",
517    "aom_dsp/arm/highbd_sadxd_neon.c",
518    "aom_dsp/arm/highbd_sse_neon.c",
519    "aom_dsp/arm/highbd_subpel_variance_neon.c",
520    "aom_dsp/arm/highbd_variance_neon.c",
521    "aom_dsp/arm/masked_sad_neon.c",
522    "aom_dsp/arm/obmc_sad_neon.c",
523    "aom_dsp/arm/obmc_variance_neon.c",
524    "aom_dsp/arm/sad_neon.c",
525    "aom_dsp/arm/sadxd_neon.c",
526    "aom_dsp/arm/sse_neon.c",
527    "aom_dsp/arm/subpel_variance_neon.c",
528    "aom_dsp/arm/subtract_neon.c",
529    "aom_dsp/arm/sum_squares_neon.c",
530    "aom_dsp/arm/variance_neon.c",
531    "aom_dsp/flow_estimation/arm/disflow_neon.c",
532]
533
534aom_dsp_encoder_intrin_neon_dotprod = [
535    "aom_dsp/arm/highbd_variance_neon_dotprod.c",
536    "aom_dsp/arm/sad_neon_dotprod.c",
537    "aom_dsp/arm/sadxd_neon_dotprod.c",
538    "aom_dsp/arm/sse_neon_dotprod.c",
539    "aom_dsp/arm/sum_squares_neon_dotprod.c",
540    "aom_dsp/arm/variance_neon_dotprod.c",
541]
542
543aom_dsp_encoder_intrin_sse2 = [
544    "aom_dsp/x86/adaptive_quantize_sse2.c",
545    "aom_dsp/x86/avg_intrin_sse2.c",
546    "aom_dsp/x86/blk_sse_sum_sse2.c",
547    "aom_dsp/x86/fft_sse2.c",
548    "aom_dsp/x86/fwd_txfm_sse2.c",
549    "aom_dsp/x86/highbd_adaptive_quantize_sse2.c",
550    "aom_dsp/x86/highbd_quantize_intrin_sse2.c",
551    "aom_dsp/x86/highbd_subtract_sse2.c",
552    "aom_dsp/x86/highbd_variance_sse2.c",
553    "aom_dsp/x86/jnt_sad_sse2.c",
554    "aom_dsp/x86/quantize_sse2.c",
555    "aom_dsp/x86/sum_squares_sse2.c",
556    "aom_dsp/x86/variance_sse2.c",
557]
558
559aom_dsp_encoder_intrin_sse4_1 = [
560    "aom_dsp/flow_estimation/x86/corner_match_sse4.c",
561    "aom_dsp/flow_estimation/x86/disflow_sse4.c",
562    "aom_dsp/x86/avg_intrin_sse4.c",
563    "aom_dsp/x86/highbd_variance_sse4.c",
564    "aom_dsp/x86/obmc_sad_sse4.c",
565    "aom_dsp/x86/obmc_variance_sse4.c",
566    "aom_dsp/x86/sse_sse4.c",
567]
568
569aom_dsp_encoder_intrin_ssse3 = [
570    "aom_dsp/x86/jnt_variance_ssse3.c",
571    "aom_dsp/x86/masked_sad_intrin_ssse3.c",
572    "aom_dsp/x86/masked_variance_intrin_ssse3.c",
573    "aom_dsp/x86/quantize_ssse3.c",
574    "aom_dsp/x86/variance_impl_ssse3.c",
575    "aom_dsp/x86/variance_ssse3.c",
576]
577
578aom_dsp_encoder_intrin_sve = [
579    "aom_dsp/arm/avg_sve.c",
580    "aom_dsp/arm/blk_sse_sum_sve.c",
581    "aom_dsp/arm/highbd_sse_sve.c",
582    "aom_dsp/arm/highbd_variance_sve.c",
583    "aom_dsp/arm/sum_squares_sve.c",
584    "aom_dsp/flow_estimation/arm/disflow_sve.c",
585]
586
587aom_dsp_encoder_sources = [
588    "aom_dsp/avg.c",
589    "aom_dsp/binary_codes_writer.c",
590    "aom_dsp/bitwriter.c",
591    "aom_dsp/blk_sse_sum.c",
592    "aom_dsp/entenc.c",
593    "aom_dsp/fft.c",
594    "aom_dsp/flow_estimation/corner_detect.c",
595    "aom_dsp/flow_estimation/corner_match.c",
596    "aom_dsp/flow_estimation/disflow.c",
597    "aom_dsp/flow_estimation/flow_estimation.c",
598    "aom_dsp/flow_estimation/ransac.c",
599    "aom_dsp/fwd_txfm.c",
600    "aom_dsp/grain_table.c",
601    "aom_dsp/noise_model.c",
602    "aom_dsp/noise_util.c",
603    "aom_dsp/psnr.c",
604    "aom_dsp/pyramid.c",
605    "aom_dsp/quantize.c",
606    "aom_dsp/sad.c",
607    "aom_dsp/sad_av1.c",
608    "aom_dsp/sse.c",
609    "aom_dsp/ssim.c",
610    "aom_dsp/subtract.c",
611    "aom_dsp/sum_squares.c",
612    "aom_dsp/variance.c",
613]
614
615aom_encoder_app_util_sources = [
616    "common/ivfenc.c",
617    "common/video_writer.c",
618    "common/warnings.c",
619    "common/y4minput.c",
620    "examples/encoder_util.c",
621]
622
623aom_encoder_stats_sources = [
624    "stats/aomstats.c",
625    "stats/rate_hist.c",
626]
627
628aom_libwebm_sources = [
629    "third_party/libwebm/common/hdr_util.cc",
630    "third_party/libwebm/mkvmuxer/mkvmuxer.cc",
631    "third_party/libwebm/mkvmuxer/mkvmuxerutil.cc",
632    "third_party/libwebm/mkvmuxer/mkvwriter.cc",
633    "third_party/libwebm/mkvparser/mkvparser.cc",
634    "third_party/libwebm/mkvparser/mkvreader.cc",
635]
636
637aom_mem_sources = [
638    "aom_mem/aom_mem.c",
639]
640
641aom_ports_asm_x86 = [
642    "aom_ports/float.asm",
643]
644
645aom_rtcd_sources = [
646    "aom_dsp/aom_dsp_rtcd.c",
647    "aom_scale/aom_scale_rtcd.c",
648    "av1/common/av1_rtcd.c",
649]
650
651aom_scale_sources = [
652    "aom_scale/generic/yv12config.c",
653    "aom_scale/generic/yv12extend.c",
654]
655
656aom_sources = [
657    "aom/src/aom_codec.c",
658    "aom/src/aom_decoder.c",
659    "aom/src/aom_encoder.c",
660    "aom/src/aom_image.c",
661    "aom/src/aom_integer.c",
662]
663
664aom_util_sources = [
665    "aom_util/aom_thread.c",
666]
667
668aom_webm_decoder_sources = [
669    "common/webmdec.cc",
670]
671
672aom_webm_encoder_sources = [
673    "common/webmenc.cc",
674]
675
676aom_rtcd_sources_gen = [
677]
678
679aom_sources_gen = [
680    "config/aom_config.c",
681]
682
683aom_version_sources_gen = [
684]
685
686aom_av1_common_sources += ["common/av1_config.c"]
687
688package {
689    default_applicable_licenses: ["external_libaom_license"],
690}
691
692// Added automatically by a large-scale-change that took the approach of
693// 'apply every license found to every target'. While this makes sure we respect
694// every license restriction, it may not be entirely correct.
695//
696// e.g. GPL in an MIT project might only apply to the contrib/ directory.
697//
698// Please consider splitting the single license below into multiple licenses,
699// taking care not to lose any license_kind information, and overriding the
700// default license using the 'licenses: [...]' property on targets as needed.
701//
702// For unused files, consider creating a 'fileGroup' with "//visibility:private"
703// to attach the license to, and including a comment whether the files may be
704// used in the current project.
705// See: http://go/android-license-faq
706license {
707    name: "external_libaom_license",
708    visibility: [":__subpackages__"],
709    license_kinds: [
710        "SPDX-license-identifier-BSD",
711        "SPDX-license-identifier-ISC",
712        "SPDX-license-identifier-MIT",
713        "legacy_by_exception_only", // by exception only
714        "legacy_unencumbered",
715    ],
716    license_text: [
717        "LICENSE",
718        "PATENTS",
719    ],
720}
721
722cc_defaults {
723    name: "libaom_defaults",
724
725    cflags: [
726        "-O3",
727    ],
728
729    min_sdk_version: "29",
730    apex_available: [
731        "//apex_available:platform",
732        "com.android.media.swcodec",
733    ],
734
735    arch: {
736        arm64: {
737            local_include_dirs: [
738                "config/",
739                "config/arm64/",
740            ],
741        },
742
743        // configured to require the neon unit
744        arm: {
745            local_include_dirs: [
746                "config/",
747                "config/arm/",
748            ],
749        },
750
751        x86_64: {
752            local_include_dirs: [
753                "config/",
754                "config/x86_64/",
755            ],
756        },
757
758        x86: {
759            local_include_dirs: [
760                "config/",
761                "config/x86/",
762            ],
763        },
764
765        riscv64: {
766            local_include_dirs: [
767                "config/",
768                "config/riscv64/",
769            ],
770        },
771    },
772}
773
774cc_library_static {
775    name: "libaom_arm_crc32",
776    defaults: ["libaom_defaults"],
777    host_supported: true,
778    vendor_available: true,
779    visibility: ["//visibility:private"],
780
781    cflags: [
782        "-Xclang -target-feature",
783        // This comment prevents bpfmt from sorting the flags incorrectly.
784        "-Xclang +crc",
785    ],
786
787    arch: {
788        arm64: {
789            srcs: aom_av1_encoder_intrin_arm_crc32,
790        },
791    },
792}
793
794cc_library_static {
795    name: "libaom_neon_dotprod",
796    defaults: ["libaom_defaults"],
797    host_supported: true,
798    vendor_available: true,
799    visibility: ["//visibility:private"],
800
801    cflags: [
802        "-Xclang -target-feature",
803        // This comment prevents bpfmt from sorting the flags incorrectly.
804        "-Xclang +dotprod",
805    ],
806
807    arch: {
808        arm64: {
809            srcs: aom_av1_common_intrin_neon_dotprod +
810                aom_av1_encoder_intrin_neon_dotprod +
811                aom_dsp_common_intrin_neon_dotprod +
812                aom_dsp_encoder_intrin_neon_dotprod,
813        },
814    },
815}
816
817cc_library_static {
818    name: "libaom_neon_i8mm",
819    defaults: ["libaom_defaults"],
820    host_supported: true,
821    vendor_available: true,
822    visibility: ["//visibility:private"],
823
824    cflags: [
825        "-Xclang -target-feature",
826        // This comment prevents bpfmt from sorting the flags incorrectly.
827        "-Xclang +dotprod",
828        // This comment prevents bpfmt from sorting the flags incorrectly.
829        "-Xclang -target-feature",
830        // This comment prevents bpfmt from sorting the flags incorrectly.
831        "-Xclang +i8mm",
832    ],
833
834    arch: {
835        arm64: {
836            srcs: aom_av1_common_intrin_neon_i8mm +
837                aom_dsp_common_intrin_neon_i8mm,
838        },
839    },
840}
841
842cc_library_static {
843    name: "libaom_sve",
844    defaults: ["libaom_defaults"],
845    host_supported: true,
846    vendor_available: true,
847    visibility: ["//visibility:private"],
848
849    cflags: [
850        "-Xclang -target-feature",
851        // This comment prevents bpfmt from sorting the flags incorrectly.
852        "-Xclang +dotprod",
853        // This comment prevents bpfmt from sorting the flags incorrectly.
854        "-Xclang -target-feature",
855        // This comment prevents bpfmt from sorting the flags incorrectly.
856        "-Xclang +i8mm",
857        // This comment prevents bpfmt from sorting the flags incorrectly.
858        "-Xclang -target-feature",
859        // This comment prevents bpfmt from sorting the flags incorrectly.
860        "-Xclang +sve",
861    ],
862
863    arch: {
864        arm64: {
865            srcs: aom_av1_common_intrin_sve +
866                aom_av1_encoder_intrin_sve +
867                aom_dsp_common_intrin_sve +
868                aom_dsp_encoder_intrin_sve,
869        },
870    },
871}
872
873cc_library_static {
874    name: "libaom_sve2",
875    defaults: ["libaom_defaults"],
876    host_supported: true,
877    vendor_available: true,
878    visibility: ["//visibility:private"],
879
880    cflags: [
881        "-Xclang -target-feature",
882        // This comment prevents bpfmt from sorting the flags incorrectly.
883        "-Xclang +dotprod",
884        // This comment prevents bpfmt from sorting the flags incorrectly.
885        "-Xclang -target-feature",
886        // This comment prevents bpfmt from sorting the flags incorrectly.
887        "-Xclang +i8mm",
888        // This comment prevents bpfmt from sorting the flags incorrectly.
889        "-Xclang -target-feature",
890        // This comment prevents bpfmt from sorting the flags incorrectly.
891        "-Xclang +sve",
892        // This comment prevents bpfmt from sorting the flags incorrectly.
893        "-Xclang -target-feature",
894        // This comment prevents bpfmt from sorting the flags incorrectly.
895        "-Xclang +sve2",
896    ],
897
898    arch: {
899        arm64: {
900            srcs: aom_av1_common_intrin_sve2,
901        },
902    },
903}
904
905cc_library_static {
906    name: "libaom",
907    defaults: ["libaom_defaults"],
908    host_supported: true,
909    vendor_available: true,
910
911    export_include_dirs: [
912        ".",
913    ],
914
915    min_sdk_version: "29",
916    apex_available: [
917        "//apex_available:platform",
918        "com.android.media.swcodec",
919    ],
920
921    arch: {
922        arm64: {
923            srcs: aom_av1_common_sources +
924                aom_av1_decoder_sources +
925                aom_dsp_common_sources +
926                aom_dsp_decoder_sources +
927                aom_mem_sources +
928                ["aom_ports/aarch64_cpudetect.c"] +
929                aom_rtcd_sources +
930                aom_scale_sources +
931                aom_sources +
932                aom_util_sources +
933                aom_av1_common_intrin_neon +
934                aom_dsp_common_intrin_neon +
935                aom_av1_encoder_intrin_neon +
936                aom_av1_encoder_sources +
937                aom_dsp_encoder_intrin_neon +
938                aom_dsp_encoder_sources,
939            whole_static_libs: [
940                "libaom_arm_crc32",
941                "libaom_neon_dotprod",
942                "libaom_neon_i8mm",
943                "libaom_sve",
944                "libaom_sve2",
945            ],
946        },
947
948        // configured to require the neon unit
949        arm: {
950            srcs: aom_av1_common_sources +
951                aom_av1_decoder_sources +
952                aom_dsp_common_sources +
953                aom_dsp_decoder_sources +
954                aom_mem_sources +
955                aom_rtcd_sources +
956                ["aom_ports/aarch32_cpudetect.c"] +
957                aom_scale_sources +
958                aom_sources +
959                aom_util_sources +
960                aom_av1_common_intrin_neon +
961                aom_dsp_common_intrin_neon +
962                aom_av1_encoder_intrin_neon +
963                aom_av1_encoder_sources +
964                aom_dsp_encoder_intrin_neon +
965                aom_dsp_encoder_sources,
966        },
967
968        x86_64: {
969            cflags: [
970                "-mssse3",
971            ],
972            srcs: aom_av1_common_sources +
973                aom_av1_decoder_sources +
974                aom_dsp_common_sources +
975                aom_dsp_decoder_sources +
976                aom_mem_sources +
977                aom_rtcd_sources +
978                aom_scale_sources +
979                aom_sources +
980                aom_util_sources +
981                aom_dsp_common_asm_sse2 +
982                aom_dsp_common_asm_ssse3 +
983                aom_ports_asm_x86 +
984                aom_av1_common_intrin_sse2 +
985                aom_dsp_common_intrin_sse2 +
986                aom_av1_common_intrin_ssse3 +
987                aom_dsp_common_intrin_ssse3 +
988                aom_av1_encoder_asm_sse2 +
989                aom_av1_encoder_asm_ssse3_x86_64 +
990                aom_av1_encoder_intrin_sse2 +
991                aom_av1_encoder_intrin_sse3 +
992                aom_av1_encoder_sources +
993                aom_dsp_encoder_asm_sse2 +
994                aom_dsp_encoder_asm_sse2_x86_64 +
995                aom_dsp_encoder_asm_ssse3 +
996                aom_dsp_encoder_asm_ssse3_x86_64 +
997                aom_dsp_encoder_intrin_sse2 +
998                aom_dsp_encoder_intrin_ssse3 +
999                aom_dsp_encoder_sources,
1000        },
1001
1002        x86: {
1003            local_include_dirs: [
1004                "config/",
1005                "config/x86/",
1006            ],
1007            cflags: [
1008                "-mssse3",
1009            ],
1010            srcs: aom_av1_common_sources +
1011                aom_av1_decoder_sources +
1012                aom_dsp_common_sources +
1013                aom_dsp_decoder_sources +
1014                aom_mem_sources +
1015                aom_rtcd_sources +
1016                aom_scale_sources +
1017                aom_sources +
1018                aom_util_sources +
1019                aom_dsp_common_asm_sse2 +
1020                aom_dsp_common_asm_ssse3 +
1021                aom_ports_asm_x86 +
1022                aom_av1_common_intrin_sse2 +
1023                aom_dsp_common_intrin_sse2 +
1024                aom_av1_common_intrin_ssse3 +
1025                aom_dsp_common_intrin_ssse3 +
1026                aom_av1_common_intrin_ssse3_x86 +
1027                aom_av1_encoder_asm_sse2 +
1028                aom_av1_encoder_intrin_sse2 +
1029                aom_av1_encoder_intrin_sse3 +
1030                aom_av1_encoder_sources +
1031                aom_dsp_encoder_asm_sse2 +
1032                aom_dsp_encoder_asm_ssse3 +
1033                aom_dsp_encoder_intrin_sse2 +
1034                aom_dsp_encoder_intrin_ssse3 +
1035                aom_dsp_encoder_sources,
1036        },
1037
1038        riscv64: {
1039            local_include_dirs: [
1040                "config/",
1041                "config/riscv64/",
1042            ],
1043            cflags: [
1044            ],
1045            srcs: aom_av1_common_sources +
1046                aom_av1_decoder_sources +
1047                aom_dsp_common_sources +
1048                aom_dsp_decoder_sources +
1049                aom_mem_sources +
1050                aom_rtcd_sources +
1051                aom_scale_sources +
1052                aom_sources +
1053                aom_util_sources +
1054                aom_av1_encoder_sources +
1055                aom_dsp_encoder_sources,
1056        },
1057    },
1058
1059    sanitize: {
1060        blocklist: "libaom_blocklist.txt",
1061    },
1062
1063}
1064
1065cc_fuzz {
1066    name: "av1_dec_fuzzer",
1067    defaults: ["libaom_defaults"],
1068    host_supported: true,
1069    srcs: [
1070        "examples/av1_dec_fuzzer.cc",
1071    ],
1072    static_libs: [
1073        "libaom",
1074    ],
1075}
1076