Home | History | Annotate | Download | only in vpx_dsp
      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