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