xref: /aosp_15_r20/external/libaom/aom_dsp/aom_dsp.cmake (revision 77c1e3ccc04c968bd2bc212e87364f250e820521)
1*77c1e3ccSAndroid Build Coastguard Worker#
2*77c1e3ccSAndroid Build Coastguard Worker# Copyright (c) 2017, Alliance for Open Media. All rights reserved.
3*77c1e3ccSAndroid Build Coastguard Worker#
4*77c1e3ccSAndroid Build Coastguard Worker# This source code is subject to the terms of the BSD 2 Clause License and the
5*77c1e3ccSAndroid Build Coastguard Worker# Alliance for Open Media Patent License 1.0. If the BSD 2 Clause License was
6*77c1e3ccSAndroid Build Coastguard Worker# not distributed with this source code in the LICENSE file, you can obtain it
7*77c1e3ccSAndroid Build Coastguard Worker# at www.aomedia.org/license/software. If the Alliance for Open Media Patent
8*77c1e3ccSAndroid Build Coastguard Worker# License 1.0 was not distributed with this source code in the PATENTS file, you
9*77c1e3ccSAndroid Build Coastguard Worker# can obtain it at www.aomedia.org/license/patent.
10*77c1e3ccSAndroid Build Coastguard Worker#
11*77c1e3ccSAndroid Build Coastguard Workerif(AOM_AOM_DSP_AOM_DSP_CMAKE_)
12*77c1e3ccSAndroid Build Coastguard Worker  return()
13*77c1e3ccSAndroid Build Coastguard Workerendif() # AOM_AOM_DSP_AOM_DSP_CMAKE_
14*77c1e3ccSAndroid Build Coastguard Workerset(AOM_AOM_DSP_AOM_DSP_CMAKE_ 1)
15*77c1e3ccSAndroid Build Coastguard Worker
16*77c1e3ccSAndroid Build Coastguard Workerlist(APPEND AOM_DSP_COMMON_SOURCES
17*77c1e3ccSAndroid Build Coastguard Worker            "${AOM_ROOT}/aom_dsp/aom_convolve.c"
18*77c1e3ccSAndroid Build Coastguard Worker            "${AOM_ROOT}/aom_dsp/aom_dsp_common.h"
19*77c1e3ccSAndroid Build Coastguard Worker            "${AOM_ROOT}/aom_dsp/aom_filter.h"
20*77c1e3ccSAndroid Build Coastguard Worker            "${AOM_ROOT}/aom_dsp/aom_simd.h"
21*77c1e3ccSAndroid Build Coastguard Worker            "${AOM_ROOT}/aom_dsp/aom_simd_inline.h"
22*77c1e3ccSAndroid Build Coastguard Worker            "${AOM_ROOT}/aom_dsp/bitreader_buffer.c"
23*77c1e3ccSAndroid Build Coastguard Worker            "${AOM_ROOT}/aom_dsp/bitreader_buffer.h"
24*77c1e3ccSAndroid Build Coastguard Worker            "${AOM_ROOT}/aom_dsp/bitwriter_buffer.c"
25*77c1e3ccSAndroid Build Coastguard Worker            "${AOM_ROOT}/aom_dsp/bitwriter_buffer.h"
26*77c1e3ccSAndroid Build Coastguard Worker            "${AOM_ROOT}/aom_dsp/blend.h"
27*77c1e3ccSAndroid Build Coastguard Worker            "${AOM_ROOT}/aom_dsp/blend_a64_hmask.c"
28*77c1e3ccSAndroid Build Coastguard Worker            "${AOM_ROOT}/aom_dsp/blend_a64_mask.c"
29*77c1e3ccSAndroid Build Coastguard Worker            "${AOM_ROOT}/aom_dsp/blend_a64_vmask.c"
30*77c1e3ccSAndroid Build Coastguard Worker            "${AOM_ROOT}/aom_dsp/entcode.c"
31*77c1e3ccSAndroid Build Coastguard Worker            "${AOM_ROOT}/aom_dsp/entcode.h"
32*77c1e3ccSAndroid Build Coastguard Worker            "${AOM_ROOT}/aom_dsp/grain_params.h"
33*77c1e3ccSAndroid Build Coastguard Worker            "${AOM_ROOT}/aom_dsp/intrapred.c"
34*77c1e3ccSAndroid Build Coastguard Worker            "${AOM_ROOT}/aom_dsp/intrapred_common.h"
35*77c1e3ccSAndroid Build Coastguard Worker            "${AOM_ROOT}/aom_dsp/loopfilter.c"
36*77c1e3ccSAndroid Build Coastguard Worker            "${AOM_ROOT}/aom_dsp/odintrin.c"
37*77c1e3ccSAndroid Build Coastguard Worker            "${AOM_ROOT}/aom_dsp/odintrin.h"
38*77c1e3ccSAndroid Build Coastguard Worker            "${AOM_ROOT}/aom_dsp/prob.h"
39*77c1e3ccSAndroid Build Coastguard Worker            "${AOM_ROOT}/aom_dsp/recenter.h"
40*77c1e3ccSAndroid Build Coastguard Worker            "${AOM_ROOT}/aom_dsp/simd/v128_intrinsics.h"
41*77c1e3ccSAndroid Build Coastguard Worker            "${AOM_ROOT}/aom_dsp/simd/v128_intrinsics_c.h"
42*77c1e3ccSAndroid Build Coastguard Worker            "${AOM_ROOT}/aom_dsp/simd/v256_intrinsics.h"
43*77c1e3ccSAndroid Build Coastguard Worker            "${AOM_ROOT}/aom_dsp/simd/v256_intrinsics_c.h"
44*77c1e3ccSAndroid Build Coastguard Worker            "${AOM_ROOT}/aom_dsp/simd/v64_intrinsics.h"
45*77c1e3ccSAndroid Build Coastguard Worker            "${AOM_ROOT}/aom_dsp/simd/v64_intrinsics_c.h"
46*77c1e3ccSAndroid Build Coastguard Worker            "${AOM_ROOT}/aom_dsp/txfm_common.h"
47*77c1e3ccSAndroid Build Coastguard Worker            "${AOM_ROOT}/aom_dsp/x86/convolve_common_intrin.h")
48*77c1e3ccSAndroid Build Coastguard Worker
49*77c1e3ccSAndroid Build Coastguard Workerlist(APPEND AOM_DSP_COMMON_ASM_SSE2
50*77c1e3ccSAndroid Build Coastguard Worker            "${AOM_ROOT}/aom_dsp/x86/intrapred_asm_sse2.asm")
51*77c1e3ccSAndroid Build Coastguard Workerif(CONFIG_AV1_HIGHBITDEPTH)
52*77c1e3ccSAndroid Build Coastguard Worker  list(APPEND AOM_DSP_COMMON_ASM_SSE2
53*77c1e3ccSAndroid Build Coastguard Worker              "${AOM_ROOT}/aom_dsp/x86/aom_high_subpixel_8t_sse2.asm"
54*77c1e3ccSAndroid Build Coastguard Worker              "${AOM_ROOT}/aom_dsp/x86/aom_high_subpixel_bilinear_sse2.asm"
55*77c1e3ccSAndroid Build Coastguard Worker              "${AOM_ROOT}/aom_dsp/x86/highbd_intrapred_asm_sse2.asm")
56*77c1e3ccSAndroid Build Coastguard Workerendif()
57*77c1e3ccSAndroid Build Coastguard Worker
58*77c1e3ccSAndroid Build Coastguard Workerlist(APPEND AOM_DSP_COMMON_INTRIN_SSE2
59*77c1e3ccSAndroid Build Coastguard Worker            "${AOM_ROOT}/aom_dsp/x86/aom_convolve_copy_sse2.c"
60*77c1e3ccSAndroid Build Coastguard Worker            "${AOM_ROOT}/aom_dsp/x86/convolve.h"
61*77c1e3ccSAndroid Build Coastguard Worker            "${AOM_ROOT}/aom_dsp/x86/convolve_sse2.h"
62*77c1e3ccSAndroid Build Coastguard Worker            "${AOM_ROOT}/aom_dsp/x86/intrapred_sse2.c"
63*77c1e3ccSAndroid Build Coastguard Worker            "${AOM_ROOT}/aom_dsp/x86/intrapred_x86.h"
64*77c1e3ccSAndroid Build Coastguard Worker            "${AOM_ROOT}/aom_dsp/x86/loopfilter_sse2.c"
65*77c1e3ccSAndroid Build Coastguard Worker            "${AOM_ROOT}/aom_dsp/x86/lpf_common_sse2.h"
66*77c1e3ccSAndroid Build Coastguard Worker            "${AOM_ROOT}/aom_dsp/x86/mem_sse2.h"
67*77c1e3ccSAndroid Build Coastguard Worker            "${AOM_ROOT}/aom_dsp/x86/transpose_sse2.h"
68*77c1e3ccSAndroid Build Coastguard Worker            "${AOM_ROOT}/aom_dsp/x86/txfm_common_sse2.h"
69*77c1e3ccSAndroid Build Coastguard Worker            "${AOM_ROOT}/aom_dsp/x86/sum_squares_sse2.h"
70*77c1e3ccSAndroid Build Coastguard Worker            "${AOM_ROOT}/aom_dsp/x86/bitdepth_conversion_sse2.h")
71*77c1e3ccSAndroid Build Coastguard Worker
72*77c1e3ccSAndroid Build Coastguard Workerlist(APPEND AOM_DSP_COMMON_ASM_SSSE3
73*77c1e3ccSAndroid Build Coastguard Worker            "${AOM_ROOT}/aom_dsp/x86/aom_subpixel_8t_ssse3.asm"
74*77c1e3ccSAndroid Build Coastguard Worker            "${AOM_ROOT}/aom_dsp/x86/aom_subpixel_bilinear_ssse3.asm")
75*77c1e3ccSAndroid Build Coastguard Worker
76*77c1e3ccSAndroid Build Coastguard Workerlist(APPEND AOM_DSP_COMMON_INTRIN_SSSE3
77*77c1e3ccSAndroid Build Coastguard Worker            "${AOM_ROOT}/aom_dsp/x86/aom_subpixel_8t_intrin_ssse3.c"
78*77c1e3ccSAndroid Build Coastguard Worker            "${AOM_ROOT}/aom_dsp/x86/convolve_ssse3.h"
79*77c1e3ccSAndroid Build Coastguard Worker            "${AOM_ROOT}/aom_dsp/x86/intrapred_ssse3.c")
80*77c1e3ccSAndroid Build Coastguard Worker
81*77c1e3ccSAndroid Build Coastguard Workerlist(APPEND AOM_DSP_COMMON_INTRIN_SSE4_1
82*77c1e3ccSAndroid Build Coastguard Worker            "${AOM_ROOT}/aom_dsp/x86/blend_mask_sse4.h"
83*77c1e3ccSAndroid Build Coastguard Worker            "${AOM_ROOT}/aom_dsp/x86/blend_a64_hmask_sse4.c"
84*77c1e3ccSAndroid Build Coastguard Worker            "${AOM_ROOT}/aom_dsp/x86/blend_a64_mask_sse4.c"
85*77c1e3ccSAndroid Build Coastguard Worker            "${AOM_ROOT}/aom_dsp/x86/blend_a64_vmask_sse4.c"
86*77c1e3ccSAndroid Build Coastguard Worker            "${AOM_ROOT}/aom_dsp/x86/intrapred_sse4.c"
87*77c1e3ccSAndroid Build Coastguard Worker            "${AOM_ROOT}/aom_dsp/x86/intrapred_utils.h")
88*77c1e3ccSAndroid Build Coastguard Worker
89*77c1e3ccSAndroid Build Coastguard Workerlist(APPEND AOM_DSP_COMMON_INTRIN_AVX2
90*77c1e3ccSAndroid Build Coastguard Worker            "${AOM_ROOT}/aom_dsp/x86/aom_convolve_copy_avx2.c"
91*77c1e3ccSAndroid Build Coastguard Worker            "${AOM_ROOT}/aom_dsp/x86/aom_subpixel_8t_intrin_avx2.c"
92*77c1e3ccSAndroid Build Coastguard Worker            "${AOM_ROOT}/aom_dsp/x86/common_avx2.h"
93*77c1e3ccSAndroid Build Coastguard Worker            "${AOM_ROOT}/aom_dsp/x86/txfm_common_avx2.h"
94*77c1e3ccSAndroid Build Coastguard Worker            "${AOM_ROOT}/aom_dsp/x86/convolve_avx2.h"
95*77c1e3ccSAndroid Build Coastguard Worker            "${AOM_ROOT}/aom_dsp/x86/intrapred_avx2.c"
96*77c1e3ccSAndroid Build Coastguard Worker            "${AOM_ROOT}/aom_dsp/x86/loopfilter_avx2.c"
97*77c1e3ccSAndroid Build Coastguard Worker            "${AOM_ROOT}/aom_dsp/x86/blend_a64_mask_avx2.c"
98*77c1e3ccSAndroid Build Coastguard Worker            "${AOM_ROOT}/aom_dsp/x86/bitdepth_conversion_avx2.h")
99*77c1e3ccSAndroid Build Coastguard Worker
100*77c1e3ccSAndroid Build Coastguard Workerif(CONFIG_SVT_AV1)
101*77c1e3ccSAndroid Build Coastguard Worker  list(APPEND AOM_DSP_COMMON_INTRIN_AVX2
102*77c1e3ccSAndroid Build Coastguard Worker              "${AOM_ROOT}/third_party/SVT-AV1/convolve_2d_avx2.h"
103*77c1e3ccSAndroid Build Coastguard Worker              "${AOM_ROOT}/third_party/SVT-AV1/convolve_avx2.h"
104*77c1e3ccSAndroid Build Coastguard Worker              "${AOM_ROOT}/third_party/SVT-AV1/EbMemory_AVX2.h"
105*77c1e3ccSAndroid Build Coastguard Worker              "${AOM_ROOT}/third_party/SVT-AV1/EbMemory_SSE4_1.h"
106*77c1e3ccSAndroid Build Coastguard Worker              "${AOM_ROOT}/third_party/SVT-AV1/synonyms.h")
107*77c1e3ccSAndroid Build Coastguard Workerendif()
108*77c1e3ccSAndroid Build Coastguard Worker
109*77c1e3ccSAndroid Build Coastguard Workerlist(APPEND AOM_DSP_COMMON_INTRIN_NEON
110*77c1e3ccSAndroid Build Coastguard Worker            "${AOM_ROOT}/aom_dsp/arm/aom_convolve_copy_neon.c"
111*77c1e3ccSAndroid Build Coastguard Worker            "${AOM_ROOT}/aom_dsp/arm/aom_convolve8_neon.c"
112*77c1e3ccSAndroid Build Coastguard Worker            "${AOM_ROOT}/aom_dsp/arm/aom_scaled_convolve8_neon.c"
113*77c1e3ccSAndroid Build Coastguard Worker            "${AOM_ROOT}/aom_dsp/arm/loopfilter_neon.c"
114*77c1e3ccSAndroid Build Coastguard Worker            "${AOM_ROOT}/aom_dsp/arm/intrapred_neon.c"
115*77c1e3ccSAndroid Build Coastguard Worker            "${AOM_ROOT}/aom_dsp/arm/blend_a64_mask_neon.c")
116*77c1e3ccSAndroid Build Coastguard Worker
117*77c1e3ccSAndroid Build Coastguard Workerlist(APPEND AOM_DSP_COMMON_INTRIN_NEON_DOTPROD
118*77c1e3ccSAndroid Build Coastguard Worker            "${AOM_ROOT}/aom_dsp/arm/aom_convolve8_neon_dotprod.c"
119*77c1e3ccSAndroid Build Coastguard Worker            "${AOM_ROOT}/aom_dsp/arm/aom_scaled_convolve8_neon_dotprod.c")
120*77c1e3ccSAndroid Build Coastguard Worker
121*77c1e3ccSAndroid Build Coastguard Workerlist(APPEND AOM_DSP_COMMON_INTRIN_NEON_I8MM
122*77c1e3ccSAndroid Build Coastguard Worker            "${AOM_ROOT}/aom_dsp/arm/aom_convolve8_neon_i8mm.c"
123*77c1e3ccSAndroid Build Coastguard Worker            "${AOM_ROOT}/aom_dsp/arm/aom_scaled_convolve8_neon_i8mm.c")
124*77c1e3ccSAndroid Build Coastguard Worker
125*77c1e3ccSAndroid Build Coastguard Workerif(CONFIG_AV1_HIGHBITDEPTH)
126*77c1e3ccSAndroid Build Coastguard Worker  list(APPEND AOM_DSP_COMMON_INTRIN_SSE2
127*77c1e3ccSAndroid Build Coastguard Worker              "${AOM_ROOT}/aom_dsp/x86/highbd_convolve_sse2.c"
128*77c1e3ccSAndroid Build Coastguard Worker              "${AOM_ROOT}/aom_dsp/x86/highbd_intrapred_sse2.c"
129*77c1e3ccSAndroid Build Coastguard Worker              "${AOM_ROOT}/aom_dsp/x86/highbd_loopfilter_sse2.c")
130*77c1e3ccSAndroid Build Coastguard Worker
131*77c1e3ccSAndroid Build Coastguard Worker  list(APPEND AOM_DSP_COMMON_INTRIN_SSSE3
132*77c1e3ccSAndroid Build Coastguard Worker              "${AOM_ROOT}/aom_dsp/x86/highbd_convolve_ssse3.c")
133*77c1e3ccSAndroid Build Coastguard Worker
134*77c1e3ccSAndroid Build Coastguard Worker  list(APPEND AOM_DSP_COMMON_INTRIN_AVX2
135*77c1e3ccSAndroid Build Coastguard Worker              "${AOM_ROOT}/aom_dsp/x86/highbd_convolve_avx2.c"
136*77c1e3ccSAndroid Build Coastguard Worker              "${AOM_ROOT}/aom_dsp/x86/highbd_loopfilter_avx2.c")
137*77c1e3ccSAndroid Build Coastguard Worker
138*77c1e3ccSAndroid Build Coastguard Worker  list(APPEND AOM_DSP_COMMON_INTRIN_NEON
139*77c1e3ccSAndroid Build Coastguard Worker              "${AOM_ROOT}/aom_dsp/arm/highbd_blend_a64_hmask_neon.c"
140*77c1e3ccSAndroid Build Coastguard Worker              "${AOM_ROOT}/aom_dsp/arm/highbd_blend_a64_mask_neon.c"
141*77c1e3ccSAndroid Build Coastguard Worker              "${AOM_ROOT}/aom_dsp/arm/highbd_blend_a64_vmask_neon.c"
142*77c1e3ccSAndroid Build Coastguard Worker              "${AOM_ROOT}/aom_dsp/arm/highbd_convolve8_neon.c"
143*77c1e3ccSAndroid Build Coastguard Worker              "${AOM_ROOT}/aom_dsp/arm/highbd_intrapred_neon.c"
144*77c1e3ccSAndroid Build Coastguard Worker              "${AOM_ROOT}/aom_dsp/arm/highbd_loopfilter_neon.c")
145*77c1e3ccSAndroid Build Coastguard Worker
146*77c1e3ccSAndroid Build Coastguard Worker  list(APPEND AOM_DSP_COMMON_INTRIN_SVE
147*77c1e3ccSAndroid Build Coastguard Worker              "${AOM_ROOT}/aom_dsp/arm/highbd_convolve8_sve.c")
148*77c1e3ccSAndroid Build Coastguard Workerendif()
149*77c1e3ccSAndroid Build Coastguard Worker
150*77c1e3ccSAndroid Build Coastguard Workerif(CONFIG_AV1_DECODER)
151*77c1e3ccSAndroid Build Coastguard Worker  list(APPEND AOM_DSP_DECODER_SOURCES
152*77c1e3ccSAndroid Build Coastguard Worker              "${AOM_ROOT}/aom_dsp/binary_codes_reader.c"
153*77c1e3ccSAndroid Build Coastguard Worker              "${AOM_ROOT}/aom_dsp/binary_codes_reader.h"
154*77c1e3ccSAndroid Build Coastguard Worker              "${AOM_ROOT}/aom_dsp/bitreader.c"
155*77c1e3ccSAndroid Build Coastguard Worker              "${AOM_ROOT}/aom_dsp/bitreader.h" "${AOM_ROOT}/aom_dsp/entdec.c"
156*77c1e3ccSAndroid Build Coastguard Worker              "${AOM_ROOT}/aom_dsp/entdec.h")
157*77c1e3ccSAndroid Build Coastguard Workerendif()
158*77c1e3ccSAndroid Build Coastguard Worker
159*77c1e3ccSAndroid Build Coastguard Workerif(CONFIG_AV1_ENCODER)
160*77c1e3ccSAndroid Build Coastguard Worker  list(APPEND AOM_DSP_ENCODER_SOURCES
161*77c1e3ccSAndroid Build Coastguard Worker              "${AOM_ROOT}/aom_dsp/avg.c"
162*77c1e3ccSAndroid Build Coastguard Worker              "${AOM_ROOT}/aom_dsp/bitwriter.c"
163*77c1e3ccSAndroid Build Coastguard Worker              "${AOM_ROOT}/aom_dsp/bitwriter.h"
164*77c1e3ccSAndroid Build Coastguard Worker              "${AOM_ROOT}/aom_dsp/blk_sse_sum.c"
165*77c1e3ccSAndroid Build Coastguard Worker              "${AOM_ROOT}/aom_dsp/entenc.c"
166*77c1e3ccSAndroid Build Coastguard Worker              "${AOM_ROOT}/aom_dsp/entenc.h"
167*77c1e3ccSAndroid Build Coastguard Worker              "${AOM_ROOT}/aom_dsp/fft.c"
168*77c1e3ccSAndroid Build Coastguard Worker              "${AOM_ROOT}/aom_dsp/fft_common.h"
169*77c1e3ccSAndroid Build Coastguard Worker              "${AOM_ROOT}/aom_dsp/fwd_txfm.c"
170*77c1e3ccSAndroid Build Coastguard Worker              "${AOM_ROOT}/aom_dsp/psnr.c"
171*77c1e3ccSAndroid Build Coastguard Worker              "${AOM_ROOT}/aom_dsp/psnr.h"
172*77c1e3ccSAndroid Build Coastguard Worker              "${AOM_ROOT}/aom_dsp/quantize.c"
173*77c1e3ccSAndroid Build Coastguard Worker              "${AOM_ROOT}/aom_dsp/quantize.h"
174*77c1e3ccSAndroid Build Coastguard Worker              "${AOM_ROOT}/aom_dsp/sad.c"
175*77c1e3ccSAndroid Build Coastguard Worker              "${AOM_ROOT}/aom_dsp/sad_av1.c"
176*77c1e3ccSAndroid Build Coastguard Worker              "${AOM_ROOT}/aom_dsp/subtract.c"
177*77c1e3ccSAndroid Build Coastguard Worker              "${AOM_ROOT}/aom_dsp/sse.c"
178*77c1e3ccSAndroid Build Coastguard Worker              "${AOM_ROOT}/aom_dsp/ssim.c"
179*77c1e3ccSAndroid Build Coastguard Worker              "${AOM_ROOT}/aom_dsp/ssim.h"
180*77c1e3ccSAndroid Build Coastguard Worker              "${AOM_ROOT}/aom_dsp/sum_squares.c"
181*77c1e3ccSAndroid Build Coastguard Worker              "${AOM_ROOT}/aom_dsp/variance.c"
182*77c1e3ccSAndroid Build Coastguard Worker              "${AOM_ROOT}/aom_dsp/variance.h")
183*77c1e3ccSAndroid Build Coastguard Worker
184*77c1e3ccSAndroid Build Coastguard Worker  # Flow estimation library and grain/noise table/model.
185*77c1e3ccSAndroid Build Coastguard Worker  if(NOT CONFIG_REALTIME_ONLY)
186*77c1e3ccSAndroid Build Coastguard Worker    list(APPEND AOM_DSP_ENCODER_SOURCES
187*77c1e3ccSAndroid Build Coastguard Worker                "${AOM_ROOT}/aom_dsp/pyramid.c"
188*77c1e3ccSAndroid Build Coastguard Worker                "${AOM_ROOT}/aom_dsp/binary_codes_writer.c"
189*77c1e3ccSAndroid Build Coastguard Worker                "${AOM_ROOT}/aom_dsp/binary_codes_writer.h"
190*77c1e3ccSAndroid Build Coastguard Worker                "${AOM_ROOT}/aom_dsp/flow_estimation/corner_detect.c"
191*77c1e3ccSAndroid Build Coastguard Worker                "${AOM_ROOT}/aom_dsp/flow_estimation/corner_match.c"
192*77c1e3ccSAndroid Build Coastguard Worker                "${AOM_ROOT}/aom_dsp/flow_estimation/disflow.c"
193*77c1e3ccSAndroid Build Coastguard Worker                "${AOM_ROOT}/aom_dsp/flow_estimation/flow_estimation.c"
194*77c1e3ccSAndroid Build Coastguard Worker                "${AOM_ROOT}/aom_dsp/grain_table.c"
195*77c1e3ccSAndroid Build Coastguard Worker                "${AOM_ROOT}/aom_dsp/grain_table.h"
196*77c1e3ccSAndroid Build Coastguard Worker                "${AOM_ROOT}/aom_dsp/noise_model.c"
197*77c1e3ccSAndroid Build Coastguard Worker                "${AOM_ROOT}/aom_dsp/noise_model.h"
198*77c1e3ccSAndroid Build Coastguard Worker                "${AOM_ROOT}/aom_dsp/noise_util.c"
199*77c1e3ccSAndroid Build Coastguard Worker                "${AOM_ROOT}/aom_dsp/noise_util.h"
200*77c1e3ccSAndroid Build Coastguard Worker                "${AOM_ROOT}/aom_dsp/flow_estimation/ransac.c")
201*77c1e3ccSAndroid Build Coastguard Worker
202*77c1e3ccSAndroid Build Coastguard Worker    list(APPEND AOM_DSP_ENCODER_INTRIN_SSE4_1
203*77c1e3ccSAndroid Build Coastguard Worker                "${AOM_ROOT}/aom_dsp/flow_estimation/x86/corner_match_sse4.c"
204*77c1e3ccSAndroid Build Coastguard Worker                "${AOM_ROOT}/aom_dsp/flow_estimation/x86/disflow_sse4.c")
205*77c1e3ccSAndroid Build Coastguard Worker
206*77c1e3ccSAndroid Build Coastguard Worker    list(APPEND AOM_DSP_ENCODER_INTRIN_AVX2
207*77c1e3ccSAndroid Build Coastguard Worker                "${AOM_ROOT}/aom_dsp/flow_estimation/x86/corner_match_avx2.c"
208*77c1e3ccSAndroid Build Coastguard Worker                "${AOM_ROOT}/aom_dsp/flow_estimation/x86/disflow_avx2.c")
209*77c1e3ccSAndroid Build Coastguard Worker
210*77c1e3ccSAndroid Build Coastguard Worker    list(APPEND AOM_DSP_ENCODER_INTRIN_NEON
211*77c1e3ccSAndroid Build Coastguard Worker                "${AOM_ROOT}/aom_dsp/flow_estimation/arm/disflow_neon.c")
212*77c1e3ccSAndroid Build Coastguard Worker
213*77c1e3ccSAndroid Build Coastguard Worker    list(APPEND AOM_DSP_ENCODER_INTRIN_SVE
214*77c1e3ccSAndroid Build Coastguard Worker                "${AOM_ROOT}/aom_dsp/flow_estimation/arm/disflow_sve.c")
215*77c1e3ccSAndroid Build Coastguard Worker  endif()
216*77c1e3ccSAndroid Build Coastguard Worker
217*77c1e3ccSAndroid Build Coastguard Worker  list(APPEND AOM_DSP_ENCODER_ASM_SSE2 "${AOM_ROOT}/aom_dsp/x86/sad4d_sse2.asm"
218*77c1e3ccSAndroid Build Coastguard Worker              "${AOM_ROOT}/aom_dsp/x86/sad_sse2.asm"
219*77c1e3ccSAndroid Build Coastguard Worker              "${AOM_ROOT}/aom_dsp/x86/subtract_sse2.asm")
220*77c1e3ccSAndroid Build Coastguard Worker
221*77c1e3ccSAndroid Build Coastguard Worker  list(APPEND AOM_DSP_ENCODER_ASM_SSE2_X86_64
222*77c1e3ccSAndroid Build Coastguard Worker              "${AOM_ROOT}/aom_dsp/x86/ssim_sse2_x86_64.asm")
223*77c1e3ccSAndroid Build Coastguard Worker
224*77c1e3ccSAndroid Build Coastguard Worker  list(APPEND AOM_DSP_ENCODER_INTRIN_SSE2
225*77c1e3ccSAndroid Build Coastguard Worker              "${AOM_ROOT}/aom_dsp/x86/avg_intrin_sse2.c"
226*77c1e3ccSAndroid Build Coastguard Worker              "${AOM_ROOT}/aom_dsp/x86/fft_sse2.c"
227*77c1e3ccSAndroid Build Coastguard Worker              "${AOM_ROOT}/aom_dsp/x86/fwd_txfm_impl_sse2.h"
228*77c1e3ccSAndroid Build Coastguard Worker              "${AOM_ROOT}/aom_dsp/x86/fwd_txfm_sse2.c"
229*77c1e3ccSAndroid Build Coastguard Worker              "${AOM_ROOT}/aom_dsp/x86/fwd_txfm_sse2.h"
230*77c1e3ccSAndroid Build Coastguard Worker              "${AOM_ROOT}/aom_dsp/x86/quantize_sse2.c"
231*77c1e3ccSAndroid Build Coastguard Worker              "${AOM_ROOT}/aom_dsp/x86/adaptive_quantize_sse2.c"
232*77c1e3ccSAndroid Build Coastguard Worker              "${AOM_ROOT}/aom_dsp/x86/quantize_x86.h"
233*77c1e3ccSAndroid Build Coastguard Worker              "${AOM_ROOT}/aom_dsp/x86/blk_sse_sum_sse2.c"
234*77c1e3ccSAndroid Build Coastguard Worker              "${AOM_ROOT}/aom_dsp/x86/sum_squares_sse2.c"
235*77c1e3ccSAndroid Build Coastguard Worker              "${AOM_ROOT}/aom_dsp/x86/variance_sse2.c"
236*77c1e3ccSAndroid Build Coastguard Worker              "${AOM_ROOT}/aom_dsp/x86/jnt_sad_sse2.c")
237*77c1e3ccSAndroid Build Coastguard Worker
238*77c1e3ccSAndroid Build Coastguard Worker  list(APPEND AOM_DSP_ENCODER_ASM_SSSE3
239*77c1e3ccSAndroid Build Coastguard Worker              "${AOM_ROOT}/aom_dsp/x86/subpel_variance_ssse3.asm")
240*77c1e3ccSAndroid Build Coastguard Worker
241*77c1e3ccSAndroid Build Coastguard Worker  list(APPEND AOM_DSP_ENCODER_ASM_SSSE3_X86_64
242*77c1e3ccSAndroid Build Coastguard Worker              "${AOM_ROOT}/aom_dsp/x86/fwd_txfm_ssse3_x86_64.asm"
243*77c1e3ccSAndroid Build Coastguard Worker              "${AOM_ROOT}/aom_dsp/x86/quantize_ssse3_x86_64.asm")
244*77c1e3ccSAndroid Build Coastguard Worker
245*77c1e3ccSAndroid Build Coastguard Worker  list(APPEND AOM_DSP_ENCODER_INTRIN_AVX2
246*77c1e3ccSAndroid Build Coastguard Worker              "${AOM_ROOT}/aom_dsp/x86/avg_intrin_avx2.c"
247*77c1e3ccSAndroid Build Coastguard Worker              "${AOM_ROOT}/aom_dsp/x86/fft_avx2.c"
248*77c1e3ccSAndroid Build Coastguard Worker              "${AOM_ROOT}/aom_dsp/x86/masked_sad_intrin_avx2.c"
249*77c1e3ccSAndroid Build Coastguard Worker              "${AOM_ROOT}/aom_dsp/x86/subtract_avx2.c"
250*77c1e3ccSAndroid Build Coastguard Worker              "${AOM_ROOT}/aom_dsp/x86/adaptive_quantize_avx2.c"
251*77c1e3ccSAndroid Build Coastguard Worker              "${AOM_ROOT}/aom_dsp/x86/quantize_avx2.c"
252*77c1e3ccSAndroid Build Coastguard Worker              "${AOM_ROOT}/aom_dsp/x86/sad4d_avx2.c"
253*77c1e3ccSAndroid Build Coastguard Worker              "${AOM_ROOT}/aom_dsp/x86/sad_avx2.c"
254*77c1e3ccSAndroid Build Coastguard Worker              "${AOM_ROOT}/aom_dsp/x86/sad_impl_avx2.c"
255*77c1e3ccSAndroid Build Coastguard Worker              "${AOM_ROOT}/aom_dsp/x86/variance_avx2.c"
256*77c1e3ccSAndroid Build Coastguard Worker              "${AOM_ROOT}/aom_dsp/x86/sse_avx2.c"
257*77c1e3ccSAndroid Build Coastguard Worker              "${AOM_ROOT}/aom_dsp/x86/variance_impl_avx2.c"
258*77c1e3ccSAndroid Build Coastguard Worker              "${AOM_ROOT}/aom_dsp/x86/obmc_sad_avx2.c"
259*77c1e3ccSAndroid Build Coastguard Worker              "${AOM_ROOT}/aom_dsp/x86/obmc_variance_avx2.c"
260*77c1e3ccSAndroid Build Coastguard Worker              "${AOM_ROOT}/aom_dsp/x86/blk_sse_sum_avx2.c"
261*77c1e3ccSAndroid Build Coastguard Worker              "${AOM_ROOT}/aom_dsp/x86/sum_squares_avx2.c")
262*77c1e3ccSAndroid Build Coastguard Worker
263*77c1e3ccSAndroid Build Coastguard Worker  list(APPEND AOM_DSP_ENCODER_INTRIN_AVX
264*77c1e3ccSAndroid Build Coastguard Worker              "${AOM_ROOT}/aom_dsp/x86/aom_quantize_avx.c")
265*77c1e3ccSAndroid Build Coastguard Worker
266*77c1e3ccSAndroid Build Coastguard Worker  list(APPEND AOM_DSP_ENCODER_INTRIN_SSSE3
267*77c1e3ccSAndroid Build Coastguard Worker              "${AOM_ROOT}/aom_dsp/x86/masked_sad_intrin_ssse3.h"
268*77c1e3ccSAndroid Build Coastguard Worker              "${AOM_ROOT}/aom_dsp/x86/masked_sad_intrin_ssse3.c"
269*77c1e3ccSAndroid Build Coastguard Worker              "${AOM_ROOT}/aom_dsp/x86/masked_variance_intrin_ssse3.h"
270*77c1e3ccSAndroid Build Coastguard Worker              "${AOM_ROOT}/aom_dsp/x86/masked_variance_intrin_ssse3.c"
271*77c1e3ccSAndroid Build Coastguard Worker              "${AOM_ROOT}/aom_dsp/x86/quantize_ssse3.c"
272*77c1e3ccSAndroid Build Coastguard Worker              "${AOM_ROOT}/aom_dsp/x86/variance_impl_ssse3.c"
273*77c1e3ccSAndroid Build Coastguard Worker              "${AOM_ROOT}/aom_dsp/x86/variance_ssse3.c"
274*77c1e3ccSAndroid Build Coastguard Worker              "${AOM_ROOT}/aom_dsp/x86/jnt_variance_ssse3.c")
275*77c1e3ccSAndroid Build Coastguard Worker
276*77c1e3ccSAndroid Build Coastguard Worker  list(APPEND AOM_DSP_ENCODER_INTRIN_SSE4_1
277*77c1e3ccSAndroid Build Coastguard Worker              "${AOM_ROOT}/aom_dsp/x86/avg_intrin_sse4.c"
278*77c1e3ccSAndroid Build Coastguard Worker              "${AOM_ROOT}/aom_dsp/x86/sse_sse4.c"
279*77c1e3ccSAndroid Build Coastguard Worker              "${AOM_ROOT}/aom_dsp/x86/obmc_sad_sse4.c"
280*77c1e3ccSAndroid Build Coastguard Worker              "${AOM_ROOT}/aom_dsp/x86/obmc_variance_sse4.c")
281*77c1e3ccSAndroid Build Coastguard Worker
282*77c1e3ccSAndroid Build Coastguard Worker  list(APPEND AOM_DSP_ENCODER_INTRIN_NEON
283*77c1e3ccSAndroid Build Coastguard Worker              "${AOM_ROOT}/aom_dsp/arm/avg_pred_neon.c"
284*77c1e3ccSAndroid Build Coastguard Worker              "${AOM_ROOT}/aom_dsp/arm/fwd_txfm_neon.c"
285*77c1e3ccSAndroid Build Coastguard Worker              "${AOM_ROOT}/aom_dsp/arm/sadxd_neon.c"
286*77c1e3ccSAndroid Build Coastguard Worker              "${AOM_ROOT}/aom_dsp/arm/sad_neon.c"
287*77c1e3ccSAndroid Build Coastguard Worker              "${AOM_ROOT}/aom_dsp/arm/masked_sad_neon.c"
288*77c1e3ccSAndroid Build Coastguard Worker              "${AOM_ROOT}/aom_dsp/arm/subpel_variance_neon.c"
289*77c1e3ccSAndroid Build Coastguard Worker              "${AOM_ROOT}/aom_dsp/arm/variance_neon.c"
290*77c1e3ccSAndroid Build Coastguard Worker              "${AOM_ROOT}/aom_dsp/arm/hadamard_neon.c"
291*77c1e3ccSAndroid Build Coastguard Worker              "${AOM_ROOT}/aom_dsp/arm/avg_neon.c"
292*77c1e3ccSAndroid Build Coastguard Worker              "${AOM_ROOT}/aom_dsp/arm/obmc_variance_neon.c"
293*77c1e3ccSAndroid Build Coastguard Worker              "${AOM_ROOT}/aom_dsp/arm/obmc_sad_neon.c"
294*77c1e3ccSAndroid Build Coastguard Worker              "${AOM_ROOT}/aom_dsp/arm/sse_neon.c"
295*77c1e3ccSAndroid Build Coastguard Worker              "${AOM_ROOT}/aom_dsp/arm/subtract_neon.c"
296*77c1e3ccSAndroid Build Coastguard Worker              "${AOM_ROOT}/aom_dsp/arm/sum_squares_neon.c"
297*77c1e3ccSAndroid Build Coastguard Worker              "${AOM_ROOT}/aom_dsp/arm/blk_sse_sum_neon.c")
298*77c1e3ccSAndroid Build Coastguard Worker
299*77c1e3ccSAndroid Build Coastguard Worker  list(APPEND AOM_DSP_ENCODER_INTRIN_NEON_DOTPROD
300*77c1e3ccSAndroid Build Coastguard Worker              "${AOM_ROOT}/aom_dsp/arm/sad_neon_dotprod.c"
301*77c1e3ccSAndroid Build Coastguard Worker              "${AOM_ROOT}/aom_dsp/arm/sadxd_neon_dotprod.c"
302*77c1e3ccSAndroid Build Coastguard Worker              "${AOM_ROOT}/aom_dsp/arm/sse_neon_dotprod.c"
303*77c1e3ccSAndroid Build Coastguard Worker              "${AOM_ROOT}/aom_dsp/arm/sum_squares_neon_dotprod.c"
304*77c1e3ccSAndroid Build Coastguard Worker              "${AOM_ROOT}/aom_dsp/arm/variance_neon_dotprod.c")
305*77c1e3ccSAndroid Build Coastguard Worker
306*77c1e3ccSAndroid Build Coastguard Worker  list(APPEND AOM_DSP_ENCODER_INTRIN_SVE "${AOM_ROOT}/aom_dsp/arm/avg_sve.c"
307*77c1e3ccSAndroid Build Coastguard Worker              "${AOM_ROOT}/aom_dsp/arm/blk_sse_sum_sve.c"
308*77c1e3ccSAndroid Build Coastguard Worker              "${AOM_ROOT}/aom_dsp/arm/sum_squares_sve.c")
309*77c1e3ccSAndroid Build Coastguard Worker
310*77c1e3ccSAndroid Build Coastguard Worker  if(CONFIG_AV1_HIGHBITDEPTH)
311*77c1e3ccSAndroid Build Coastguard Worker    list(APPEND AOM_DSP_ENCODER_ASM_SSE2
312*77c1e3ccSAndroid Build Coastguard Worker                "${AOM_ROOT}/aom_dsp/x86/highbd_sad4d_sse2.asm"
313*77c1e3ccSAndroid Build Coastguard Worker                "${AOM_ROOT}/aom_dsp/x86/highbd_sad_sse2.asm"
314*77c1e3ccSAndroid Build Coastguard Worker                "${AOM_ROOT}/aom_dsp/x86/highbd_subpel_variance_impl_sse2.asm"
315*77c1e3ccSAndroid Build Coastguard Worker                "${AOM_ROOT}/aom_dsp/x86/highbd_variance_impl_sse2.asm")
316*77c1e3ccSAndroid Build Coastguard Worker
317*77c1e3ccSAndroid Build Coastguard Worker    list(APPEND AOM_DSP_ENCODER_INTRIN_SSE2
318*77c1e3ccSAndroid Build Coastguard Worker                "${AOM_ROOT}/aom_dsp/x86/highbd_adaptive_quantize_sse2.c"
319*77c1e3ccSAndroid Build Coastguard Worker                "${AOM_ROOT}/aom_dsp/x86/highbd_quantize_intrin_sse2.c"
320*77c1e3ccSAndroid Build Coastguard Worker                "${AOM_ROOT}/aom_dsp/x86/highbd_subtract_sse2.c"
321*77c1e3ccSAndroid Build Coastguard Worker                "${AOM_ROOT}/aom_dsp/x86/highbd_variance_sse2.c")
322*77c1e3ccSAndroid Build Coastguard Worker
323*77c1e3ccSAndroid Build Coastguard Worker    list(APPEND AOM_DSP_ENCODER_INTRIN_AVX2
324*77c1e3ccSAndroid Build Coastguard Worker                "${AOM_ROOT}/aom_dsp/x86/highbd_adaptive_quantize_avx2.c"
325*77c1e3ccSAndroid Build Coastguard Worker                "${AOM_ROOT}/aom_dsp/x86/highbd_quantize_intrin_avx2.c"
326*77c1e3ccSAndroid Build Coastguard Worker                "${AOM_ROOT}/aom_dsp/x86/highbd_sad_avx2.c"
327*77c1e3ccSAndroid Build Coastguard Worker                "${AOM_ROOT}/aom_dsp/x86/highbd_variance_avx2.c")
328*77c1e3ccSAndroid Build Coastguard Worker
329*77c1e3ccSAndroid Build Coastguard Worker    list(APPEND AOM_DSP_ENCODER_INTRIN_SSE4_1
330*77c1e3ccSAndroid Build Coastguard Worker                "${AOM_ROOT}/aom_dsp/x86/highbd_variance_sse4.c")
331*77c1e3ccSAndroid Build Coastguard Worker
332*77c1e3ccSAndroid Build Coastguard Worker    list(APPEND AOM_DSP_ENCODER_INTRIN_NEON
333*77c1e3ccSAndroid Build Coastguard Worker                "${AOM_ROOT}/aom_dsp/arm/highbd_avg_neon.c"
334*77c1e3ccSAndroid Build Coastguard Worker                "${AOM_ROOT}/aom_dsp/arm/highbd_avg_pred_neon.c"
335*77c1e3ccSAndroid Build Coastguard Worker                "${AOM_ROOT}/aom_dsp/arm/highbd_hadamard_neon.c"
336*77c1e3ccSAndroid Build Coastguard Worker                "${AOM_ROOT}/aom_dsp/arm/highbd_masked_sad_neon.c"
337*77c1e3ccSAndroid Build Coastguard Worker                "${AOM_ROOT}/aom_dsp/arm/highbd_obmc_sad_neon.c"
338*77c1e3ccSAndroid Build Coastguard Worker                "${AOM_ROOT}/aom_dsp/arm/highbd_obmc_variance_neon.c"
339*77c1e3ccSAndroid Build Coastguard Worker                "${AOM_ROOT}/aom_dsp/arm/highbd_quantize_neon.c"
340*77c1e3ccSAndroid Build Coastguard Worker                "${AOM_ROOT}/aom_dsp/arm/highbd_sad_neon.c"
341*77c1e3ccSAndroid Build Coastguard Worker                "${AOM_ROOT}/aom_dsp/arm/highbd_sadxd_neon.c"
342*77c1e3ccSAndroid Build Coastguard Worker                "${AOM_ROOT}/aom_dsp/arm/highbd_sse_neon.c"
343*77c1e3ccSAndroid Build Coastguard Worker                "${AOM_ROOT}/aom_dsp/arm/highbd_subpel_variance_neon.c"
344*77c1e3ccSAndroid Build Coastguard Worker                "${AOM_ROOT}/aom_dsp/arm/highbd_variance_neon.c")
345*77c1e3ccSAndroid Build Coastguard Worker
346*77c1e3ccSAndroid Build Coastguard Worker    list(APPEND AOM_DSP_ENCODER_INTRIN_NEON_DOTPROD
347*77c1e3ccSAndroid Build Coastguard Worker                "${AOM_ROOT}/aom_dsp/arm/highbd_variance_neon_dotprod.c")
348*77c1e3ccSAndroid Build Coastguard Worker
349*77c1e3ccSAndroid Build Coastguard Worker    list(APPEND AOM_DSP_ENCODER_INTRIN_SVE
350*77c1e3ccSAndroid Build Coastguard Worker                "${AOM_ROOT}/aom_dsp/arm/highbd_sse_sve.c"
351*77c1e3ccSAndroid Build Coastguard Worker                "${AOM_ROOT}/aom_dsp/arm/highbd_variance_sve.c")
352*77c1e3ccSAndroid Build Coastguard Worker  endif()
353*77c1e3ccSAndroid Build Coastguard Worker
354*77c1e3ccSAndroid Build Coastguard Worker  if(CONFIG_INTERNAL_STATS)
355*77c1e3ccSAndroid Build Coastguard Worker    list(APPEND AOM_DSP_ENCODER_SOURCES "${AOM_ROOT}/aom_dsp/fastssim.c"
356*77c1e3ccSAndroid Build Coastguard Worker                "${AOM_ROOT}/aom_dsp/psnrhvs.c")
357*77c1e3ccSAndroid Build Coastguard Worker  endif()
358*77c1e3ccSAndroid Build Coastguard Worker
359*77c1e3ccSAndroid Build Coastguard Worker  if(CONFIG_TUNE_VMAF)
360*77c1e3ccSAndroid Build Coastguard Worker    list(APPEND AOM_DSP_ENCODER_SOURCES "${AOM_ROOT}/aom_dsp/vmaf.c"
361*77c1e3ccSAndroid Build Coastguard Worker                "${AOM_ROOT}/aom_dsp/vmaf.h")
362*77c1e3ccSAndroid Build Coastguard Worker  endif()
363*77c1e3ccSAndroid Build Coastguard Worker
364*77c1e3ccSAndroid Build Coastguard Worker  if(CONFIG_TUNE_BUTTERAUGLI)
365*77c1e3ccSAndroid Build Coastguard Worker    list(APPEND AOM_DSP_ENCODER_SOURCES "${AOM_ROOT}/aom_dsp/butteraugli.c"
366*77c1e3ccSAndroid Build Coastguard Worker                "${AOM_ROOT}/aom_dsp/butteraugli.h")
367*77c1e3ccSAndroid Build Coastguard Worker  endif()
368*77c1e3ccSAndroid Build Coastguard Worker
369*77c1e3ccSAndroid Build Coastguard Worker  if(CONFIG_REALTIME_ONLY)
370*77c1e3ccSAndroid Build Coastguard Worker    list(REMOVE_ITEM AOM_DSP_ENCODER_INTRIN_AVX2
371*77c1e3ccSAndroid Build Coastguard Worker                     "${AOM_ROOT}/aom_dsp/x86/adaptive_quantize_avx2.c"
372*77c1e3ccSAndroid Build Coastguard Worker                     "${AOM_ROOT}/aom_dsp/x86/highbd_adaptive_quantize_avx2.c"
373*77c1e3ccSAndroid Build Coastguard Worker                     "${AOM_ROOT}/aom_dsp/x86/obmc_sad_avx2.c"
374*77c1e3ccSAndroid Build Coastguard Worker                     "${AOM_ROOT}/aom_dsp/x86/obmc_variance_avx2.c")
375*77c1e3ccSAndroid Build Coastguard Worker
376*77c1e3ccSAndroid Build Coastguard Worker    list(REMOVE_ITEM AOM_DSP_ENCODER_INTRIN_SSE4_1
377*77c1e3ccSAndroid Build Coastguard Worker                     "${AOM_ROOT}/aom_dsp/x86/obmc_sad_sse4.c"
378*77c1e3ccSAndroid Build Coastguard Worker                     "${AOM_ROOT}/aom_dsp/x86/obmc_variance_sse4.c")
379*77c1e3ccSAndroid Build Coastguard Worker
380*77c1e3ccSAndroid Build Coastguard Worker    list(REMOVE_ITEM AOM_DSP_ENCODER_INTRIN_SSE2
381*77c1e3ccSAndroid Build Coastguard Worker                     "${AOM_ROOT}/aom_dsp/x86/adaptive_quantize_sse2.c"
382*77c1e3ccSAndroid Build Coastguard Worker                     "${AOM_ROOT}/aom_dsp/x86/highbd_adaptive_quantize_sse2.c")
383*77c1e3ccSAndroid Build Coastguard Worker
384*77c1e3ccSAndroid Build Coastguard Worker    list(REMOVE_ITEM AOM_DSP_ENCODER_INTRIN_NEON
385*77c1e3ccSAndroid Build Coastguard Worker                     "${AOM_ROOT}/aom_dsp/arm/highbd_obmc_sad_neon.c"
386*77c1e3ccSAndroid Build Coastguard Worker                     "${AOM_ROOT}/aom_dsp/arm/highbd_obmc_variance_neon.c"
387*77c1e3ccSAndroid Build Coastguard Worker                     "${AOM_ROOT}/aom_dsp/arm/obmc_sad_neon.c"
388*77c1e3ccSAndroid Build Coastguard Worker                     "${AOM_ROOT}/aom_dsp/arm/obmc_variance_neon.c")
389*77c1e3ccSAndroid Build Coastguard Worker  endif()
390*77c1e3ccSAndroid Build Coastguard Workerendif()
391*77c1e3ccSAndroid Build Coastguard Worker
392*77c1e3ccSAndroid Build Coastguard Worker# Creates aom_dsp build targets. Must not be called until after libaom target
393*77c1e3ccSAndroid Build Coastguard Worker# has been created.
394*77c1e3ccSAndroid Build Coastguard Workerfunction(setup_aom_dsp_targets)
395*77c1e3ccSAndroid Build Coastguard Worker  add_library(aom_dsp_common OBJECT ${AOM_DSP_COMMON_SOURCES})
396*77c1e3ccSAndroid Build Coastguard Worker  list(APPEND AOM_LIB_TARGETS aom_dsp_common)
397*77c1e3ccSAndroid Build Coastguard Worker  create_no_op_source_file("aom_av1" "c" "no_op_source_file")
398*77c1e3ccSAndroid Build Coastguard Worker  add_library(aom_dsp OBJECT "${no_op_source_file}")
399*77c1e3ccSAndroid Build Coastguard Worker  target_sources(aom PRIVATE $<TARGET_OBJECTS:aom_dsp_common>)
400*77c1e3ccSAndroid Build Coastguard Worker  if(BUILD_SHARED_LIBS)
401*77c1e3ccSAndroid Build Coastguard Worker    target_sources(aom_static PRIVATE $<TARGET_OBJECTS:aom_dsp_common>)
402*77c1e3ccSAndroid Build Coastguard Worker  endif()
403*77c1e3ccSAndroid Build Coastguard Worker  list(APPEND AOM_LIB_TARGETS aom_dsp)
404*77c1e3ccSAndroid Build Coastguard Worker
405*77c1e3ccSAndroid Build Coastguard Worker  # Not all generators support libraries consisting only of object files. Add a
406*77c1e3ccSAndroid Build Coastguard Worker  # source file to the aom_dsp target.
407*77c1e3ccSAndroid Build Coastguard Worker  add_no_op_source_file_to_target("aom_dsp" "c")
408*77c1e3ccSAndroid Build Coastguard Worker
409*77c1e3ccSAndroid Build Coastguard Worker  if(CONFIG_AV1_DECODER)
410*77c1e3ccSAndroid Build Coastguard Worker    add_library(aom_dsp_decoder OBJECT ${AOM_DSP_DECODER_SOURCES})
411*77c1e3ccSAndroid Build Coastguard Worker    list(APPEND AOM_LIB_TARGETS aom_dsp_decoder)
412*77c1e3ccSAndroid Build Coastguard Worker    target_sources(aom PRIVATE $<TARGET_OBJECTS:aom_dsp_decoder>)
413*77c1e3ccSAndroid Build Coastguard Worker    if(BUILD_SHARED_LIBS)
414*77c1e3ccSAndroid Build Coastguard Worker      target_sources(aom_static PRIVATE $<TARGET_OBJECTS:aom_dsp_decoder>)
415*77c1e3ccSAndroid Build Coastguard Worker    endif()
416*77c1e3ccSAndroid Build Coastguard Worker  endif()
417*77c1e3ccSAndroid Build Coastguard Worker
418*77c1e3ccSAndroid Build Coastguard Worker  if(CONFIG_AV1_ENCODER)
419*77c1e3ccSAndroid Build Coastguard Worker    add_library(aom_dsp_encoder OBJECT ${AOM_DSP_ENCODER_SOURCES})
420*77c1e3ccSAndroid Build Coastguard Worker    list(APPEND AOM_LIB_TARGETS aom_dsp_encoder)
421*77c1e3ccSAndroid Build Coastguard Worker    target_sources(aom PRIVATE $<TARGET_OBJECTS:aom_dsp_encoder>)
422*77c1e3ccSAndroid Build Coastguard Worker    if(BUILD_SHARED_LIBS)
423*77c1e3ccSAndroid Build Coastguard Worker      target_sources(aom_static PRIVATE $<TARGET_OBJECTS:aom_dsp_encoder>)
424*77c1e3ccSAndroid Build Coastguard Worker    endif()
425*77c1e3ccSAndroid Build Coastguard Worker    if(CONFIG_TUNE_VMAF)
426*77c1e3ccSAndroid Build Coastguard Worker      target_include_directories(aom_dsp_encoder PRIVATE ${VMAF_INCLUDE_DIRS})
427*77c1e3ccSAndroid Build Coastguard Worker    endif()
428*77c1e3ccSAndroid Build Coastguard Worker  endif()
429*77c1e3ccSAndroid Build Coastguard Worker
430*77c1e3ccSAndroid Build Coastguard Worker  if(HAVE_SSE2)
431*77c1e3ccSAndroid Build Coastguard Worker    add_asm_library("aom_dsp_common_sse2" "AOM_DSP_COMMON_ASM_SSE2")
432*77c1e3ccSAndroid Build Coastguard Worker    add_intrinsics_object_library("-msse2" "sse2" "aom_dsp_common"
433*77c1e3ccSAndroid Build Coastguard Worker                                  "AOM_DSP_COMMON_INTRIN_SSE2")
434*77c1e3ccSAndroid Build Coastguard Worker
435*77c1e3ccSAndroid Build Coastguard Worker    if(CONFIG_AV1_ENCODER)
436*77c1e3ccSAndroid Build Coastguard Worker      if("${AOM_TARGET_CPU}" STREQUAL "x86_64")
437*77c1e3ccSAndroid Build Coastguard Worker        list(APPEND AOM_DSP_ENCODER_ASM_SSE2 ${AOM_DSP_ENCODER_ASM_SSE2_X86_64})
438*77c1e3ccSAndroid Build Coastguard Worker      endif()
439*77c1e3ccSAndroid Build Coastguard Worker      add_asm_library("aom_dsp_encoder_sse2" "AOM_DSP_ENCODER_ASM_SSE2")
440*77c1e3ccSAndroid Build Coastguard Worker      add_intrinsics_object_library("-msse2" "sse2" "aom_dsp_encoder"
441*77c1e3ccSAndroid Build Coastguard Worker                                    "AOM_DSP_ENCODER_INTRIN_SSE2")
442*77c1e3ccSAndroid Build Coastguard Worker    endif()
443*77c1e3ccSAndroid Build Coastguard Worker  endif()
444*77c1e3ccSAndroid Build Coastguard Worker
445*77c1e3ccSAndroid Build Coastguard Worker  if(HAVE_SSSE3)
446*77c1e3ccSAndroid Build Coastguard Worker    add_asm_library("aom_dsp_common_ssse3" "AOM_DSP_COMMON_ASM_SSSE3")
447*77c1e3ccSAndroid Build Coastguard Worker    add_intrinsics_object_library("-mssse3" "ssse3" "aom_dsp_common"
448*77c1e3ccSAndroid Build Coastguard Worker                                  "AOM_DSP_COMMON_INTRIN_SSSE3")
449*77c1e3ccSAndroid Build Coastguard Worker
450*77c1e3ccSAndroid Build Coastguard Worker    if(CONFIG_AV1_ENCODER)
451*77c1e3ccSAndroid Build Coastguard Worker      if("${AOM_TARGET_CPU}" STREQUAL "x86_64")
452*77c1e3ccSAndroid Build Coastguard Worker        list(APPEND AOM_DSP_ENCODER_ASM_SSSE3
453*77c1e3ccSAndroid Build Coastguard Worker                    ${AOM_DSP_ENCODER_ASM_SSSE3_X86_64})
454*77c1e3ccSAndroid Build Coastguard Worker      endif()
455*77c1e3ccSAndroid Build Coastguard Worker      add_asm_library("aom_dsp_encoder_ssse3" "AOM_DSP_ENCODER_ASM_SSSE3")
456*77c1e3ccSAndroid Build Coastguard Worker      add_intrinsics_object_library("-mssse3" "ssse3" "aom_dsp_encoder"
457*77c1e3ccSAndroid Build Coastguard Worker                                    "AOM_DSP_ENCODER_INTRIN_SSSE3")
458*77c1e3ccSAndroid Build Coastguard Worker    endif()
459*77c1e3ccSAndroid Build Coastguard Worker  endif()
460*77c1e3ccSAndroid Build Coastguard Worker
461*77c1e3ccSAndroid Build Coastguard Worker  if(HAVE_SSE4_1)
462*77c1e3ccSAndroid Build Coastguard Worker    add_intrinsics_object_library("-msse4.1" "sse4_1" "aom_dsp_common"
463*77c1e3ccSAndroid Build Coastguard Worker                                  "AOM_DSP_COMMON_INTRIN_SSE4_1")
464*77c1e3ccSAndroid Build Coastguard Worker    if(CONFIG_AV1_ENCODER)
465*77c1e3ccSAndroid Build Coastguard Worker      add_intrinsics_object_library("-msse4.1" "sse4_1" "aom_dsp_encoder"
466*77c1e3ccSAndroid Build Coastguard Worker                                    "AOM_DSP_ENCODER_INTRIN_SSE4_1")
467*77c1e3ccSAndroid Build Coastguard Worker    endif()
468*77c1e3ccSAndroid Build Coastguard Worker  endif()
469*77c1e3ccSAndroid Build Coastguard Worker
470*77c1e3ccSAndroid Build Coastguard Worker  if(HAVE_AVX)
471*77c1e3ccSAndroid Build Coastguard Worker    if(CONFIG_AV1_ENCODER)
472*77c1e3ccSAndroid Build Coastguard Worker      add_intrinsics_object_library("-mavx" "avx" "aom_dsp_encoder"
473*77c1e3ccSAndroid Build Coastguard Worker                                    "AOM_DSP_ENCODER_INTRIN_AVX")
474*77c1e3ccSAndroid Build Coastguard Worker    endif()
475*77c1e3ccSAndroid Build Coastguard Worker  endif()
476*77c1e3ccSAndroid Build Coastguard Worker
477*77c1e3ccSAndroid Build Coastguard Worker  if(HAVE_AVX2)
478*77c1e3ccSAndroid Build Coastguard Worker    add_intrinsics_object_library("-mavx2" "avx2" "aom_dsp_common"
479*77c1e3ccSAndroid Build Coastguard Worker                                  "AOM_DSP_COMMON_INTRIN_AVX2")
480*77c1e3ccSAndroid Build Coastguard Worker    if(CONFIG_AV1_ENCODER)
481*77c1e3ccSAndroid Build Coastguard Worker      add_intrinsics_object_library("-mavx2" "avx2" "aom_dsp_encoder"
482*77c1e3ccSAndroid Build Coastguard Worker                                    "AOM_DSP_ENCODER_INTRIN_AVX2")
483*77c1e3ccSAndroid Build Coastguard Worker    endif()
484*77c1e3ccSAndroid Build Coastguard Worker  endif()
485*77c1e3ccSAndroid Build Coastguard Worker
486*77c1e3ccSAndroid Build Coastguard Worker  if(HAVE_NEON)
487*77c1e3ccSAndroid Build Coastguard Worker    add_intrinsics_object_library("${AOM_NEON_INTRIN_FLAG}" "neon"
488*77c1e3ccSAndroid Build Coastguard Worker                                  "aom_dsp_common" "AOM_DSP_COMMON_INTRIN_NEON")
489*77c1e3ccSAndroid Build Coastguard Worker    if(CONFIG_AV1_ENCODER)
490*77c1e3ccSAndroid Build Coastguard Worker      add_intrinsics_object_library("${AOM_NEON_INTRIN_FLAG}" "neon"
491*77c1e3ccSAndroid Build Coastguard Worker                                    "aom_dsp_encoder"
492*77c1e3ccSAndroid Build Coastguard Worker                                    "AOM_DSP_ENCODER_INTRIN_NEON")
493*77c1e3ccSAndroid Build Coastguard Worker    endif()
494*77c1e3ccSAndroid Build Coastguard Worker  endif()
495*77c1e3ccSAndroid Build Coastguard Worker
496*77c1e3ccSAndroid Build Coastguard Worker  if(HAVE_NEON_DOTPROD)
497*77c1e3ccSAndroid Build Coastguard Worker    add_intrinsics_object_library("${AOM_NEON_DOTPROD_FLAG}" "neon_dotprod"
498*77c1e3ccSAndroid Build Coastguard Worker                                  "aom_dsp_common"
499*77c1e3ccSAndroid Build Coastguard Worker                                  "AOM_DSP_COMMON_INTRIN_NEON_DOTPROD")
500*77c1e3ccSAndroid Build Coastguard Worker    if(CONFIG_AV1_ENCODER)
501*77c1e3ccSAndroid Build Coastguard Worker      add_intrinsics_object_library("${AOM_NEON_DOTPROD_FLAG}" "neon_dotprod"
502*77c1e3ccSAndroid Build Coastguard Worker                                    "aom_dsp_encoder"
503*77c1e3ccSAndroid Build Coastguard Worker                                    "AOM_DSP_ENCODER_INTRIN_NEON_DOTPROD")
504*77c1e3ccSAndroid Build Coastguard Worker    endif()
505*77c1e3ccSAndroid Build Coastguard Worker  endif()
506*77c1e3ccSAndroid Build Coastguard Worker
507*77c1e3ccSAndroid Build Coastguard Worker  if(HAVE_NEON_I8MM)
508*77c1e3ccSAndroid Build Coastguard Worker    add_intrinsics_object_library("${AOM_NEON_I8MM_FLAG}" "neon_i8mm"
509*77c1e3ccSAndroid Build Coastguard Worker                                  "aom_dsp_common"
510*77c1e3ccSAndroid Build Coastguard Worker                                  "AOM_DSP_COMMON_INTRIN_NEON_I8MM")
511*77c1e3ccSAndroid Build Coastguard Worker  endif()
512*77c1e3ccSAndroid Build Coastguard Worker
513*77c1e3ccSAndroid Build Coastguard Worker  if(HAVE_SVE)
514*77c1e3ccSAndroid Build Coastguard Worker    add_intrinsics_object_library("${AOM_SVE_FLAG}" "sve" "aom_dsp_common"
515*77c1e3ccSAndroid Build Coastguard Worker                                  "AOM_DSP_COMMON_INTRIN_SVE")
516*77c1e3ccSAndroid Build Coastguard Worker    if(CONFIG_AV1_ENCODER)
517*77c1e3ccSAndroid Build Coastguard Worker      add_intrinsics_object_library("${AOM_SVE_FLAG}" "sve" "aom_dsp_encoder"
518*77c1e3ccSAndroid Build Coastguard Worker                                    "AOM_DSP_ENCODER_INTRIN_SVE")
519*77c1e3ccSAndroid Build Coastguard Worker    endif()
520*77c1e3ccSAndroid Build Coastguard Worker  endif()
521*77c1e3ccSAndroid Build Coastguard Worker
522*77c1e3ccSAndroid Build Coastguard Worker  target_sources(aom PRIVATE $<TARGET_OBJECTS:aom_dsp>)
523*77c1e3ccSAndroid Build Coastguard Worker  if(BUILD_SHARED_LIBS)
524*77c1e3ccSAndroid Build Coastguard Worker    target_sources(aom_static PRIVATE $<TARGET_OBJECTS:aom_dsp>)
525*77c1e3ccSAndroid Build Coastguard Worker  endif()
526*77c1e3ccSAndroid Build Coastguard Worker
527*77c1e3ccSAndroid Build Coastguard Worker  # Pass the new lib targets up to the parent scope instance of
528*77c1e3ccSAndroid Build Coastguard Worker  # $AOM_LIB_TARGETS.
529*77c1e3ccSAndroid Build Coastguard Worker  set(AOM_LIB_TARGETS ${AOM_LIB_TARGETS} PARENT_SCOPE)
530*77c1e3ccSAndroid Build Coastguard Workerendfunction()
531