1 ## 2 ## Copyright (c) 2015 The WebM project authors. All Rights Reserved. 3 ## 4 ## Use of this source code is governed by a BSD-style license 5 ## that can be found in the LICENSE file in the root of the source 6 ## tree. An additional intellectual property rights grant can be found 7 ## in the file PATENTS. All contributing project authors may 8 ## be found in the AUTHORS file in the root of the source tree. 9 ## 10 11 DSP_SRCS-yes += vpx_dsp.mk 12 DSP_SRCS-yes += vpx_dsp_common.h 13 14 DSP_SRCS-$(HAVE_MSA) += mips/macros_msa.h 15 16 DSP_SRCS-$(HAVE_AVX2) += x86/bitdepth_conversion_avx2.h 17 DSP_SRCS-$(HAVE_SSE2) += x86/bitdepth_conversion_sse2.h 18 # This file is included in libs.mk. Including it here would cause it to be 19 # compiled into an object. Even as an empty file, this would create an 20 # executable section on the stack. 21 #DSP_SRCS-$(HAVE_SSE2) += x86/bitdepth_conversion_sse2$(ASM) 22 23 # bit reader 24 DSP_SRCS-yes += prob.h 25 DSP_SRCS-yes += prob.c 26 27 ifeq ($(CONFIG_ENCODERS),yes) 28 DSP_SRCS-yes += bitwriter.h 29 DSP_SRCS-yes += bitwriter.c 30 DSP_SRCS-yes += bitwriter_buffer.c 31 DSP_SRCS-yes += bitwriter_buffer.h 32 DSP_SRCS-yes += psnr.c 33 DSP_SRCS-yes += psnr.h 34 DSP_SRCS-$(CONFIG_INTERNAL_STATS) += ssim.c 35 DSP_SRCS-$(CONFIG_INTERNAL_STATS) += ssim.h 36 DSP_SRCS-$(CONFIG_INTERNAL_STATS) += psnrhvs.c 37 DSP_SRCS-$(CONFIG_INTERNAL_STATS) += fastssim.c 38 endif 39 40 ifeq ($(CONFIG_DECODERS),yes) 41 DSP_SRCS-yes += bitreader.h 42 DSP_SRCS-yes += bitreader.c 43 DSP_SRCS-yes += bitreader_buffer.c 44 DSP_SRCS-yes += bitreader_buffer.h 45 endif 46 47 # intra predictions 48 DSP_SRCS-yes += intrapred.c 49 50 DSP_SRCS-$(HAVE_SSE) += x86/intrapred_sse2.asm 51 DSP_SRCS-$(HAVE_SSE2) += x86/intrapred_sse2.asm 52 DSP_SRCS-$(HAVE_SSSE3) += x86/intrapred_ssse3.asm 53 DSP_SRCS-$(HAVE_VSX) += ppc/intrapred_vsx.c 54 55 ifeq ($(CONFIG_VP9_HIGHBITDEPTH),yes) 56 DSP_SRCS-$(HAVE_SSE) += x86/highbd_intrapred_sse2.asm 57 DSP_SRCS-$(HAVE_SSE2) += x86/highbd_intrapred_sse2.asm 58 DSP_SRCS-$(HAVE_SSE2) += x86/highbd_intrapred_intrin_sse2.c 59 DSP_SRCS-$(HAVE_SSSE3) += x86/highbd_intrapred_intrin_ssse3.c 60 DSP_SRCS-$(HAVE_NEON) += arm/highbd_intrapred_neon.c 61 endif # CONFIG_VP9_HIGHBITDEPTH 62 63 ifneq ($(filter yes,$(CONFIG_POSTPROC) $(CONFIG_VP9_POSTPROC)),) 64 DSP_SRCS-yes += add_noise.c 65 DSP_SRCS-yes += deblock.c 66 DSP_SRCS-yes += postproc.h 67 DSP_SRCS-$(HAVE_MSA) += mips/add_noise_msa.c 68 DSP_SRCS-$(HAVE_MSA) += mips/deblock_msa.c 69 DSP_SRCS-$(HAVE_NEON) += arm/deblock_neon.c 70 DSP_SRCS-$(HAVE_SSE2) += x86/add_noise_sse2.asm 71 DSP_SRCS-$(HAVE_SSE2) += x86/deblock_sse2.asm 72 endif # CONFIG_POSTPROC 73 74 DSP_SRCS-$(HAVE_NEON_ASM) += arm/intrapred_neon_asm$(ASM) 75 DSP_SRCS-$(HAVE_NEON) += arm/intrapred_neon.c 76 DSP_SRCS-$(HAVE_MSA) += mips/intrapred_msa.c 77 DSP_SRCS-$(HAVE_DSPR2) += mips/intrapred4_dspr2.c 78 DSP_SRCS-$(HAVE_DSPR2) += mips/intrapred8_dspr2.c 79 DSP_SRCS-$(HAVE_DSPR2) += mips/intrapred16_dspr2.c 80 81 DSP_SRCS-$(HAVE_DSPR2) += mips/common_dspr2.h 82 DSP_SRCS-$(HAVE_DSPR2) += mips/common_dspr2.c 83 84 # interpolation filters 85 DSP_SRCS-yes += vpx_convolve.c 86 DSP_SRCS-yes += vpx_convolve.h 87 DSP_SRCS-yes += vpx_filter.h 88 89 DSP_SRCS-$(ARCH_X86)$(ARCH_X86_64) += x86/convolve.h 90 DSP_SRCS-$(ARCH_X86)$(ARCH_X86_64) += x86/vpx_asm_stubs.c 91 DSP_SRCS-$(HAVE_SSSE3) += x86/convolve_ssse3.h 92 DSP_SRCS-$(HAVE_AVX2) += x86/convolve_avx2.h 93 DSP_SRCS-$(HAVE_SSE2) += x86/vpx_subpixel_8t_sse2.asm 94 DSP_SRCS-$(HAVE_SSE2) += x86/vpx_subpixel_bilinear_sse2.asm 95 DSP_SRCS-$(HAVE_SSSE3) += x86/vpx_subpixel_8t_ssse3.asm 96 DSP_SRCS-$(HAVE_SSSE3) += x86/vpx_subpixel_bilinear_ssse3.asm 97 DSP_SRCS-$(HAVE_AVX2) += x86/vpx_subpixel_8t_intrin_avx2.c 98 DSP_SRCS-$(HAVE_SSSE3) += x86/vpx_subpixel_8t_intrin_ssse3.c 99 ifeq ($(CONFIG_VP9_HIGHBITDEPTH),yes) 100 DSP_SRCS-$(HAVE_SSE2) += x86/vpx_high_subpixel_8t_sse2.asm 101 DSP_SRCS-$(HAVE_SSE2) += x86/vpx_high_subpixel_bilinear_sse2.asm 102 DSP_SRCS-$(HAVE_AVX2) += x86/highbd_convolve_avx2.c 103 DSP_SRCS-$(HAVE_NEON) += arm/highbd_vpx_convolve_copy_neon.c 104 DSP_SRCS-$(HAVE_NEON) += arm/highbd_vpx_convolve_avg_neon.c 105 DSP_SRCS-$(HAVE_NEON) += arm/highbd_vpx_convolve8_neon.c 106 DSP_SRCS-$(HAVE_NEON) += arm/highbd_vpx_convolve_neon.c 107 endif 108 109 DSP_SRCS-$(HAVE_SSE2) += x86/vpx_convolve_copy_sse2.asm 110 DSP_SRCS-$(HAVE_NEON) += arm/vpx_scaled_convolve8_neon.c 111 112 ifeq ($(HAVE_NEON_ASM),yes) 113 DSP_SRCS-yes += arm/vpx_convolve_copy_neon_asm$(ASM) 114 DSP_SRCS-yes += arm/vpx_convolve8_avg_neon_asm$(ASM) 115 DSP_SRCS-yes += arm/vpx_convolve8_neon_asm$(ASM) 116 DSP_SRCS-yes += arm/vpx_convolve_avg_neon_asm$(ASM) 117 DSP_SRCS-yes += arm/vpx_convolve_neon.c 118 else 119 ifeq ($(HAVE_NEON),yes) 120 DSP_SRCS-yes += arm/vpx_convolve_copy_neon.c 121 DSP_SRCS-yes += arm/vpx_convolve8_neon.c 122 DSP_SRCS-yes += arm/vpx_convolve_avg_neon.c 123 DSP_SRCS-yes += arm/vpx_convolve_neon.c 124 endif # HAVE_NEON 125 endif # HAVE_NEON_ASM 126 127 # common (msa) 128 DSP_SRCS-$(HAVE_MSA) += mips/vpx_convolve8_avg_horiz_msa.c 129 DSP_SRCS-$(HAVE_MSA) += mips/vpx_convolve8_avg_msa.c 130 DSP_SRCS-$(HAVE_MSA) += mips/vpx_convolve8_avg_vert_msa.c 131 DSP_SRCS-$(HAVE_MSA) += mips/vpx_convolve8_horiz_msa.c 132 DSP_SRCS-$(HAVE_MSA) += mips/vpx_convolve8_msa.c 133 DSP_SRCS-$(HAVE_MSA) += mips/vpx_convolve8_vert_msa.c 134 DSP_SRCS-$(HAVE_MSA) += mips/vpx_convolve_avg_msa.c 135 DSP_SRCS-$(HAVE_MSA) += mips/vpx_convolve_copy_msa.c 136 DSP_SRCS-$(HAVE_MSA) += mips/vpx_convolve_msa.h 137 138 # common (dspr2) 139 DSP_SRCS-$(HAVE_DSPR2) += mips/convolve_common_dspr2.h 140 DSP_SRCS-$(HAVE_DSPR2) += mips/convolve2_avg_dspr2.c 141 DSP_SRCS-$(HAVE_DSPR2) += mips/convolve2_avg_horiz_dspr2.c 142 DSP_SRCS-$(HAVE_DSPR2) += mips/convolve2_dspr2.c 143 DSP_SRCS-$(HAVE_DSPR2) += mips/convolve2_horiz_dspr2.c 144 DSP_SRCS-$(HAVE_DSPR2) += mips/convolve2_vert_dspr2.c 145 DSP_SRCS-$(HAVE_DSPR2) += mips/convolve8_avg_dspr2.c 146 DSP_SRCS-$(HAVE_DSPR2) += mips/convolve8_avg_horiz_dspr2.c 147 DSP_SRCS-$(HAVE_DSPR2) += mips/convolve8_dspr2.c 148 DSP_SRCS-$(HAVE_DSPR2) += mips/convolve8_horiz_dspr2.c 149 DSP_SRCS-$(HAVE_DSPR2) += mips/convolve8_vert_dspr2.c 150 151 DSP_SRCS-$(HAVE_VSX) += ppc/vpx_convolve_vsx.c 152 153 # loop filters 154 DSP_SRCS-yes += loopfilter.c 155 156 DSP_SRCS-$(ARCH_X86)$(ARCH_X86_64) += x86/loopfilter_sse2.c 157 DSP_SRCS-$(HAVE_AVX2) += x86/loopfilter_avx2.c 158 159 ifeq ($(HAVE_NEON_ASM),yes) 160 DSP_SRCS-yes += arm/loopfilter_16_neon$(ASM) 161 DSP_SRCS-yes += arm/loopfilter_8_neon$(ASM) 162 DSP_SRCS-yes += arm/loopfilter_4_neon$(ASM) 163 else 164 DSP_SRCS-$(HAVE_NEON) += arm/loopfilter_neon.c 165 endif # HAVE_NEON_ASM 166 167 DSP_SRCS-$(HAVE_MSA) += mips/loopfilter_msa.h 168 DSP_SRCS-$(HAVE_MSA) += mips/loopfilter_16_msa.c 169 DSP_SRCS-$(HAVE_MSA) += mips/loopfilter_8_msa.c 170 DSP_SRCS-$(HAVE_MSA) += mips/loopfilter_4_msa.c 171 DSP_SRCS-$(HAVE_DSPR2) += mips/loopfilter_filters_dspr2.h 172 DSP_SRCS-$(HAVE_DSPR2) += mips/loopfilter_filters_dspr2.c 173 DSP_SRCS-$(HAVE_DSPR2) += mips/loopfilter_macros_dspr2.h 174 DSP_SRCS-$(HAVE_DSPR2) += mips/loopfilter_masks_dspr2.h 175 DSP_SRCS-$(HAVE_DSPR2) += mips/loopfilter_mb_dspr2.c 176 DSP_SRCS-$(HAVE_DSPR2) += mips/loopfilter_mb_horiz_dspr2.c 177 DSP_SRCS-$(HAVE_DSPR2) += mips/loopfilter_mb_vert_dspr2.c 178 179 ifeq ($(CONFIG_VP9_HIGHBITDEPTH),yes) 180 DSP_SRCS-$(HAVE_NEON) += arm/highbd_loopfilter_neon.c 181 DSP_SRCS-$(HAVE_SSE2) += x86/highbd_loopfilter_sse2.c 182 endif # CONFIG_VP9_HIGHBITDEPTH 183 184 DSP_SRCS-yes += txfm_common.h 185 DSP_SRCS-$(HAVE_SSE2) += x86/txfm_common_sse2.h 186 DSP_SRCS-$(HAVE_MSA) += mips/txfm_macros_msa.h 187 # forward transform 188 ifeq ($(CONFIG_VP9_ENCODER),yes) 189 DSP_SRCS-yes += fwd_txfm.c 190 DSP_SRCS-yes += fwd_txfm.h 191 DSP_SRCS-$(HAVE_SSE2) += x86/fwd_txfm_sse2.h 192 DSP_SRCS-$(HAVE_SSE2) += x86/fwd_txfm_sse2.c 193 DSP_SRCS-$(HAVE_SSE2) += x86/fwd_txfm_impl_sse2.h 194 DSP_SRCS-$(HAVE_SSE2) += x86/fwd_dct32x32_impl_sse2.h 195 ifeq ($(ARCH_X86_64),yes) 196 DSP_SRCS-$(HAVE_SSSE3) += x86/fwd_txfm_ssse3_x86_64.asm 197 endif 198 DSP_SRCS-$(HAVE_AVX2) += x86/fwd_txfm_avx2.c 199 DSP_SRCS-$(HAVE_AVX2) += x86/fwd_dct32x32_impl_avx2.h 200 DSP_SRCS-$(HAVE_NEON) += arm/fdct_neon.c 201 DSP_SRCS-$(HAVE_NEON) += arm/fdct16x16_neon.c 202 DSP_SRCS-$(HAVE_NEON) += arm/fdct32x32_neon.c 203 DSP_SRCS-$(HAVE_NEON) += arm/fdct_partial_neon.c 204 DSP_SRCS-$(HAVE_NEON) += arm/fwd_txfm_neon.c 205 DSP_SRCS-$(HAVE_MSA) += mips/fwd_txfm_msa.h 206 DSP_SRCS-$(HAVE_MSA) += mips/fwd_txfm_msa.c 207 DSP_SRCS-$(HAVE_MSA) += mips/fwd_dct32x32_msa.c 208 endif # CONFIG_VP9_ENCODER 209 210 # inverse transform 211 ifeq ($(CONFIG_VP9),yes) 212 DSP_SRCS-yes += inv_txfm.h 213 DSP_SRCS-yes += inv_txfm.c 214 DSP_SRCS-$(HAVE_SSE2) += x86/inv_txfm_sse2.h 215 DSP_SRCS-$(HAVE_SSE2) += x86/inv_txfm_sse2.c 216 DSP_SRCS-$(HAVE_SSE2) += x86/inv_wht_sse2.asm 217 DSP_SRCS-$(HAVE_SSSE3) += x86/inv_txfm_ssse3.h 218 DSP_SRCS-$(HAVE_SSSE3) += x86/inv_txfm_ssse3.c 219 220 DSP_SRCS-$(HAVE_NEON_ASM) += arm/save_reg_neon$(ASM) 221 222 DSP_SRCS-$(HAVE_VSX) += ppc/inv_txfm_vsx.c 223 224 ifneq ($(CONFIG_VP9_HIGHBITDEPTH),yes) 225 DSP_SRCS-$(HAVE_MSA) += mips/inv_txfm_msa.h 226 DSP_SRCS-$(HAVE_MSA) += mips/idct4x4_msa.c 227 DSP_SRCS-$(HAVE_MSA) += mips/idct8x8_msa.c 228 DSP_SRCS-$(HAVE_MSA) += mips/idct16x16_msa.c 229 DSP_SRCS-$(HAVE_MSA) += mips/idct32x32_msa.c 230 231 DSP_SRCS-$(HAVE_DSPR2) += mips/inv_txfm_dspr2.h 232 DSP_SRCS-$(HAVE_DSPR2) += mips/itrans4_dspr2.c 233 DSP_SRCS-$(HAVE_DSPR2) += mips/itrans8_dspr2.c 234 DSP_SRCS-$(HAVE_DSPR2) += mips/itrans16_dspr2.c 235 DSP_SRCS-$(HAVE_DSPR2) += mips/itrans32_dspr2.c 236 DSP_SRCS-$(HAVE_DSPR2) += mips/itrans32_cols_dspr2.c 237 else # CONFIG_VP9_HIGHBITDEPTH 238 DSP_SRCS-$(HAVE_NEON) += arm/highbd_idct4x4_add_neon.c 239 DSP_SRCS-$(HAVE_NEON) += arm/highbd_idct8x8_add_neon.c 240 DSP_SRCS-$(HAVE_NEON) += arm/highbd_idct16x16_add_neon.c 241 DSP_SRCS-$(HAVE_NEON) += arm/highbd_idct32x32_add_neon.c 242 DSP_SRCS-$(HAVE_NEON) += arm/highbd_idct32x32_34_add_neon.c 243 DSP_SRCS-$(HAVE_NEON) += arm/highbd_idct32x32_135_add_neon.c 244 DSP_SRCS-$(HAVE_NEON) += arm/highbd_idct32x32_1024_add_neon.c 245 DSP_SRCS-$(HAVE_SSE2) += x86/highbd_inv_txfm_sse2.h 246 DSP_SRCS-$(HAVE_SSE2) += x86/highbd_idct4x4_add_sse2.c 247 DSP_SRCS-$(HAVE_SSE2) += x86/highbd_idct8x8_add_sse2.c 248 DSP_SRCS-$(HAVE_SSE2) += x86/highbd_idct16x16_add_sse2.c 249 DSP_SRCS-$(HAVE_SSE2) += x86/highbd_idct32x32_add_sse2.c 250 DSP_SRCS-$(HAVE_SSE4_1) += x86/highbd_inv_txfm_sse4.h 251 DSP_SRCS-$(HAVE_SSE4_1) += x86/highbd_idct4x4_add_sse4.c 252 DSP_SRCS-$(HAVE_SSE4_1) += x86/highbd_idct8x8_add_sse4.c 253 DSP_SRCS-$(HAVE_SSE4_1) += x86/highbd_idct16x16_add_sse4.c 254 DSP_SRCS-$(HAVE_SSE4_1) += x86/highbd_idct32x32_add_sse4.c 255 endif # !CONFIG_VP9_HIGHBITDEPTH 256 257 ifeq ($(HAVE_NEON_ASM),yes) 258 DSP_SRCS-yes += arm/idct_neon$(ASM) 259 DSP_SRCS-yes += arm/idct4x4_1_add_neon$(ASM) 260 DSP_SRCS-yes += arm/idct4x4_add_neon$(ASM) 261 else 262 DSP_SRCS-$(HAVE_NEON) += arm/idct4x4_1_add_neon.c 263 DSP_SRCS-$(HAVE_NEON) += arm/idct4x4_add_neon.c 264 endif # HAVE_NEON_ASM 265 DSP_SRCS-$(HAVE_NEON) += arm/idct_neon.h 266 DSP_SRCS-$(HAVE_NEON) += arm/idct8x8_1_add_neon.c 267 DSP_SRCS-$(HAVE_NEON) += arm/idct8x8_add_neon.c 268 DSP_SRCS-$(HAVE_NEON) += arm/idct16x16_1_add_neon.c 269 DSP_SRCS-$(HAVE_NEON) += arm/idct16x16_add_neon.c 270 DSP_SRCS-$(HAVE_NEON) += arm/idct32x32_1_add_neon.c 271 DSP_SRCS-$(HAVE_NEON) += arm/idct32x32_34_add_neon.c 272 DSP_SRCS-$(HAVE_NEON) += arm/idct32x32_135_add_neon.c 273 DSP_SRCS-$(HAVE_NEON) += arm/idct32x32_add_neon.c 274 275 endif # CONFIG_VP9 276 277 # quantization 278 ifeq ($(CONFIG_VP9_ENCODER),yes) 279 DSP_SRCS-yes += quantize.c 280 DSP_SRCS-yes += quantize.h 281 282 DSP_SRCS-$(HAVE_SSE2) += x86/quantize_x86.h 283 DSP_SRCS-$(HAVE_SSE2) += x86/quantize_sse2.c 284 DSP_SRCS-$(HAVE_SSSE3) += x86/quantize_ssse3.c 285 DSP_SRCS-$(HAVE_AVX) += x86/quantize_avx.c 286 DSP_SRCS-$(HAVE_NEON) += arm/quantize_neon.c 287 ifeq ($(CONFIG_VP9_HIGHBITDEPTH),yes) 288 DSP_SRCS-$(HAVE_SSE2) += x86/highbd_quantize_intrin_sse2.c 289 endif 290 291 # avg 292 DSP_SRCS-yes += avg.c 293 DSP_SRCS-$(HAVE_SSE2) += x86/avg_intrin_sse2.c 294 DSP_SRCS-$(HAVE_AVX2) += x86/avg_intrin_avx2.c 295 DSP_SRCS-$(HAVE_NEON) += arm/avg_neon.c 296 DSP_SRCS-$(HAVE_NEON) += arm/hadamard_neon.c 297 DSP_SRCS-$(HAVE_MSA) += mips/avg_msa.c 298 ifeq ($(ARCH_X86_64),yes) 299 DSP_SRCS-$(HAVE_SSSE3) += x86/avg_ssse3_x86_64.asm 300 endif 301 DSP_SRCS-$(HAVE_VSX) += ppc/hadamard_vsx.c 302 303 endif # CONFIG_VP9_ENCODER 304 305 # skin detection 306 DSP_SRCS-yes += skin_detection.h 307 DSP_SRCS-yes += skin_detection.c 308 309 ifeq ($(CONFIG_ENCODERS),yes) 310 DSP_SRCS-yes += sad.c 311 DSP_SRCS-yes += subtract.c 312 DSP_SRCS-yes += sum_squares.c 313 DSP_SRCS-$(HAVE_SSE2) += x86/sum_squares_sse2.c 314 DSP_SRCS-$(HAVE_MSA) += mips/sum_squares_msa.c 315 316 DSP_SRCS-$(HAVE_NEON) += arm/sad4d_neon.c 317 DSP_SRCS-$(HAVE_NEON) += arm/sad_neon.c 318 DSP_SRCS-$(HAVE_NEON) += arm/subtract_neon.c 319 320 DSP_SRCS-$(HAVE_MSA) += mips/sad_msa.c 321 DSP_SRCS-$(HAVE_MSA) += mips/subtract_msa.c 322 323 DSP_SRCS-$(HAVE_MMI) += mips/sad_mmi.c 324 DSP_SRCS-$(HAVE_MMI) += mips/subtract_mmi.c 325 326 DSP_SRCS-$(HAVE_SSE3) += x86/sad_sse3.asm 327 DSP_SRCS-$(HAVE_SSSE3) += x86/sad_ssse3.asm 328 DSP_SRCS-$(HAVE_SSE4_1) += x86/sad_sse4.asm 329 DSP_SRCS-$(HAVE_AVX2) += x86/sad4d_avx2.c 330 DSP_SRCS-$(HAVE_AVX2) += x86/sad_avx2.c 331 DSP_SRCS-$(HAVE_AVX512) += x86/sad4d_avx512.c 332 333 DSP_SRCS-$(HAVE_SSE) += x86/sad4d_sse2.asm 334 DSP_SRCS-$(HAVE_SSE) += x86/sad_sse2.asm 335 DSP_SRCS-$(HAVE_SSE2) += x86/sad4d_sse2.asm 336 DSP_SRCS-$(HAVE_SSE2) += x86/sad_sse2.asm 337 DSP_SRCS-$(HAVE_SSE2) += x86/subtract_sse2.asm 338 339 DSP_SRCS-$(HAVE_VSX) += ppc/sad_vsx.c 340 341 ifeq ($(CONFIG_VP9_HIGHBITDEPTH),yes) 342 DSP_SRCS-$(HAVE_SSE2) += x86/highbd_sad4d_sse2.asm 343 DSP_SRCS-$(HAVE_SSE2) += x86/highbd_sad_sse2.asm 344 endif # CONFIG_VP9_HIGHBITDEPTH 345 346 endif # CONFIG_ENCODERS 347 348 ifneq ($(filter yes,$(CONFIG_ENCODERS) $(CONFIG_POSTPROC) $(CONFIG_VP9_POSTPROC)),) 349 DSP_SRCS-yes += variance.c 350 DSP_SRCS-yes += variance.h 351 352 DSP_SRCS-$(HAVE_NEON) += arm/avg_pred_neon.c 353 DSP_SRCS-$(HAVE_NEON) += arm/subpel_variance_neon.c 354 DSP_SRCS-$(HAVE_NEON) += arm/variance_neon.c 355 356 DSP_SRCS-$(HAVE_MSA) += mips/variance_msa.c 357 DSP_SRCS-$(HAVE_MSA) += mips/sub_pixel_variance_msa.c 358 359 DSP_SRCS-$(HAVE_MMI) += mips/variance_mmi.c 360 361 DSP_SRCS-$(HAVE_SSE) += x86/variance_sse2.c 362 DSP_SRCS-$(HAVE_SSE2) += x86/avg_pred_sse2.c 363 DSP_SRCS-$(HAVE_SSE2) += x86/variance_sse2.c # Contains SSE2 and SSSE3 364 DSP_SRCS-$(HAVE_AVX2) += x86/variance_avx2.c 365 DSP_SRCS-$(HAVE_VSX) += ppc/variance_vsx.c 366 367 ifeq ($(ARCH_X86_64),yes) 368 DSP_SRCS-$(HAVE_SSE2) += x86/ssim_opt_x86_64.asm 369 endif # ARCH_X86_64 370 371 DSP_SRCS-$(HAVE_SSE) += x86/subpel_variance_sse2.asm 372 DSP_SRCS-$(HAVE_SSE2) += x86/subpel_variance_sse2.asm # Contains SSE2 and SSSE3 373 374 ifeq ($(CONFIG_VP9_HIGHBITDEPTH),yes) 375 DSP_SRCS-$(HAVE_SSE2) += x86/highbd_variance_sse2.c 376 DSP_SRCS-$(HAVE_SSE2) += x86/highbd_variance_impl_sse2.asm 377 DSP_SRCS-$(HAVE_SSE2) += x86/highbd_subpel_variance_impl_sse2.asm 378 endif # CONFIG_VP9_HIGHBITDEPTH 379 endif # CONFIG_ENCODERS || CONFIG_POSTPROC || CONFIG_VP9_POSTPROC 380 381 # Neon utilities 382 DSP_SRCS-$(HAVE_NEON) += arm/mem_neon.h 383 DSP_SRCS-$(HAVE_NEON) += arm/sum_neon.h 384 DSP_SRCS-$(HAVE_NEON) += arm/transpose_neon.h 385 DSP_SRCS-$(HAVE_NEON) += arm/vpx_convolve8_neon.h 386 387 # PPC VSX utilities 388 DSP_SRCS-$(HAVE_VSX) += ppc/types_vsx.h 389 DSP_SRCS-$(HAVE_VSX) += ppc/transpose_vsx.h 390 DSP_SRCS-$(HAVE_VSX) += ppc/bitdepth_conversion_vsx.h 391 392 # X86 utilities 393 DSP_SRCS-$(HAVE_SSE2) += x86/mem_sse2.h 394 DSP_SRCS-$(HAVE_SSE2) += x86/transpose_sse2.h 395 396 DSP_SRCS-no += $(DSP_SRCS_REMOVE-yes) 397 398 DSP_SRCS-yes += vpx_dsp_rtcd.c 399 DSP_SRCS-yes += vpx_dsp_rtcd_defs.pl 400 401 $(eval $(call rtcd_h_template,vpx_dsp_rtcd,vpx_dsp/vpx_dsp_rtcd_defs.pl)) 402