aom_dsp.mk 15.1 KB
Newer Older
Johann's avatar
Johann committed
1
##
Yaowu Xu's avatar
Yaowu Xu committed
2
## Copyright (c) 2016, Alliance for Open Media. All rights reserved
Johann's avatar
Johann committed
3
##
Yaowu Xu's avatar
Yaowu Xu committed
4
5
6
7
8
9
## This source code is subject to the terms of the BSD 2 Clause License and
## the Alliance for Open Media Patent License 1.0. If the BSD 2 Clause License
## was not distributed with this source code in the LICENSE file, you can
## obtain it at www.aomedia.org/license/software. If the Alliance for Open
## Media Patent License 1.0 was not distributed with this source code in the
## PATENTS file, you can obtain it at www.aomedia.org/license/patent.
Johann's avatar
Johann committed
10
11
##

Yaowu Xu's avatar
Yaowu Xu committed
12

Yaowu Xu's avatar
Yaowu Xu committed
13
14
DSP_SRCS-yes += aom_dsp.mk
DSP_SRCS-yes += aom_dsp_common.h
Johann's avatar
Johann committed
15

Johann's avatar
Johann committed
16
17
DSP_SRCS-$(HAVE_MSA)    += mips/macros_msa.h

18
19
DSP_SRCS-$(ARCH_X86)$(ARCH_X86_64)   += x86/synonyms.h

Yaowu Xu's avatar
Yaowu Xu committed
20
# bit reader
21
22
DSP_SRCS-yes += prob.h
DSP_SRCS-yes += prob.c
Alex Converse's avatar
Alex Converse committed
23
DSP_SRCS-$(CONFIG_ANS) += ans.h
Yaowu Xu's avatar
Yaowu Xu committed
24

Yaowu Xu's avatar
Yaowu Xu committed
25
ifeq ($(CONFIG_ENCODERS),yes)
26
27
28
29
30
31
32
33
34
35
ifeq ($(CONFIG_ANS),yes)
DSP_SRCS-yes += answriter.h
DSP_SRCS-yes += buf_ans.h
DSP_SRCS-yes += buf_ans.c
else ifeq ($(CONFIG_DAALA_EC),yes)
DSP_SRCS-yes += entenc.c
DSP_SRCS-yes += entenc.h
DSP_SRCS-yes += daalaboolwriter.c
DSP_SRCS-yes += daalaboolwriter.h
else
36
37
DSP_SRCS-yes += dkboolwriter.h
DSP_SRCS-yes += dkboolwriter.c
38
39
endif
DSP_SRCS-yes += bitwriter.h
40
41
DSP_SRCS-yes += bitwriter_buffer.c
DSP_SRCS-yes += bitwriter_buffer.h
42
43
DSP_SRCS-yes += binary_codes_writer.c
DSP_SRCS-yes += binary_codes_writer.h
44
45
DSP_SRCS-yes += psnr.c
DSP_SRCS-yes += psnr.h
46
47
48
49
DSP_SRCS-$(CONFIG_INTERNAL_STATS) += ssim.c
DSP_SRCS-$(CONFIG_INTERNAL_STATS) += ssim.h
DSP_SRCS-$(CONFIG_INTERNAL_STATS) += psnrhvs.c
DSP_SRCS-$(CONFIG_INTERNAL_STATS) += fastssim.c
Yaowu Xu's avatar
Yaowu Xu committed
50
51
endif

Yaowu Xu's avatar
Yaowu Xu committed
52
ifeq ($(CONFIG_DECODERS),yes)
53
54
55
56
57
58
59
60
ifeq ($(CONFIG_ANS),yes)
DSP_SRCS-yes += ansreader.h
else ifeq ($(CONFIG_DAALA_EC),yes)
DSP_SRCS-yes += entdec.c
DSP_SRCS-yes += entdec.h
DSP_SRCS-yes += daalaboolreader.c
DSP_SRCS-yes += daalaboolreader.h
else
61
62
DSP_SRCS-yes += dkboolreader.h
DSP_SRCS-yes += dkboolreader.c
63
64
endif
DSP_SRCS-yes += bitreader.h
65
66
DSP_SRCS-yes += bitreader_buffer.c
DSP_SRCS-yes += bitreader_buffer.h
67
68
DSP_SRCS-yes += binary_codes_reader.c
DSP_SRCS-yes += binary_codes_reader.h
Yaowu Xu's avatar
Yaowu Xu committed
69
70
endif

71
72
73
# intra predictions
DSP_SRCS-yes += intrapred.c

Nathan E. Egge's avatar
Nathan E. Egge committed
74
75
76
77
78
ifeq ($(CONFIG_DAALA_EC),yes)
DSP_SRCS-yes += entcode.c
DSP_SRCS-yes += entcode.h
endif

James Zern's avatar
James Zern committed
79
DSP_SRCS-$(HAVE_SSE) += x86/intrapred_sse2.asm
80
81
DSP_SRCS-$(HAVE_SSE2) += x86/intrapred_sse2.asm
DSP_SRCS-$(HAVE_SSSE3) += x86/intrapred_ssse3.asm
Yaowu Xu's avatar
Yaowu Xu committed
82
DSP_SRCS-$(HAVE_SSSE3) += x86/aom_subpixel_8t_ssse3.asm
83

84
ifeq ($(CONFIG_HIGHBITDEPTH),yes)
James Zern's avatar
James Zern committed
85
DSP_SRCS-$(HAVE_SSE)  += x86/highbd_intrapred_sse2.asm
86
DSP_SRCS-$(HAVE_SSE2) += x86/highbd_intrapred_sse2.asm
87
endif  # CONFIG_HIGHBITDEPTH
88
89
90
91
92
93
94
95

DSP_SRCS-$(HAVE_NEON_ASM) += arm/intrapred_neon_asm$(ASM)
DSP_SRCS-$(HAVE_NEON) += arm/intrapred_neon.c
DSP_SRCS-$(HAVE_MSA) += mips/intrapred_msa.c
DSP_SRCS-$(HAVE_DSPR2)  += mips/intrapred4_dspr2.c
DSP_SRCS-$(HAVE_DSPR2)  += mips/intrapred8_dspr2.c
DSP_SRCS-$(HAVE_DSPR2)  += mips/intrapred16_dspr2.c

96
97
98
DSP_SRCS-$(HAVE_DSPR2)  += mips/common_dspr2.h
DSP_SRCS-$(HAVE_DSPR2)  += mips/common_dspr2.c

Geza Lore's avatar
Geza Lore committed
99
# inter predictions
Geza Lore's avatar
Geza Lore committed
100
101
102
103
104
105
106
107
DSP_SRCS-yes            += blend.h
DSP_SRCS-yes            += blend_a64_mask.c
DSP_SRCS-yes            += blend_a64_hmask.c
DSP_SRCS-yes            += blend_a64_vmask.c
DSP_SRCS-$(HAVE_SSE4_1) += x86/blend_sse4.h
DSP_SRCS-$(HAVE_SSE4_1) += x86/blend_a64_mask_sse4.c
DSP_SRCS-$(HAVE_SSE4_1) += x86/blend_a64_hmask_sse4.c
DSP_SRCS-$(HAVE_SSE4_1) += x86/blend_a64_vmask_sse4.c
Geza Lore's avatar
Geza Lore committed
108

Zoe Liu's avatar
Zoe Liu committed
109
# interpolation filters
Yaowu Xu's avatar
Yaowu Xu committed
110
111
112
DSP_SRCS-yes += aom_convolve.c
DSP_SRCS-yes += aom_convolve.h
DSP_SRCS-yes += aom_filter.h
Zoe Liu's avatar
Zoe Liu committed
113
114

DSP_SRCS-$(ARCH_X86)$(ARCH_X86_64) += x86/convolve.h
Yaowu Xu's avatar
Yaowu Xu committed
115
116
117
118
119
120
121
DSP_SRCS-$(ARCH_X86)$(ARCH_X86_64) += x86/aom_asm_stubs.c
DSP_SRCS-$(HAVE_SSE2)  += x86/aom_subpixel_8t_sse2.asm
DSP_SRCS-$(HAVE_SSE2)  += x86/aom_subpixel_bilinear_sse2.asm
DSP_SRCS-$(HAVE_SSSE3) += x86/aom_subpixel_8t_ssse3.asm
DSP_SRCS-$(HAVE_SSSE3) += x86/aom_subpixel_bilinear_ssse3.asm
DSP_SRCS-$(HAVE_AVX2)  += x86/aom_subpixel_8t_intrin_avx2.c
DSP_SRCS-$(HAVE_SSSE3) += x86/aom_subpixel_8t_intrin_ssse3.c
122
ifeq ($(CONFIG_HIGHBITDEPTH),yes)
Yaowu Xu's avatar
Yaowu Xu committed
123
124
DSP_SRCS-$(HAVE_SSE2)  += x86/aom_high_subpixel_8t_sse2.asm
DSP_SRCS-$(HAVE_SSE2)  += x86/aom_high_subpixel_bilinear_sse2.asm
125
DSP_SRCS-$(HAVE_AVX2)  += x86/highbd_convolve_avx2.c
Zoe Liu's avatar
Zoe Liu committed
126
endif
Yaowu Xu's avatar
Yaowu Xu committed
127
DSP_SRCS-$(HAVE_SSE2)  += x86/aom_convolve_copy_sse2.asm
Zoe Liu's avatar
Zoe Liu committed
128
129

ifeq ($(HAVE_NEON_ASM),yes)
Yaowu Xu's avatar
Yaowu Xu committed
130
131
132
133
134
DSP_SRCS-yes += arm/aom_convolve_copy_neon_asm$(ASM)
DSP_SRCS-yes += arm/aom_convolve8_avg_neon_asm$(ASM)
DSP_SRCS-yes += arm/aom_convolve8_neon_asm$(ASM)
DSP_SRCS-yes += arm/aom_convolve_avg_neon_asm$(ASM)
DSP_SRCS-yes += arm/aom_convolve_neon.c
Zoe Liu's avatar
Zoe Liu committed
135
136
else
ifeq ($(HAVE_NEON),yes)
Yaowu Xu's avatar
Yaowu Xu committed
137
138
139
140
141
DSP_SRCS-yes += arm/aom_convolve_copy_neon.c
DSP_SRCS-yes += arm/aom_convolve8_avg_neon.c
DSP_SRCS-yes += arm/aom_convolve8_neon.c
DSP_SRCS-yes += arm/aom_convolve_avg_neon.c
DSP_SRCS-yes += arm/aom_convolve_neon.c
Zoe Liu's avatar
Zoe Liu committed
142
143
144
145
endif  # HAVE_NEON
endif  # HAVE_NEON_ASM

# common (msa)
Yaowu Xu's avatar
Yaowu Xu committed
146
147
148
149
150
151
152
153
154
DSP_SRCS-$(HAVE_MSA) += mips/aom_convolve8_avg_horiz_msa.c
DSP_SRCS-$(HAVE_MSA) += mips/aom_convolve8_avg_msa.c
DSP_SRCS-$(HAVE_MSA) += mips/aom_convolve8_avg_vert_msa.c
DSP_SRCS-$(HAVE_MSA) += mips/aom_convolve8_horiz_msa.c
DSP_SRCS-$(HAVE_MSA) += mips/aom_convolve8_msa.c
DSP_SRCS-$(HAVE_MSA) += mips/aom_convolve8_vert_msa.c
DSP_SRCS-$(HAVE_MSA) += mips/aom_convolve_avg_msa.c
DSP_SRCS-$(HAVE_MSA) += mips/aom_convolve_copy_msa.c
DSP_SRCS-$(HAVE_MSA) += mips/aom_convolve_msa.h
Zoe Liu's avatar
Zoe Liu committed
155

Zoe Liu's avatar
Zoe Liu committed
156
# common (dspr2)
157
158
159
160
161
162
163
164
165
166
167
DSP_SRCS-$(HAVE_DSPR2)  += mips/convolve_common_dspr2.h
DSP_SRCS-$(HAVE_DSPR2)  += mips/convolve2_avg_dspr2.c
DSP_SRCS-$(HAVE_DSPR2)  += mips/convolve2_avg_horiz_dspr2.c
DSP_SRCS-$(HAVE_DSPR2)  += mips/convolve2_dspr2.c
DSP_SRCS-$(HAVE_DSPR2)  += mips/convolve2_horiz_dspr2.c
DSP_SRCS-$(HAVE_DSPR2)  += mips/convolve2_vert_dspr2.c
DSP_SRCS-$(HAVE_DSPR2)  += mips/convolve8_avg_dspr2.c
DSP_SRCS-$(HAVE_DSPR2)  += mips/convolve8_avg_horiz_dspr2.c
DSP_SRCS-$(HAVE_DSPR2)  += mips/convolve8_dspr2.c
DSP_SRCS-$(HAVE_DSPR2)  += mips/convolve8_horiz_dspr2.c
DSP_SRCS-$(HAVE_DSPR2)  += mips/convolve8_vert_dspr2.c
Zoe Liu's avatar
Zoe Liu committed
168

169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
# loop filters
DSP_SRCS-yes += loopfilter.c

DSP_SRCS-$(ARCH_X86)$(ARCH_X86_64)   += x86/loopfilter_sse2.c
DSP_SRCS-$(HAVE_AVX2)                += x86/loopfilter_avx2.c

DSP_SRCS-$(HAVE_NEON)   += arm/loopfilter_neon.c
ifeq ($(HAVE_NEON_ASM),yes)
DSP_SRCS-yes  += arm/loopfilter_mb_neon$(ASM)
DSP_SRCS-yes  += arm/loopfilter_16_neon$(ASM)
DSP_SRCS-yes  += arm/loopfilter_8_neon$(ASM)
DSP_SRCS-yes  += arm/loopfilter_4_neon$(ASM)
else
ifeq ($(HAVE_NEON),yes)
DSP_SRCS-yes   += arm/loopfilter_16_neon.c
DSP_SRCS-yes   += arm/loopfilter_8_neon.c
DSP_SRCS-yes   += arm/loopfilter_4_neon.c
endif  # HAVE_NEON
endif  # HAVE_NEON_ASM

DSP_SRCS-$(HAVE_MSA)    += mips/loopfilter_msa.h
DSP_SRCS-$(HAVE_MSA)    += mips/loopfilter_16_msa.c
DSP_SRCS-$(HAVE_MSA)    += mips/loopfilter_8_msa.c
DSP_SRCS-$(HAVE_MSA)    += mips/loopfilter_4_msa.c
193
194
195
196
197
198
199
DSP_SRCS-$(HAVE_DSPR2)  += mips/loopfilter_filters_dspr2.h
DSP_SRCS-$(HAVE_DSPR2)  += mips/loopfilter_filters_dspr2.c
DSP_SRCS-$(HAVE_DSPR2)  += mips/loopfilter_macros_dspr2.h
DSP_SRCS-$(HAVE_DSPR2)  += mips/loopfilter_masks_dspr2.h
DSP_SRCS-$(HAVE_DSPR2)  += mips/loopfilter_mb_dspr2.c
DSP_SRCS-$(HAVE_DSPR2)  += mips/loopfilter_mb_horiz_dspr2.c
DSP_SRCS-$(HAVE_DSPR2)  += mips/loopfilter_mb_vert_dspr2.c
200

201
ifeq ($(CONFIG_HIGHBITDEPTH),yes)
202
DSP_SRCS-$(HAVE_SSE2)   += x86/highbd_loopfilter_sse2.c
203
endif  # CONFIG_HIGHBITDEPTH
204

Jingning Han's avatar
Jingning Han committed
205
DSP_SRCS-yes            += txfm_common.h
206
DSP_SRCS-yes            += x86/txfm_common_intrin.h
Jingning Han's avatar
Jingning Han committed
207
DSP_SRCS-$(HAVE_SSE2)   += x86/txfm_common_sse2.h
208
DSP_SRCS-$(HAVE_SSSE3)  += x86/obmc_intrinsic_ssse3.h
209
DSP_SRCS-$(HAVE_MSA)    += mips/txfm_macros_msa.h
210

211
# forward transform
212
ifneq ($(findstring yes,$(CONFIG_AV1)$(CONFIG_PVQ)),)
213
214
DSP_SRCS-$(HAVE_AVX2)   += x86/txfm_common_avx2.h
ifeq ($(CONFIG_AV1_ENCODER),yes)
215
216
DSP_SRCS-yes            += fwd_txfm.c
DSP_SRCS-yes            += fwd_txfm.h
217
DSP_SRCS-$(HAVE_SSE2)   += x86/fwd_txfm_sse2.h
218
DSP_SRCS-$(HAVE_SSE2)   += x86/fwd_txfm_sse2.c
219
DSP_SRCS-$(HAVE_SSE2)   += x86/fwd_dct32_8cols_sse2.c
220
DSP_SRCS-$(HAVE_SSE2)   += x86/fwd_txfm_impl_sse2.h
221
DSP_SRCS-$(HAVE_SSE2)   += x86/fwd_dct32x32_impl_sse2.h
222
223
224
ifeq ($(ARCH_X86_64),yes)
DSP_SRCS-$(HAVE_SSSE3)  += x86/fwd_txfm_ssse3_x86_64.asm
endif
225
DSP_SRCS-$(HAVE_AVX2)   += x86/fwd_txfm_avx2.h
226
227
DSP_SRCS-$(HAVE_AVX2)   += x86/fwd_txfm_avx2.c
DSP_SRCS-$(HAVE_AVX2)   += x86/fwd_dct32x32_impl_avx2.h
228
DSP_SRCS-$(HAVE_NEON)   += arm/fwd_txfm_neon.c
229
230
DSP_SRCS-$(HAVE_MSA)    += mips/fwd_txfm_msa.h
DSP_SRCS-$(HAVE_MSA)    += mips/fwd_txfm_msa.c
231
DSP_SRCS-$(HAVE_MSA)    += mips/fwd_dct32x32_msa.c
232
endif  # CONFIG_AV1_ENCODER
233
endif  # CONFIG_AV1
234

235
# inverse transform
Yaowu Xu's avatar
Yaowu Xu committed
236
ifeq ($(CONFIG_AV1), yes)
237
238
239
240
DSP_SRCS-yes            += inv_txfm.h
DSP_SRCS-yes            += inv_txfm.c
DSP_SRCS-$(HAVE_SSE2)   += x86/inv_txfm_sse2.h
DSP_SRCS-$(HAVE_SSE2)   += x86/inv_txfm_sse2.c
241
DSP_SRCS-$(HAVE_SSE2)   += x86/inv_wht_sse2.asm
242
DSP_SRCS-$(HAVE_SSSE3)  += x86/inv_txfm_ssse3.c
Yi Luo's avatar
Yi Luo committed
243
244
DSP_SRCS-$(HAVE_AVX2)   += x86/inv_txfm_common_avx2.h
DSP_SRCS-$(HAVE_AVX2)   += x86/inv_txfm_avx2.c
245
246

ifeq ($(HAVE_NEON_ASM),yes)
247
DSP_SRCS-yes  += arm/save_reg_neon$(ASM)
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
DSP_SRCS-yes  += arm/idct4x4_1_add_neon$(ASM)
DSP_SRCS-yes  += arm/idct4x4_add_neon$(ASM)
DSP_SRCS-yes  += arm/idct8x8_1_add_neon$(ASM)
DSP_SRCS-yes  += arm/idct8x8_add_neon$(ASM)
DSP_SRCS-yes  += arm/idct16x16_1_add_neon$(ASM)
DSP_SRCS-yes  += arm/idct16x16_add_neon$(ASM)
DSP_SRCS-yes  += arm/idct32x32_1_add_neon$(ASM)
DSP_SRCS-yes  += arm/idct32x32_add_neon$(ASM)
else
ifeq ($(HAVE_NEON),yes)
DSP_SRCS-yes  += arm/idct4x4_1_add_neon.c
DSP_SRCS-yes  += arm/idct4x4_add_neon.c
DSP_SRCS-yes  += arm/idct8x8_1_add_neon.c
DSP_SRCS-yes  += arm/idct8x8_add_neon.c
DSP_SRCS-yes  += arm/idct16x16_1_add_neon.c
DSP_SRCS-yes  += arm/idct16x16_add_neon.c
DSP_SRCS-yes  += arm/idct32x32_1_add_neon.c
DSP_SRCS-yes  += arm/idct32x32_add_neon.c
endif  # HAVE_NEON
endif  # HAVE_NEON_ASM
DSP_SRCS-$(HAVE_NEON)  += arm/idct16x16_neon.c
269
270
271
272
273
274

DSP_SRCS-$(HAVE_MSA)   += mips/inv_txfm_msa.h
DSP_SRCS-$(HAVE_MSA)   += mips/idct4x4_msa.c
DSP_SRCS-$(HAVE_MSA)   += mips/idct8x8_msa.c
DSP_SRCS-$(HAVE_MSA)   += mips/idct16x16_msa.c
DSP_SRCS-$(HAVE_MSA)   += mips/idct32x32_msa.c
275

276
ifneq ($(CONFIG_HIGHBITDEPTH),yes)
277
278
279
280
281
282
DSP_SRCS-$(HAVE_DSPR2) += mips/inv_txfm_dspr2.h
DSP_SRCS-$(HAVE_DSPR2) += mips/itrans4_dspr2.c
DSP_SRCS-$(HAVE_DSPR2) += mips/itrans8_dspr2.c
DSP_SRCS-$(HAVE_DSPR2) += mips/itrans16_dspr2.c
DSP_SRCS-$(HAVE_DSPR2) += mips/itrans32_dspr2.c
DSP_SRCS-$(HAVE_DSPR2) += mips/itrans32_cols_dspr2.c
283
endif  # CONFIG_HIGHBITDEPTH
Yaowu Xu's avatar
Yaowu Xu committed
284
endif  # CONFIG_AV1
285

286
# quantization
Yaowu Xu's avatar
Yaowu Xu committed
287
ifneq ($(filter yes,$(CONFIG_AV1_ENCODER)),)
288
289
290
291
DSP_SRCS-yes            += quantize.c
DSP_SRCS-yes            += quantize.h

DSP_SRCS-$(HAVE_SSE2)   += x86/quantize_sse2.c
292
ifeq ($(CONFIG_HIGHBITDEPTH),yes)
293
294
295
DSP_SRCS-$(HAVE_SSE2)   += x86/highbd_quantize_intrin_sse2.c
endif
ifeq ($(ARCH_X86_64),yes)
296
297
DSP_SRCS-$(HAVE_SSSE3)  += x86/quantize_ssse3_x86_64.asm
DSP_SRCS-$(HAVE_AVX)    += x86/quantize_avx_x86_64.asm
298
endif
James Zern's avatar
James Zern committed
299
300
301
302
303
304

# avg
DSP_SRCS-yes           += avg.c
DSP_SRCS-$(HAVE_SSE2)  += x86/avg_intrin_sse2.c
DSP_SRCS-$(HAVE_NEON)  += arm/avg_neon.c
DSP_SRCS-$(HAVE_MSA)   += mips/avg_msa.c
Johann's avatar
Johann committed
305
DSP_SRCS-$(HAVE_NEON)  += arm/hadamard_neon.c
James Zern's avatar
James Zern committed
306
307
308
309
ifeq ($(ARCH_X86_64),yes)
DSP_SRCS-$(HAVE_SSSE3) += x86/avg_ssse3_x86_64.asm
endif

310
# high bit depth subtract
311
ifeq ($(CONFIG_HIGHBITDEPTH),yes)
312
313
314
DSP_SRCS-$(HAVE_SSE2)  += x86/highbd_subtract_sse2.c
endif

Yaowu Xu's avatar
Yaowu Xu committed
315
endif  # CONFIG_AV1_ENCODER
316

Yaowu Xu's avatar
Yaowu Xu committed
317
ifeq ($(CONFIG_AV1_ENCODER),yes)
318
319
320
DSP_SRCS-yes            += sum_squares.c

DSP_SRCS-$(HAVE_SSE2)   += x86/sum_squares_sse2.c
Yaowu Xu's avatar
Yaowu Xu committed
321
endif # CONFIG_AV1_ENCODER
322

Johann's avatar
Johann committed
323
324
ifeq ($(CONFIG_ENCODERS),yes)
DSP_SRCS-yes            += sad.c
325
DSP_SRCS-yes            += subtract.c
Johann's avatar
Johann committed
326
327
328
329

DSP_SRCS-$(HAVE_MEDIA)  += arm/sad_media$(ASM)
DSP_SRCS-$(HAVE_NEON)   += arm/sad4d_neon.c
DSP_SRCS-$(HAVE_NEON)   += arm/sad_neon.c
330
DSP_SRCS-$(HAVE_NEON)   += arm/subtract_neon.c
Johann's avatar
Johann committed
331

Johann's avatar
Johann committed
332
DSP_SRCS-$(HAVE_MSA)    += mips/sad_msa.c
333
DSP_SRCS-$(HAVE_MSA)    += mips/subtract_msa.c
Johann's avatar
Johann committed
334

Johann's avatar
Johann committed
335
336
337
338
339
340
DSP_SRCS-$(HAVE_SSE3)   += x86/sad_sse3.asm
DSP_SRCS-$(HAVE_SSSE3)  += x86/sad_ssse3.asm
DSP_SRCS-$(HAVE_SSE4_1) += x86/sad_sse4.asm
DSP_SRCS-$(HAVE_AVX2)   += x86/sad4d_avx2.c
DSP_SRCS-$(HAVE_AVX2)   += x86/sad_avx2.c

341
ifeq ($(CONFIG_HIGHBITDEPTH),yes)
342
343
344
DSP_SRCS-$(HAVE_AVX2)   += x86/sad_highbd_avx2.c
endif

Yaowu Xu's avatar
Yaowu Xu committed
345
ifeq ($(CONFIG_AV1_ENCODER),yes)
346
347
348
349
ifeq ($(CONFIG_EXT_INTER),yes)
DSP_SRCS-$(HAVE_SSSE3)  += x86/masked_sad_intrin_ssse3.c
DSP_SRCS-$(HAVE_SSSE3)  += x86/masked_variance_intrin_ssse3.c
endif  #CONFIG_EXT_INTER
Yue Chen's avatar
Yue Chen committed
350
ifeq ($(CONFIG_MOTION_VAR),yes)
351
DSP_SRCS-$(HAVE_SSE4_1) += x86/obmc_sad_sse4.c
352
DSP_SRCS-$(HAVE_SSE4_1) += x86/obmc_variance_sse4.c
Yue Chen's avatar
Yue Chen committed
353
endif  #CONFIG_MOTION_VAR
354
355
356
ifeq ($(CONFIG_EXT_PARTITION),yes)
DSP_SRCS-$(HAVE_AVX2) += x86/sad_impl_avx2.c
endif
Yaowu Xu's avatar
Yaowu Xu committed
357
endif  #CONFIG_AV1_ENCODER
358

James Zern's avatar
James Zern committed
359
360
DSP_SRCS-$(HAVE_SSE)    += x86/sad4d_sse2.asm
DSP_SRCS-$(HAVE_SSE)    += x86/sad_sse2.asm
Johann's avatar
Johann committed
361
362
DSP_SRCS-$(HAVE_SSE2)   += x86/sad4d_sse2.asm
DSP_SRCS-$(HAVE_SSE2)   += x86/sad_sse2.asm
363
DSP_SRCS-$(HAVE_SSE2)   += x86/subtract_sse2.asm
364

365
ifeq ($(CONFIG_HIGHBITDEPTH),yes)
Johann's avatar
Johann committed
366
367
DSP_SRCS-$(HAVE_SSE2) += x86/highbd_sad4d_sse2.asm
DSP_SRCS-$(HAVE_SSE2) += x86/highbd_sad_sse2.asm
368
endif  # CONFIG_HIGHBITDEPTH
369

Johann's avatar
Johann committed
370
371
endif  # CONFIG_ENCODERS

Yaowu Xu's avatar
Yaowu Xu committed
372
ifneq ($(filter yes,$(CONFIG_ENCODERS)),)
Johann's avatar
Johann committed
373
DSP_SRCS-yes            += variance.c
Johann's avatar
Johann committed
374
DSP_SRCS-yes            += variance.h
Johann's avatar
Johann committed
375

Johann's avatar
Johann committed
376
377
378
379
380
DSP_SRCS-$(HAVE_MEDIA)  += arm/bilinear_filter_media$(ASM)
DSP_SRCS-$(HAVE_MEDIA)  += arm/subpel_variance_media.c
DSP_SRCS-$(HAVE_MEDIA)  += arm/variance_halfpixvar16x16_h_media$(ASM)
DSP_SRCS-$(HAVE_MEDIA)  += arm/variance_halfpixvar16x16_hv_media$(ASM)
DSP_SRCS-$(HAVE_MEDIA)  += arm/variance_halfpixvar16x16_v_media$(ASM)
Johann's avatar
Johann committed
381
DSP_SRCS-$(HAVE_MEDIA)  += arm/variance_media$(ASM)
Johann's avatar
Johann committed
382
DSP_SRCS-$(HAVE_NEON)   += arm/subpel_variance_neon.c
Johann's avatar
Johann committed
383
384
DSP_SRCS-$(HAVE_NEON)   += arm/variance_neon.c

Johann's avatar
Johann committed
385
DSP_SRCS-$(HAVE_MSA)    += mips/variance_msa.c
Johann's avatar
Johann committed
386
DSP_SRCS-$(HAVE_MSA)    += mips/sub_pixel_variance_msa.c
Johann's avatar
Johann committed
387

James Zern's avatar
James Zern committed
388
DSP_SRCS-$(HAVE_SSE)    += x86/variance_sse2.c
Johann's avatar
Johann committed
389
DSP_SRCS-$(HAVE_SSE2)   += x86/variance_sse2.c  # Contains SSE2 and SSSE3
Johann's avatar
Johann committed
390
391
DSP_SRCS-$(HAVE_SSE2)   += x86/halfpix_variance_sse2.c
DSP_SRCS-$(HAVE_SSE2)   += x86/halfpix_variance_impl_sse2.asm
Johann's avatar
Johann committed
392
393
394
DSP_SRCS-$(HAVE_AVX2)   += x86/variance_avx2.c
DSP_SRCS-$(HAVE_AVX2)   += x86/variance_impl_avx2.c

395
396
397
398
ifeq ($(ARCH_X86_64),yes)
DSP_SRCS-$(HAVE_SSE2)   += x86/ssim_opt_x86_64.asm
endif  # ARCH_X86_64

James Zern's avatar
James Zern committed
399
DSP_SRCS-$(HAVE_SSE)    += x86/subpel_variance_sse2.asm
Johann's avatar
Johann committed
400
401
DSP_SRCS-$(HAVE_SSE2)   += x86/subpel_variance_sse2.asm  # Contains SSE2 and SSSE3

402
ifeq ($(CONFIG_HIGHBITDEPTH),yes)
Johann's avatar
Johann committed
403
DSP_SRCS-$(HAVE_SSE2)   += x86/highbd_variance_sse2.c
404
DSP_SRCS-$(HAVE_SSE4_1) += x86/highbd_variance_sse4.c
Johann's avatar
Johann committed
405
DSP_SRCS-$(HAVE_SSE2)   += x86/highbd_variance_impl_sse2.asm
Johann's avatar
Johann committed
406
DSP_SRCS-$(HAVE_SSE2)   += x86/highbd_subpel_variance_impl_sse2.asm
407
endif  # CONFIG_HIGHBITDEPTH
Yaowu Xu's avatar
Yaowu Xu committed
408
endif  # CONFIG_ENCODERS
Johann's avatar
Johann committed
409

Johann's avatar
Johann committed
410
411
DSP_SRCS-no += $(DSP_SRCS_REMOVE-yes)

Yaowu Xu's avatar
Yaowu Xu committed
412
413
DSP_SRCS-yes += aom_dsp_rtcd.c
DSP_SRCS-yes += aom_dsp_rtcd_defs.pl
Johann's avatar
Johann committed
414

415
416
417
418
419
420
DSP_SRCS-yes += aom_simd.h
DSP_SRCS-yes += aom_simd_inline.h
DSP_SRCS-yes += simd/v64_intrinsics.h
DSP_SRCS-yes += simd/v64_intrinsics_c.h
DSP_SRCS-yes += simd/v128_intrinsics.h
DSP_SRCS-yes += simd/v128_intrinsics_c.h
421
422
DSP_SRCS-yes += simd/v256_intrinsics.h
DSP_SRCS-yes += simd/v256_intrinsics_c.h
423
DSP_SRCS-yes += simd/v256_intrinsics_v128.h
424
425
DSP_SRCS-$(HAVE_SSE2) += simd/v64_intrinsics_x86.h
DSP_SRCS-$(HAVE_SSE2) += simd/v128_intrinsics_x86.h
426
DSP_SRCS-$(HAVE_SSE2) += simd/v256_intrinsics_x86.h
427
428
DSP_SRCS-$(HAVE_NEON) += simd/v64_intrinsics_arm.h
DSP_SRCS-$(HAVE_NEON) += simd/v128_intrinsics_arm.h
429
DSP_SRCS-$(HAVE_NEON) += simd/v256_intrinsics_arm.h
430

Yaowu Xu's avatar
Yaowu Xu committed
431
$(eval $(call rtcd_h_template,aom_dsp_rtcd,aom_dsp/aom_dsp_rtcd_defs.pl))