xref: /aosp_15_r20/external/libvpx/Android.bp (revision fb1b10ab9aebc7c7068eedab379b749d7e3900be)
1// THIS FILE IS AUTOGENERATED, DO NOT EDIT
2// Generated from Android.bp.in, run ./generate_config.sh to regenerate
3
4libvpx_arm_neon_c_srcs = [
5    "config/arm-neon/vpx_config.c",
6    "vp8/common/alloccommon.c",
7    "vp8/common/arm/loopfilter_arm.c",
8    "vp8/common/arm/neon/bilinearpredict_neon.c",
9    "vp8/common/arm/neon/copymem_neon.c",
10    "vp8/common/arm/neon/dc_only_idct_add_neon.c",
11    "vp8/common/arm/neon/dequant_idct_neon.c",
12    "vp8/common/arm/neon/dequantizeb_neon.c",
13    "vp8/common/arm/neon/idct_blk_neon.c",
14    "vp8/common/arm/neon/iwalsh_neon.c",
15    "vp8/common/arm/neon/loopfiltersimplehorizontaledge_neon.c",
16    "vp8/common/arm/neon/loopfiltersimpleverticaledge_neon.c",
17    "vp8/common/arm/neon/mbloopfilter_neon.c",
18    "vp8/common/arm/neon/shortidct4x4llm_neon.c",
19    "vp8/common/arm/neon/sixtappredict_neon.c",
20    "vp8/common/arm/neon/vp8_loopfilter_neon.c",
21    "vp8/common/blockd.c",
22    "vp8/common/dequantize.c",
23    "vp8/common/entropy.c",
24    "vp8/common/entropymode.c",
25    "vp8/common/entropymv.c",
26    "vp8/common/extend.c",
27    "vp8/common/filter.c",
28    "vp8/common/findnearmv.c",
29    "vp8/common/generic/systemdependent.c",
30    "vp8/common/idct_blk.c",
31    "vp8/common/idctllm.c",
32    "vp8/common/loopfilter_filters.c",
33    "vp8/common/mbpitch.c",
34    "vp8/common/modecont.c",
35    "vp8/common/quant_common.c",
36    "vp8/common/reconinter.c",
37    "vp8/common/reconintra.c",
38    "vp8/common/reconintra4x4.c",
39    "vp8/common/rtcd.c",
40    "vp8/common/setupintrarecon.c",
41    "vp8/common/swapyv12buffer.c",
42    "vp8/common/treecoder.c",
43    "vp8/common/vp8_loopfilter.c",
44    "vp8/common/vp8_skin_detection.c",
45    "vp8/decoder/dboolhuff.c",
46    "vp8/decoder/decodeframe.c",
47    "vp8/decoder/decodemv.c",
48    "vp8/decoder/detokenize.c",
49    "vp8/decoder/onyxd_if.c",
50    "vp8/decoder/threading.c",
51    "vp8/encoder/arm/neon/denoising_neon.c",
52    "vp8/encoder/arm/neon/fastquantizeb_neon.c",
53    "vp8/encoder/arm/neon/shortfdct_neon.c",
54    "vp8/encoder/arm/neon/vp8_shortwalsh4x4_neon.c",
55    "vp8/encoder/bitstream.c",
56    "vp8/encoder/boolhuff.c",
57    "vp8/encoder/copy_c.c",
58    "vp8/encoder/dct.c",
59    "vp8/encoder/denoising.c",
60    "vp8/encoder/encodeframe.c",
61    "vp8/encoder/encodeintra.c",
62    "vp8/encoder/encodemb.c",
63    "vp8/encoder/encodemv.c",
64    "vp8/encoder/ethreading.c",
65    "vp8/encoder/lookahead.c",
66    "vp8/encoder/mcomp.c",
67    "vp8/encoder/modecosts.c",
68    "vp8/encoder/onyx_if.c",
69    "vp8/encoder/pickinter.c",
70    "vp8/encoder/picklpf.c",
71    "vp8/encoder/ratectrl.c",
72    "vp8/encoder/rdopt.c",
73    "vp8/encoder/segmentation.c",
74    "vp8/encoder/tokenize.c",
75    "vp8/encoder/treewriter.c",
76    "vp8/encoder/vp8_quantize.c",
77    "vp8/vp8_cx_iface.c",
78    "vp8/vp8_dx_iface.c",
79    "vp9/common/arm/neon/vp9_highbd_iht4x4_add_neon.c",
80    "vp9/common/arm/neon/vp9_highbd_iht8x8_add_neon.c",
81    "vp9/common/arm/neon/vp9_highbd_iht16x16_add_neon.c",
82    "vp9/common/arm/neon/vp9_iht4x4_add_neon.c",
83    "vp9/common/arm/neon/vp9_iht8x8_add_neon.c",
84    "vp9/common/arm/neon/vp9_iht16x16_add_neon.c",
85    "vp9/common/vp9_alloccommon.c",
86    "vp9/common/vp9_blockd.c",
87    "vp9/common/vp9_common_data.c",
88    "vp9/common/vp9_entropy.c",
89    "vp9/common/vp9_entropymode.c",
90    "vp9/common/vp9_entropymv.c",
91    "vp9/common/vp9_filter.c",
92    "vp9/common/vp9_frame_buffers.c",
93    "vp9/common/vp9_idct.c",
94    "vp9/common/vp9_loopfilter.c",
95    "vp9/common/vp9_mvref_common.c",
96    "vp9/common/vp9_pred_common.c",
97    "vp9/common/vp9_quant_common.c",
98    "vp9/common/vp9_reconinter.c",
99    "vp9/common/vp9_reconintra.c",
100    "vp9/common/vp9_rtcd.c",
101    "vp9/common/vp9_scale.c",
102    "vp9/common/vp9_scan.c",
103    "vp9/common/vp9_seg_common.c",
104    "vp9/common/vp9_thread_common.c",
105    "vp9/common/vp9_tile_common.c",
106    "vp9/decoder/vp9_decodeframe.c",
107    "vp9/decoder/vp9_decodemv.c",
108    "vp9/decoder/vp9_decoder.c",
109    "vp9/decoder/vp9_detokenize.c",
110    "vp9/decoder/vp9_dsubexp.c",
111    "vp9/decoder/vp9_job_queue.c",
112    "vp9/encoder/arm/neon/vp9_dct_neon.c",
113    "vp9/encoder/arm/neon/vp9_diamond_search_sad_neon.c",
114    "vp9/encoder/arm/neon/vp9_error_neon.c",
115    "vp9/encoder/arm/neon/vp9_frame_scale_neon.c",
116    "vp9/encoder/arm/neon/vp9_highbd_error_neon.c",
117    "vp9/encoder/arm/neon/vp9_quantize_neon.c",
118    "vp9/encoder/vp9_aq_cyclicrefresh.c",
119    "vp9/encoder/vp9_bitstream.c",
120    "vp9/encoder/vp9_context_tree.c",
121    "vp9/encoder/vp9_cost.c",
122    "vp9/encoder/vp9_dct.c",
123    "vp9/encoder/vp9_encodeframe.c",
124    "vp9/encoder/vp9_encodemb.c",
125    "vp9/encoder/vp9_encodemv.c",
126    "vp9/encoder/vp9_encoder.c",
127    "vp9/encoder/vp9_ethread.c",
128    "vp9/encoder/vp9_ext_ratectrl.c",
129    "vp9/encoder/vp9_extend.c",
130    "vp9/encoder/vp9_frame_scale.c",
131    "vp9/encoder/vp9_lookahead.c",
132    "vp9/encoder/vp9_mcomp.c",
133    "vp9/encoder/vp9_multi_thread.c",
134    "vp9/encoder/vp9_noise_estimate.c",
135    "vp9/encoder/vp9_picklpf.c",
136    "vp9/encoder/vp9_pickmode.c",
137    "vp9/encoder/vp9_quantize.c",
138    "vp9/encoder/vp9_ratectrl.c",
139    "vp9/encoder/vp9_rd.c",
140    "vp9/encoder/vp9_rdopt.c",
141    "vp9/encoder/vp9_resize.c",
142    "vp9/encoder/vp9_segmentation.c",
143    "vp9/encoder/vp9_skin_detection.c",
144    "vp9/encoder/vp9_speed_features.c",
145    "vp9/encoder/vp9_subexp.c",
146    "vp9/encoder/vp9_svc_layercontext.c",
147    "vp9/encoder/vp9_tokenize.c",
148    "vp9/encoder/vp9_tpl_model.c",
149    "vp9/encoder/vp9_treewriter.c",
150    "vp9/vp9_cx_iface.c",
151    "vp9/vp9_dx_iface.c",
152    "vp9/vp9_iface_common.c",
153    "vpx/src/vpx_codec.c",
154    "vpx/src/vpx_decoder.c",
155    "vpx/src/vpx_encoder.c",
156    "vpx/src/vpx_image.c",
157    "vpx_dsp/arm/avg_neon.c",
158    "vpx_dsp/arm/avg_pred_neon.c",
159    "vpx_dsp/arm/fdct4x4_neon.c",
160    "vpx_dsp/arm/fdct8x8_neon.c",
161    "vpx_dsp/arm/fdct16x16_neon.c",
162    "vpx_dsp/arm/fdct32x32_neon.c",
163    "vpx_dsp/arm/fdct_partial_neon.c",
164    "vpx_dsp/arm/hadamard_neon.c",
165    "vpx_dsp/arm/highbd_avg_neon.c",
166    "vpx_dsp/arm/highbd_avg_pred_neon.c",
167    "vpx_dsp/arm/highbd_hadamard_neon.c",
168    "vpx_dsp/arm/highbd_idct4x4_add_neon.c",
169    "vpx_dsp/arm/highbd_idct8x8_add_neon.c",
170    "vpx_dsp/arm/highbd_idct16x16_add_neon.c",
171    "vpx_dsp/arm/highbd_idct32x32_34_add_neon.c",
172    "vpx_dsp/arm/highbd_idct32x32_135_add_neon.c",
173    "vpx_dsp/arm/highbd_idct32x32_1024_add_neon.c",
174    "vpx_dsp/arm/highbd_idct32x32_add_neon.c",
175    "vpx_dsp/arm/highbd_intrapred_neon.c",
176    "vpx_dsp/arm/highbd_loopfilter_neon.c",
177    "vpx_dsp/arm/highbd_quantize_neon.c",
178    "vpx_dsp/arm/highbd_sad4d_neon.c",
179    "vpx_dsp/arm/highbd_sad_neon.c",
180    "vpx_dsp/arm/highbd_sse_neon.c",
181    "vpx_dsp/arm/highbd_subpel_variance_neon.c",
182    "vpx_dsp/arm/highbd_variance_neon.c",
183    "vpx_dsp/arm/highbd_vpx_convolve8_neon.c",
184    "vpx_dsp/arm/highbd_vpx_convolve_avg_neon.c",
185    "vpx_dsp/arm/highbd_vpx_convolve_copy_neon.c",
186    "vpx_dsp/arm/idct8x8_1_add_neon.c",
187    "vpx_dsp/arm/idct8x8_add_neon.c",
188    "vpx_dsp/arm/idct16x16_1_add_neon.c",
189    "vpx_dsp/arm/idct16x16_add_neon.c",
190    "vpx_dsp/arm/idct32x32_1_add_neon.c",
191    "vpx_dsp/arm/idct32x32_34_add_neon.c",
192    "vpx_dsp/arm/idct32x32_135_add_neon.c",
193    "vpx_dsp/arm/idct32x32_add_neon.c",
194    "vpx_dsp/arm/intrapred_neon.c",
195    "vpx_dsp/arm/quantize_neon.c",
196    "vpx_dsp/arm/sad4d_neon.c",
197    "vpx_dsp/arm/sad_neon.c",
198    "vpx_dsp/arm/sse_neon.c",
199    "vpx_dsp/arm/subpel_variance_neon.c",
200    "vpx_dsp/arm/subtract_neon.c",
201    "vpx_dsp/arm/sum_squares_neon.c",
202    "vpx_dsp/arm/variance_neon.c",
203    "vpx_dsp/arm/vpx_convolve8_neon_asm.c",
204    "vpx_dsp/arm/vpx_convolve_neon.c",
205    "vpx_dsp/arm/vpx_scaled_convolve8_neon.c",
206    "vpx_dsp/avg.c",
207    "vpx_dsp/bitreader.c",
208    "vpx_dsp/bitreader_buffer.c",
209    "vpx_dsp/bitwriter.c",
210    "vpx_dsp/bitwriter_buffer.c",
211    "vpx_dsp/fwd_txfm.c",
212    "vpx_dsp/intrapred.c",
213    "vpx_dsp/inv_txfm.c",
214    "vpx_dsp/loopfilter.c",
215    "vpx_dsp/prob.c",
216    "vpx_dsp/psnr.c",
217    "vpx_dsp/quantize.c",
218    "vpx_dsp/sad.c",
219    "vpx_dsp/skin_detection.c",
220    "vpx_dsp/sse.c",
221    "vpx_dsp/subtract.c",
222    "vpx_dsp/sum_squares.c",
223    "vpx_dsp/variance.c",
224    "vpx_dsp/vpx_convolve.c",
225    "vpx_dsp/vpx_dsp_rtcd.c",
226    "vpx_mem/vpx_mem.c",
227    "vpx_ports/aarch32_cpudetect.c",
228    "vpx_scale/generic/gen_scalers.c",
229    "vpx_scale/generic/vpx_scale.c",
230    "vpx_scale/generic/yv12config.c",
231    "vpx_scale/generic/yv12extend.c",
232    "vpx_scale/vpx_scale_rtcd.c",
233    "vpx_util/vpx_thread.c",
234    "vpx_util/vpx_write_yuv_frame.c",
235]
236
237libvpx_arm_neon_asm_srcs = [
238    "config/arm-neon/vpx_dsp/arm/idct4x4_1_add_neon.asm.S",
239    "config/arm-neon/vpx_dsp/arm/idct4x4_add_neon.asm.S",
240    "config/arm-neon/vpx_dsp/arm/idct_neon.asm.S",
241    "config/arm-neon/vpx_dsp/arm/intrapred_neon_asm.asm.S",
242    "config/arm-neon/vpx_dsp/arm/loopfilter_4_neon.asm.S",
243    "config/arm-neon/vpx_dsp/arm/loopfilter_8_neon.asm.S",
244    "config/arm-neon/vpx_dsp/arm/loopfilter_16_neon.asm.S",
245    "config/arm-neon/vpx_dsp/arm/save_reg_neon.asm.S",
246    "config/arm-neon/vpx_dsp/arm/vpx_convolve8_avg_horiz_filter_type1_neon.asm.S",
247    "config/arm-neon/vpx_dsp/arm/vpx_convolve8_avg_horiz_filter_type2_neon.asm.S",
248    "config/arm-neon/vpx_dsp/arm/vpx_convolve8_avg_vert_filter_type1_neon.asm.S",
249    "config/arm-neon/vpx_dsp/arm/vpx_convolve8_avg_vert_filter_type2_neon.asm.S",
250    "config/arm-neon/vpx_dsp/arm/vpx_convolve8_horiz_filter_type1_neon.asm.S",
251    "config/arm-neon/vpx_dsp/arm/vpx_convolve8_horiz_filter_type2_neon.asm.S",
252    "config/arm-neon/vpx_dsp/arm/vpx_convolve8_vert_filter_type1_neon.asm.S",
253    "config/arm-neon/vpx_dsp/arm/vpx_convolve8_vert_filter_type2_neon.asm.S",
254    "config/arm-neon/vpx_dsp/arm/vpx_convolve_avg_neon_asm.asm.S",
255    "config/arm-neon/vpx_dsp/arm/vpx_convolve_copy_neon_asm.asm.S",
256]
257
258libvpx_arm64_neon_dotprod_c_srcs = [
259    "vpx_dsp/arm/highbd_variance_neon_dotprod.c",
260    "vpx_dsp/arm/sad4d_neon_dotprod.c",
261    "vpx_dsp/arm/sad_neon_dotprod.c",
262    "vpx_dsp/arm/sse_neon_dotprod.c",
263    "vpx_dsp/arm/variance_neon_dotprod.c",
264    "vpx_dsp/arm/vpx_convolve8_neon_dotprod.c",
265]
266
267libvpx_arm64_neon_i8mm_c_srcs = [
268    "vpx_dsp/arm/vpx_convolve8_neon_i8mm.c",
269]
270
271libvpx_arm64_sve_c_srcs = [
272    "vp9/encoder/arm/neon/vp9_error_sve.c",
273    "vpx_dsp/arm/highbd_variance_sve.c",
274    "vpx_dsp/arm/highbd_vpx_convolve8_sve.c",
275    "vpx_dsp/arm/sum_squares_sve.c",
276]
277
278libvpx_arm64_c_srcs = [
279    "config/arm64/vpx_config.c",
280    "vp8/common/alloccommon.c",
281    "vp8/common/arm/loopfilter_arm.c",
282    "vp8/common/arm/neon/bilinearpredict_neon.c",
283    "vp8/common/arm/neon/copymem_neon.c",
284    "vp8/common/arm/neon/dc_only_idct_add_neon.c",
285    "vp8/common/arm/neon/dequant_idct_neon.c",
286    "vp8/common/arm/neon/dequantizeb_neon.c",
287    "vp8/common/arm/neon/idct_blk_neon.c",
288    "vp8/common/arm/neon/iwalsh_neon.c",
289    "vp8/common/arm/neon/loopfiltersimplehorizontaledge_neon.c",
290    "vp8/common/arm/neon/loopfiltersimpleverticaledge_neon.c",
291    "vp8/common/arm/neon/mbloopfilter_neon.c",
292    "vp8/common/arm/neon/shortidct4x4llm_neon.c",
293    "vp8/common/arm/neon/sixtappredict_neon.c",
294    "vp8/common/arm/neon/vp8_loopfilter_neon.c",
295    "vp8/common/blockd.c",
296    "vp8/common/dequantize.c",
297    "vp8/common/entropy.c",
298    "vp8/common/entropymode.c",
299    "vp8/common/entropymv.c",
300    "vp8/common/extend.c",
301    "vp8/common/filter.c",
302    "vp8/common/findnearmv.c",
303    "vp8/common/generic/systemdependent.c",
304    "vp8/common/idct_blk.c",
305    "vp8/common/idctllm.c",
306    "vp8/common/loopfilter_filters.c",
307    "vp8/common/mbpitch.c",
308    "vp8/common/modecont.c",
309    "vp8/common/quant_common.c",
310    "vp8/common/reconinter.c",
311    "vp8/common/reconintra.c",
312    "vp8/common/reconintra4x4.c",
313    "vp8/common/rtcd.c",
314    "vp8/common/setupintrarecon.c",
315    "vp8/common/swapyv12buffer.c",
316    "vp8/common/treecoder.c",
317    "vp8/common/vp8_loopfilter.c",
318    "vp8/common/vp8_skin_detection.c",
319    "vp8/decoder/dboolhuff.c",
320    "vp8/decoder/decodeframe.c",
321    "vp8/decoder/decodemv.c",
322    "vp8/decoder/detokenize.c",
323    "vp8/decoder/onyxd_if.c",
324    "vp8/decoder/threading.c",
325    "vp8/encoder/arm/neon/denoising_neon.c",
326    "vp8/encoder/arm/neon/fastquantizeb_neon.c",
327    "vp8/encoder/arm/neon/shortfdct_neon.c",
328    "vp8/encoder/arm/neon/vp8_shortwalsh4x4_neon.c",
329    "vp8/encoder/bitstream.c",
330    "vp8/encoder/boolhuff.c",
331    "vp8/encoder/copy_c.c",
332    "vp8/encoder/dct.c",
333    "vp8/encoder/denoising.c",
334    "vp8/encoder/encodeframe.c",
335    "vp8/encoder/encodeintra.c",
336    "vp8/encoder/encodemb.c",
337    "vp8/encoder/encodemv.c",
338    "vp8/encoder/ethreading.c",
339    "vp8/encoder/lookahead.c",
340    "vp8/encoder/mcomp.c",
341    "vp8/encoder/modecosts.c",
342    "vp8/encoder/onyx_if.c",
343    "vp8/encoder/pickinter.c",
344    "vp8/encoder/picklpf.c",
345    "vp8/encoder/ratectrl.c",
346    "vp8/encoder/rdopt.c",
347    "vp8/encoder/segmentation.c",
348    "vp8/encoder/tokenize.c",
349    "vp8/encoder/treewriter.c",
350    "vp8/encoder/vp8_quantize.c",
351    "vp8/vp8_cx_iface.c",
352    "vp8/vp8_dx_iface.c",
353    "vp9/common/arm/neon/vp9_highbd_iht4x4_add_neon.c",
354    "vp9/common/arm/neon/vp9_highbd_iht8x8_add_neon.c",
355    "vp9/common/arm/neon/vp9_highbd_iht16x16_add_neon.c",
356    "vp9/common/arm/neon/vp9_iht4x4_add_neon.c",
357    "vp9/common/arm/neon/vp9_iht8x8_add_neon.c",
358    "vp9/common/arm/neon/vp9_iht16x16_add_neon.c",
359    "vp9/common/vp9_alloccommon.c",
360    "vp9/common/vp9_blockd.c",
361    "vp9/common/vp9_common_data.c",
362    "vp9/common/vp9_entropy.c",
363    "vp9/common/vp9_entropymode.c",
364    "vp9/common/vp9_entropymv.c",
365    "vp9/common/vp9_filter.c",
366    "vp9/common/vp9_frame_buffers.c",
367    "vp9/common/vp9_idct.c",
368    "vp9/common/vp9_loopfilter.c",
369    "vp9/common/vp9_mvref_common.c",
370    "vp9/common/vp9_pred_common.c",
371    "vp9/common/vp9_quant_common.c",
372    "vp9/common/vp9_reconinter.c",
373    "vp9/common/vp9_reconintra.c",
374    "vp9/common/vp9_rtcd.c",
375    "vp9/common/vp9_scale.c",
376    "vp9/common/vp9_scan.c",
377    "vp9/common/vp9_seg_common.c",
378    "vp9/common/vp9_thread_common.c",
379    "vp9/common/vp9_tile_common.c",
380    "vp9/decoder/vp9_decodeframe.c",
381    "vp9/decoder/vp9_decodemv.c",
382    "vp9/decoder/vp9_decoder.c",
383    "vp9/decoder/vp9_detokenize.c",
384    "vp9/decoder/vp9_dsubexp.c",
385    "vp9/decoder/vp9_job_queue.c",
386    "vp9/encoder/arm/neon/vp9_dct_neon.c",
387    "vp9/encoder/arm/neon/vp9_diamond_search_sad_neon.c",
388    "vp9/encoder/arm/neon/vp9_error_neon.c",
389    "vp9/encoder/arm/neon/vp9_frame_scale_neon.c",
390    "vp9/encoder/arm/neon/vp9_highbd_error_neon.c",
391    "vp9/encoder/arm/neon/vp9_quantize_neon.c",
392    "vp9/encoder/vp9_aq_cyclicrefresh.c",
393    "vp9/encoder/vp9_bitstream.c",
394    "vp9/encoder/vp9_context_tree.c",
395    "vp9/encoder/vp9_cost.c",
396    "vp9/encoder/vp9_dct.c",
397    "vp9/encoder/vp9_encodeframe.c",
398    "vp9/encoder/vp9_encodemb.c",
399    "vp9/encoder/vp9_encodemv.c",
400    "vp9/encoder/vp9_encoder.c",
401    "vp9/encoder/vp9_ethread.c",
402    "vp9/encoder/vp9_ext_ratectrl.c",
403    "vp9/encoder/vp9_extend.c",
404    "vp9/encoder/vp9_frame_scale.c",
405    "vp9/encoder/vp9_lookahead.c",
406    "vp9/encoder/vp9_mcomp.c",
407    "vp9/encoder/vp9_multi_thread.c",
408    "vp9/encoder/vp9_noise_estimate.c",
409    "vp9/encoder/vp9_picklpf.c",
410    "vp9/encoder/vp9_pickmode.c",
411    "vp9/encoder/vp9_quantize.c",
412    "vp9/encoder/vp9_ratectrl.c",
413    "vp9/encoder/vp9_rd.c",
414    "vp9/encoder/vp9_rdopt.c",
415    "vp9/encoder/vp9_resize.c",
416    "vp9/encoder/vp9_segmentation.c",
417    "vp9/encoder/vp9_skin_detection.c",
418    "vp9/encoder/vp9_speed_features.c",
419    "vp9/encoder/vp9_subexp.c",
420    "vp9/encoder/vp9_svc_layercontext.c",
421    "vp9/encoder/vp9_tokenize.c",
422    "vp9/encoder/vp9_tpl_model.c",
423    "vp9/encoder/vp9_treewriter.c",
424    "vp9/vp9_cx_iface.c",
425    "vp9/vp9_dx_iface.c",
426    "vp9/vp9_iface_common.c",
427    "vpx/src/vpx_codec.c",
428    "vpx/src/vpx_decoder.c",
429    "vpx/src/vpx_encoder.c",
430    "vpx/src/vpx_image.c",
431    "vpx_dsp/arm/avg_neon.c",
432    "vpx_dsp/arm/avg_pred_neon.c",
433    "vpx_dsp/arm/fdct4x4_neon.c",
434    "vpx_dsp/arm/fdct8x8_neon.c",
435    "vpx_dsp/arm/fdct16x16_neon.c",
436    "vpx_dsp/arm/fdct32x32_neon.c",
437    "vpx_dsp/arm/fdct_partial_neon.c",
438    "vpx_dsp/arm/hadamard_neon.c",
439    "vpx_dsp/arm/highbd_avg_neon.c",
440    "vpx_dsp/arm/highbd_avg_pred_neon.c",
441    "vpx_dsp/arm/highbd_hadamard_neon.c",
442    "vpx_dsp/arm/highbd_idct4x4_add_neon.c",
443    "vpx_dsp/arm/highbd_idct8x8_add_neon.c",
444    "vpx_dsp/arm/highbd_idct16x16_add_neon.c",
445    "vpx_dsp/arm/highbd_idct32x32_34_add_neon.c",
446    "vpx_dsp/arm/highbd_idct32x32_135_add_neon.c",
447    "vpx_dsp/arm/highbd_idct32x32_1024_add_neon.c",
448    "vpx_dsp/arm/highbd_idct32x32_add_neon.c",
449    "vpx_dsp/arm/highbd_intrapred_neon.c",
450    "vpx_dsp/arm/highbd_loopfilter_neon.c",
451    "vpx_dsp/arm/highbd_quantize_neon.c",
452    "vpx_dsp/arm/highbd_sad4d_neon.c",
453    "vpx_dsp/arm/highbd_sad_neon.c",
454    "vpx_dsp/arm/highbd_sse_neon.c",
455    "vpx_dsp/arm/highbd_subpel_variance_neon.c",
456    "vpx_dsp/arm/highbd_variance_neon.c",
457    "vpx_dsp/arm/highbd_vpx_convolve8_neon.c",
458    "vpx_dsp/arm/highbd_vpx_convolve_avg_neon.c",
459    "vpx_dsp/arm/highbd_vpx_convolve_copy_neon.c",
460    "vpx_dsp/arm/idct4x4_1_add_neon.c",
461    "vpx_dsp/arm/idct4x4_add_neon.c",
462    "vpx_dsp/arm/idct8x8_1_add_neon.c",
463    "vpx_dsp/arm/idct8x8_add_neon.c",
464    "vpx_dsp/arm/idct16x16_1_add_neon.c",
465    "vpx_dsp/arm/idct16x16_add_neon.c",
466    "vpx_dsp/arm/idct32x32_1_add_neon.c",
467    "vpx_dsp/arm/idct32x32_34_add_neon.c",
468    "vpx_dsp/arm/idct32x32_135_add_neon.c",
469    "vpx_dsp/arm/idct32x32_add_neon.c",
470    "vpx_dsp/arm/intrapred_neon.c",
471    "vpx_dsp/arm/loopfilter_neon.c",
472    "vpx_dsp/arm/quantize_neon.c",
473    "vpx_dsp/arm/sad4d_neon.c",
474    "vpx_dsp/arm/sad_neon.c",
475    "vpx_dsp/arm/sse_neon.c",
476    "vpx_dsp/arm/subpel_variance_neon.c",
477    "vpx_dsp/arm/subtract_neon.c",
478    "vpx_dsp/arm/sum_squares_neon.c",
479    "vpx_dsp/arm/variance_neon.c",
480    "vpx_dsp/arm/vpx_convolve8_neon.c",
481    "vpx_dsp/arm/vpx_convolve_avg_neon.c",
482    "vpx_dsp/arm/vpx_convolve_copy_neon.c",
483    "vpx_dsp/arm/vpx_convolve_neon.c",
484    "vpx_dsp/arm/vpx_scaled_convolve8_neon.c",
485    "vpx_dsp/avg.c",
486    "vpx_dsp/bitreader.c",
487    "vpx_dsp/bitreader_buffer.c",
488    "vpx_dsp/bitwriter.c",
489    "vpx_dsp/bitwriter_buffer.c",
490    "vpx_dsp/fwd_txfm.c",
491    "vpx_dsp/intrapred.c",
492    "vpx_dsp/inv_txfm.c",
493    "vpx_dsp/loopfilter.c",
494    "vpx_dsp/prob.c",
495    "vpx_dsp/psnr.c",
496    "vpx_dsp/quantize.c",
497    "vpx_dsp/sad.c",
498    "vpx_dsp/skin_detection.c",
499    "vpx_dsp/sse.c",
500    "vpx_dsp/subtract.c",
501    "vpx_dsp/sum_squares.c",
502    "vpx_dsp/variance.c",
503    "vpx_dsp/vpx_convolve.c",
504    "vpx_dsp/vpx_dsp_rtcd.c",
505    "vpx_mem/vpx_mem.c",
506    "vpx_ports/aarch64_cpudetect.c",
507    "vpx_scale/generic/gen_scalers.c",
508    "vpx_scale/generic/vpx_scale.c",
509    "vpx_scale/generic/yv12config.c",
510    "vpx_scale/generic/yv12extend.c",
511    "vpx_scale/vpx_scale_rtcd.c",
512    "vpx_util/vpx_thread.c",
513    "vpx_util/vpx_write_yuv_frame.c",
514]
515
516libvpx_generic_c_srcs = [
517    "config/generic/vpx_config.c",
518    "vp8/common/alloccommon.c",
519    "vp8/common/blockd.c",
520    "vp8/common/dequantize.c",
521    "vp8/common/entropy.c",
522    "vp8/common/entropymode.c",
523    "vp8/common/entropymv.c",
524    "vp8/common/extend.c",
525    "vp8/common/filter.c",
526    "vp8/common/findnearmv.c",
527    "vp8/common/generic/systemdependent.c",
528    "vp8/common/idct_blk.c",
529    "vp8/common/idctllm.c",
530    "vp8/common/loopfilter_filters.c",
531    "vp8/common/mbpitch.c",
532    "vp8/common/modecont.c",
533    "vp8/common/quant_common.c",
534    "vp8/common/reconinter.c",
535    "vp8/common/reconintra.c",
536    "vp8/common/reconintra4x4.c",
537    "vp8/common/rtcd.c",
538    "vp8/common/setupintrarecon.c",
539    "vp8/common/swapyv12buffer.c",
540    "vp8/common/treecoder.c",
541    "vp8/common/vp8_loopfilter.c",
542    "vp8/common/vp8_skin_detection.c",
543    "vp8/decoder/dboolhuff.c",
544    "vp8/decoder/decodeframe.c",
545    "vp8/decoder/decodemv.c",
546    "vp8/decoder/detokenize.c",
547    "vp8/decoder/onyxd_if.c",
548    "vp8/decoder/threading.c",
549    "vp8/encoder/bitstream.c",
550    "vp8/encoder/boolhuff.c",
551    "vp8/encoder/copy_c.c",
552    "vp8/encoder/dct.c",
553    "vp8/encoder/denoising.c",
554    "vp8/encoder/encodeframe.c",
555    "vp8/encoder/encodeintra.c",
556    "vp8/encoder/encodemb.c",
557    "vp8/encoder/encodemv.c",
558    "vp8/encoder/ethreading.c",
559    "vp8/encoder/lookahead.c",
560    "vp8/encoder/mcomp.c",
561    "vp8/encoder/modecosts.c",
562    "vp8/encoder/onyx_if.c",
563    "vp8/encoder/pickinter.c",
564    "vp8/encoder/picklpf.c",
565    "vp8/encoder/ratectrl.c",
566    "vp8/encoder/rdopt.c",
567    "vp8/encoder/segmentation.c",
568    "vp8/encoder/tokenize.c",
569    "vp8/encoder/treewriter.c",
570    "vp8/encoder/vp8_quantize.c",
571    "vp8/vp8_cx_iface.c",
572    "vp8/vp8_dx_iface.c",
573    "vp9/common/vp9_alloccommon.c",
574    "vp9/common/vp9_blockd.c",
575    "vp9/common/vp9_common_data.c",
576    "vp9/common/vp9_entropy.c",
577    "vp9/common/vp9_entropymode.c",
578    "vp9/common/vp9_entropymv.c",
579    "vp9/common/vp9_filter.c",
580    "vp9/common/vp9_frame_buffers.c",
581    "vp9/common/vp9_idct.c",
582    "vp9/common/vp9_loopfilter.c",
583    "vp9/common/vp9_mvref_common.c",
584    "vp9/common/vp9_pred_common.c",
585    "vp9/common/vp9_quant_common.c",
586    "vp9/common/vp9_reconinter.c",
587    "vp9/common/vp9_reconintra.c",
588    "vp9/common/vp9_rtcd.c",
589    "vp9/common/vp9_scale.c",
590    "vp9/common/vp9_scan.c",
591    "vp9/common/vp9_seg_common.c",
592    "vp9/common/vp9_thread_common.c",
593    "vp9/common/vp9_tile_common.c",
594    "vp9/decoder/vp9_decodeframe.c",
595    "vp9/decoder/vp9_decodemv.c",
596    "vp9/decoder/vp9_decoder.c",
597    "vp9/decoder/vp9_detokenize.c",
598    "vp9/decoder/vp9_dsubexp.c",
599    "vp9/decoder/vp9_job_queue.c",
600    "vp9/encoder/vp9_aq_cyclicrefresh.c",
601    "vp9/encoder/vp9_bitstream.c",
602    "vp9/encoder/vp9_context_tree.c",
603    "vp9/encoder/vp9_cost.c",
604    "vp9/encoder/vp9_dct.c",
605    "vp9/encoder/vp9_encodeframe.c",
606    "vp9/encoder/vp9_encodemb.c",
607    "vp9/encoder/vp9_encodemv.c",
608    "vp9/encoder/vp9_encoder.c",
609    "vp9/encoder/vp9_ethread.c",
610    "vp9/encoder/vp9_ext_ratectrl.c",
611    "vp9/encoder/vp9_extend.c",
612    "vp9/encoder/vp9_frame_scale.c",
613    "vp9/encoder/vp9_lookahead.c",
614    "vp9/encoder/vp9_mcomp.c",
615    "vp9/encoder/vp9_multi_thread.c",
616    "vp9/encoder/vp9_noise_estimate.c",
617    "vp9/encoder/vp9_picklpf.c",
618    "vp9/encoder/vp9_pickmode.c",
619    "vp9/encoder/vp9_quantize.c",
620    "vp9/encoder/vp9_ratectrl.c",
621    "vp9/encoder/vp9_rd.c",
622    "vp9/encoder/vp9_rdopt.c",
623    "vp9/encoder/vp9_resize.c",
624    "vp9/encoder/vp9_segmentation.c",
625    "vp9/encoder/vp9_skin_detection.c",
626    "vp9/encoder/vp9_speed_features.c",
627    "vp9/encoder/vp9_subexp.c",
628    "vp9/encoder/vp9_svc_layercontext.c",
629    "vp9/encoder/vp9_tokenize.c",
630    "vp9/encoder/vp9_tpl_model.c",
631    "vp9/encoder/vp9_treewriter.c",
632    "vp9/vp9_cx_iface.c",
633    "vp9/vp9_dx_iface.c",
634    "vp9/vp9_iface_common.c",
635    "vpx/src/vpx_codec.c",
636    "vpx/src/vpx_decoder.c",
637    "vpx/src/vpx_encoder.c",
638    "vpx/src/vpx_image.c",
639    "vpx_dsp/avg.c",
640    "vpx_dsp/bitreader.c",
641    "vpx_dsp/bitreader_buffer.c",
642    "vpx_dsp/bitwriter.c",
643    "vpx_dsp/bitwriter_buffer.c",
644    "vpx_dsp/fwd_txfm.c",
645    "vpx_dsp/intrapred.c",
646    "vpx_dsp/inv_txfm.c",
647    "vpx_dsp/loopfilter.c",
648    "vpx_dsp/prob.c",
649    "vpx_dsp/psnr.c",
650    "vpx_dsp/quantize.c",
651    "vpx_dsp/sad.c",
652    "vpx_dsp/skin_detection.c",
653    "vpx_dsp/sse.c",
654    "vpx_dsp/subtract.c",
655    "vpx_dsp/sum_squares.c",
656    "vpx_dsp/variance.c",
657    "vpx_dsp/vpx_convolve.c",
658    "vpx_dsp/vpx_dsp_rtcd.c",
659    "vpx_mem/vpx_mem.c",
660    "vpx_scale/generic/gen_scalers.c",
661    "vpx_scale/generic/vpx_scale.c",
662    "vpx_scale/generic/yv12config.c",
663    "vpx_scale/generic/yv12extend.c",
664    "vpx_scale/vpx_scale_rtcd.c",
665    "vpx_util/vpx_thread.c",
666    "vpx_util/vpx_write_yuv_frame.c",
667]
668
669libvpx_x86_c_srcs = [
670    "config/x86/vpx_config.c",
671    "vp8/common/alloccommon.c",
672    "vp8/common/blockd.c",
673    "vp8/common/dequantize.c",
674    "vp8/common/entropy.c",
675    "vp8/common/entropymode.c",
676    "vp8/common/entropymv.c",
677    "vp8/common/extend.c",
678    "vp8/common/filter.c",
679    "vp8/common/findnearmv.c",
680    "vp8/common/generic/systemdependent.c",
681    "vp8/common/idct_blk.c",
682    "vp8/common/idctllm.c",
683    "vp8/common/loopfilter_filters.c",
684    "vp8/common/mbpitch.c",
685    "vp8/common/mfqe.c",
686    "vp8/common/modecont.c",
687    "vp8/common/postproc.c",
688    "vp8/common/quant_common.c",
689    "vp8/common/reconinter.c",
690    "vp8/common/reconintra.c",
691    "vp8/common/reconintra4x4.c",
692    "vp8/common/rtcd.c",
693    "vp8/common/setupintrarecon.c",
694    "vp8/common/swapyv12buffer.c",
695    "vp8/common/treecoder.c",
696    "vp8/common/vp8_loopfilter.c",
697    "vp8/common/vp8_skin_detection.c",
698    "vp8/common/x86/bilinear_filter_sse2.c",
699    "vp8/common/x86/idct_blk_mmx.c",
700    "vp8/common/x86/idct_blk_sse2.c",
701    "vp8/common/x86/loopfilter_x86.c",
702    "vp8/common/x86/vp8_asm_stubs.c",
703    "vp8/decoder/dboolhuff.c",
704    "vp8/decoder/decodeframe.c",
705    "vp8/decoder/decodemv.c",
706    "vp8/decoder/detokenize.c",
707    "vp8/decoder/onyxd_if.c",
708    "vp8/decoder/threading.c",
709    "vp8/encoder/bitstream.c",
710    "vp8/encoder/boolhuff.c",
711    "vp8/encoder/copy_c.c",
712    "vp8/encoder/dct.c",
713    "vp8/encoder/denoising.c",
714    "vp8/encoder/encodeframe.c",
715    "vp8/encoder/encodeintra.c",
716    "vp8/encoder/encodemb.c",
717    "vp8/encoder/encodemv.c",
718    "vp8/encoder/ethreading.c",
719    "vp8/encoder/lookahead.c",
720    "vp8/encoder/mcomp.c",
721    "vp8/encoder/modecosts.c",
722    "vp8/encoder/onyx_if.c",
723    "vp8/encoder/pickinter.c",
724    "vp8/encoder/picklpf.c",
725    "vp8/encoder/ratectrl.c",
726    "vp8/encoder/rdopt.c",
727    "vp8/encoder/segmentation.c",
728    "vp8/encoder/tokenize.c",
729    "vp8/encoder/treewriter.c",
730    "vp8/encoder/vp8_quantize.c",
731    "vp8/encoder/x86/denoising_sse2.c",
732    "vp8/encoder/x86/vp8_enc_stubs_sse2.c",
733    "vp8/encoder/x86/vp8_quantize_sse2.c",
734    "vp8/encoder/x86/vp8_quantize_ssse3.c",
735    "vp8/vp8_cx_iface.c",
736    "vp8/vp8_dx_iface.c",
737    "vp9/common/vp9_alloccommon.c",
738    "vp9/common/vp9_blockd.c",
739    "vp9/common/vp9_common_data.c",
740    "vp9/common/vp9_entropy.c",
741    "vp9/common/vp9_entropymode.c",
742    "vp9/common/vp9_entropymv.c",
743    "vp9/common/vp9_filter.c",
744    "vp9/common/vp9_frame_buffers.c",
745    "vp9/common/vp9_idct.c",
746    "vp9/common/vp9_loopfilter.c",
747    "vp9/common/vp9_mvref_common.c",
748    "vp9/common/vp9_pred_common.c",
749    "vp9/common/vp9_quant_common.c",
750    "vp9/common/vp9_reconinter.c",
751    "vp9/common/vp9_reconintra.c",
752    "vp9/common/vp9_rtcd.c",
753    "vp9/common/vp9_scale.c",
754    "vp9/common/vp9_scan.c",
755    "vp9/common/vp9_seg_common.c",
756    "vp9/common/vp9_thread_common.c",
757    "vp9/common/vp9_tile_common.c",
758    "vp9/common/x86/vp9_idct_intrin_sse2.c",
759    "vp9/decoder/vp9_decodeframe.c",
760    "vp9/decoder/vp9_decodemv.c",
761    "vp9/decoder/vp9_decoder.c",
762    "vp9/decoder/vp9_detokenize.c",
763    "vp9/decoder/vp9_dsubexp.c",
764    "vp9/decoder/vp9_job_queue.c",
765    "vp9/encoder/vp9_aq_cyclicrefresh.c",
766    "vp9/encoder/vp9_bitstream.c",
767    "vp9/encoder/vp9_context_tree.c",
768    "vp9/encoder/vp9_cost.c",
769    "vp9/encoder/vp9_dct.c",
770    "vp9/encoder/vp9_encodeframe.c",
771    "vp9/encoder/vp9_encodemb.c",
772    "vp9/encoder/vp9_encodemv.c",
773    "vp9/encoder/vp9_encoder.c",
774    "vp9/encoder/vp9_ethread.c",
775    "vp9/encoder/vp9_ext_ratectrl.c",
776    "vp9/encoder/vp9_extend.c",
777    "vp9/encoder/vp9_frame_scale.c",
778    "vp9/encoder/vp9_lookahead.c",
779    "vp9/encoder/vp9_mcomp.c",
780    "vp9/encoder/vp9_multi_thread.c",
781    "vp9/encoder/vp9_noise_estimate.c",
782    "vp9/encoder/vp9_picklpf.c",
783    "vp9/encoder/vp9_pickmode.c",
784    "vp9/encoder/vp9_quantize.c",
785    "vp9/encoder/vp9_ratectrl.c",
786    "vp9/encoder/vp9_rd.c",
787    "vp9/encoder/vp9_rdopt.c",
788    "vp9/encoder/vp9_resize.c",
789    "vp9/encoder/vp9_segmentation.c",
790    "vp9/encoder/vp9_skin_detection.c",
791    "vp9/encoder/vp9_speed_features.c",
792    "vp9/encoder/vp9_subexp.c",
793    "vp9/encoder/vp9_svc_layercontext.c",
794    "vp9/encoder/vp9_tokenize.c",
795    "vp9/encoder/vp9_tpl_model.c",
796    "vp9/encoder/vp9_treewriter.c",
797    "vp9/encoder/x86/vp9_dct_intrin_sse2.c",
798    "vp9/encoder/x86/vp9_frame_scale_ssse3.c",
799    "vp9/encoder/x86/vp9_highbd_block_error_intrin_sse2.c",
800    "vp9/encoder/x86/vp9_quantize_sse2.c",
801    "vp9/encoder/x86/vp9_quantize_ssse3.c",
802    "vp9/vp9_cx_iface.c",
803    "vp9/vp9_dx_iface.c",
804    "vp9/vp9_iface_common.c",
805    "vpx/src/vpx_codec.c",
806    "vpx/src/vpx_decoder.c",
807    "vpx/src/vpx_encoder.c",
808    "vpx/src/vpx_image.c",
809    "vpx_dsp/add_noise.c",
810    "vpx_dsp/avg.c",
811    "vpx_dsp/bitreader.c",
812    "vpx_dsp/bitreader_buffer.c",
813    "vpx_dsp/bitwriter.c",
814    "vpx_dsp/bitwriter_buffer.c",
815    "vpx_dsp/deblock.c",
816    "vpx_dsp/fwd_txfm.c",
817    "vpx_dsp/intrapred.c",
818    "vpx_dsp/inv_txfm.c",
819    "vpx_dsp/loopfilter.c",
820    "vpx_dsp/prob.c",
821    "vpx_dsp/psnr.c",
822    "vpx_dsp/quantize.c",
823    "vpx_dsp/sad.c",
824    "vpx_dsp/skin_detection.c",
825    "vpx_dsp/sse.c",
826    "vpx_dsp/subtract.c",
827    "vpx_dsp/sum_squares.c",
828    "vpx_dsp/variance.c",
829    "vpx_dsp/vpx_convolve.c",
830    "vpx_dsp/vpx_dsp_rtcd.c",
831    "vpx_dsp/x86/avg_intrin_sse2.c",
832    "vpx_dsp/x86/avg_pred_sse2.c",
833    "vpx_dsp/x86/fwd_txfm_sse2.c",
834    "vpx_dsp/x86/highbd_idct4x4_add_sse2.c",
835    "vpx_dsp/x86/highbd_idct8x8_add_sse2.c",
836    "vpx_dsp/x86/highbd_idct16x16_add_sse2.c",
837    "vpx_dsp/x86/highbd_idct32x32_add_sse2.c",
838    "vpx_dsp/x86/highbd_intrapred_intrin_sse2.c",
839    "vpx_dsp/x86/highbd_intrapred_intrin_ssse3.c",
840    "vpx_dsp/x86/highbd_loopfilter_sse2.c",
841    "vpx_dsp/x86/highbd_quantize_intrin_sse2.c",
842    "vpx_dsp/x86/highbd_variance_sse2.c",
843    "vpx_dsp/x86/inv_txfm_sse2.c",
844    "vpx_dsp/x86/inv_txfm_ssse3.c",
845    "vpx_dsp/x86/loopfilter_sse2.c",
846    "vpx_dsp/x86/post_proc_sse2.c",
847    "vpx_dsp/x86/quantize_sse2.c",
848    "vpx_dsp/x86/quantize_ssse3.c",
849    "vpx_dsp/x86/sum_squares_sse2.c",
850    "vpx_dsp/x86/variance_sse2.c",
851    "vpx_dsp/x86/vpx_subpixel_4t_intrin_sse2.c",
852    "vpx_dsp/x86/vpx_subpixel_8t_intrin_ssse3.c",
853    "vpx_mem/vpx_mem.c",
854    "vpx_ports/emms_mmx.c",
855    "vpx_scale/generic/gen_scalers.c",
856    "vpx_scale/generic/vpx_scale.c",
857    "vpx_scale/generic/yv12config.c",
858    "vpx_scale/generic/yv12extend.c",
859    "vpx_scale/vpx_scale_rtcd.c",
860    "vpx_util/vpx_thread.c",
861    "vpx_util/vpx_write_yuv_frame.c",
862]
863
864libvpx_x86_asm_srcs = [
865    "vp8/common/x86/dequantize_mmx.asm",
866    "vp8/common/x86/idctllm_mmx.asm",
867    "vp8/common/x86/idctllm_sse2.asm",
868    "vp8/common/x86/iwalsh_sse2.asm",
869    "vp8/common/x86/loopfilter_sse2.asm",
870    "vp8/common/x86/mfqe_sse2.asm",
871    "vp8/common/x86/recon_mmx.asm",
872    "vp8/common/x86/recon_sse2.asm",
873    "vp8/common/x86/subpixel_mmx.asm",
874    "vp8/common/x86/subpixel_sse2.asm",
875    "vp8/common/x86/subpixel_ssse3.asm",
876    "vp8/encoder/x86/block_error_sse2.asm",
877    "vp8/encoder/x86/copy_sse2.asm",
878    "vp8/encoder/x86/copy_sse3.asm",
879    "vp8/encoder/x86/dct_sse2.asm",
880    "vp8/encoder/x86/fwalsh_sse2.asm",
881    "vp9/encoder/x86/vp9_dct_sse2.asm",
882    "vp9/encoder/x86/vp9_error_sse2.asm",
883    "vpx_dsp/x86/add_noise_sse2.asm",
884    "vpx_dsp/x86/deblock_sse2.asm",
885    "vpx_dsp/x86/highbd_intrapred_sse2.asm",
886    "vpx_dsp/x86/highbd_sad4d_sse2.asm",
887    "vpx_dsp/x86/highbd_sad_sse2.asm",
888    "vpx_dsp/x86/highbd_subpel_variance_impl_sse2.asm",
889    "vpx_dsp/x86/highbd_variance_impl_sse2.asm",
890    "vpx_dsp/x86/intrapred_sse2.asm",
891    "vpx_dsp/x86/intrapred_ssse3.asm",
892    "vpx_dsp/x86/inv_wht_sse2.asm",
893    "vpx_dsp/x86/sad4d_sse2.asm",
894    "vpx_dsp/x86/sad_sse2.asm",
895    "vpx_dsp/x86/subpel_variance_sse2.asm",
896    "vpx_dsp/x86/subtract_sse2.asm",
897    "vpx_dsp/x86/vpx_convolve_copy_sse2.asm",
898    "vpx_dsp/x86/vpx_high_subpixel_8t_sse2.asm",
899    "vpx_dsp/x86/vpx_high_subpixel_bilinear_sse2.asm",
900    "vpx_dsp/x86/vpx_subpixel_8t_sse2.asm",
901    "vpx_dsp/x86/vpx_subpixel_8t_ssse3.asm",
902    "vpx_dsp/x86/vpx_subpixel_bilinear_sse2.asm",
903    "vpx_dsp/x86/vpx_subpixel_bilinear_ssse3.asm",
904    "vpx_ports/x86_abi_support.asm",
905]
906
907libvpx_x86_64_c_srcs = [
908    "config/x86_64/vpx_config.c",
909    "vp8/common/alloccommon.c",
910    "vp8/common/blockd.c",
911    "vp8/common/dequantize.c",
912    "vp8/common/entropy.c",
913    "vp8/common/entropymode.c",
914    "vp8/common/entropymv.c",
915    "vp8/common/extend.c",
916    "vp8/common/filter.c",
917    "vp8/common/findnearmv.c",
918    "vp8/common/generic/systemdependent.c",
919    "vp8/common/idct_blk.c",
920    "vp8/common/idctllm.c",
921    "vp8/common/loopfilter_filters.c",
922    "vp8/common/mbpitch.c",
923    "vp8/common/mfqe.c",
924    "vp8/common/modecont.c",
925    "vp8/common/postproc.c",
926    "vp8/common/quant_common.c",
927    "vp8/common/reconinter.c",
928    "vp8/common/reconintra.c",
929    "vp8/common/reconintra4x4.c",
930    "vp8/common/rtcd.c",
931    "vp8/common/setupintrarecon.c",
932    "vp8/common/swapyv12buffer.c",
933    "vp8/common/treecoder.c",
934    "vp8/common/vp8_loopfilter.c",
935    "vp8/common/vp8_skin_detection.c",
936    "vp8/common/x86/bilinear_filter_sse2.c",
937    "vp8/common/x86/idct_blk_mmx.c",
938    "vp8/common/x86/idct_blk_sse2.c",
939    "vp8/common/x86/loopfilter_x86.c",
940    "vp8/common/x86/vp8_asm_stubs.c",
941    "vp8/decoder/dboolhuff.c",
942    "vp8/decoder/decodeframe.c",
943    "vp8/decoder/decodemv.c",
944    "vp8/decoder/detokenize.c",
945    "vp8/decoder/onyxd_if.c",
946    "vp8/decoder/threading.c",
947    "vp8/encoder/bitstream.c",
948    "vp8/encoder/boolhuff.c",
949    "vp8/encoder/copy_c.c",
950    "vp8/encoder/dct.c",
951    "vp8/encoder/denoising.c",
952    "vp8/encoder/encodeframe.c",
953    "vp8/encoder/encodeintra.c",
954    "vp8/encoder/encodemb.c",
955    "vp8/encoder/encodemv.c",
956    "vp8/encoder/ethreading.c",
957    "vp8/encoder/lookahead.c",
958    "vp8/encoder/mcomp.c",
959    "vp8/encoder/modecosts.c",
960    "vp8/encoder/onyx_if.c",
961    "vp8/encoder/pickinter.c",
962    "vp8/encoder/picklpf.c",
963    "vp8/encoder/ratectrl.c",
964    "vp8/encoder/rdopt.c",
965    "vp8/encoder/segmentation.c",
966    "vp8/encoder/tokenize.c",
967    "vp8/encoder/treewriter.c",
968    "vp8/encoder/vp8_quantize.c",
969    "vp8/encoder/x86/denoising_sse2.c",
970    "vp8/encoder/x86/vp8_enc_stubs_sse2.c",
971    "vp8/encoder/x86/vp8_quantize_sse2.c",
972    "vp8/encoder/x86/vp8_quantize_ssse3.c",
973    "vp8/vp8_cx_iface.c",
974    "vp8/vp8_dx_iface.c",
975    "vp9/common/vp9_alloccommon.c",
976    "vp9/common/vp9_blockd.c",
977    "vp9/common/vp9_common_data.c",
978    "vp9/common/vp9_entropy.c",
979    "vp9/common/vp9_entropymode.c",
980    "vp9/common/vp9_entropymv.c",
981    "vp9/common/vp9_filter.c",
982    "vp9/common/vp9_frame_buffers.c",
983    "vp9/common/vp9_idct.c",
984    "vp9/common/vp9_loopfilter.c",
985    "vp9/common/vp9_mvref_common.c",
986    "vp9/common/vp9_pred_common.c",
987    "vp9/common/vp9_quant_common.c",
988    "vp9/common/vp9_reconinter.c",
989    "vp9/common/vp9_reconintra.c",
990    "vp9/common/vp9_rtcd.c",
991    "vp9/common/vp9_scale.c",
992    "vp9/common/vp9_scan.c",
993    "vp9/common/vp9_seg_common.c",
994    "vp9/common/vp9_thread_common.c",
995    "vp9/common/vp9_tile_common.c",
996    "vp9/common/x86/vp9_idct_intrin_sse2.c",
997    "vp9/decoder/vp9_decodeframe.c",
998    "vp9/decoder/vp9_decodemv.c",
999    "vp9/decoder/vp9_decoder.c",
1000    "vp9/decoder/vp9_detokenize.c",
1001    "vp9/decoder/vp9_dsubexp.c",
1002    "vp9/decoder/vp9_job_queue.c",
1003    "vp9/encoder/vp9_aq_cyclicrefresh.c",
1004    "vp9/encoder/vp9_bitstream.c",
1005    "vp9/encoder/vp9_context_tree.c",
1006    "vp9/encoder/vp9_cost.c",
1007    "vp9/encoder/vp9_dct.c",
1008    "vp9/encoder/vp9_encodeframe.c",
1009    "vp9/encoder/vp9_encodemb.c",
1010    "vp9/encoder/vp9_encodemv.c",
1011    "vp9/encoder/vp9_encoder.c",
1012    "vp9/encoder/vp9_ethread.c",
1013    "vp9/encoder/vp9_ext_ratectrl.c",
1014    "vp9/encoder/vp9_extend.c",
1015    "vp9/encoder/vp9_frame_scale.c",
1016    "vp9/encoder/vp9_lookahead.c",
1017    "vp9/encoder/vp9_mcomp.c",
1018    "vp9/encoder/vp9_multi_thread.c",
1019    "vp9/encoder/vp9_noise_estimate.c",
1020    "vp9/encoder/vp9_picklpf.c",
1021    "vp9/encoder/vp9_pickmode.c",
1022    "vp9/encoder/vp9_quantize.c",
1023    "vp9/encoder/vp9_ratectrl.c",
1024    "vp9/encoder/vp9_rd.c",
1025    "vp9/encoder/vp9_rdopt.c",
1026    "vp9/encoder/vp9_resize.c",
1027    "vp9/encoder/vp9_segmentation.c",
1028    "vp9/encoder/vp9_skin_detection.c",
1029    "vp9/encoder/vp9_speed_features.c",
1030    "vp9/encoder/vp9_subexp.c",
1031    "vp9/encoder/vp9_svc_layercontext.c",
1032    "vp9/encoder/vp9_tokenize.c",
1033    "vp9/encoder/vp9_tpl_model.c",
1034    "vp9/encoder/vp9_treewriter.c",
1035    "vp9/encoder/x86/vp9_dct_intrin_sse2.c",
1036    "vp9/encoder/x86/vp9_frame_scale_ssse3.c",
1037    "vp9/encoder/x86/vp9_highbd_block_error_intrin_sse2.c",
1038    "vp9/encoder/x86/vp9_quantize_sse2.c",
1039    "vp9/encoder/x86/vp9_quantize_ssse3.c",
1040    "vp9/vp9_cx_iface.c",
1041    "vp9/vp9_dx_iface.c",
1042    "vp9/vp9_iface_common.c",
1043    "vpx/src/vpx_codec.c",
1044    "vpx/src/vpx_decoder.c",
1045    "vpx/src/vpx_encoder.c",
1046    "vpx/src/vpx_image.c",
1047    "vpx_dsp/add_noise.c",
1048    "vpx_dsp/avg.c",
1049    "vpx_dsp/bitreader.c",
1050    "vpx_dsp/bitreader_buffer.c",
1051    "vpx_dsp/bitwriter.c",
1052    "vpx_dsp/bitwriter_buffer.c",
1053    "vpx_dsp/deblock.c",
1054    "vpx_dsp/fwd_txfm.c",
1055    "vpx_dsp/intrapred.c",
1056    "vpx_dsp/inv_txfm.c",
1057    "vpx_dsp/loopfilter.c",
1058    "vpx_dsp/prob.c",
1059    "vpx_dsp/psnr.c",
1060    "vpx_dsp/quantize.c",
1061    "vpx_dsp/sad.c",
1062    "vpx_dsp/skin_detection.c",
1063    "vpx_dsp/sse.c",
1064    "vpx_dsp/subtract.c",
1065    "vpx_dsp/sum_squares.c",
1066    "vpx_dsp/variance.c",
1067    "vpx_dsp/vpx_convolve.c",
1068    "vpx_dsp/vpx_dsp_rtcd.c",
1069    "vpx_dsp/x86/avg_intrin_sse2.c",
1070    "vpx_dsp/x86/avg_pred_sse2.c",
1071    "vpx_dsp/x86/fwd_txfm_sse2.c",
1072    "vpx_dsp/x86/highbd_idct4x4_add_sse2.c",
1073    "vpx_dsp/x86/highbd_idct8x8_add_sse2.c",
1074    "vpx_dsp/x86/highbd_idct16x16_add_sse2.c",
1075    "vpx_dsp/x86/highbd_idct32x32_add_sse2.c",
1076    "vpx_dsp/x86/highbd_intrapred_intrin_sse2.c",
1077    "vpx_dsp/x86/highbd_intrapred_intrin_ssse3.c",
1078    "vpx_dsp/x86/highbd_loopfilter_sse2.c",
1079    "vpx_dsp/x86/highbd_quantize_intrin_sse2.c",
1080    "vpx_dsp/x86/highbd_variance_sse2.c",
1081    "vpx_dsp/x86/inv_txfm_sse2.c",
1082    "vpx_dsp/x86/inv_txfm_ssse3.c",
1083    "vpx_dsp/x86/loopfilter_sse2.c",
1084    "vpx_dsp/x86/post_proc_sse2.c",
1085    "vpx_dsp/x86/quantize_sse2.c",
1086    "vpx_dsp/x86/quantize_ssse3.c",
1087    "vpx_dsp/x86/sum_squares_sse2.c",
1088    "vpx_dsp/x86/variance_sse2.c",
1089    "vpx_dsp/x86/vpx_subpixel_4t_intrin_sse2.c",
1090    "vpx_dsp/x86/vpx_subpixel_8t_intrin_ssse3.c",
1091    "vpx_mem/vpx_mem.c",
1092    "vpx_scale/generic/gen_scalers.c",
1093    "vpx_scale/generic/vpx_scale.c",
1094    "vpx_scale/generic/yv12config.c",
1095    "vpx_scale/generic/yv12extend.c",
1096    "vpx_scale/vpx_scale_rtcd.c",
1097    "vpx_util/vpx_thread.c",
1098    "vpx_util/vpx_write_yuv_frame.c",
1099]
1100
1101libvpx_x86_64_asm_srcs = [
1102    "vp8/common/x86/dequantize_mmx.asm",
1103    "vp8/common/x86/idctllm_mmx.asm",
1104    "vp8/common/x86/idctllm_sse2.asm",
1105    "vp8/common/x86/iwalsh_sse2.asm",
1106    "vp8/common/x86/loopfilter_block_sse2_x86_64.asm",
1107    "vp8/common/x86/loopfilter_sse2.asm",
1108    "vp8/common/x86/mfqe_sse2.asm",
1109    "vp8/common/x86/recon_mmx.asm",
1110    "vp8/common/x86/recon_sse2.asm",
1111    "vp8/common/x86/subpixel_mmx.asm",
1112    "vp8/common/x86/subpixel_sse2.asm",
1113    "vp8/common/x86/subpixel_ssse3.asm",
1114    "vp8/encoder/x86/block_error_sse2.asm",
1115    "vp8/encoder/x86/copy_sse2.asm",
1116    "vp8/encoder/x86/copy_sse3.asm",
1117    "vp8/encoder/x86/dct_sse2.asm",
1118    "vp8/encoder/x86/fwalsh_sse2.asm",
1119    "vp9/encoder/x86/vp9_dct_sse2.asm",
1120    "vp9/encoder/x86/vp9_error_sse2.asm",
1121    "vpx_dsp/x86/add_noise_sse2.asm",
1122    "vpx_dsp/x86/avg_ssse3_x86_64.asm",
1123    "vpx_dsp/x86/deblock_sse2.asm",
1124    "vpx_dsp/x86/fwd_txfm_ssse3_x86_64.asm",
1125    "vpx_dsp/x86/highbd_intrapred_sse2.asm",
1126    "vpx_dsp/x86/highbd_sad4d_sse2.asm",
1127    "vpx_dsp/x86/highbd_sad_sse2.asm",
1128    "vpx_dsp/x86/highbd_subpel_variance_impl_sse2.asm",
1129    "vpx_dsp/x86/highbd_variance_impl_sse2.asm",
1130    "vpx_dsp/x86/intrapred_sse2.asm",
1131    "vpx_dsp/x86/intrapred_ssse3.asm",
1132    "vpx_dsp/x86/inv_wht_sse2.asm",
1133    "vpx_dsp/x86/sad4d_sse2.asm",
1134    "vpx_dsp/x86/sad_sse2.asm",
1135    "vpx_dsp/x86/ssim_opt_x86_64.asm",
1136    "vpx_dsp/x86/subpel_variance_sse2.asm",
1137    "vpx_dsp/x86/subtract_sse2.asm",
1138    "vpx_dsp/x86/vpx_convolve_copy_sse2.asm",
1139    "vpx_dsp/x86/vpx_high_subpixel_8t_sse2.asm",
1140    "vpx_dsp/x86/vpx_high_subpixel_bilinear_sse2.asm",
1141    "vpx_dsp/x86/vpx_subpixel_8t_sse2.asm",
1142    "vpx_dsp/x86/vpx_subpixel_8t_ssse3.asm",
1143    "vpx_dsp/x86/vpx_subpixel_bilinear_sse2.asm",
1144    "vpx_dsp/x86/vpx_subpixel_bilinear_ssse3.asm",
1145    "vpx_ports/emms_mmx.asm",
1146    "vpx_ports/x86_abi_support.asm",
1147]
1148
1149libvpxrc_x86_64_c_srcs = [
1150    "vp8/common/alloccommon.c",
1151    "vp8/common/blockd.c",
1152    "vp8/common/dequantize.c",
1153    "vp8/common/entropy.c",
1154    "vp8/common/entropymode.c",
1155    "vp8/common/entropymv.c",
1156    "vp8/common/extend.c",
1157    "vp8/common/filter.c",
1158    "vp8/common/findnearmv.c",
1159    "vp8/common/generic/systemdependent.c",
1160    "vp8/common/idct_blk.c",
1161    "vp8/common/idctllm.c",
1162    "vp8/common/loopfilter_filters.c",
1163    "vp8/common/mbpitch.c",
1164    "vp8/common/mfqe.c",
1165    "vp8/common/modecont.c",
1166    "vp8/common/quant_common.c",
1167    "vp8/common/reconinter.c",
1168    "vp8/common/reconintra.c",
1169    "vp8/common/reconintra4x4.c",
1170    "vp8/common/rtcd.c",
1171    "vp8/common/setupintrarecon.c",
1172    "vp8/common/swapyv12buffer.c",
1173    "vp8/common/treecoder.c",
1174    "vp8/common/vp8_loopfilter.c",
1175    "vp8/common/vp8_skin_detection.c",
1176    "vp8/common/x86/bilinear_filter_sse2.c",
1177    "vp8/common/x86/idct_blk_mmx.c",
1178    "vp8/common/x86/idct_blk_sse2.c",
1179    "vp8/common/x86/loopfilter_x86.c",
1180    "vp8/common/x86/vp8_asm_stubs.c",
1181    "vp8/encoder/bitstream.c",
1182    "vp8/encoder/boolhuff.c",
1183    "vp8/encoder/copy_c.c",
1184    "vp8/encoder/dct.c",
1185    "vp8/encoder/denoising.c",
1186    "vp8/encoder/encodeframe.c",
1187    "vp8/encoder/encodeintra.c",
1188    "vp8/encoder/encodemb.c",
1189    "vp8/encoder/encodemv.c",
1190    "vp8/encoder/ethreading.c",
1191    "vp8/encoder/lookahead.c",
1192    "vp8/encoder/mcomp.c",
1193    "vp8/encoder/modecosts.c",
1194    "vp8/encoder/onyx_if.c",
1195    "vp8/encoder/pickinter.c",
1196    "vp8/encoder/picklpf.c",
1197    "vp8/encoder/ratectrl.c",
1198    "vp8/encoder/rdopt.c",
1199    "vp8/encoder/segmentation.c",
1200    "vp8/encoder/tokenize.c",
1201    "vp8/encoder/treewriter.c",
1202    "vp8/encoder/vp8_quantize.c",
1203    "vp8/encoder/x86/denoising_sse2.c",
1204    "vp8/encoder/x86/vp8_enc_stubs_sse2.c",
1205    "vp8/encoder/x86/vp8_quantize_sse2.c",
1206    "vp8/encoder/x86/vp8_quantize_ssse3.c",
1207    "vp8/vp8_cx_iface.c",
1208    "vp9/common/vp9_alloccommon.c",
1209    "vp9/common/vp9_blockd.c",
1210    "vp9/common/vp9_common_data.c",
1211    "vp9/common/vp9_entropy.c",
1212    "vp9/common/vp9_entropymode.c",
1213    "vp9/common/vp9_entropymv.c",
1214    "vp9/common/vp9_filter.c",
1215    "vp9/common/vp9_frame_buffers.c",
1216    "vp9/common/vp9_idct.c",
1217    "vp9/common/vp9_loopfilter.c",
1218    "vp9/common/vp9_mvref_common.c",
1219    "vp9/common/vp9_pred_common.c",
1220    "vp9/common/vp9_quant_common.c",
1221    "vp9/common/vp9_reconinter.c",
1222    "vp9/common/vp9_reconintra.c",
1223    "vp9/common/vp9_rtcd.c",
1224    "vp9/common/vp9_scale.c",
1225    "vp9/common/vp9_scan.c",
1226    "vp9/common/vp9_seg_common.c",
1227    "vp9/common/vp9_thread_common.c",
1228    "vp9/common/vp9_tile_common.c",
1229    "vp9/common/x86/vp9_idct_intrin_sse2.c",
1230    "vp9/encoder/vp9_aq_cyclicrefresh.c",
1231    "vp9/encoder/vp9_bitstream.c",
1232    "vp9/encoder/vp9_context_tree.c",
1233    "vp9/encoder/vp9_cost.c",
1234    "vp9/encoder/vp9_dct.c",
1235    "vp9/encoder/vp9_encodeframe.c",
1236    "vp9/encoder/vp9_encodemb.c",
1237    "vp9/encoder/vp9_encodemv.c",
1238    "vp9/encoder/vp9_encoder.c",
1239    "vp9/encoder/vp9_ethread.c",
1240    "vp9/encoder/vp9_ext_ratectrl.c",
1241    "vp9/encoder/vp9_extend.c",
1242    "vp9/encoder/vp9_frame_scale.c",
1243    "vp9/encoder/vp9_lookahead.c",
1244    "vp9/encoder/vp9_mcomp.c",
1245    "vp9/encoder/vp9_multi_thread.c",
1246    "vp9/encoder/vp9_noise_estimate.c",
1247    "vp9/encoder/vp9_picklpf.c",
1248    "vp9/encoder/vp9_pickmode.c",
1249    "vp9/encoder/vp9_quantize.c",
1250    "vp9/encoder/vp9_ratectrl.c",
1251    "vp9/encoder/vp9_rd.c",
1252    "vp9/encoder/vp9_rdopt.c",
1253    "vp9/encoder/vp9_resize.c",
1254    "vp9/encoder/vp9_segmentation.c",
1255    "vp9/encoder/vp9_skin_detection.c",
1256    "vp9/encoder/vp9_speed_features.c",
1257    "vp9/encoder/vp9_subexp.c",
1258    "vp9/encoder/vp9_svc_layercontext.c",
1259    "vp9/encoder/vp9_tokenize.c",
1260    "vp9/encoder/vp9_tpl_model.c",
1261    "vp9/encoder/vp9_treewriter.c",
1262    "vp9/encoder/x86/vp9_dct_intrin_sse2.c",
1263    "vp9/encoder/x86/vp9_frame_scale_ssse3.c",
1264    "vp9/encoder/x86/vp9_highbd_block_error_intrin_sse2.c",
1265    "vp9/encoder/x86/vp9_quantize_sse2.c",
1266    "vp9/encoder/x86/vp9_quantize_ssse3.c",
1267    "vp9/vp9_cx_iface.c",
1268    "vp9/vp9_iface_common.c",
1269]
1270
1271libvpxrc_x86_64_cc_srcs = [
1272    "vp8/vp8_ratectrl_rtc.cc",
1273    "vp9/ratectrl_rtc.cc",
1274]
1275
1276libvpxrc_x86_64_asm_srcs = [
1277    "vp8/common/x86/dequantize_mmx.asm",
1278    "vp8/common/x86/idctllm_mmx.asm",
1279    "vp8/common/x86/idctllm_sse2.asm",
1280    "vp8/common/x86/iwalsh_sse2.asm",
1281    "vp8/common/x86/loopfilter_block_sse2_x86_64.asm",
1282    "vp8/common/x86/loopfilter_sse2.asm",
1283    "vp8/common/x86/mfqe_sse2.asm",
1284    "vp8/common/x86/recon_mmx.asm",
1285    "vp8/common/x86/recon_sse2.asm",
1286    "vp8/common/x86/subpixel_mmx.asm",
1287    "vp8/common/x86/subpixel_sse2.asm",
1288    "vp8/common/x86/subpixel_ssse3.asm",
1289    "vp8/encoder/x86/block_error_sse2.asm",
1290    "vp8/encoder/x86/copy_sse2.asm",
1291    "vp8/encoder/x86/copy_sse3.asm",
1292    "vp8/encoder/x86/dct_sse2.asm",
1293    "vp8/encoder/x86/fwalsh_sse2.asm",
1294    "vp9/encoder/x86/vp9_dct_sse2.asm",
1295    "vp9/encoder/x86/vp9_error_sse2.asm",
1296]
1297
1298package {
1299    default_applicable_licenses: ["external_libvpx_license"],
1300}
1301
1302// Added automatically by a large-scale-change that took the approach of
1303// 'apply every license found to every target'. While this makes sure we respect
1304// every license restriction, it may not be entirely correct.
1305//
1306// e.g. GPL in an MIT project might only apply to the contrib/ directory.
1307//
1308// Please consider splitting the single license below into multiple licenses,
1309// taking care not to lose any license_kind information, and overriding the
1310// default license using the 'licenses: [...]' property on targets as needed.
1311//
1312// For unused files, consider creating a 'fileGroup' with "//visibility:private"
1313// to attach the license to, and including a comment whether the files may be
1314// used in the current project.
1315// See: http://go/android-license-faq
1316license {
1317    name: "external_libvpx_license",
1318    visibility: [":__subpackages__"],
1319    license_kinds: [
1320        "SPDX-license-identifier-BSD",
1321        "SPDX-license-identifier-ISC",
1322        "legacy_unencumbered",
1323    ],
1324    license_text: [
1325        "NOTICE",
1326    ],
1327}
1328
1329cc_defaults {
1330    name: "libvpx_defaults",
1331
1332    cflags: [
1333        "-O3",
1334    ],
1335
1336    min_sdk_version: "29",
1337    apex_available: [
1338        "//apex_available:platform",
1339        "com.android.media.swcodec",
1340    ],
1341
1342    target: {
1343        darwin: {
1344            enabled: false,
1345        },
1346        android: {
1347            sanitize: {
1348                cfi: true,
1349                config: {
1350                    cfi_assembly_support: true,
1351                },
1352            },
1353        },
1354    },
1355
1356    arch: {
1357        // configured to require the neon unit
1358        arm: {
1359            local_include_dirs: ["config/arm-neon"],
1360        },
1361
1362        arm64: {
1363            local_include_dirs: ["config/arm64"],
1364        },
1365
1366        riscv64: {
1367            local_include_dirs: ["config/generic"],
1368        },
1369
1370        x86: {
1371            local_include_dirs: ["config/x86"],
1372        },
1373
1374        x86_64: {
1375            local_include_dirs: ["config/x86_64"],
1376        },
1377    },
1378}
1379
1380cc_library_static {
1381    name: "libvpx_neon_dotprod",
1382    defaults: ["libvpx_defaults"],
1383    host_supported: true,
1384    vendor_available: true,
1385    visibility: ["//visibility:private"],
1386
1387    cflags: [
1388        "-Xclang -target-feature",
1389        // This comment prevents bpfmt from sorting the flags incorrectly.
1390        "-Xclang +dotprod",
1391    ],
1392
1393    arch: {
1394        arm64: {
1395            srcs: libvpx_arm64_neon_dotprod_c_srcs,
1396        },
1397    },
1398}
1399
1400cc_library_static {
1401    name: "libvpx_neon_i8mm",
1402    defaults: ["libvpx_defaults"],
1403    host_supported: true,
1404    vendor_available: true,
1405    visibility: ["//visibility:private"],
1406
1407    cflags: [
1408        "-Xclang -target-feature",
1409        // This comment prevents bpfmt from sorting the flags incorrectly.
1410        "-Xclang +dotprod",
1411        // This comment prevents bpfmt from sorting the flags incorrectly.
1412        "-Xclang -target-feature",
1413        // This comment prevents bpfmt from sorting the flags incorrectly.
1414        "-Xclang +i8mm",
1415    ],
1416
1417    arch: {
1418        arm64: {
1419            srcs: libvpx_arm64_neon_i8mm_c_srcs,
1420        },
1421    },
1422}
1423
1424cc_library_static {
1425    name: "libvpx_sve",
1426    defaults: ["libvpx_defaults"],
1427    host_supported: true,
1428    vendor_available: true,
1429    visibility: ["//visibility:private"],
1430
1431    cflags: [
1432        "-Xclang -target-feature",
1433        // This comment prevents bpfmt from sorting the flags incorrectly.
1434        "-Xclang +dotprod",
1435        // This comment prevents bpfmt from sorting the flags incorrectly.
1436        "-Xclang -target-feature",
1437        // This comment prevents bpfmt from sorting the flags incorrectly.
1438        "-Xclang +i8mm",
1439        // This comment prevents bpfmt from sorting the flags incorrectly.
1440        "-Xclang -target-feature",
1441        // This comment prevents bpfmt from sorting the flags incorrectly.
1442        "-Xclang +sve",
1443    ],
1444
1445    arch: {
1446        arm64: {
1447            srcs: libvpx_arm64_sve_c_srcs,
1448        },
1449    },
1450}
1451
1452cc_library {
1453    name: "libvpx",
1454    defaults: ["libvpx_defaults"],
1455    vendor_available: true,
1456    host_supported: true,
1457    version_script: "exports.lds",
1458
1459    arch: {
1460        // configured to require the neon unit
1461        arm: {
1462            // Want arm, not thumb, optimized
1463            instruction_set: "arm",
1464
1465            srcs: libvpx_arm_neon_c_srcs + libvpx_arm_neon_asm_srcs,
1466        },
1467
1468        arm64: {
1469            srcs: libvpx_arm64_c_srcs,
1470            whole_static_libs: [
1471                "libvpx_neon_dotprod",
1472                "libvpx_neon_i8mm",
1473                "libvpx_sve",
1474            ],
1475        },
1476
1477        riscv64: {
1478            srcs: libvpx_generic_c_srcs,
1479        },
1480
1481        x86: {
1482            srcs: libvpx_x86_c_srcs + libvpx_x86_asm_srcs,
1483            cflags: [
1484                "-mssse3",
1485            ],
1486        },
1487
1488        x86_64: {
1489            srcs: libvpx_x86_64_c_srcs + libvpx_x86_64_asm_srcs,
1490            cflags: [
1491                "-mssse3",
1492            ],
1493        },
1494    },
1495
1496    cflags: [
1497        "-Wno-unused-parameter",
1498    ],
1499
1500    export_include_dirs: ["."],
1501
1502    sanitize: {
1503        integer_overflow: true,
1504        misc_undefined: ["bounds"],
1505        blocklist: "libvpx_blocklist.txt",
1506    },
1507}
1508
1509cc_library {
1510    name: "libvpxrc",
1511    defaults: ["libvpx_defaults"],
1512    vendor_available: true,
1513    static_libs: ["libvpx"],
1514
1515    arch: {
1516        x86_64: {
1517            srcs: libvpxrc_x86_64_c_srcs +
1518                libvpxrc_x86_64_cc_srcs +
1519                libvpxrc_x86_64_asm_srcs,
1520            cflags: [
1521                "-mssse3",
1522            ],
1523        },
1524    },
1525
1526    export_include_dirs: ["."],
1527}
1528
1529cc_library_headers {
1530    name: "libvpx_headers",
1531    vendor_available: true,
1532    host_supported: true,
1533
1534    arch: {
1535        arm: {
1536            export_include_dirs: ["config/arm-neon"],
1537        },
1538
1539        arm64: {
1540            export_include_dirs: ["config/arm64"],
1541        },
1542
1543        riscv64: {
1544            export_include_dirs: ["config/generic"],
1545        },
1546
1547        x86: {
1548            export_include_dirs: ["config/x86"],
1549        },
1550
1551        x86_64: {
1552            export_include_dirs: ["config/x86_64"],
1553        },
1554    },
1555
1556    export_include_dirs: ["."],
1557}
1558
1559cc_fuzz {
1560    name: "vp9_dec_fuzzer",
1561    defaults: ["libvpx_defaults"],
1562    host_supported: true,
1563    srcs: [
1564        "examples/vpx_dec_fuzzer.cc",
1565    ],
1566
1567    cflags: ["-DDECODER=vp9"],
1568    static_libs: [
1569        "libvpx",
1570    ],
1571}
1572
1573cc_fuzz {
1574    name: "vp8_dec_fuzzer",
1575    defaults: ["libvpx_defaults"],
1576    host_supported: true,
1577    srcs: [
1578        "examples/vpx_dec_fuzzer.cc",
1579    ],
1580
1581    cflags: ["-DDECODER=vp8"],
1582    static_libs: [
1583        "libvpx",
1584    ],
1585}
1586