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

25
ifeq ($(CONFIG_AV1_ENCODER),yes)
26
27
28
29
ifeq ($(CONFIG_ANS),yes)
DSP_SRCS-yes += answriter.h
DSP_SRCS-yes += buf_ans.h
DSP_SRCS-yes += buf_ans.c
30
else
31
32
33
34
35
36
DSP_SRCS-yes += entenc.c
DSP_SRCS-yes += entenc.h
DSP_SRCS-yes += daalaboolwriter.c
DSP_SRCS-yes += daalaboolwriter.h
endif
DSP_SRCS-yes += bitwriter.h
37
38
DSP_SRCS-yes += bitwriter_buffer.c
DSP_SRCS-yes += bitwriter_buffer.h
39
40
DSP_SRCS-yes += binary_codes_writer.c
DSP_SRCS-yes += binary_codes_writer.h
41
42
DSP_SRCS-yes += psnr.c
DSP_SRCS-yes += psnr.h
43
44
45
46
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
47
48
endif

49
ifeq ($(CONFIG_AV1_DECODER),yes)
50
51
ifeq ($(CONFIG_ANS),yes)
DSP_SRCS-yes += ansreader.h
52
else
53
54
55
56
57
58
DSP_SRCS-yes += entdec.c
DSP_SRCS-yes += entdec.h
DSP_SRCS-yes += daalaboolreader.c
DSP_SRCS-yes += daalaboolreader.h
endif
DSP_SRCS-yes += bitreader.h
59
60
DSP_SRCS-yes += bitreader_buffer.c
DSP_SRCS-yes += bitreader_buffer.h
61
62
DSP_SRCS-yes += binary_codes_reader.c
DSP_SRCS-yes += binary_codes_reader.h
Yaowu Xu's avatar
Yaowu Xu committed
63
64
endif

65
66
# intra predictions
DSP_SRCS-yes += intrapred.c
67
DSP_SRCS-yes += intrapred_common.h
68

69
ifneq ($(CONFIG_ANS),yes)
Nathan E. Egge's avatar
Nathan E. Egge committed
70
71
72
73
DSP_SRCS-yes += entcode.c
DSP_SRCS-yes += entcode.h
endif

James Zern's avatar
James Zern committed
74
DSP_SRCS-$(HAVE_SSE) += x86/intrapred_sse2.asm
75
76
DSP_SRCS-$(HAVE_SSE2) += x86/intrapred_sse2.asm
DSP_SRCS-$(HAVE_SSSE3) += x86/intrapred_ssse3.asm
Yaowu Xu's avatar
Yaowu Xu committed
77
DSP_SRCS-$(HAVE_SSSE3) += x86/aom_subpixel_8t_ssse3.asm
78

79
DSP_SRCS-$(HAVE_SSE2) += x86/intrapred_sse2.c
80
DSP_SRCS-$(HAVE_SSSE3) += x86/intrapred_ssse3.c
81
DSP_SRCS-$(HAVE_AVX2) += x86/intrapred_avx2.c
82

83
ifeq ($(CONFIG_HIGHBITDEPTH),yes)
James Zern's avatar
James Zern committed
84
DSP_SRCS-$(HAVE_SSE)  += x86/highbd_intrapred_sse2.asm
85
DSP_SRCS-$(HAVE_SSE2) += x86/highbd_intrapred_sse2.asm
86
DSP_SRCS-$(HAVE_SSE2) += x86/highbd_intrapred_sse2.c
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
# loop filters
DSP_SRCS-yes += loopfilter.c

DSP_SRCS-$(ARCH_X86)$(ARCH_X86_64)   += x86/loopfilter_sse2.c
Yi Luo's avatar
Yi Luo committed
173
DSP_SRCS-$(HAVE_SSE2)                += x86/lpf_common_sse2.h
174

175
176
177
ifneq ($(CONFIG_PARALLEL_DEBLOCKING),yes)
DSP_SRCS-$(HAVE_AVX2)   += x86/loopfilter_avx2.c

178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
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
196
197
198
199
200
201
202
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
203
endif  # !CONFIG_PARALLEL_DEBLOCKING
204

205
ifeq ($(CONFIG_HIGHBITDEPTH),yes)
206
DSP_SRCS-$(HAVE_SSE2)   += x86/highbd_loopfilter_sse2.c
Yi Luo's avatar
Yi Luo committed
207
DSP_SRCS-$(HAVE_AVX2)   += x86/highbd_loopfilter_avx2.c
208
endif  # CONFIG_HIGHBITDEPTH
209

Jingning Han's avatar
Jingning Han committed
210
DSP_SRCS-yes            += txfm_common.h
211
DSP_SRCS-yes            += x86/txfm_common_intrin.h
Yi Luo's avatar
Yi Luo committed
212
DSP_SRCS-$(HAVE_AVX2)   += x86/common_avx2.h
Jingning Han's avatar
Jingning Han committed
213
DSP_SRCS-$(HAVE_SSE2)   += x86/txfm_common_sse2.h
214
DSP_SRCS-$(HAVE_SSSE3)  += x86/obmc_intrinsic_ssse3.h
215
DSP_SRCS-$(HAVE_MSA)    += mips/txfm_macros_msa.h
216

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

241
# inverse transform
Yaowu Xu's avatar
Yaowu Xu committed
242
ifeq ($(CONFIG_AV1), yes)
243
244
245
246
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
247
DSP_SRCS-$(HAVE_SSE2)   += x86/inv_wht_sse2.asm
248
DSP_SRCS-$(HAVE_SSSE3)  += x86/inv_txfm_ssse3.c
Yi Luo's avatar
Yi Luo committed
249
250
DSP_SRCS-$(HAVE_AVX2)   += x86/inv_txfm_common_avx2.h
DSP_SRCS-$(HAVE_AVX2)   += x86/inv_txfm_avx2.c
251
252

ifeq ($(HAVE_NEON_ASM),yes)
253
DSP_SRCS-yes  += arm/save_reg_neon$(ASM)
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
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
275
276
277
278
279
280

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
281

282
ifneq ($(CONFIG_HIGHBITDEPTH),yes)
283
284
285
286
287
288
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
289
endif  # CONFIG_HIGHBITDEPTH
290
291
292
293
294
295
296

ifeq ($(CONFIG_LOOP_RESTORATION),yes)
DSP_SRCS-$(HAVE_SSE2)   += x86/aom_convolve_hip_sse2.c
ifeq ($(CONFIG_HIGHBITDEPTH),yes)
DSP_SRCS-$(HAVE_SSSE3)  += x86/aom_highbd_convolve_hip_ssse3.c
endif
endif  # CONFIG_LOOP_RESTORATION
Yaowu Xu's avatar
Yaowu Xu committed
297
endif  # CONFIG_AV1
298

299
# quantization
Yaowu Xu's avatar
Yaowu Xu committed
300
ifneq ($(filter yes,$(CONFIG_AV1_ENCODER)),)
301
302
303
304
DSP_SRCS-yes            += quantize.c
DSP_SRCS-yes            += quantize.h

DSP_SRCS-$(HAVE_SSE2)   += x86/quantize_sse2.c
305

306
DSP_SRCS-$(HAVE_SSE2)   += x86/highbd_quantize_intrin_sse2.c
Yi Luo's avatar
Yi Luo committed
307
DSP_SRCS-$(HAVE_AVX2)   += x86/highbd_quantize_intrin_avx2.c
308

309
ifeq ($(ARCH_X86_64),yes)
310
311
DSP_SRCS-$(HAVE_SSSE3)  += x86/quantize_ssse3_x86_64.asm
DSP_SRCS-$(HAVE_AVX)    += x86/quantize_avx_x86_64.asm
312
endif
James Zern's avatar
James Zern committed
313
314
315
316
317

# avg
DSP_SRCS-yes           += avg.c
DSP_SRCS-$(HAVE_SSE2)  += x86/avg_intrin_sse2.c
DSP_SRCS-$(HAVE_NEON)  += arm/avg_neon.c
Johann's avatar
Johann committed
318
DSP_SRCS-$(HAVE_NEON)  += arm/hadamard_neon.c
James Zern's avatar
James Zern committed
319
320
321
322
ifeq ($(ARCH_X86_64),yes)
DSP_SRCS-$(HAVE_SSSE3) += x86/avg_ssse3_x86_64.asm
endif

323
# high bit depth subtract
324
ifeq ($(CONFIG_HIGHBITDEPTH),yes)
325
326
327
DSP_SRCS-$(HAVE_SSE2)  += x86/highbd_subtract_sse2.c
endif

Yaowu Xu's avatar
Yaowu Xu committed
328
endif  # CONFIG_AV1_ENCODER
329

Yaowu Xu's avatar
Yaowu Xu committed
330
ifeq ($(CONFIG_AV1_ENCODER),yes)
331
332
333
DSP_SRCS-yes            += sum_squares.c

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

336
ifeq ($(CONFIG_AV1_ENCODER),yes)
Johann's avatar
Johann committed
337
DSP_SRCS-yes            += sad.c
338
DSP_SRCS-yes            += subtract.c
Johann's avatar
Johann committed
339
340
341

DSP_SRCS-$(HAVE_NEON)   += arm/sad4d_neon.c
DSP_SRCS-$(HAVE_NEON)   += arm/sad_neon.c
342
DSP_SRCS-$(HAVE_NEON)   += arm/subtract_neon.c
Johann's avatar
Johann committed
343

Johann's avatar
Johann committed
344
DSP_SRCS-$(HAVE_MSA)    += mips/sad_msa.c
345
DSP_SRCS-$(HAVE_MSA)    += mips/subtract_msa.c
Johann's avatar
Johann committed
346

Johann's avatar
Johann committed
347
348
349
350
351
352
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

353
ifeq ($(CONFIG_HIGHBITDEPTH),yes)
354
355
356
DSP_SRCS-$(HAVE_AVX2)   += x86/sad_highbd_avx2.c
endif

Yaowu Xu's avatar
Yaowu Xu committed
357
ifeq ($(CONFIG_AV1_ENCODER),yes)
358
359
DSP_SRCS-$(HAVE_SSSE3)  += x86/masked_sad_intrin_ssse3.c
DSP_SRCS-$(HAVE_SSSE3)  += x86/masked_variance_intrin_ssse3.c
Yue Chen's avatar
Yue Chen committed
360
ifeq ($(CONFIG_MOTION_VAR),yes)
361
DSP_SRCS-$(HAVE_SSE4_1) += x86/obmc_sad_sse4.c
362
DSP_SRCS-$(HAVE_SSE4_1) += x86/obmc_variance_sse4.c
Yue Chen's avatar
Yue Chen committed
363
endif  #CONFIG_MOTION_VAR
364
365
366
ifeq ($(CONFIG_EXT_PARTITION),yes)
DSP_SRCS-$(HAVE_AVX2) += x86/sad_impl_avx2.c
endif
Yaowu Xu's avatar
Yaowu Xu committed
367
endif  #CONFIG_AV1_ENCODER
368

James Zern's avatar
James Zern committed
369
370
DSP_SRCS-$(HAVE_SSE)    += x86/sad4d_sse2.asm
DSP_SRCS-$(HAVE_SSE)    += x86/sad_sse2.asm
Johann's avatar
Johann committed
371
372
DSP_SRCS-$(HAVE_SSE2)   += x86/sad4d_sse2.asm
DSP_SRCS-$(HAVE_SSE2)   += x86/sad_sse2.asm
373
DSP_SRCS-$(HAVE_SSE2)   += x86/subtract_sse2.asm
374

375
ifeq ($(CONFIG_HIGHBITDEPTH),yes)
Johann's avatar
Johann committed
376
377
DSP_SRCS-$(HAVE_SSE2) += x86/highbd_sad4d_sse2.asm
DSP_SRCS-$(HAVE_SSE2) += x86/highbd_sad_sse2.asm
378
endif  # CONFIG_HIGHBITDEPTH
379

380
endif  # CONFIG_AV1_ENCODER
Johann's avatar
Johann committed
381

382
ifneq ($(filter yes,$(CONFIG_AV1_ENCODER)),)
Johann's avatar
Johann committed
383
DSP_SRCS-yes            += variance.c
Johann's avatar
Johann committed
384
DSP_SRCS-yes            += variance.h
Johann's avatar
Johann committed
385

Johann's avatar
Johann committed
386
DSP_SRCS-$(HAVE_NEON)   += arm/subpel_variance_neon.c
Johann's avatar
Johann committed
387
388
DSP_SRCS-$(HAVE_NEON)   += arm/variance_neon.c

Johann's avatar
Johann committed
389
DSP_SRCS-$(HAVE_MSA)    += mips/variance_msa.c
Johann's avatar
Johann committed
390
DSP_SRCS-$(HAVE_MSA)    += mips/sub_pixel_variance_msa.c
Johann's avatar
Johann committed
391

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

399
400
401
402
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
403
DSP_SRCS-$(HAVE_SSE)    += x86/subpel_variance_sse2.asm
Johann's avatar
Johann committed
404
405
DSP_SRCS-$(HAVE_SSE2)   += x86/subpel_variance_sse2.asm  # Contains SSE2 and SSSE3

406
ifeq ($(CONFIG_HIGHBITDEPTH),yes)
Johann's avatar
Johann committed
407
DSP_SRCS-$(HAVE_SSE2)   += x86/highbd_variance_sse2.c
408
DSP_SRCS-$(HAVE_SSE4_1) += x86/highbd_variance_sse4.c
Johann's avatar
Johann committed
409
DSP_SRCS-$(HAVE_SSE2)   += x86/highbd_variance_impl_sse2.asm
Johann's avatar
Johann committed
410
DSP_SRCS-$(HAVE_SSE2)   += x86/highbd_subpel_variance_impl_sse2.asm
411
endif  # CONFIG_HIGHBITDEPTH
412
endif  # CONFIG_AV1_ENCODER
Johann's avatar
Johann committed
413

Johann's avatar
Johann committed
414
415
DSP_SRCS-no += $(DSP_SRCS_REMOVE-yes)

Yaowu Xu's avatar
Yaowu Xu committed
416
417
DSP_SRCS-yes += aom_dsp_rtcd.c
DSP_SRCS-yes += aom_dsp_rtcd_defs.pl
Johann's avatar
Johann committed
418

419
420
421
422
423
424
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
425
426
DSP_SRCS-yes += simd/v256_intrinsics.h
DSP_SRCS-yes += simd/v256_intrinsics_c.h
427
DSP_SRCS-yes += simd/v256_intrinsics_v128.h
428
429
DSP_SRCS-$(HAVE_SSE2) += simd/v64_intrinsics_x86.h
DSP_SRCS-$(HAVE_SSE2) += simd/v128_intrinsics_x86.h
430
DSP_SRCS-$(HAVE_SSE2) += simd/v256_intrinsics_x86.h
431
432
DSP_SRCS-$(HAVE_NEON) += simd/v64_intrinsics_arm.h
DSP_SRCS-$(HAVE_NEON) += simd/v128_intrinsics_arm.h
433
DSP_SRCS-$(HAVE_NEON) += simd/v256_intrinsics_arm.h
434

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