aom_dsp.mk 13.7 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
24
DSP_SRCS-$(CONFIG_ANS) += ans.c
Yaowu Xu's avatar
Yaowu Xu committed
25

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

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

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

Nathan E. Egge's avatar
Nathan E. Egge committed
55 56 57 58 59 60 61 62 63
ifeq ($(CONFIG_DAALA_EC),yes)
DSP_SRCS-yes += entenc.c
DSP_SRCS-yes += entenc.h
DSP_SRCS-yes += entdec.c
DSP_SRCS-yes += entdec.h
DSP_SRCS-yes += entcode.c
DSP_SRCS-yes += entcode.h
endif

James Zern's avatar
James Zern committed
64
DSP_SRCS-$(HAVE_SSE) += x86/intrapred_sse2.asm
65 66
DSP_SRCS-$(HAVE_SSE2) += x86/intrapred_sse2.asm
DSP_SRCS-$(HAVE_SSSE3) += x86/intrapred_ssse3.asm
Yaowu Xu's avatar
Yaowu Xu committed
67
DSP_SRCS-$(HAVE_SSSE3) += x86/aom_subpixel_8t_ssse3.asm
68

Yaowu Xu's avatar
Yaowu Xu committed
69
ifeq ($(CONFIG_AOM_HIGHBITDEPTH),yes)
James Zern's avatar
James Zern committed
70
DSP_SRCS-$(HAVE_SSE)  += x86/highbd_intrapred_sse2.asm
71
DSP_SRCS-$(HAVE_SSE2) += x86/highbd_intrapred_sse2.asm
Yaowu Xu's avatar
Yaowu Xu committed
72
endif  # CONFIG_AOM_HIGHBITDEPTH
73 74 75 76 77 78 79 80

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

81 82 83
DSP_SRCS-$(HAVE_DSPR2)  += mips/common_dspr2.h
DSP_SRCS-$(HAVE_DSPR2)  += mips/common_dspr2.c

Geza Lore's avatar
Geza Lore committed
84
# inter predictions
Geza Lore's avatar
Geza Lore committed
85 86 87 88 89 90 91 92
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
93

Zoe Liu's avatar
Zoe Liu committed
94
# interpolation filters
Yaowu Xu's avatar
Yaowu Xu committed
95 96 97
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
98 99

DSP_SRCS-$(ARCH_X86)$(ARCH_X86_64) += x86/convolve.h
Yaowu Xu's avatar
Yaowu Xu committed
100 101 102 103 104 105 106 107 108 109
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
110
endif
Yaowu Xu's avatar
Yaowu Xu committed
111
DSP_SRCS-$(HAVE_SSE2)  += x86/aom_convolve_copy_sse2.asm
Zoe Liu's avatar
Zoe Liu committed
112 113

ifeq ($(HAVE_NEON_ASM),yes)
Yaowu Xu's avatar
Yaowu Xu committed
114 115 116 117 118
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
119 120
else
ifeq ($(HAVE_NEON),yes)
Yaowu Xu's avatar
Yaowu Xu committed
121 122 123 124 125
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
126 127 128 129
endif  # HAVE_NEON
endif  # HAVE_NEON_ASM

# common (msa)
Yaowu Xu's avatar
Yaowu Xu committed
130 131 132 133 134 135 136 137 138
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
139

Zoe Liu's avatar
Zoe Liu committed
140
# common (dspr2)
141 142 143 144 145 146 147 148 149 150 151
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
152

153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176
# 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
177 178 179 180 181 182 183
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
184

Yaowu Xu's avatar
Yaowu Xu committed
185
ifeq ($(CONFIG_AOM_HIGHBITDEPTH),yes)
186
DSP_SRCS-$(HAVE_SSE2)   += x86/highbd_loopfilter_sse2.c
Yaowu Xu's avatar
Yaowu Xu committed
187
endif  # CONFIG_AOM_HIGHBITDEPTH
188

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

213
# inverse transform
Yaowu Xu's avatar
Yaowu Xu committed
214
ifeq ($(CONFIG_AV1), yes)
215 216 217 218
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
219
DSP_SRCS-$(HAVE_SSE2)   += x86/inv_wht_sse2.asm
220 221 222 223 224
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)
225
DSP_SRCS-yes  += arm/save_reg_neon$(ASM)
226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246
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
247 248 249 250 251 252

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
253

Yaowu Xu's avatar
Yaowu Xu committed
254
ifneq ($(CONFIG_AOM_HIGHBITDEPTH),yes)
255 256 257 258 259 260
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
261 262
endif  # CONFIG_AOM_HIGHBITDEPTH
endif  # CONFIG_AV1
263

264
# quantization
Yaowu Xu's avatar
Yaowu Xu committed
265
ifneq ($(filter yes,$(CONFIG_AV1_ENCODER)),)
266 267 268 269
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
270
ifeq ($(CONFIG_AOM_HIGHBITDEPTH),yes)
271 272 273
DSP_SRCS-$(HAVE_SSE2)   += x86/highbd_quantize_intrin_sse2.c
endif
ifeq ($(ARCH_X86_64),yes)
274 275
DSP_SRCS-$(HAVE_SSSE3)  += x86/quantize_ssse3_x86_64.asm
DSP_SRCS-$(HAVE_AVX)    += x86/quantize_avx_x86_64.asm
276
endif
James Zern's avatar
James Zern committed
277 278 279 280 281 282

# 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
283
DSP_SRCS-$(HAVE_NEON)  += arm/hadamard_neon.c
James Zern's avatar
James Zern committed
284 285 286 287
ifeq ($(ARCH_X86_64),yes)
DSP_SRCS-$(HAVE_SSSE3) += x86/avg_ssse3_x86_64.asm
endif

288
# high bit depth subtract
Yaowu Xu's avatar
Yaowu Xu committed
289
ifeq ($(CONFIG_AOM_HIGHBITDEPTH),yes)
290 291 292
DSP_SRCS-$(HAVE_SSE2)  += x86/highbd_subtract_sse2.c
endif

Yaowu Xu's avatar
Yaowu Xu committed
293
endif  # CONFIG_AV1_ENCODER
294

Yaowu Xu's avatar
Yaowu Xu committed
295
ifeq ($(CONFIG_AV1_ENCODER),yes)
296 297 298
DSP_SRCS-yes            += sum_squares.c

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

Johann's avatar
Johann committed
301 302
ifeq ($(CONFIG_ENCODERS),yes)
DSP_SRCS-yes            += sad.c
303
DSP_SRCS-yes            += subtract.c
Johann's avatar
Johann committed
304 305 306 307

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

Johann's avatar
Johann committed
310
DSP_SRCS-$(HAVE_MSA)    += mips/sad_msa.c
311
DSP_SRCS-$(HAVE_MSA)    += mips/subtract_msa.c
Johann's avatar
Johann committed
312

Johann's avatar
Johann committed
313 314 315 316 317 318
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
319
ifeq ($(CONFIG_AV1_ENCODER),yes)
320 321 322 323
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
324
ifeq ($(CONFIG_MOTION_VAR),yes)
325
DSP_SRCS-$(HAVE_SSE4_1) += x86/obmc_sad_sse4.c
326
DSP_SRCS-$(HAVE_SSE4_1) += x86/obmc_variance_sse4.c
Yue Chen's avatar
Yue Chen committed
327
endif  #CONFIG_MOTION_VAR
Yaowu Xu's avatar
Yaowu Xu committed
328
endif  #CONFIG_AV1_ENCODER
329

James Zern's avatar
James Zern committed
330 331
DSP_SRCS-$(HAVE_SSE)    += x86/sad4d_sse2.asm
DSP_SRCS-$(HAVE_SSE)    += x86/sad_sse2.asm
Johann's avatar
Johann committed
332 333
DSP_SRCS-$(HAVE_SSE2)   += x86/sad4d_sse2.asm
DSP_SRCS-$(HAVE_SSE2)   += x86/sad_sse2.asm
334
DSP_SRCS-$(HAVE_SSE2)   += x86/subtract_sse2.asm
335

Yaowu Xu's avatar
Yaowu Xu committed
336
ifeq ($(CONFIG_AOM_HIGHBITDEPTH),yes)
Johann's avatar
Johann committed
337 338
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
339
endif  # CONFIG_AOM_HIGHBITDEPTH
340

Johann's avatar
Johann committed
341 342
endif  # CONFIG_ENCODERS

Yaowu Xu's avatar
Yaowu Xu committed
343
ifneq ($(filter yes,$(CONFIG_ENCODERS)),)
Johann's avatar
Johann committed
344
DSP_SRCS-yes            += variance.c
Johann's avatar
Johann committed
345
DSP_SRCS-yes            += variance.h
Johann's avatar
Johann committed
346

Johann's avatar
Johann committed
347 348 349 350 351
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
352
DSP_SRCS-$(HAVE_MEDIA)  += arm/variance_media$(ASM)
Johann's avatar
Johann committed
353
DSP_SRCS-$(HAVE_NEON)   += arm/subpel_variance_neon.c
Johann's avatar
Johann committed
354 355
DSP_SRCS-$(HAVE_NEON)   += arm/variance_neon.c

Johann's avatar
Johann committed
356
DSP_SRCS-$(HAVE_MSA)    += mips/variance_msa.c
Johann's avatar
Johann committed
357
DSP_SRCS-$(HAVE_MSA)    += mips/sub_pixel_variance_msa.c
Johann's avatar
Johann committed
358

James Zern's avatar
James Zern committed
359
DSP_SRCS-$(HAVE_SSE)    += x86/variance_sse2.c
Johann's avatar
Johann committed
360
DSP_SRCS-$(HAVE_SSE2)   += x86/variance_sse2.c  # Contains SSE2 and SSSE3
Johann's avatar
Johann committed
361 362
DSP_SRCS-$(HAVE_SSE2)   += x86/halfpix_variance_sse2.c
DSP_SRCS-$(HAVE_SSE2)   += x86/halfpix_variance_impl_sse2.asm
Johann's avatar
Johann committed
363 364 365
DSP_SRCS-$(HAVE_AVX2)   += x86/variance_avx2.c
DSP_SRCS-$(HAVE_AVX2)   += x86/variance_impl_avx2.c

366 367 368 369
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
370
DSP_SRCS-$(HAVE_SSE)    += x86/subpel_variance_sse2.asm
Johann's avatar
Johann committed
371 372
DSP_SRCS-$(HAVE_SSE2)   += x86/subpel_variance_sse2.asm  # Contains SSE2 and SSSE3

Yaowu Xu's avatar
Yaowu Xu committed
373
ifeq ($(CONFIG_AOM_HIGHBITDEPTH),yes)
Johann's avatar
Johann committed
374
DSP_SRCS-$(HAVE_SSE2)   += x86/highbd_variance_sse2.c
375
DSP_SRCS-$(HAVE_SSE4_1) += x86/highbd_variance_sse4.c
Johann's avatar
Johann committed
376
DSP_SRCS-$(HAVE_SSE2)   += x86/highbd_variance_impl_sse2.asm
Johann's avatar
Johann committed
377
DSP_SRCS-$(HAVE_SSE2)   += x86/highbd_subpel_variance_impl_sse2.asm
Yaowu Xu's avatar
Yaowu Xu committed
378
endif  # CONFIG_AOM_HIGHBITDEPTH
Yaowu Xu's avatar
Yaowu Xu committed
379
endif  # CONFIG_ENCODERS
Johann's avatar
Johann committed
380

Johann's avatar
Johann committed
381 382
DSP_SRCS-no += $(DSP_SRCS_REMOVE-yes)

Yaowu Xu's avatar
Yaowu Xu committed
383 384
DSP_SRCS-yes += aom_dsp_rtcd.c
DSP_SRCS-yes += aom_dsp_rtcd_defs.pl
Johann's avatar
Johann committed
385

386 387
DSP_SRCS-yes += aom_simd.c

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