aom_dsp.mk 13.5 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
13
DSP_SRCS-yes += aom_dsp.mk
DSP_SRCS-yes += aom_dsp_common.h
Johann's avatar
Johann committed
14

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

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

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

Yaowu Xu's avatar
Yaowu Xu committed
25
ifeq ($(CONFIG_ENCODERS),yes)
26
DSP_SRCS-$(CONFIG_ANS) += answriter.h
27
DSP_SRCS-yes += bitwriter.h
28
29
DSP_SRCS-yes += dkboolwriter.h
DSP_SRCS-yes += dkboolwriter.c
30
31
DSP_SRCS-yes += bitwriter_buffer.c
DSP_SRCS-yes += bitwriter_buffer.h
32
33
DSP_SRCS-yes += psnr.c
DSP_SRCS-yes += psnr.h
34
35
DSP_SRCS-$(CONFIG_ANS) += buf_ans.h
DSP_SRCS-$(CONFIG_ANS) += buf_ans.c
36
37
38
39
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
40
41
endif

Yaowu Xu's avatar
Yaowu Xu committed
42
ifeq ($(CONFIG_DECODERS),yes)
43
DSP_SRCS-$(CONFIG_ANS) += ansreader.h
44
DSP_SRCS-yes += bitreader.h
45
46
DSP_SRCS-yes += dkboolreader.h
DSP_SRCS-yes += dkboolreader.c
47
48
DSP_SRCS-yes += bitreader_buffer.c
DSP_SRCS-yes += bitreader_buffer.h
Yaowu Xu's avatar
Yaowu Xu committed
49
50
endif

51
52
53
# intra predictions
DSP_SRCS-yes += intrapred.c

James Zern's avatar
James Zern committed
54
DSP_SRCS-$(HAVE_SSE) += x86/intrapred_sse2.asm
55
56
DSP_SRCS-$(HAVE_SSE2) += x86/intrapred_sse2.asm
DSP_SRCS-$(HAVE_SSSE3) += x86/intrapred_ssse3.asm
Yaowu Xu's avatar
Yaowu Xu committed
57
DSP_SRCS-$(HAVE_SSSE3) += x86/aom_subpixel_8t_ssse3.asm
58

Yaowu Xu's avatar
Yaowu Xu committed
59
ifeq ($(CONFIG_AOM_HIGHBITDEPTH),yes)
James Zern's avatar
James Zern committed
60
DSP_SRCS-$(HAVE_SSE)  += x86/highbd_intrapred_sse2.asm
61
DSP_SRCS-$(HAVE_SSE2) += x86/highbd_intrapred_sse2.asm
Yaowu Xu's avatar
Yaowu Xu committed
62
endif  # CONFIG_AOM_HIGHBITDEPTH
63
64
65
66
67
68
69
70

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

71
72
73
DSP_SRCS-$(HAVE_DSPR2)  += mips/common_dspr2.h
DSP_SRCS-$(HAVE_DSPR2)  += mips/common_dspr2.c

Geza Lore's avatar
Geza Lore committed
74
75
# inter predictions

Yaowu Xu's avatar
Yaowu Xu committed
76
ifeq ($(CONFIG_AV1),yes)
Geza Lore's avatar
Geza Lore committed
77
78
79
80
81
82
83
84
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
Yaowu Xu's avatar
Yaowu Xu committed
85
endif  #CONFIG_AV1
Geza Lore's avatar
Geza Lore committed
86

Zoe Liu's avatar
Zoe Liu committed
87
# interpolation filters
Yaowu Xu's avatar
Yaowu Xu committed
88
89
90
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
91
92

DSP_SRCS-$(ARCH_X86)$(ARCH_X86_64) += x86/convolve.h
Yaowu Xu's avatar
Yaowu Xu committed
93
94
95
96
97
98
99
100
101
102
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
ifeq ($(CONFIG_AOM_HIGHBITDEPTH),yes)
DSP_SRCS-$(HAVE_SSE2)  += x86/aom_high_subpixel_8t_sse2.asm
DSP_SRCS-$(HAVE_SSE2)  += x86/aom_high_subpixel_bilinear_sse2.asm
Zoe Liu's avatar
Zoe Liu committed
103
endif
104

Yaowu Xu's avatar
Yaowu Xu committed
105
DSP_SRCS-$(HAVE_SSE2)  += x86/aom_convolve_copy_sse2.asm
Zoe Liu's avatar
Zoe Liu committed
106
107

ifeq ($(HAVE_NEON_ASM),yes)
Yaowu Xu's avatar
Yaowu Xu committed
108
109
110
111
112
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
113
114
else
ifeq ($(HAVE_NEON),yes)
Yaowu Xu's avatar
Yaowu Xu committed
115
116
117
118
119
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
120
121
122
123
endif  # HAVE_NEON
endif  # HAVE_NEON_ASM

# common (msa)
Yaowu Xu's avatar
Yaowu Xu committed
124
125
126
127
128
129
130
131
132
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
133

Zoe Liu's avatar
Zoe Liu committed
134
# common (dspr2)
135
136
137
138
139
140
141
142
143
144
145
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
146

147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
# 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
171
172
173
174
175
176
177
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
178

Yaowu Xu's avatar
Yaowu Xu committed
179
ifeq ($(CONFIG_AOM_HIGHBITDEPTH),yes)
180
DSP_SRCS-$(HAVE_SSE2)   += x86/highbd_loopfilter_sse2.c
Yaowu Xu's avatar
Yaowu Xu committed
181
endif  # CONFIG_AOM_HIGHBITDEPTH
182

Jingning Han's avatar
Jingning Han committed
183
184
DSP_SRCS-yes            += txfm_common.h
DSP_SRCS-$(HAVE_SSE2)   += x86/txfm_common_sse2.h
185
DSP_SRCS-$(HAVE_MSA)    += mips/txfm_macros_msa.h
186
# forward transform
Yaowu Xu's avatar
Yaowu Xu committed
187
ifeq ($(CONFIG_AV1),yes)
188
189
DSP_SRCS-yes            += fwd_txfm.c
DSP_SRCS-yes            += fwd_txfm.h
190
DSP_SRCS-$(HAVE_SSE2)   += x86/fwd_txfm_sse2.h
191
192
DSP_SRCS-$(HAVE_SSE2)   += x86/fwd_txfm_sse2.c
DSP_SRCS-$(HAVE_SSE2)   += x86/fwd_txfm_impl_sse2.h
193
DSP_SRCS-$(HAVE_SSE2)   += x86/fwd_dct32x32_impl_sse2.h
194
195
196
ifeq ($(ARCH_X86_64),yes)
DSP_SRCS-$(HAVE_SSSE3)  += x86/fwd_txfm_ssse3_x86_64.asm
endif
197
DSP_SRCS-$(HAVE_AVX2)   += x86/fwd_txfm_avx2.c
198
DSP_SRCS-$(HAVE_AVX2)   += x86/txfm_common_avx2.h
199
DSP_SRCS-$(HAVE_AVX2)   += x86/fwd_dct32x32_impl_avx2.h
200
DSP_SRCS-$(HAVE_NEON)   += arm/fwd_txfm_neon.c
201
202
DSP_SRCS-$(HAVE_MSA)    += mips/fwd_txfm_msa.h
DSP_SRCS-$(HAVE_MSA)    += mips/fwd_txfm_msa.c
203
DSP_SRCS-$(HAVE_MSA)    += mips/fwd_dct32x32_msa.c
Yaowu Xu's avatar
Yaowu Xu committed
204
endif  # CONFIG_AV1_ENCODER
205

206
# inverse transform
Yaowu Xu's avatar
Yaowu Xu committed
207
ifeq ($(CONFIG_AV1), yes)
208
209
210
211
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
212
DSP_SRCS-$(HAVE_SSE2)   += x86/inv_wht_sse2.asm
213
214
215
216
217
ifeq ($(ARCH_X86_64),yes)
DSP_SRCS-$(HAVE_SSSE3)  += x86/inv_txfm_ssse3_x86_64.asm
endif  # ARCH_X86_64

ifeq ($(HAVE_NEON_ASM),yes)
218
DSP_SRCS-yes  += arm/save_reg_neon$(ASM)
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
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
240
241
242
243
244
245

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
246

Yaowu Xu's avatar
Yaowu Xu committed
247
ifneq ($(CONFIG_AOM_HIGHBITDEPTH),yes)
248
249
250
251
252
253
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
Yaowu Xu's avatar
Yaowu Xu committed
254
255
endif  # CONFIG_AOM_HIGHBITDEPTH
endif  # CONFIG_AV1
256

257
# quantization
Yaowu Xu's avatar
Yaowu Xu committed
258
ifneq ($(filter yes,$(CONFIG_AV1_ENCODER)),)
259
260
261
262
DSP_SRCS-yes            += quantize.c
DSP_SRCS-yes            += quantize.h

DSP_SRCS-$(HAVE_SSE2)   += x86/quantize_sse2.c
Yaowu Xu's avatar
Yaowu Xu committed
263
ifeq ($(CONFIG_AOM_HIGHBITDEPTH),yes)
264
265
266
DSP_SRCS-$(HAVE_SSE2)   += x86/highbd_quantize_intrin_sse2.c
endif
ifeq ($(ARCH_X86_64),yes)
267
268
DSP_SRCS-$(HAVE_SSSE3)  += x86/quantize_ssse3_x86_64.asm
DSP_SRCS-$(HAVE_AVX)    += x86/quantize_avx_x86_64.asm
269
endif
James Zern's avatar
James Zern committed
270
271
272
273
274
275

# 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
276
DSP_SRCS-$(HAVE_NEON)  += arm/hadamard_neon.c
James Zern's avatar
James Zern committed
277
278
279
280
ifeq ($(ARCH_X86_64),yes)
DSP_SRCS-$(HAVE_SSSE3) += x86/avg_ssse3_x86_64.asm
endif

281
# high bit depth subtract
Yaowu Xu's avatar
Yaowu Xu committed
282
ifeq ($(CONFIG_AOM_HIGHBITDEPTH),yes)
283
284
285
DSP_SRCS-$(HAVE_SSE2)  += x86/highbd_subtract_sse2.c
endif

Yaowu Xu's avatar
Yaowu Xu committed
286
endif  # CONFIG_AV1_ENCODER
287

Yaowu Xu's avatar
Yaowu Xu committed
288
ifeq ($(CONFIG_AV1_ENCODER),yes)
289
290
291
DSP_SRCS-yes            += sum_squares.c

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

Johann's avatar
Johann committed
294
295
ifeq ($(CONFIG_ENCODERS),yes)
DSP_SRCS-yes            += sad.c
296
DSP_SRCS-yes            += subtract.c
Johann's avatar
Johann committed
297
298
299
300

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

Johann's avatar
Johann committed
303
DSP_SRCS-$(HAVE_MSA)    += mips/sad_msa.c
304
DSP_SRCS-$(HAVE_MSA)    += mips/subtract_msa.c
Johann's avatar
Johann committed
305

Johann's avatar
Johann committed
306
307
308
309
310
311
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

Yaowu Xu's avatar
Yaowu Xu committed
312
ifeq ($(CONFIG_AV1_ENCODER),yes)
313
314
315
316
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
317
318
ifeq ($(CONFIG_OBMC),yes)
DSP_SRCS-$(HAVE_SSE4_1) += x86/obmc_sad_sse4.c
319
DSP_SRCS-$(HAVE_SSE4_1) += x86/obmc_variance_sse4.c
320
endif  #CONFIG_OBMC
Yaowu Xu's avatar
Yaowu Xu committed
321
endif  #CONFIG_AV1_ENCODER
322

James Zern's avatar
James Zern committed
323
324
DSP_SRCS-$(HAVE_SSE)    += x86/sad4d_sse2.asm
DSP_SRCS-$(HAVE_SSE)    += x86/sad_sse2.asm
Johann's avatar
Johann committed
325
326
DSP_SRCS-$(HAVE_SSE2)   += x86/sad4d_sse2.asm
DSP_SRCS-$(HAVE_SSE2)   += x86/sad_sse2.asm
327
DSP_SRCS-$(HAVE_SSE2)   += x86/subtract_sse2.asm
328

Yaowu Xu's avatar
Yaowu Xu committed
329
ifeq ($(CONFIG_AOM_HIGHBITDEPTH),yes)
Johann's avatar
Johann committed
330
331
DSP_SRCS-$(HAVE_SSE2) += x86/highbd_sad4d_sse2.asm
DSP_SRCS-$(HAVE_SSE2) += x86/highbd_sad_sse2.asm
Yaowu Xu's avatar
Yaowu Xu committed
332
endif  # CONFIG_AOM_HIGHBITDEPTH
333

Johann's avatar
Johann committed
334
335
endif  # CONFIG_ENCODERS

Yaowu Xu's avatar
Yaowu Xu committed
336
ifneq ($(filter yes,$(CONFIG_ENCODERS)),)
Johann's avatar
Johann committed
337
DSP_SRCS-yes            += variance.c
Johann's avatar
Johann committed
338
DSP_SRCS-yes            += variance.h
Johann's avatar
Johann committed
339

Johann's avatar
Johann committed
340
341
342
343
344
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
345
DSP_SRCS-$(HAVE_MEDIA)  += arm/variance_media$(ASM)
Johann's avatar
Johann committed
346
DSP_SRCS-$(HAVE_NEON)   += arm/subpel_variance_neon.c
Johann's avatar
Johann committed
347
348
DSP_SRCS-$(HAVE_NEON)   += arm/variance_neon.c

Johann's avatar
Johann committed
349
DSP_SRCS-$(HAVE_MSA)    += mips/variance_msa.c
Johann's avatar
Johann committed
350
DSP_SRCS-$(HAVE_MSA)    += mips/sub_pixel_variance_msa.c
Johann's avatar
Johann committed
351

James Zern's avatar
James Zern committed
352
DSP_SRCS-$(HAVE_SSE)    += x86/variance_sse2.c
Johann's avatar
Johann committed
353
DSP_SRCS-$(HAVE_SSE2)   += x86/variance_sse2.c  # Contains SSE2 and SSSE3
Johann's avatar
Johann committed
354
355
DSP_SRCS-$(HAVE_SSE2)   += x86/halfpix_variance_sse2.c
DSP_SRCS-$(HAVE_SSE2)   += x86/halfpix_variance_impl_sse2.asm
Johann's avatar
Johann committed
356
357
358
DSP_SRCS-$(HAVE_AVX2)   += x86/variance_avx2.c
DSP_SRCS-$(HAVE_AVX2)   += x86/variance_impl_avx2.c

359
360
361
362
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
363
DSP_SRCS-$(HAVE_SSE)    += x86/subpel_variance_sse2.asm
Johann's avatar
Johann committed
364
365
DSP_SRCS-$(HAVE_SSE2)   += x86/subpel_variance_sse2.asm  # Contains SSE2 and SSSE3

Yaowu Xu's avatar
Yaowu Xu committed
366
ifeq ($(CONFIG_AOM_HIGHBITDEPTH),yes)
Johann's avatar
Johann committed
367
DSP_SRCS-$(HAVE_SSE2)   += x86/highbd_variance_sse2.c
368
DSP_SRCS-$(HAVE_SSE4_1) += x86/highbd_variance_sse4.c
Johann's avatar
Johann committed
369
DSP_SRCS-$(HAVE_SSE2)   += x86/highbd_variance_impl_sse2.asm
Johann's avatar
Johann committed
370
DSP_SRCS-$(HAVE_SSE2)   += x86/highbd_subpel_variance_impl_sse2.asm
Yaowu Xu's avatar
Yaowu Xu committed
371
endif  # CONFIG_AOM_HIGHBITDEPTH
Yaowu Xu's avatar
Yaowu Xu committed
372
endif  # CONFIG_ENCODERS
Johann's avatar
Johann committed
373

Johann's avatar
Johann committed
374
375
DSP_SRCS-no += $(DSP_SRCS_REMOVE-yes)

Yaowu Xu's avatar
Yaowu Xu committed
376
377
DSP_SRCS-yes += aom_dsp_rtcd.c
DSP_SRCS-yes += aom_dsp_rtcd_defs.pl
Johann's avatar
Johann committed
378

379
380
DSP_SRCS-yes += aom_simd.c

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