LCOV - code coverage report
Current view: top level - Codec - aom_dsp_rtcd.c (source / functions) Hit Total Coverage
Test: coverage.info Lines: 1395 1413 98.7 %
Date: 2019-11-25 17:38:06 Functions: 4 6 66.7 %

          Line data    Source code
       1             : /*
       2             : * Copyright(c) 2019 Intel Corporation
       3             : * SPDX - License - Identifier: BSD - 2 - Clause - Patent
       4             : */
       5             : 
       6             : /*
       7             : * Copyright (c) 2016, Alliance for Open Media. All rights reserved
       8             : *
       9             : * This source code is subject to the terms of the BSD 2 Clause License and
      10             : * the Alliance for Open Media Patent License 1.0. If the BSD 2 Clause License
      11             : * was not distributed with this source code in the LICENSE file, you can
      12             : * obtain it at www.aomedia.org/license/software. If the Alliance for Open
      13             : * Media Patent License 1.0 was not distributed with this source code in the
      14             : * PATENTS file, you can obtain it at www.aomedia.org/license/patent.
      15             : */
      16             : 
      17             : #define RTCD_C
      18             : #include "aom_dsp_rtcd.h"
      19             : #include "EbComputeSAD_C.h"
      20             : #include "EbComputeSAD_SSE4_1.h"
      21             : #include "EbComputeSAD_AVX2.h"
      22             : #include "EbPictureAnalysisProcess.h"
      23             : #include "EbTemporalFiltering.h"
      24             : #include "EbTemporalFiltering_sse4.h"
      25             : #include "EbComputeSAD.h"
      26             : #include "EbMotionEstimation.h"
      27             : #include "EbPictureOperators.h"
      28             : #include "EbPackUnPack_C.h"
      29             : #include "EbPackUnPack_SSE2.h"
      30             : #include "EbPackUnPack_AVX2.h"
      31             : #include "EbMcp_SSE2.h"
      32             : #include "EbAvcStyleMcp_SSSE3.h"
      33             : #include "EbComputeMean_SSE2.h"
      34             : #include "EbCombinedAveragingSAD_Intrinsic_AVX2.h"
      35             : #include "EbComputeMean.h"
      36             : #include "EbHmCode.h"
      37             : #include "EbMeSadCalculation.h"
      38             : 
      39             :  /**************************************
      40             :  * Instruction Set Support
      41             :  **************************************/
      42             : 
      43             :  // Helper Functions
      44           9 : static INLINE void RunCpuid(uint32_t eax, uint32_t ecx, int32_t* abcd)
      45             : {
      46             : #ifdef _WIN32
      47             :     __cpuidex(abcd, eax, ecx);
      48             : #else
      49           9 :     uint32_t ebx = 0, edx = 0;
      50             : # if defined( __i386__ ) && defined ( __PIC__ )
      51             :     /* in case of PIC under 32-bit EBX cannot be clobbered */
      52             :     __asm__("movl %%ebx, %%edi \n\t cpuid \n\t xchgl %%ebx, %%edi" : "=D" (ebx),
      53             : # else
      54           9 :     __asm__("cpuid" : "+b" (ebx),
      55             : # endif
      56             :         "+a" (eax), "+c" (ecx), "=d" (edx));
      57           9 :     abcd[0] = eax; abcd[1] = ebx; abcd[2] = ecx; abcd[3] = edx;
      58             : #endif
      59           9 : }
      60             : 
      61           3 : static INLINE int32_t CheckXcr0Ymm()
      62             : {
      63             :     uint32_t xcr0;
      64             : #ifdef _WIN32
      65             :     xcr0 = (uint32_t)_xgetbv(0);  /* min VS2010 SP1 compiler is required */
      66             : #else
      67           3 :     __asm__("xgetbv" : "=a" (xcr0) : "c" (0) : "%edx");
      68             : #endif
      69           3 :     return ((xcr0 & 6) == 6); /* checking if xmm and ymm state are enabled in XCR0 */
      70             : }
      71             : 
      72           3 : int32_t Check4thGenIntelCoreFeatures()
      73             : {
      74             :     int32_t abcd[4];
      75           3 :     int32_t fma_movbe_osxsave_mask = ((1 << 12) | (1 << 22) | (1 << 27));
      76           3 :     int32_t avx2_bmi12_mask = (1 << 5) | (1 << 3) | (1 << 8);
      77             : 
      78             :     /* CPUID.(EAX=01H, ECX=0H):ECX.FMA[bit 12]==1   &&
      79             :     CPUID.(EAX=01H, ECX=0H):ECX.MOVBE[bit 22]==1 &&
      80             :     CPUID.(EAX=01H, ECX=0H):ECX.OSXSAVE[bit 27]==1 */
      81           3 :     RunCpuid(1, 0, abcd);
      82           3 :     if ((abcd[2] & fma_movbe_osxsave_mask) != fma_movbe_osxsave_mask)
      83           0 :         return 0;
      84             : 
      85           3 :     if (!CheckXcr0Ymm())
      86           0 :         return 0;
      87             : 
      88             :     /*  CPUID.(EAX=07H, ECX=0H):EBX.AVX2[bit 5]==1  &&
      89             :     CPUID.(EAX=07H, ECX=0H):EBX.BMI1[bit 3]==1  &&
      90             :     CPUID.(EAX=07H, ECX=0H):EBX.BMI2[bit 8]==1  */
      91           3 :     RunCpuid(7, 0, abcd);
      92           3 :     if ((abcd[1] & avx2_bmi12_mask) != avx2_bmi12_mask)
      93           0 :         return 0;
      94             :     /* CPUID.(EAX=80000001H):ECX.LZCNT[bit 5]==1 */
      95           3 :     RunCpuid(0x80000001, 0, abcd);
      96           3 :     if ((abcd[2] & (1 << 5)) == 0)
      97           0 :         return 0;
      98           3 :     return 1;
      99             : }
     100             : 
     101           0 : static INLINE int CheckXcr0Zmm()
     102             : {
     103             :     uint32_t xcr0;
     104           0 :     uint32_t zmm_ymm_xmm = (7 << 5) | (1 << 2) | (1 << 1);
     105             : #ifdef _WIN32
     106             :     xcr0 = (uint32_t)_xgetbv(0);  /* min VS2010 SP1 compiler is required */
     107             : #else
     108           0 :     __asm__("xgetbv" : "=a" (xcr0) : "c" (0) : "%edx");
     109             : #endif
     110           0 :     return ((xcr0 & zmm_ymm_xmm) == zmm_ymm_xmm); /* check if xmm, ymm and zmm state are enabled in XCR0 */
     111             : }
     112             : 
     113           0 : int32_t CanUseIntelAVX512()
     114             : {
     115             :     int abcd[4];
     116             : 
     117             :     /*  CPUID.(EAX=07H, ECX=0):EBX[bit 16]==1 AVX512F
     118             :     CPUID.(EAX=07H, ECX=0):EBX[bit 17] AVX512DQ
     119             :     CPUID.(EAX=07H, ECX=0):EBX[bit 28] AVX512CD
     120             :     CPUID.(EAX=07H, ECX=0):EBX[bit 30] AVX512BW
     121             :     CPUID.(EAX=07H, ECX=0):EBX[bit 31] AVX512VL */
     122             : 
     123           0 :     int avx512_ebx_mask =
     124             :         (1 << 16)  // AVX-512F
     125             :         | (1 << 17)  // AVX-512DQ
     126             :         | (1 << 28)  // AVX-512CD
     127             :         | (1 << 30)  // AVX-512BW
     128             :         | (1 << 31); // AVX-512VL
     129             : 
     130           0 :     if (!Check4thGenIntelCoreFeatures())
     131           0 :         return 0;
     132             : 
     133             :     // ensure OS supports ZMM registers (and YMM, and XMM)
     134           0 :     if (!CheckXcr0Zmm())
     135           0 :         return 0;
     136             : 
     137           0 :     RunCpuid(7, 0, abcd);
     138           0 :     if ((abcd[1] & avx512_ebx_mask) != avx512_ebx_mask)
     139           0 :         return 0;
     140             : 
     141           0 :     return 1;
     142             : }
     143             : 
     144             : #ifndef NON_AVX512_SUPPORT
     145             : #define SET_FUNCTIONS(ptr, c, mmx, sse, sse2, sse3, ssse3, sse4_1, sse4_2, avx, avx2, avx512) \
     146             : do { ptr = c;\
     147             :     if (((uintptr_t)NULL != (uintptr_t)mmx) && (flags & HAS_MMX)) ptr = mmx; \
     148             :     if (((uintptr_t)NULL != (uintptr_t)sse) && (flags & HAS_SSE)) ptr = sse; \
     149             :     if (((uintptr_t)NULL != (uintptr_t)sse2) && (flags & HAS_SSE2)) ptr = sse2; \
     150             :     if (((uintptr_t)NULL != (uintptr_t)sse3) && (flags & HAS_SSE3)) ptr = sse3; \
     151             :     if (((uintptr_t)NULL != (uintptr_t)ssse3) && (flags & HAS_SSSE3)) ptr = ssse3; \
     152             :     if (((uintptr_t)NULL != (uintptr_t)sse4_1) && (flags & HAS_SSE4_1)) ptr = sse4_1; \
     153             :     if (((uintptr_t)NULL != (uintptr_t)sse4_2) && (flags & HAS_SSE4_2)) ptr = sse4_2; \
     154             :     if (((uintptr_t)NULL != (uintptr_t)avx) && (flags & HAS_AVX)) ptr = avx; \
     155             :     if (((uintptr_t)NULL != (uintptr_t)avx2) && (flags & HAS_AVX2)) ptr = avx2; \
     156             :     if (((uintptr_t)NULL != (uintptr_t)avx512) && use_avx512) ptr = avx512; \
     157             : } while(0)
     158             : #else
     159             : #define SET_FUNCTIONS(ptr, c, mmx, sse, sse2, sse3, ssse3, sse4_1, sse4_2, avx, avx2, avx512) \
     160             : do { ptr = c;\
     161             :     if (((uintptr_t)NULL != (uintptr_t)mmx) && (flags & HAS_MMX)) ptr = mmx; \
     162             :     if (((uintptr_t)NULL != (uintptr_t)sse) && (flags & HAS_SSE)) ptr = sse; \
     163             :     if (((uintptr_t)NULL != (uintptr_t)sse2) && (flags & HAS_SSE2)) ptr = sse2; \
     164             :     if (((uintptr_t)NULL != (uintptr_t)sse3) && (flags & HAS_SSE3)) ptr = sse3; \
     165             :     if (((uintptr_t)NULL != (uintptr_t)ssse3) && (flags & HAS_SSSE3)) ptr = ssse3; \
     166             :     if (((uintptr_t)NULL != (uintptr_t)sse4_1) && (flags & HAS_SSE4_1)) ptr = sse4_1; \
     167             :     if (((uintptr_t)NULL != (uintptr_t)sse4_2) && (flags & HAS_SSE4_2)) ptr = sse4_2; \
     168             :     if (((uintptr_t)NULL != (uintptr_t)avx) && (flags & HAS_AVX)) ptr = avx; \
     169             :     if (((uintptr_t)NULL != (uintptr_t)avx2) && (flags & HAS_AVX2)) ptr = avx2; \
     170             : } while(0)
     171             : #endif
     172             : 
     173             : #define SET_SSE2(ptr, c, sse2) SET_FUNCTIONS(ptr, c, 0, 0, sse2, 0, 0, 0, 0, 0, 0, 0)
     174             : #define SET_SSE2_AVX2(ptr, c, sse2, avx2) SET_FUNCTIONS(ptr, c, 0, 0, sse2, 0, 0, 0, 0, 0, avx2, 0)
     175             : #define SET_SSSE3(ptr, c, ssse3) SET_FUNCTIONS(ptr, c, 0, 0, 0, 0, ssse3, 0, 0, 0, 0, 0)
     176             : #define SET_SSE41(ptr, c, sse4_1) SET_FUNCTIONS(ptr, c, 0, 0, 0, 0, 0, sse4_1, 0, 0, 0, 0)
     177             : #define SET_SSE41(ptr, c, sse4_1) SET_FUNCTIONS(ptr, c, 0, 0, 0, 0, 0, sse4_1, 0, 0, 0, 0)
     178             : #define SET_SSE41_AVX2(ptr, c, sse4_1, avx2) SET_FUNCTIONS(ptr, c, 0, 0, 0, 0, 0, sse4_1, 0, 0, avx2, 0)
     179             : #define SET_SSE41_AVX2_AVX512(ptr, c, sse4_1, avx2, avx512) SET_FUNCTIONS(ptr, c, 0, 0, 0, 0, 0, sse4_1, 0, 0, avx2, avx512)
     180             : #define SET_AVX2(ptr, c, avx2) SET_FUNCTIONS(ptr, c, 0, 0, 0, 0, 0, 0, 0, 0, avx2, 0)
     181             : #define SET_AVX2_AVX512(ptr, c, avx2, avx512) SET_FUNCTIONS(ptr, c, 0, 0, 0, 0, 0, 0, 0, 0, avx2, avx512)
     182             : 
     183             : 
     184           3 : void setup_rtcd_internal(EbAsm asm_type)
     185             : {
     186           3 :     int32_t flags = HAS_MMX | HAS_SSE | HAS_SSE2 | HAS_SSE3 | HAS_SSSE3 | HAS_SSE4_1 | HAS_SSE4_2 | HAS_AVX;
     187             : #ifndef NON_AVX512_SUPPORT
     188             :     int32_t use_avx512 = CanUseIntelAVX512();
     189             : #endif
     190             : 
     191           3 :     if (asm_type == ASM_AVX2)
     192           3 :         flags |= HAS_AVX2;
     193             :     //if (asm_type == ASM_NON_AVX2)
     194             :     //    flags = ~HAS_AVX2;
     195             : 
     196             :     //to use C: flags=0
     197             : 
     198           3 :     eb_apply_selfguided_restoration = eb_apply_selfguided_restoration_c;
     199           3 :     if (flags & HAS_AVX2) eb_apply_selfguided_restoration = eb_apply_selfguided_restoration_avx2;
     200             : 
     201           3 :     eb_av1_wiener_convolve_add_src = eb_av1_wiener_convolve_add_src_c;
     202           3 :     if (flags & HAS_AVX2) eb_av1_wiener_convolve_add_src = eb_av1_wiener_convolve_add_src_avx2;
     203             : 
     204           3 :     eb_av1_highbd_wiener_convolve_add_src = eb_av1_highbd_wiener_convolve_add_src_c;
     205           3 :     if (flags & HAS_AVX2) eb_av1_highbd_wiener_convolve_add_src = eb_av1_highbd_wiener_convolve_add_src_avx2;
     206             : 
     207           3 :     eb_av1_selfguided_restoration = eb_av1_selfguided_restoration_c;
     208           3 :     if (flags & HAS_AVX2) eb_av1_selfguided_restoration = eb_av1_selfguided_restoration_avx2;
     209           3 :     av1_build_compound_diffwtd_mask = av1_build_compound_diffwtd_mask_c;
     210           3 :     if (flags & HAS_AVX2) av1_build_compound_diffwtd_mask = av1_build_compound_diffwtd_mask_avx2;
     211           3 :     av1_wedge_sse_from_residuals = av1_wedge_sse_from_residuals_c;
     212           3 :     if (flags & HAS_AVX2) av1_wedge_sse_from_residuals = av1_wedge_sse_from_residuals_avx2;
     213           3 :     aom_subtract_block = aom_subtract_block_c;
     214           3 :     if (flags & HAS_AVX2) aom_subtract_block = aom_subtract_block_avx2;
     215           3 :     aom_sse = aom_sse_c;
     216           3 :     if (flags & HAS_AVX2) aom_sse = aom_sse_avx2;
     217           3 :     av1_build_compound_diffwtd_mask_d16 = av1_build_compound_diffwtd_mask_d16_c;
     218           3 :     if (flags & HAS_AVX2) av1_build_compound_diffwtd_mask_d16 = av1_build_compound_diffwtd_mask_d16_avx2;
     219           3 :     aom_lowbd_blend_a64_d16_mask = aom_lowbd_blend_a64_d16_mask_c;
     220           3 :     if (flags & HAS_AVX2) aom_lowbd_blend_a64_d16_mask = aom_lowbd_blend_a64_d16_mask_avx2;
     221           3 :     aom_highbd_blend_a64_d16_mask = aom_highbd_blend_a64_d16_mask_c;
     222           3 :     if (flags & HAS_AVX2) aom_highbd_blend_a64_d16_mask = aom_highbd_blend_a64_d16_mask_avx2;
     223             : 
     224           3 :     av1_wedge_compute_delta_squares = av1_wedge_compute_delta_squares_c;
     225           3 :     if (flags & HAS_AVX2) av1_wedge_compute_delta_squares = av1_wedge_compute_delta_squares_avx2;
     226           3 :     av1_wedge_sign_from_residuals = av1_wedge_sign_from_residuals_c;
     227           3 :     if (flags & HAS_AVX2) av1_wedge_sign_from_residuals = av1_wedge_sign_from_residuals_avx2;
     228             : 
     229           3 :     eb_cdef_find_dir = eb_cdef_find_dir_c;
     230           3 :     if (flags & HAS_AVX2) eb_cdef_find_dir = eb_cdef_find_dir_avx2;
     231             : 
     232           3 :     eb_cdef_filter_block = eb_cdef_filter_block_c;
     233           3 :     if (flags & HAS_AVX2) eb_cdef_filter_block = eb_cdef_filter_block_avx2;
     234           3 :     eb_compute_cdef_dist = compute_cdef_dist_c;
     235           3 :     if (flags & HAS_AVX2) eb_compute_cdef_dist = compute_cdef_dist_avx2;
     236           3 :     eb_compute_cdef_dist_8bit = compute_cdef_dist_8bit_c;
     237           3 :     if (flags & HAS_AVX2) eb_compute_cdef_dist_8bit = compute_cdef_dist_8bit_avx2;
     238             : 
     239             : #if PREDICT_NSQ_SHAPE
     240           3 :     spatial_full_distortion = spatial_full_distortion_helper;
     241           3 :     if (flags & HAS_AVX2) spatial_full_distortion = spatial_full_distortion_avx2_helper;
     242             : #endif
     243             : 
     244           3 :     eb_copy_rect8_8bit_to_16bit = eb_copy_rect8_8bit_to_16bit_c;
     245           3 :     if (flags & HAS_AVX2) eb_copy_rect8_8bit_to_16bit = eb_copy_rect8_8bit_to_16bit_avx2;
     246             : 
     247           3 :     eb_av1_compute_stats = eb_av1_compute_stats_c;
     248           3 :     if (flags & HAS_AVX2) eb_av1_compute_stats = eb_av1_compute_stats_avx2;
     249           3 :     eb_av1_compute_stats_highbd = eb_av1_compute_stats_highbd_c;
     250           3 :     if (flags & HAS_AVX2) eb_av1_compute_stats_highbd = eb_av1_compute_stats_highbd_avx2;
     251           3 :     eb_cdef_filter_block_8x8_16 = eb_cdef_filter_block_8x8_16_avx2; // It has no c version, and is only called in parent avx2 function, so it's safe to initialize to avx2 version.
     252             : #ifndef NON_AVX512_SUPPORT
     253             :     if (CanUseIntelAVX512()) {
     254             :         eb_cdef_filter_block_8x8_16 = eb_cdef_filter_block_8x8_16_avx512;
     255             :         eb_av1_compute_stats = eb_av1_compute_stats_avx512;
     256             :         eb_av1_compute_stats_highbd = eb_av1_compute_stats_highbd_avx512;
     257             :     }
     258             : #endif
     259             : 
     260           3 :     eb_av1_lowbd_pixel_proj_error = eb_av1_lowbd_pixel_proj_error_c;
     261           3 :     eb_av1_highbd_pixel_proj_error = eb_av1_highbd_pixel_proj_error_c;
     262           3 :     if (flags & HAS_AVX2) eb_av1_highbd_pixel_proj_error = eb_av1_highbd_pixel_proj_error_avx2;
     263           3 :     eb_av1_filter_intra_edge_high = eb_av1_filter_intra_edge_high_c;
     264           3 :     if (flags & HAS_SSE4_1) eb_av1_filter_intra_edge_high = eb_av1_filter_intra_edge_high_sse4_1;
     265           3 :     eb_av1_calc_frame_error = eb_av1_calc_frame_error_c;
     266           3 :     if (flags & HAS_AVX2) eb_av1_calc_frame_error = eb_av1_calc_frame_error_avx2;
     267           3 :     eb_av1_highbd_convolve_2d_copy_sr = eb_av1_highbd_convolve_2d_copy_sr_c;
     268           3 :     if (flags & HAS_AVX2) eb_av1_highbd_convolve_2d_copy_sr = eb_av1_highbd_convolve_2d_copy_sr_avx2;
     269           3 :     eb_av1_highbd_jnt_convolve_2d_copy = eb_av1_highbd_jnt_convolve_2d_copy_c;
     270           3 :     if (flags & HAS_AVX2) eb_av1_highbd_jnt_convolve_2d_copy = eb_av1_highbd_jnt_convolve_2d_copy_avx2;
     271           3 :     eb_av1_highbd_convolve_y_sr = eb_av1_highbd_convolve_y_sr_c;
     272           3 :     if (flags & HAS_AVX2) eb_av1_highbd_convolve_y_sr = eb_av1_highbd_convolve_y_sr_avx2;
     273           3 :     eb_av1_highbd_convolve_2d_sr = eb_av1_highbd_convolve_2d_sr_c;
     274           3 :     if (flags & HAS_AVX2) eb_av1_highbd_convolve_2d_sr = eb_av1_highbd_convolve_2d_sr_avx2;
     275             : 
     276           3 :     eb_av1_highbd_convolve_2d_scale = eb_av1_highbd_convolve_2d_scale_c;
     277             :     //if (flags & HAS_SSE4_1) eb_av1_highbd_convolve_2d_scale = eb_av1_highbd_convolve_2d_scale_sse4_1
     278             : 
     279           3 :     eb_av1_highbd_jnt_convolve_2d = eb_av1_highbd_jnt_convolve_2d_c;
     280           3 :     if (flags & HAS_AVX2) eb_av1_highbd_jnt_convolve_2d = eb_av1_highbd_jnt_convolve_2d_avx2;
     281           3 :     eb_av1_highbd_jnt_convolve_x = eb_av1_highbd_jnt_convolve_x_c;
     282           3 :     if (flags & HAS_AVX2) eb_av1_highbd_jnt_convolve_x = eb_av1_highbd_jnt_convolve_x_avx2;
     283           3 :     eb_av1_highbd_jnt_convolve_y = eb_av1_highbd_jnt_convolve_y_c;
     284           3 :     if (flags & HAS_AVX2) eb_av1_highbd_jnt_convolve_y = eb_av1_highbd_jnt_convolve_y_avx2;
     285           3 :     eb_av1_highbd_convolve_x_sr = eb_av1_highbd_convolve_x_sr_c;
     286           3 :     if (flags & HAS_AVX2) eb_av1_highbd_convolve_x_sr = eb_av1_highbd_convolve_x_sr_avx2;
     287           3 :     eb_subtract_average = eb_subtract_average_c;
     288           3 :     if (flags & HAS_AVX2) eb_subtract_average = eb_subtract_average_avx2;
     289             : 
     290           3 :     eb_av1_filter_intra_edge = eb_av1_filter_intra_edge_high_c_old;
     291             : 
     292           3 :     if (flags & HAS_SSE4_1) eb_av1_filter_intra_edge = eb_av1_filter_intra_edge_sse4_1;
     293             : 
     294           3 :     eb_smooth_v_predictor = smooth_v_predictor_c;
     295           3 :     if (flags & HAS_SSSE3) eb_smooth_v_predictor = eb_smooth_v_predictor_all_ssse3;
     296             : 
     297           3 :     eb_smooth_h_predictor = smooth_h_predictor_c;
     298           3 :     if (flags & HAS_SSSE3) eb_smooth_h_predictor = eb_smooth_h_predictor_all_ssse3;
     299             : 
     300           3 :     get_proj_subspace = get_proj_subspace_c;
     301           3 :     if (flags & HAS_AVX2) get_proj_subspace = get_proj_subspace_avx2;
     302             : 
     303           3 :     search_one_dual = search_one_dual_c;
     304           3 :     if (flags & HAS_AVX2) search_one_dual = search_one_dual_avx2;
     305             : 
     306           3 :     eb_aom_mse16x16 = eb_aom_mse16x16_c;
     307           3 :     if (flags & HAS_AVX2) eb_aom_mse16x16 = eb_aom_mse16x16_avx2;
     308             : 
     309           3 :     eb_av1_convolve_2d_copy_sr = eb_av1_convolve_2d_copy_sr_c;
     310           3 :     if (flags & HAS_AVX2) eb_av1_convolve_2d_copy_sr = eb_av1_convolve_2d_copy_sr_avx2;
     311             : 
     312           3 :     eb_av1_convolve_2d_sr = eb_av1_convolve_2d_sr_c;
     313           3 :     if (flags & HAS_AVX2) eb_av1_convolve_2d_sr = eb_av1_convolve_2d_sr_avx2;
     314             : 
     315           3 :     eb_av1_jnt_convolve_2d_copy = eb_av1_jnt_convolve_2d_copy_c;
     316           3 :     if (flags & HAS_AVX2) eb_av1_jnt_convolve_2d_copy = eb_av1_jnt_convolve_2d_copy_avx2;
     317             : 
     318           3 :     eb_av1_convolve_x_sr = eb_av1_convolve_x_sr_c;
     319           3 :     if (flags & HAS_AVX2) eb_av1_convolve_x_sr = eb_av1_convolve_x_sr_avx2;
     320           3 :     eb_av1_convolve_y_sr = eb_av1_convolve_y_sr_c;
     321           3 :     if (flags & HAS_AVX2) eb_av1_convolve_y_sr = eb_av1_convolve_y_sr_avx2;
     322             : 
     323           3 :     eb_av1_convolve_2d_scale = eb_av1_convolve_2d_scale_c;
     324             :     //if (flags & HAS_SSE4_1) eb_av1_convolve_2d_scale = eb_av1_convolve_2d_scale_sse4_1;
     325             : 
     326           3 :     eb_av1_jnt_convolve_x = eb_av1_jnt_convolve_x_c;
     327           3 :     if (flags & HAS_AVX2) eb_av1_jnt_convolve_x = eb_av1_jnt_convolve_x_avx2;
     328           3 :     eb_av1_jnt_convolve_y = eb_av1_jnt_convolve_y_c;
     329           3 :     if (flags & HAS_AVX2) eb_av1_jnt_convolve_y = eb_av1_jnt_convolve_y_avx2;
     330             : 
     331           3 :     eb_av1_jnt_convolve_2d = eb_av1_jnt_convolve_2d_c;
     332           3 :     if (flags & HAS_AVX2) eb_av1_jnt_convolve_2d = eb_av1_jnt_convolve_2d_avx2;
     333             : 
     334           3 :     eb_aom_quantize_b = eb_aom_quantize_b_c_II;
     335           3 :     if (flags & HAS_AVX2) eb_aom_quantize_b = eb_aom_quantize_b_avx2;
     336             : 
     337           3 :     eb_aom_quantize_b_32x32 = eb_aom_quantize_b_32x32_c_II;
     338           3 :     if (flags & HAS_AVX2) eb_aom_quantize_b_32x32 = eb_aom_quantize_b_32x32_avx2;
     339             : 
     340           3 :     eb_aom_highbd_quantize_b_32x32 = eb_aom_highbd_quantize_b_32x32_c;
     341           3 :     if (flags & HAS_AVX2) eb_aom_highbd_quantize_b_32x32 = eb_aom_highbd_quantize_b_32x32_avx2;
     342             : 
     343           3 :     eb_aom_highbd_quantize_b = eb_aom_highbd_quantize_b_c;
     344           3 :     if (flags & HAS_AVX2) eb_aom_highbd_quantize_b = eb_aom_highbd_quantize_b_avx2;
     345             : 
     346           3 :     eb_av1_inv_txfm2d_add_16x16 = eb_av1_inv_txfm2d_add_16x16_c;
     347           3 :     eb_av1_inv_txfm2d_add_32x32 = eb_av1_inv_txfm2d_add_32x32_c;
     348           3 :     eb_av1_inv_txfm2d_add_4x4 = eb_av1_inv_txfm2d_add_4x4_c;
     349           3 :     if (flags & HAS_AVX2) eb_av1_inv_txfm2d_add_4x4 = eb_av1_inv_txfm2d_add_4x4_avx2;
     350           3 :     eb_av1_inv_txfm2d_add_64x64 = eb_av1_inv_txfm2d_add_64x64_c;
     351           3 :     eb_av1_inv_txfm2d_add_8x8 = eb_av1_inv_txfm2d_add_8x8_c;
     352           3 :     if (flags & HAS_AVX2) eb_av1_inv_txfm2d_add_8x8 = eb_av1_inv_txfm2d_add_8x8_avx2;
     353             : 
     354           3 :     eb_av1_inv_txfm2d_add_8x16 = eb_av1_inv_txfm2d_add_8x16_c;
     355           3 :     if (flags & HAS_AVX2) eb_av1_inv_txfm2d_add_8x16 = eb_av1_highbd_inv_txfm_add_avx2;
     356           3 :     eb_av1_inv_txfm2d_add_16x8 = eb_av1_inv_txfm2d_add_16x8_c;
     357           3 :     if (flags & HAS_AVX2) eb_av1_inv_txfm2d_add_16x8 = eb_av1_highbd_inv_txfm_add_avx2;
     358           3 :     eb_av1_inv_txfm2d_add_16x32 = eb_av1_inv_txfm2d_add_16x32_c;
     359           3 :     eb_av1_inv_txfm2d_add_32x16 = eb_av1_inv_txfm2d_add_32x16_c;
     360           3 :     eb_av1_inv_txfm2d_add_32x8 = eb_av1_inv_txfm2d_add_32x8_c;
     361           3 :     if (flags & HAS_AVX2) eb_av1_inv_txfm2d_add_32x8 = eb_av1_highbd_inv_txfm_add_avx2;
     362           3 :     eb_av1_inv_txfm2d_add_8x32 = eb_av1_inv_txfm2d_add_8x32_c;
     363           3 :     if (flags & HAS_AVX2) eb_av1_inv_txfm2d_add_8x32 = eb_av1_highbd_inv_txfm_add_avx2;
     364           3 :     eb_av1_inv_txfm2d_add_32x64 = eb_av1_inv_txfm2d_add_32x64_c;
     365           3 :     eb_av1_inv_txfm2d_add_64x32 = eb_av1_inv_txfm2d_add_64x32_c;
     366           3 :     eb_av1_inv_txfm2d_add_16x64 = eb_av1_inv_txfm2d_add_16x64_c;
     367           3 :     eb_av1_inv_txfm2d_add_64x16 = eb_av1_inv_txfm2d_add_64x16_c;
     368           3 :     eb_av1_inv_txfm2d_add_4x8 = eb_av1_inv_txfm2d_add_4x8_c;
     369           3 :     if (flags & HAS_SSE4_1) eb_av1_inv_txfm2d_add_4x8 = eb_av1_inv_txfm2d_add_4x8_sse4_1;
     370           3 :     eb_av1_inv_txfm2d_add_8x4 = eb_av1_inv_txfm2d_add_8x4_c;
     371           3 :     if (flags & HAS_SSE4_1) eb_av1_inv_txfm2d_add_8x4 = eb_av1_inv_txfm2d_add_8x4_sse4_1;
     372           3 :     eb_av1_inv_txfm2d_add_4x16 = eb_av1_inv_txfm2d_add_4x16_c;
     373           3 :     if (flags & HAS_SSE4_1) eb_av1_inv_txfm2d_add_4x16 = eb_av1_inv_txfm2d_add_4x16_sse4_1;
     374           3 :     eb_av1_inv_txfm2d_add_16x4 = eb_av1_inv_txfm2d_add_16x4_c;
     375           3 :     if (flags & HAS_SSE4_1) eb_av1_inv_txfm2d_add_16x4 = eb_av1_inv_txfm2d_add_16x4_sse4_1;
     376             : 
     377             : #ifndef NON_AVX512_SUPPORT
     378             :     if (CanUseIntelAVX512()) {
     379             :         eb_av1_inv_txfm2d_add_16x16 = eb_av1_inv_txfm2d_add_16x16_avx512;
     380             :         eb_av1_inv_txfm2d_add_32x32 = eb_av1_inv_txfm2d_add_32x32_avx512;
     381             :         eb_av1_inv_txfm2d_add_64x64 = eb_av1_inv_txfm2d_add_64x64_avx512;
     382             :         eb_av1_inv_txfm2d_add_16x64 = eb_av1_inv_txfm2d_add_16x64_avx512;
     383             :         eb_av1_inv_txfm2d_add_64x16 = eb_av1_inv_txfm2d_add_64x16_avx512;
     384             :         eb_av1_inv_txfm2d_add_32x64 = eb_av1_inv_txfm2d_add_32x64_avx512;
     385             :         eb_av1_inv_txfm2d_add_64x32 = eb_av1_inv_txfm2d_add_64x32_avx512;
     386             :         eb_av1_inv_txfm2d_add_16x32 = eb_av1_inv_txfm2d_add_16x32_avx512;
     387             :         eb_av1_inv_txfm2d_add_32x16 = eb_av1_inv_txfm2d_add_32x16_avx512;
     388             :         eb_av1_lowbd_pixel_proj_error = eb_av1_lowbd_pixel_proj_error_avx512;
     389             :     }
     390             : #else
     391           3 :     if (flags & HAS_AVX2) eb_av1_inv_txfm2d_add_16x16 = eb_av1_inv_txfm2d_add_16x16_avx2;
     392           3 :     if (flags & HAS_AVX2) eb_av1_inv_txfm2d_add_32x32 = eb_av1_inv_txfm2d_add_32x32_avx2;
     393           3 :     if (flags & HAS_SSE4_1) eb_av1_inv_txfm2d_add_64x64 = eb_av1_inv_txfm2d_add_64x64_sse4_1;
     394           3 :     if (flags & HAS_AVX2) eb_av1_inv_txfm2d_add_16x64 = eb_av1_highbd_inv_txfm_add_avx2;
     395           3 :     if (flags & HAS_AVX2) eb_av1_inv_txfm2d_add_64x16 = eb_av1_highbd_inv_txfm_add_avx2;
     396           3 :     if (flags & HAS_AVX2) eb_av1_inv_txfm2d_add_32x64 = eb_av1_highbd_inv_txfm_add_avx2;
     397           3 :     if (flags & HAS_AVX2) eb_av1_inv_txfm2d_add_64x32 = eb_av1_highbd_inv_txfm_add_avx2;
     398           3 :     if (flags & HAS_AVX2) eb_av1_inv_txfm2d_add_16x32 = eb_av1_highbd_inv_txfm_add_avx2;
     399           3 :     if (flags & HAS_AVX2) eb_av1_inv_txfm2d_add_32x16 = eb_av1_highbd_inv_txfm_add_avx2;
     400           3 :     if (flags & HAS_AVX2) eb_av1_lowbd_pixel_proj_error = eb_av1_lowbd_pixel_proj_error_avx2;
     401             : #endif
     402           3 :     eb_av1_inv_txfm_add = eb_av1_inv_txfm_add_c;
     403           3 :     if (flags & HAS_SSSE3) eb_av1_inv_txfm_add = eb_av1_inv_txfm_add_ssse3;
     404           3 :     if (flags & HAS_AVX2) eb_av1_inv_txfm_add = eb_av1_inv_txfm_add_avx2;
     405             : 
     406           3 :     eb_av1_quantize_fp = eb_av1_quantize_fp_c;
     407           3 :     if (flags & HAS_AVX2) eb_av1_quantize_fp = eb_av1_quantize_fp_avx2;
     408             : 
     409           3 :     eb_av1_quantize_fp_32x32 = eb_av1_quantize_fp_32x32_c;
     410           3 :     if (flags & HAS_AVX2) eb_av1_quantize_fp_32x32 = eb_av1_quantize_fp_32x32_avx2;
     411             : 
     412           3 :     eb_av1_quantize_fp_64x64 = eb_av1_quantize_fp_64x64_c;
     413           3 :     if (flags & HAS_AVX2) eb_av1_quantize_fp_64x64 = eb_av1_quantize_fp_64x64_avx2;
     414             : 
     415           3 :     eb_av1_highbd_quantize_fp = eb_av1_highbd_quantize_fp_c;
     416           3 :     if (flags & HAS_AVX2) eb_av1_highbd_quantize_fp = eb_av1_highbd_quantize_fp_avx2;
     417             : 
     418           3 :     highbd_variance64 = highbd_variance64_c;
     419           3 :     if (flags & HAS_AVX2) highbd_variance64 = highbd_variance64_avx2;
     420             : 
     421           3 :     eb_aom_highbd_8_mse16x16 = eb_aom_highbd_8_mse16x16_c;
     422           3 :     if (flags & HAS_SSE2) eb_aom_highbd_8_mse16x16 = eb_aom_highbd_8_mse16x16_sse2;
     423             : 
     424           3 :     eb_av1_upsample_intra_edge = eb_av1_upsample_intra_edge_c;
     425           3 :     if (flags & HAS_SSE4_1) eb_av1_upsample_intra_edge = eb_av1_upsample_intra_edge_sse4_1;
     426             : 
     427           3 :     eb_av1_warp_affine = eb_av1_warp_affine_c;
     428           3 :     if (flags & HAS_AVX2) eb_av1_warp_affine = eb_av1_warp_affine_avx2;
     429             : 
     430           3 :     eb_av1_filter_intra_predictor = eb_av1_filter_intra_predictor_c;
     431             : #if FILTER_INTRA_FLAG
     432           3 :     if (flags & HAS_SSE4_1) eb_av1_filter_intra_predictor = eb_av1_filter_intra_predictor_sse4_1;
     433             : #endif
     434             : 
     435           3 :     eb_aom_highbd_smooth_v_predictor_16x16 = eb_aom_highbd_smooth_v_predictor_16x16_c;
     436           3 :     if (flags & HAS_AVX2) eb_aom_highbd_smooth_v_predictor_16x16 = eb_aom_highbd_smooth_v_predictor_16x16_avx2;
     437           3 :     eb_aom_highbd_smooth_v_predictor_16x32 = eb_aom_highbd_smooth_v_predictor_16x32_c;
     438           3 :     if (flags & HAS_AVX2) eb_aom_highbd_smooth_v_predictor_16x32 = eb_aom_highbd_smooth_v_predictor_16x32_avx2;
     439           3 :     eb_aom_highbd_smooth_v_predictor_16x4 = eb_aom_highbd_smooth_v_predictor_16x4_c;
     440           3 :     if (flags & HAS_AVX2) eb_aom_highbd_smooth_v_predictor_16x4 = eb_aom_highbd_smooth_v_predictor_16x4_avx2;
     441           3 :     eb_aom_highbd_smooth_v_predictor_16x64 = eb_aom_highbd_smooth_v_predictor_16x64_c;
     442           3 :     if (flags & HAS_AVX2) eb_aom_highbd_smooth_v_predictor_16x64 = eb_aom_highbd_smooth_v_predictor_16x64_avx2;
     443           3 :     eb_aom_highbd_smooth_v_predictor_16x8 = eb_aom_highbd_smooth_v_predictor_16x8_c;
     444           3 :     if (flags & HAS_AVX2) eb_aom_highbd_smooth_v_predictor_16x8 = eb_aom_highbd_smooth_v_predictor_16x8_avx2;
     445           3 :     eb_aom_highbd_smooth_v_predictor_2x2 = eb_aom_highbd_smooth_v_predictor_2x2_c;
     446           3 :     eb_aom_highbd_smooth_v_predictor_32x16 = eb_aom_highbd_smooth_v_predictor_32x16_c;
     447           3 :     if (flags & HAS_AVX2) eb_aom_highbd_smooth_v_predictor_32x16 = eb_aom_highbd_smooth_v_predictor_32x16_avx2;
     448           3 :     eb_aom_highbd_smooth_v_predictor_32x32 = eb_aom_highbd_smooth_v_predictor_32x32_c;
     449           3 :     if (flags & HAS_AVX2) eb_aom_highbd_smooth_v_predictor_32x32 = eb_aom_highbd_smooth_v_predictor_32x32_avx2;
     450           3 :     eb_aom_highbd_smooth_v_predictor_32x64 = eb_aom_highbd_smooth_v_predictor_32x64_c;
     451           3 :     if (flags & HAS_AVX2) eb_aom_highbd_smooth_v_predictor_32x64 = eb_aom_highbd_smooth_v_predictor_32x64_avx2;
     452           3 :     eb_aom_highbd_smooth_v_predictor_32x8 = eb_aom_highbd_smooth_v_predictor_32x8_c;
     453           3 :     if (flags & HAS_AVX2) eb_aom_highbd_smooth_v_predictor_32x8 = eb_aom_highbd_smooth_v_predictor_32x8_avx2;
     454           3 :     eb_aom_highbd_smooth_v_predictor_4x16 = eb_aom_highbd_smooth_v_predictor_4x16_c;
     455           3 :     if (flags & HAS_SSSE3) eb_aom_highbd_smooth_v_predictor_4x16 = eb_aom_highbd_smooth_v_predictor_4x16_ssse3;
     456           3 :     eb_aom_highbd_smooth_v_predictor_4x4 = eb_aom_highbd_smooth_v_predictor_4x4_c;
     457           3 :     if (flags & HAS_SSSE3) eb_aom_highbd_smooth_v_predictor_4x4 = eb_aom_highbd_smooth_v_predictor_4x4_ssse3;
     458           3 :     eb_aom_highbd_smooth_v_predictor_4x8 = eb_aom_highbd_smooth_v_predictor_4x8_c;
     459           3 :     if (flags & HAS_SSSE3) eb_aom_highbd_smooth_v_predictor_4x8 = eb_aom_highbd_smooth_v_predictor_4x8_ssse3;
     460           3 :     eb_aom_highbd_smooth_v_predictor_64x16 = eb_aom_highbd_smooth_v_predictor_64x16_c;
     461           3 :     if (flags & HAS_AVX2) eb_aom_highbd_smooth_v_predictor_64x16 = eb_aom_highbd_smooth_v_predictor_64x16_avx2;
     462           3 :     eb_aom_highbd_smooth_v_predictor_64x32 = eb_aom_highbd_smooth_v_predictor_64x32_c;
     463           3 :     if (flags & HAS_AVX2) eb_aom_highbd_smooth_v_predictor_64x32 = eb_aom_highbd_smooth_v_predictor_64x32_avx2;
     464           3 :     eb_aom_highbd_smooth_v_predictor_64x64 = eb_aom_highbd_smooth_v_predictor_64x64_c;
     465           3 :     if (flags & HAS_AVX2) eb_aom_highbd_smooth_v_predictor_64x64 = eb_aom_highbd_smooth_v_predictor_64x64_avx2;
     466           3 :     eb_aom_highbd_smooth_v_predictor_8x16 = eb_aom_highbd_smooth_v_predictor_8x16_c;
     467           3 :     if (flags & HAS_AVX2) eb_aom_highbd_smooth_v_predictor_8x16 = eb_aom_highbd_smooth_v_predictor_8x16_avx2;
     468           3 :     eb_aom_highbd_smooth_v_predictor_8x32 = eb_aom_highbd_smooth_v_predictor_8x32_c;
     469           3 :     if (flags & HAS_AVX2) eb_aom_highbd_smooth_v_predictor_8x32 = eb_aom_highbd_smooth_v_predictor_8x32_avx2;
     470           3 :     eb_aom_highbd_smooth_v_predictor_8x4 = eb_aom_highbd_smooth_v_predictor_8x4_c;
     471           3 :     if (flags & HAS_AVX2) eb_aom_highbd_smooth_v_predictor_8x4 = eb_aom_highbd_smooth_v_predictor_8x4_avx2;
     472           3 :     eb_aom_highbd_smooth_v_predictor_8x8 = eb_aom_highbd_smooth_v_predictor_8x8_c;
     473           3 :     if (flags & HAS_AVX2) eb_aom_highbd_smooth_v_predictor_8x8 = eb_aom_highbd_smooth_v_predictor_8x8_avx2;
     474             : 
     475           3 :     eb_cfl_predict_lbd = eb_cfl_predict_lbd_c;
     476           3 :     if (flags & HAS_AVX2) eb_cfl_predict_lbd = eb_cfl_predict_lbd_avx2;
     477           3 :     eb_cfl_predict_hbd = eb_cfl_predict_hbd_c;
     478           3 :     if (flags & HAS_AVX2) eb_cfl_predict_hbd = eb_cfl_predict_hbd_avx2;
     479             : 
     480           3 :     eb_av1_dr_prediction_z1 = eb_av1_dr_prediction_z1_c;
     481           3 :     if (flags & HAS_AVX2) eb_av1_dr_prediction_z1 = eb_av1_dr_prediction_z1_avx2;
     482           3 :     eb_av1_dr_prediction_z2 = eb_av1_dr_prediction_z2_c;
     483           3 :     if (flags & HAS_AVX2) eb_av1_dr_prediction_z2 = eb_av1_dr_prediction_z2_avx2;
     484           3 :     eb_av1_dr_prediction_z3 = eb_av1_dr_prediction_z3_c;
     485           3 :     if (flags & HAS_AVX2) eb_av1_dr_prediction_z3 = eb_av1_dr_prediction_z3_avx2;
     486           3 :     eb_av1_highbd_dr_prediction_z1 = eb_av1_highbd_dr_prediction_z1_c;
     487           3 :     if (flags & HAS_AVX2) eb_av1_highbd_dr_prediction_z1 = eb_av1_highbd_dr_prediction_z1_avx2;
     488           3 :     eb_av1_highbd_dr_prediction_z2 = eb_av1_highbd_dr_prediction_z2_c;
     489           3 :     if (flags & HAS_AVX2) eb_av1_highbd_dr_prediction_z2 = eb_av1_highbd_dr_prediction_z2_avx2;
     490           3 :     eb_av1_highbd_dr_prediction_z3 = eb_av1_highbd_dr_prediction_z3_c;
     491           3 :     if (flags & HAS_AVX2) eb_av1_highbd_dr_prediction_z3 = eb_av1_highbd_dr_prediction_z3_avx2;
     492           3 :     eb_av1_get_nz_map_contexts = eb_av1_get_nz_map_contexts_c;
     493           3 :     if (flags & HAS_SSE2) eb_av1_get_nz_map_contexts = eb_av1_get_nz_map_contexts_sse2;
     494             : 
     495             : #if II_COMP_FLAG
     496           3 :     aom_blend_a64_mask = aom_blend_a64_mask_c;
     497           3 :     if (flags & HAS_SSE4_1) aom_blend_a64_mask = aom_blend_a64_mask_sse4_1;
     498           3 :     if (flags & HAS_AVX2) aom_blend_a64_mask = aom_blend_a64_mask_avx2;
     499             : #endif //II_COMP_FLAG
     500           3 :     aom_blend_a64_hmask = aom_blend_a64_hmask_c;
     501           3 :     if (flags & HAS_SSE4_1) aom_blend_a64_hmask = aom_blend_a64_hmask_sse4_1;
     502           3 :     aom_blend_a64_vmask = aom_blend_a64_vmask_c;
     503           3 :     if (flags & HAS_SSE4_1) aom_blend_a64_vmask = aom_blend_a64_vmask_sse4_1;
     504             : 
     505           3 :     aom_highbd_blend_a64_mask = aom_highbd_blend_a64_mask_c;
     506           3 :     if (flags & HAS_SSE4_1) aom_highbd_blend_a64_mask = aom_highbd_blend_a64_mask_sse4_1;
     507           3 :     aom_highbd_blend_a64_hmask = aom_highbd_blend_a64_hmask_c;
     508           3 :     if (flags & HAS_SSE4_1) aom_highbd_blend_a64_hmask = aom_highbd_blend_a64_hmask_sse4_1;
     509           3 :     aom_highbd_blend_a64_vmask = aom_highbd_blend_a64_vmask_c;
     510           3 :     if (flags & HAS_SSE4_1) aom_highbd_blend_a64_vmask = aom_highbd_blend_a64_vmask_sse4_1;
     511             : 
     512           3 :     eb_aom_paeth_predictor_16x16 = eb_aom_paeth_predictor_16x16_c;
     513           3 :     if (flags & HAS_SSSE3) eb_aom_paeth_predictor_16x16 = eb_aom_paeth_predictor_16x16_ssse3;
     514           3 :     if (flags & HAS_AVX2) eb_aom_paeth_predictor_16x16 = eb_aom_paeth_predictor_16x16_avx2;
     515           3 :     eb_aom_paeth_predictor_16x32 = eb_aom_paeth_predictor_16x32_c;
     516           3 :     if (flags & HAS_SSSE3) eb_aom_paeth_predictor_16x32 = eb_aom_paeth_predictor_16x32_ssse3;
     517           3 :     if (flags & HAS_AVX2) eb_aom_paeth_predictor_16x32 = eb_aom_paeth_predictor_16x32_avx2;
     518           3 :     eb_aom_paeth_predictor_16x4 = eb_aom_paeth_predictor_16x4_c;
     519           3 :     if (flags & HAS_SSSE3) eb_aom_paeth_predictor_16x4 = eb_aom_paeth_predictor_16x4_ssse3;
     520           3 :     eb_aom_paeth_predictor_16x64 = eb_aom_paeth_predictor_16x64_c;
     521           3 :     if (flags & HAS_SSSE3) eb_aom_paeth_predictor_16x64 = eb_aom_paeth_predictor_16x64_ssse3;
     522           3 :     if (flags & HAS_AVX2) eb_aom_paeth_predictor_16x64 = eb_aom_paeth_predictor_16x64_avx2;
     523           3 :     eb_aom_paeth_predictor_16x8 = eb_aom_paeth_predictor_16x8_c;
     524           3 :     if (flags & HAS_SSSE3) eb_aom_paeth_predictor_16x8 = eb_aom_paeth_predictor_16x8_ssse3;
     525           3 :     if (flags & HAS_AVX2) eb_aom_paeth_predictor_16x8 = eb_aom_paeth_predictor_16x8_avx2;
     526           3 :     eb_aom_paeth_predictor_32x16 = eb_aom_paeth_predictor_32x16_c;
     527           3 :     if (flags & HAS_SSSE3) eb_aom_paeth_predictor_32x16 = eb_aom_paeth_predictor_32x16_ssse3;
     528           3 :     if (flags & HAS_AVX2) eb_aom_paeth_predictor_32x16 = eb_aom_paeth_predictor_32x16_avx2;
     529           3 :     eb_aom_paeth_predictor_32x32 = eb_aom_paeth_predictor_32x32_c;
     530           3 :     if (flags & HAS_SSSE3) eb_aom_paeth_predictor_32x32 = eb_aom_paeth_predictor_32x32_ssse3;
     531           3 :     if (flags & HAS_AVX2) eb_aom_paeth_predictor_32x32 = eb_aom_paeth_predictor_32x32_avx2;
     532           3 :     eb_aom_paeth_predictor_32x64 = eb_aom_paeth_predictor_32x64_c;
     533           3 :     if (flags & HAS_SSSE3) eb_aom_paeth_predictor_32x64 = eb_aom_paeth_predictor_32x64_ssse3;
     534           3 :     if (flags & HAS_AVX2) eb_aom_paeth_predictor_32x64 = eb_aom_paeth_predictor_32x64_avx2;
     535           3 :     eb_aom_paeth_predictor_32x8 = eb_aom_paeth_predictor_32x8_c;
     536           3 :     if (flags & HAS_SSSE3) eb_aom_paeth_predictor_32x8 = eb_aom_paeth_predictor_32x8_ssse3;
     537           3 :     eb_aom_paeth_predictor_4x16 = eb_aom_paeth_predictor_4x16_c;
     538           3 :     if (flags & HAS_SSSE3) eb_aom_paeth_predictor_4x16 = eb_aom_paeth_predictor_4x16_ssse3;
     539           3 :     eb_aom_paeth_predictor_4x4 = eb_aom_paeth_predictor_4x4_c;
     540           3 :     if (flags & HAS_SSSE3) eb_aom_paeth_predictor_4x4 = eb_aom_paeth_predictor_4x4_ssse3;
     541           3 :     eb_aom_paeth_predictor_4x8 = eb_aom_paeth_predictor_4x8_c;
     542           3 :     if (flags & HAS_SSSE3) eb_aom_paeth_predictor_4x8 = eb_aom_paeth_predictor_4x8_ssse3;
     543           3 :     eb_aom_paeth_predictor_64x16 = eb_aom_paeth_predictor_64x16_c;
     544           3 :     if (flags & HAS_SSSE3) eb_aom_paeth_predictor_64x16 = eb_aom_paeth_predictor_64x16_ssse3;
     545           3 :     if (flags & HAS_AVX2) eb_aom_paeth_predictor_64x16 = eb_aom_paeth_predictor_64x16_avx2;
     546           3 :     eb_aom_paeth_predictor_64x32 = eb_aom_paeth_predictor_64x32_c;
     547           3 :     if (flags & HAS_SSSE3) eb_aom_paeth_predictor_64x32 = eb_aom_paeth_predictor_64x32_ssse3;
     548           3 :     if (flags & HAS_AVX2) eb_aom_paeth_predictor_64x32 = eb_aom_paeth_predictor_64x32_avx2;
     549           3 :     eb_aom_paeth_predictor_64x64 = eb_aom_paeth_predictor_64x64_c;
     550           3 :     if (flags & HAS_SSSE3) eb_aom_paeth_predictor_64x64 = eb_aom_paeth_predictor_64x64_ssse3;
     551           3 :     if (flags & HAS_AVX2) eb_aom_paeth_predictor_64x64 = eb_aom_paeth_predictor_64x64_avx2;
     552           3 :     eb_aom_paeth_predictor_8x16 = eb_aom_paeth_predictor_8x16_c;
     553           3 :     if (flags & HAS_SSSE3) eb_aom_paeth_predictor_8x16 = eb_aom_paeth_predictor_8x16_ssse3;
     554           3 :     eb_aom_paeth_predictor_8x32 = eb_aom_paeth_predictor_8x32_c;
     555           3 :     if (flags & HAS_SSSE3) eb_aom_paeth_predictor_8x32 = eb_aom_paeth_predictor_8x32_ssse3;
     556           3 :     eb_aom_paeth_predictor_8x4 = eb_aom_paeth_predictor_8x4_c;
     557           3 :     if (flags & HAS_SSSE3) eb_aom_paeth_predictor_8x4 = eb_aom_paeth_predictor_8x4_ssse3;
     558           3 :     eb_aom_paeth_predictor_8x8 = eb_aom_paeth_predictor_8x8_c;
     559           3 :     if (flags & HAS_SSSE3) eb_aom_paeth_predictor_8x8 = eb_aom_paeth_predictor_8x8_ssse3;
     560             : 
     561           3 :     eb_aom_highbd_paeth_predictor_16x16 = eb_aom_highbd_paeth_predictor_16x16_c;
     562           3 :     if (flags & HAS_AVX2) eb_aom_highbd_paeth_predictor_16x16 = eb_aom_highbd_paeth_predictor_16x16_avx2;
     563           3 :     eb_aom_highbd_paeth_predictor_16x32 = eb_aom_highbd_paeth_predictor_16x32_c;
     564           3 :     if (flags & HAS_AVX2) eb_aom_highbd_paeth_predictor_16x32 = eb_aom_highbd_paeth_predictor_16x32_avx2;
     565           3 :     eb_aom_highbd_paeth_predictor_16x4 = eb_aom_highbd_paeth_predictor_16x4_c;
     566           3 :     if (flags & HAS_AVX2) eb_aom_highbd_paeth_predictor_16x4 = eb_aom_highbd_paeth_predictor_16x4_avx2;
     567           3 :     eb_aom_highbd_paeth_predictor_16x64 = eb_aom_highbd_paeth_predictor_16x64_c;
     568           3 :     if (flags & HAS_AVX2) eb_aom_highbd_paeth_predictor_16x64 = eb_aom_highbd_paeth_predictor_16x64_avx2;
     569           3 :     eb_aom_highbd_paeth_predictor_16x8 = eb_aom_highbd_paeth_predictor_16x8_c;
     570           3 :     if (flags & HAS_AVX2) eb_aom_highbd_paeth_predictor_16x8 = eb_aom_highbd_paeth_predictor_16x8_avx2;
     571           3 :     eb_aom_highbd_paeth_predictor_2x2 = eb_aom_highbd_paeth_predictor_2x2_c;
     572           3 :     if (flags & HAS_AVX2) eb_aom_highbd_paeth_predictor_2x2 = eb_aom_highbd_paeth_predictor_2x2_avx2;
     573           3 :     eb_aom_highbd_paeth_predictor_32x16 = eb_aom_highbd_paeth_predictor_32x16_c;
     574           3 :     if (flags & HAS_AVX2) eb_aom_highbd_paeth_predictor_32x16 = eb_aom_highbd_paeth_predictor_32x16_avx2;
     575           3 :     eb_aom_highbd_paeth_predictor_32x32 = eb_aom_highbd_paeth_predictor_32x32_c;
     576           3 :     if (flags & HAS_AVX2) eb_aom_highbd_paeth_predictor_32x32 = eb_aom_highbd_paeth_predictor_32x32_avx2;
     577           3 :     eb_aom_highbd_paeth_predictor_32x64 = eb_aom_highbd_paeth_predictor_32x64_c;
     578           3 :     if (flags & HAS_AVX2) eb_aom_highbd_paeth_predictor_32x64 = eb_aom_highbd_paeth_predictor_32x64_avx2;
     579           3 :     eb_aom_highbd_paeth_predictor_32x8 = eb_aom_highbd_paeth_predictor_32x8_c;
     580           3 :     if (flags & HAS_AVX2) eb_aom_highbd_paeth_predictor_32x8 = eb_aom_highbd_paeth_predictor_32x8_avx2;
     581           3 :     eb_aom_highbd_paeth_predictor_4x16 = eb_aom_highbd_paeth_predictor_4x16_c;
     582           3 :     if (flags & HAS_AVX2) eb_aom_highbd_paeth_predictor_4x16 = eb_aom_highbd_paeth_predictor_4x16_avx2;
     583           3 :     eb_aom_highbd_paeth_predictor_4x4 = eb_aom_highbd_paeth_predictor_4x4_c;
     584           3 :     if (flags & HAS_AVX2) eb_aom_highbd_paeth_predictor_4x4 = eb_aom_highbd_paeth_predictor_4x4_avx2;
     585           3 :     eb_aom_highbd_paeth_predictor_4x8 = eb_aom_highbd_paeth_predictor_4x8_c;
     586           3 :     if (flags & HAS_AVX2) eb_aom_highbd_paeth_predictor_4x8 = eb_aom_highbd_paeth_predictor_4x8_avx2;
     587           3 :     eb_aom_highbd_paeth_predictor_64x16 = eb_aom_highbd_paeth_predictor_64x16_c;
     588           3 :     if (flags & HAS_AVX2) eb_aom_highbd_paeth_predictor_64x16 = eb_aom_highbd_paeth_predictor_64x16_avx2;
     589           3 :     eb_aom_highbd_paeth_predictor_64x32 = eb_aom_highbd_paeth_predictor_64x32_c;
     590           3 :     if (flags & HAS_AVX2) eb_aom_highbd_paeth_predictor_64x32 = eb_aom_highbd_paeth_predictor_64x32_avx2;
     591           3 :     eb_aom_highbd_paeth_predictor_64x64 = eb_aom_highbd_paeth_predictor_64x64_c;
     592           3 :     if (flags & HAS_AVX2) eb_aom_highbd_paeth_predictor_64x64 = eb_aom_highbd_paeth_predictor_64x64_avx2;
     593           3 :     eb_aom_highbd_paeth_predictor_8x16 = eb_aom_highbd_paeth_predictor_8x16_c;
     594           3 :     if (flags & HAS_AVX2) eb_aom_highbd_paeth_predictor_8x16 = eb_aom_highbd_paeth_predictor_8x16_avx2;
     595           3 :     eb_aom_highbd_paeth_predictor_8x32 = eb_aom_highbd_paeth_predictor_8x32_c;
     596           3 :     if (flags & HAS_AVX2) eb_aom_highbd_paeth_predictor_8x32 = eb_aom_highbd_paeth_predictor_8x32_avx2;
     597           3 :     eb_aom_highbd_paeth_predictor_8x4 = eb_aom_highbd_paeth_predictor_8x4_c;
     598           3 :     if (flags & HAS_AVX2) eb_aom_highbd_paeth_predictor_8x4 = eb_aom_highbd_paeth_predictor_8x4_avx2;
     599           3 :     eb_aom_highbd_paeth_predictor_8x8 = eb_aom_highbd_paeth_predictor_8x8_c;
     600           3 :     if (flags & HAS_AVX2) eb_aom_highbd_paeth_predictor_8x8 = eb_aom_highbd_paeth_predictor_8x8_avx2;
     601             : 
     602           3 :     eb_aom_dc_predictor_4x4 = eb_aom_dc_predictor_4x4_c;
     603           3 :     if (flags & HAS_SSE2) eb_aom_dc_predictor_4x4 = eb_aom_dc_predictor_4x4_sse2;
     604           3 :     eb_aom_dc_predictor_8x8 = eb_aom_dc_predictor_8x8_c;
     605           3 :     if (flags & HAS_SSE2) eb_aom_dc_predictor_8x8 = eb_aom_dc_predictor_8x8_sse2;
     606           3 :     eb_aom_dc_predictor_16x16 = eb_aom_dc_predictor_16x16_c;
     607           3 :     if (flags & HAS_SSE2) eb_aom_dc_predictor_16x16 = eb_aom_dc_predictor_16x16_sse2;
     608           3 :     eb_aom_dc_predictor_32x32 = eb_aom_dc_predictor_32x32_c;
     609           3 :     if (flags & HAS_AVX2) eb_aom_dc_predictor_32x32 = eb_aom_dc_predictor_32x32_avx2;
     610           3 :     eb_aom_dc_predictor_64x64 = eb_aom_dc_predictor_64x64_c;
     611           3 :     if (flags & HAS_AVX2) eb_aom_dc_predictor_64x64 = eb_aom_dc_predictor_64x64_avx2;
     612           3 :     eb_aom_dc_predictor_32x16 = eb_aom_dc_predictor_32x16_c;
     613           3 :     if (flags & HAS_AVX2) eb_aom_dc_predictor_32x16 = eb_aom_dc_predictor_32x16_avx2;
     614           3 :     eb_aom_dc_predictor_32x64 = eb_aom_dc_predictor_32x64_c;
     615           3 :     if (flags & HAS_AVX2) eb_aom_dc_predictor_32x64 = eb_aom_dc_predictor_32x64_avx2;
     616           3 :     eb_aom_dc_predictor_64x16 = eb_aom_dc_predictor_64x16_c;
     617           3 :     if (flags & HAS_AVX2) eb_aom_dc_predictor_64x16 = eb_aom_dc_predictor_64x16_avx2;
     618           3 :     eb_aom_dc_predictor_8x16 = eb_aom_dc_predictor_8x16_c;
     619           3 :     if (flags & HAS_SSE2) eb_aom_dc_predictor_8x16 = eb_aom_dc_predictor_8x16_sse2;
     620           3 :     eb_aom_dc_predictor_8x32 = eb_aom_dc_predictor_8x32_c;
     621           3 :     if (flags & HAS_SSE2) eb_aom_dc_predictor_8x32 = eb_aom_dc_predictor_8x32_sse2;
     622           3 :     eb_aom_dc_predictor_8x4 = eb_aom_dc_predictor_8x4_c;
     623           3 :     if (flags & HAS_SSE2) eb_aom_dc_predictor_8x4 = eb_aom_dc_predictor_8x4_sse2;
     624           3 :     eb_aom_dc_predictor_64x32 = eb_aom_dc_predictor_64x32_c;
     625           3 :     if (flags & HAS_AVX2) eb_aom_dc_predictor_64x32 = eb_aom_dc_predictor_64x32_avx2;
     626           3 :     eb_aom_dc_predictor_16x32 = eb_aom_dc_predictor_16x32_c;
     627           3 :     if (flags & HAS_SSE2) eb_aom_dc_predictor_16x32 = eb_aom_dc_predictor_16x32_sse2;
     628           3 :     eb_aom_dc_predictor_16x4 = eb_aom_dc_predictor_16x4_c;
     629           3 :     if (flags & HAS_SSE2) eb_aom_dc_predictor_16x4 = eb_aom_dc_predictor_16x4_sse2;
     630           3 :     eb_aom_dc_predictor_16x64 = eb_aom_dc_predictor_16x64_c;
     631           3 :     if (flags & HAS_SSE2) eb_aom_dc_predictor_16x64 = eb_aom_dc_predictor_16x64_sse2;
     632           3 :     eb_aom_dc_predictor_16x8 = eb_aom_dc_predictor_16x8_c;
     633           3 :     if (flags & HAS_SSE2) eb_aom_dc_predictor_16x8 = eb_aom_dc_predictor_16x8_sse2;
     634           3 :     eb_aom_dc_predictor_32x8 = eb_aom_dc_predictor_32x8_c;
     635           3 :     if (flags & HAS_SSE2) eb_aom_dc_predictor_32x8 = eb_aom_dc_predictor_32x8_sse2;
     636           3 :     eb_aom_dc_predictor_4x16 = eb_aom_dc_predictor_4x16_c;
     637           3 :     if (flags & HAS_SSE2) eb_aom_dc_predictor_4x16 = eb_aom_dc_predictor_4x16_sse2;
     638           3 :     eb_aom_dc_predictor_4x8 = eb_aom_dc_predictor_4x8_c;
     639           3 :     if (flags & HAS_SSE2) eb_aom_dc_predictor_4x8 = eb_aom_dc_predictor_4x8_sse2;
     640             : 
     641           3 :     eb_aom_dc_top_predictor_4x4 = eb_aom_dc_top_predictor_4x4_c;
     642           3 :     if (flags & HAS_SSE2) eb_aom_dc_top_predictor_4x4 = eb_aom_dc_top_predictor_4x4_sse2;
     643           3 :     eb_aom_dc_top_predictor_8x8 = eb_aom_dc_top_predictor_8x8_c;
     644           3 :     if (flags & HAS_SSE2) eb_aom_dc_top_predictor_8x8 = eb_aom_dc_top_predictor_8x8_sse2;
     645           3 :     eb_aom_dc_top_predictor_16x16 = eb_aom_dc_top_predictor_16x16_c;
     646           3 :     if (flags & HAS_SSE2) eb_aom_dc_top_predictor_16x16 = eb_aom_dc_top_predictor_16x16_sse2;
     647           3 :     eb_aom_dc_top_predictor_32x32 = eb_aom_dc_top_predictor_32x32_c;
     648           3 :     if (flags & HAS_AVX2) eb_aom_dc_top_predictor_32x32 = eb_aom_dc_top_predictor_32x32_avx2;
     649           3 :     eb_aom_dc_top_predictor_64x64 = eb_aom_dc_top_predictor_64x64_c;
     650           3 :     if (flags & HAS_AVX2) eb_aom_dc_top_predictor_64x64 = eb_aom_dc_top_predictor_64x64_avx2;
     651           3 :     eb_aom_dc_top_predictor_16x32 = eb_aom_dc_top_predictor_16x32_c;
     652           3 :     if (flags & HAS_SSE2) eb_aom_dc_top_predictor_16x32 = eb_aom_dc_top_predictor_16x32_sse2;
     653           3 :     eb_aom_dc_top_predictor_16x4 = eb_aom_dc_top_predictor_16x4_c;
     654           3 :     if (flags & HAS_SSE2) eb_aom_dc_top_predictor_16x4 = eb_aom_dc_top_predictor_16x4_sse2;
     655           3 :     eb_aom_dc_top_predictor_16x64 = eb_aom_dc_top_predictor_16x64_c;
     656           3 :     if (flags & HAS_SSE2) eb_aom_dc_top_predictor_16x64 = eb_aom_dc_top_predictor_16x64_sse2;
     657           3 :     eb_aom_dc_top_predictor_16x8 = eb_aom_dc_top_predictor_16x8_c;
     658           3 :     if (flags & HAS_SSE2) eb_aom_dc_top_predictor_16x8 = eb_aom_dc_top_predictor_16x8_sse2;
     659           3 :     eb_aom_dc_top_predictor_32x16 = eb_aom_dc_top_predictor_32x16_c;
     660           3 :     if (flags & HAS_AVX2) eb_aom_dc_top_predictor_32x16 = eb_aom_dc_top_predictor_32x16_avx2;
     661           3 :     eb_aom_dc_top_predictor_32x64 = eb_aom_dc_top_predictor_32x64_c;
     662           3 :     if (flags & HAS_AVX2) eb_aom_dc_top_predictor_32x64 = eb_aom_dc_top_predictor_32x64_avx2;
     663           3 :     eb_aom_dc_top_predictor_32x8 = eb_aom_dc_top_predictor_32x8_c;
     664           3 :     if (flags & HAS_SSE2) eb_aom_dc_top_predictor_32x8 = eb_aom_dc_top_predictor_32x8_sse2;
     665           3 :     eb_aom_dc_top_predictor_4x16 = eb_aom_dc_top_predictor_4x16_c;
     666           3 :     if (flags & HAS_SSE2) eb_aom_dc_top_predictor_4x16 = eb_aom_dc_top_predictor_4x16_sse2;
     667           3 :     eb_aom_dc_top_predictor_4x8 = eb_aom_dc_top_predictor_4x8_c;
     668           3 :     if (flags & HAS_SSE2) eb_aom_dc_top_predictor_4x8 = eb_aom_dc_top_predictor_4x8_sse2;
     669           3 :     eb_aom_dc_top_predictor_64x16 = eb_aom_dc_top_predictor_64x16_c;
     670           3 :     if (flags & HAS_AVX2) eb_aom_dc_top_predictor_64x16 = eb_aom_dc_top_predictor_64x16_avx2;
     671           3 :     eb_aom_dc_top_predictor_64x32 = eb_aom_dc_top_predictor_64x32_c;
     672           3 :     if (flags & HAS_AVX2) eb_aom_dc_top_predictor_64x32 = eb_aom_dc_top_predictor_64x32_avx2;
     673           3 :     eb_aom_dc_top_predictor_8x16 = eb_aom_dc_top_predictor_8x16_c;
     674           3 :     if (flags & HAS_SSE2) eb_aom_dc_top_predictor_8x16 = eb_aom_dc_top_predictor_8x16_sse2;
     675           3 :     eb_aom_dc_top_predictor_8x32 = eb_aom_dc_top_predictor_8x32_c;
     676           3 :     if (flags & HAS_SSE2) eb_aom_dc_top_predictor_8x32 = eb_aom_dc_top_predictor_8x32_sse2;
     677           3 :     eb_aom_dc_top_predictor_8x4 = eb_aom_dc_top_predictor_8x4_c;
     678           3 :     if (flags & HAS_SSE2) eb_aom_dc_top_predictor_8x4 = eb_aom_dc_top_predictor_8x4_sse2;
     679             : 
     680           3 :     eb_aom_dc_left_predictor_4x4 = eb_aom_dc_left_predictor_4x4_c;
     681           3 :     if (flags & HAS_SSE2) eb_aom_dc_left_predictor_4x4 = eb_aom_dc_left_predictor_4x4_sse2;
     682           3 :     eb_aom_dc_left_predictor_8x8 = eb_aom_dc_left_predictor_8x8_c;
     683           3 :     if (flags & HAS_SSE2) eb_aom_dc_left_predictor_8x8 = eb_aom_dc_left_predictor_8x8_sse2;
     684           3 :     eb_aom_dc_left_predictor_16x16 = eb_aom_dc_left_predictor_16x16_c;
     685           3 :     if (flags & HAS_SSE2) eb_aom_dc_left_predictor_16x16 = eb_aom_dc_left_predictor_16x16_sse2;
     686           3 :     eb_aom_dc_left_predictor_32x32 = eb_aom_dc_left_predictor_32x32_c;
     687           3 :     if (flags & HAS_AVX2) eb_aom_dc_left_predictor_32x32 = eb_aom_dc_left_predictor_32x32_avx2;
     688           3 :     eb_aom_dc_left_predictor_64x64 = eb_aom_dc_left_predictor_64x64_c;
     689           3 :     if (flags & HAS_AVX2) eb_aom_dc_left_predictor_64x64 = eb_aom_dc_left_predictor_64x64_avx2;
     690           3 :     eb_aom_dc_left_predictor_16x32 = eb_aom_dc_left_predictor_16x32_c;
     691           3 :     if (flags & HAS_SSE2) eb_aom_dc_left_predictor_16x32 = eb_aom_dc_left_predictor_16x32_sse2;
     692           3 :     eb_aom_dc_left_predictor_16x4 = eb_aom_dc_left_predictor_16x4_c;
     693           3 :     if (flags & HAS_SSE2) eb_aom_dc_left_predictor_16x4 = eb_aom_dc_left_predictor_16x4_sse2;
     694           3 :     eb_aom_dc_left_predictor_16x64 = eb_aom_dc_left_predictor_16x64_c;
     695           3 :     if (flags & HAS_SSE2) eb_aom_dc_left_predictor_16x64 = eb_aom_dc_left_predictor_16x64_sse2;
     696           3 :     eb_aom_dc_left_predictor_16x8 = eb_aom_dc_left_predictor_16x8_c;
     697           3 :     if (flags & HAS_SSE2)  eb_aom_dc_left_predictor_16x8 = eb_aom_dc_left_predictor_16x8_sse2;
     698           3 :     eb_aom_dc_left_predictor_32x16 = eb_aom_dc_left_predictor_32x16_c;
     699           3 :     if (flags & HAS_AVX2) eb_aom_dc_left_predictor_32x16 = eb_aom_dc_left_predictor_32x16_avx2;
     700           3 :     eb_aom_dc_left_predictor_32x64 = eb_aom_dc_left_predictor_32x64_c;
     701           3 :     if (flags & HAS_AVX2) eb_aom_dc_left_predictor_32x64 = eb_aom_dc_left_predictor_32x64_avx2;
     702           3 :     eb_aom_dc_left_predictor_64x16 = eb_aom_dc_left_predictor_64x16_c;
     703           3 :     if (flags & HAS_AVX2) eb_aom_dc_left_predictor_64x16 = eb_aom_dc_left_predictor_64x16_avx2;
     704           3 :     eb_aom_dc_left_predictor_64x32 = eb_aom_dc_left_predictor_64x32_c;
     705           3 :     if (flags & HAS_AVX2) eb_aom_dc_left_predictor_64x32 = eb_aom_dc_left_predictor_64x32_avx2;
     706           3 :     eb_aom_dc_left_predictor_32x8 = eb_aom_dc_left_predictor_32x8_c;
     707           3 :     if (flags & HAS_SSE2) eb_aom_dc_left_predictor_32x8 = eb_aom_dc_left_predictor_32x8_sse2;
     708           3 :     eb_aom_dc_left_predictor_4x16 = eb_aom_dc_left_predictor_4x16_c;
     709           3 :     if (flags & HAS_SSE2) eb_aom_dc_left_predictor_4x16 = eb_aom_dc_left_predictor_4x16_sse2;
     710           3 :     eb_aom_dc_left_predictor_4x8 = eb_aom_dc_left_predictor_4x8_c;
     711           3 :     if (flags & HAS_SSE2) eb_aom_dc_left_predictor_4x8 = eb_aom_dc_left_predictor_4x8_sse2;
     712           3 :     eb_aom_dc_left_predictor_8x16 = eb_aom_dc_left_predictor_8x16_c;
     713           3 :     if (flags & HAS_SSE2) eb_aom_dc_left_predictor_8x16 = eb_aom_dc_left_predictor_8x16_sse2;
     714           3 :     eb_aom_dc_left_predictor_8x32 = eb_aom_dc_left_predictor_8x32_c;
     715           3 :     if (flags & HAS_SSE2) eb_aom_dc_left_predictor_8x32 = eb_aom_dc_left_predictor_8x32_sse2;
     716           3 :     eb_aom_dc_left_predictor_8x4 = eb_aom_dc_left_predictor_8x4_c;
     717           3 :     if (flags & HAS_SSE2) eb_aom_dc_left_predictor_8x4 = eb_aom_dc_left_predictor_8x4_sse2;
     718             : 
     719           3 :     eb_aom_dc_128_predictor_4x4 = eb_aom_dc_128_predictor_4x4_c;
     720           3 :     if (flags & HAS_SSE2) eb_aom_dc_128_predictor_4x4 = eb_aom_dc_128_predictor_4x4_sse2;
     721           3 :     eb_aom_dc_128_predictor_8x8 = eb_aom_dc_128_predictor_8x8_c;
     722           3 :     if (flags & HAS_SSE2) eb_aom_dc_128_predictor_8x8 = eb_aom_dc_128_predictor_8x8_sse2;
     723           3 :     eb_aom_dc_128_predictor_16x16 = eb_aom_dc_128_predictor_16x16_c;
     724           3 :     if (flags & HAS_SSE2) eb_aom_dc_128_predictor_16x16 = eb_aom_dc_128_predictor_16x16_sse2;
     725           3 :     eb_aom_dc_128_predictor_32x32 = eb_aom_dc_128_predictor_32x32_c;
     726           3 :     if (flags & HAS_AVX2) eb_aom_dc_128_predictor_32x32 = eb_aom_dc_128_predictor_32x32_avx2;
     727           3 :     eb_aom_dc_128_predictor_64x64 = eb_aom_dc_128_predictor_64x64_c;
     728           3 :     if (flags & HAS_AVX2) eb_aom_dc_128_predictor_64x64 = eb_aom_dc_128_predictor_64x64_avx2;
     729           3 :     eb_aom_dc_128_predictor_16x32 = eb_aom_dc_128_predictor_16x32_c;
     730           3 :     if (flags & HAS_SSE2) eb_aom_dc_128_predictor_16x32 = eb_aom_dc_128_predictor_16x32_sse2;
     731           3 :     eb_aom_dc_128_predictor_16x4 = eb_aom_dc_128_predictor_16x4_c;
     732           3 :     if (flags & HAS_SSE2) eb_aom_dc_128_predictor_16x4 = eb_aom_dc_128_predictor_16x4_sse2;
     733           3 :     eb_aom_dc_128_predictor_16x64 = eb_aom_dc_128_predictor_16x64_c;
     734           3 :     if (flags & HAS_SSE2) eb_aom_dc_128_predictor_16x64 = eb_aom_dc_128_predictor_16x64_sse2;
     735           3 :     eb_aom_dc_128_predictor_16x8 = eb_aom_dc_128_predictor_16x8_c;
     736           3 :     if (flags & HAS_SSE2) eb_aom_dc_128_predictor_16x8 = eb_aom_dc_128_predictor_16x8_sse2;
     737           3 :     eb_aom_dc_128_predictor_32x16 = eb_aom_dc_128_predictor_32x16_c;
     738           3 :     if (flags & HAS_AVX2) eb_aom_dc_128_predictor_32x16 = eb_aom_dc_128_predictor_32x16_avx2;
     739           3 :     eb_aom_dc_128_predictor_32x64 = eb_aom_dc_128_predictor_32x64_c;
     740           3 :     if (flags & HAS_AVX2) eb_aom_dc_128_predictor_32x64 = eb_aom_dc_128_predictor_32x64_avx2;
     741           3 :     eb_aom_dc_128_predictor_32x8 = eb_aom_dc_128_predictor_32x8_c;
     742           3 :     if (flags & HAS_SSE2) eb_aom_dc_128_predictor_32x8 = eb_aom_dc_128_predictor_32x8_sse2;
     743           3 :     eb_aom_dc_128_predictor_4x16 = eb_aom_dc_128_predictor_4x16_c;
     744           3 :     if (flags & HAS_SSE2) eb_aom_dc_128_predictor_4x16 = eb_aom_dc_128_predictor_4x16_sse2;
     745           3 :     eb_aom_dc_128_predictor_4x8 = eb_aom_dc_128_predictor_4x8_c;
     746           3 :     if (flags & HAS_SSE2) eb_aom_dc_128_predictor_4x8 = eb_aom_dc_128_predictor_4x8_sse2;
     747           3 :     eb_aom_dc_128_predictor_64x16 = eb_aom_dc_128_predictor_64x16_c;
     748           3 :     if (flags & HAS_AVX2) eb_aom_dc_128_predictor_64x16 = eb_aom_dc_128_predictor_64x16_avx2;
     749           3 :     eb_aom_dc_128_predictor_64x32 = eb_aom_dc_128_predictor_64x32_c;
     750           3 :     if (flags & HAS_AVX2) eb_aom_dc_128_predictor_64x32 = eb_aom_dc_128_predictor_64x32_avx2;
     751           3 :     eb_aom_dc_128_predictor_8x16 = eb_aom_dc_128_predictor_8x16_c;
     752           3 :     if (flags & HAS_SSE2) eb_aom_dc_128_predictor_8x16 = eb_aom_dc_128_predictor_8x16_sse2;
     753           3 :     eb_aom_dc_128_predictor_8x32 = eb_aom_dc_128_predictor_8x32_c;
     754           3 :     if (flags & HAS_SSE2) eb_aom_dc_128_predictor_8x32 = eb_aom_dc_128_predictor_8x32_sse2;
     755           3 :     eb_aom_dc_128_predictor_8x4 = eb_aom_dc_128_predictor_8x4_c;
     756           3 :     if (flags & HAS_SSE2) eb_aom_dc_128_predictor_8x4 = eb_aom_dc_128_predictor_8x4_sse2;
     757             : 
     758           3 :     eb_aom_smooth_h_predictor_16x32 = eb_aom_smooth_h_predictor_16x32_c;
     759           3 :     if (flags & HAS_SSSE3) eb_aom_smooth_h_predictor_16x32 = eb_aom_smooth_h_predictor_16x32_ssse3;
     760           3 :     eb_aom_smooth_h_predictor_16x4 = eb_aom_smooth_h_predictor_16x4_c;
     761           3 :     if (flags & HAS_SSSE3) eb_aom_smooth_h_predictor_16x4 = eb_aom_smooth_h_predictor_16x4_ssse3;
     762           3 :     eb_aom_smooth_h_predictor_16x64 = eb_aom_smooth_h_predictor_16x64_c;
     763           3 :     if (flags & HAS_SSSE3) eb_aom_smooth_h_predictor_16x64 = eb_aom_smooth_h_predictor_16x64_ssse3;
     764           3 :     eb_aom_smooth_h_predictor_16x8 = eb_aom_smooth_h_predictor_16x8_c;
     765           3 :     if (flags & HAS_SSSE3) eb_aom_smooth_h_predictor_16x8 = eb_aom_smooth_h_predictor_16x8_ssse3;
     766           3 :     eb_aom_smooth_h_predictor_32x16 = eb_aom_smooth_h_predictor_32x16_c;
     767           3 :     if (flags & HAS_SSSE3) eb_aom_smooth_h_predictor_32x16 = eb_aom_smooth_h_predictor_32x16_ssse3;
     768           3 :     eb_aom_smooth_h_predictor_32x64 = eb_aom_smooth_h_predictor_32x64_c;
     769           3 :     if (flags & HAS_SSSE3) eb_aom_smooth_h_predictor_32x64 = eb_aom_smooth_h_predictor_32x64_ssse3;
     770           3 :     eb_aom_smooth_h_predictor_32x8 = eb_aom_smooth_h_predictor_32x8_c;
     771           3 :     if (flags & HAS_SSSE3) eb_aom_smooth_h_predictor_32x8 = eb_aom_smooth_h_predictor_32x8_ssse3;
     772           3 :     eb_aom_smooth_h_predictor_4x16 = eb_aom_smooth_h_predictor_4x16_c;
     773           3 :     if (flags & HAS_SSSE3) eb_aom_smooth_h_predictor_4x16 = eb_aom_smooth_h_predictor_4x16_ssse3;
     774           3 :     eb_aom_smooth_h_predictor_4x8 = eb_aom_smooth_h_predictor_4x8_c;
     775           3 :     if (flags & HAS_SSSE3) eb_aom_smooth_h_predictor_4x8 = eb_aom_smooth_h_predictor_4x8_ssse3;
     776           3 :     eb_aom_smooth_h_predictor_64x16 = eb_aom_smooth_h_predictor_64x16_c;
     777           3 :     if (flags & HAS_SSSE3) eb_aom_smooth_h_predictor_64x16 = eb_aom_smooth_h_predictor_64x16_ssse3;
     778           3 :     eb_aom_smooth_h_predictor_64x32 = eb_aom_smooth_h_predictor_64x32_c;
     779           3 :     if (flags & HAS_SSSE3) eb_aom_smooth_h_predictor_64x32 = eb_aom_smooth_h_predictor_64x32_ssse3;
     780           3 :     eb_aom_smooth_h_predictor_8x16 = eb_aom_smooth_h_predictor_8x16_c;
     781           3 :     if (flags & HAS_SSSE3) eb_aom_smooth_h_predictor_8x16 = eb_aom_smooth_h_predictor_8x16_ssse3;
     782           3 :     eb_aom_smooth_h_predictor_8x32 = eb_aom_smooth_h_predictor_8x32_c;
     783           3 :     if (flags & HAS_SSSE3) eb_aom_smooth_h_predictor_8x32 = eb_aom_smooth_h_predictor_8x32_ssse3;
     784           3 :     eb_aom_smooth_h_predictor_8x4 = eb_aom_smooth_h_predictor_8x4_c;
     785           3 :     if (flags & HAS_SSSE3) eb_aom_smooth_h_predictor_8x4 = eb_aom_smooth_h_predictor_8x4_ssse3;
     786           3 :     eb_aom_smooth_h_predictor_64x64 = eb_aom_smooth_h_predictor_64x64_c;
     787           3 :     if (flags & HAS_SSSE3) eb_aom_smooth_h_predictor_64x64 = eb_aom_smooth_h_predictor_64x64_ssse3;
     788           3 :     eb_aom_smooth_h_predictor_32x32 = eb_aom_smooth_h_predictor_32x32_c;
     789           3 :     if (flags & HAS_SSSE3) eb_aom_smooth_h_predictor_32x32 = eb_aom_smooth_h_predictor_32x32_ssse3;
     790           3 :     eb_aom_smooth_h_predictor_16x16 = eb_aom_smooth_h_predictor_16x16_c;
     791           3 :     if (flags & HAS_SSSE3) eb_aom_smooth_h_predictor_16x16 = eb_aom_smooth_h_predictor_16x16_ssse3;
     792           3 :     eb_aom_smooth_h_predictor_8x8 = eb_aom_smooth_h_predictor_8x8_c;
     793           3 :     if (flags & HAS_SSSE3) eb_aom_smooth_h_predictor_8x8 = eb_aom_smooth_h_predictor_8x8_ssse3;
     794           3 :     eb_aom_smooth_h_predictor_4x4 = eb_aom_smooth_h_predictor_4x4_c;
     795           3 :     if (flags & HAS_SSSE3) eb_aom_smooth_h_predictor_4x4 = eb_aom_smooth_h_predictor_4x4_ssse3;
     796           3 :     eb_aom_smooth_v_predictor_16x32 = eb_aom_smooth_v_predictor_16x32_c;
     797           3 :     if (flags & HAS_SSSE3) eb_aom_smooth_v_predictor_16x32 = eb_aom_smooth_v_predictor_16x32_ssse3;
     798           3 :     eb_aom_smooth_v_predictor_16x4 = eb_aom_smooth_v_predictor_16x4_c;
     799           3 :     if (flags & HAS_SSSE3) eb_aom_smooth_v_predictor_16x4 = eb_aom_smooth_v_predictor_16x4_ssse3;
     800           3 :     eb_aom_smooth_v_predictor_16x64 = eb_aom_smooth_v_predictor_16x64_c;
     801           3 :     if (flags & HAS_SSSE3) eb_aom_smooth_v_predictor_16x64 = eb_aom_smooth_v_predictor_16x64_ssse3;
     802           3 :     eb_aom_smooth_v_predictor_16x8 = eb_aom_smooth_v_predictor_16x8_c;
     803           3 :     if (flags & HAS_SSSE3) eb_aom_smooth_v_predictor_16x8 = eb_aom_smooth_v_predictor_16x8_ssse3;
     804           3 :     eb_aom_smooth_v_predictor_32x16 = eb_aom_smooth_v_predictor_32x16_c;
     805           3 :     if (flags & HAS_SSSE3) eb_aom_smooth_v_predictor_32x16 = eb_aom_smooth_v_predictor_32x16_ssse3;
     806           3 :     eb_aom_smooth_v_predictor_32x64 = eb_aom_smooth_v_predictor_32x64_c;
     807           3 :     if (flags & HAS_SSSE3) eb_aom_smooth_v_predictor_32x64 = eb_aom_smooth_v_predictor_32x64_ssse3;
     808           3 :     eb_aom_smooth_v_predictor_32x8 = eb_aom_smooth_v_predictor_32x8_c;
     809           3 :     if (flags & HAS_SSSE3) eb_aom_smooth_v_predictor_32x8 = eb_aom_smooth_v_predictor_32x8_ssse3;
     810           3 :     eb_aom_smooth_v_predictor_4x16 = eb_aom_smooth_v_predictor_4x16_c;
     811           3 :     if (flags & HAS_SSSE3) eb_aom_smooth_v_predictor_4x16 = eb_aom_smooth_v_predictor_4x16_ssse3;
     812           3 :     eb_aom_smooth_v_predictor_4x8 = eb_aom_smooth_v_predictor_4x8_c;
     813           3 :     if (flags & HAS_SSSE3) eb_aom_smooth_v_predictor_4x8 = eb_aom_smooth_v_predictor_4x8_ssse3;
     814           3 :     eb_aom_smooth_v_predictor_64x16 = eb_aom_smooth_v_predictor_64x16_c;
     815           3 :     if (flags & HAS_SSSE3) eb_aom_smooth_v_predictor_64x16 = eb_aom_smooth_v_predictor_64x16_ssse3;
     816           3 :     eb_aom_smooth_v_predictor_64x32 = eb_aom_smooth_v_predictor_64x32_c;
     817           3 :     if (flags & HAS_SSSE3) eb_aom_smooth_v_predictor_64x32 = eb_aom_smooth_v_predictor_64x32_ssse3;
     818           3 :     eb_aom_smooth_v_predictor_8x16 = eb_aom_smooth_v_predictor_8x16_c;
     819           3 :     if (flags & HAS_SSSE3) eb_aom_smooth_v_predictor_8x16 = eb_aom_smooth_v_predictor_8x16_ssse3;
     820           3 :     eb_aom_smooth_v_predictor_8x32 = eb_aom_smooth_v_predictor_8x32_c;
     821           3 :     if (flags & HAS_SSSE3) eb_aom_smooth_v_predictor_8x32 = eb_aom_smooth_v_predictor_8x32_ssse3;
     822           3 :     eb_aom_smooth_v_predictor_8x4 = eb_aom_smooth_v_predictor_8x4_c;
     823           3 :     if (flags & HAS_SSSE3) eb_aom_smooth_v_predictor_8x4 = eb_aom_smooth_v_predictor_8x4_ssse3;
     824           3 :     eb_aom_smooth_v_predictor_64x64 = eb_aom_smooth_v_predictor_64x64_c;
     825           3 :     if (flags & HAS_SSSE3) eb_aom_smooth_v_predictor_64x64 = eb_aom_smooth_v_predictor_64x64_ssse3;
     826           3 :     eb_aom_smooth_v_predictor_32x32 = eb_aom_smooth_v_predictor_32x32_c;
     827           3 :     if (flags & HAS_SSSE3) eb_aom_smooth_v_predictor_32x32 = eb_aom_smooth_v_predictor_32x32_ssse3;
     828           3 :     eb_aom_smooth_v_predictor_16x16 = eb_aom_smooth_v_predictor_16x16_c;
     829           3 :     if (flags & HAS_SSSE3) eb_aom_smooth_v_predictor_16x16 = eb_aom_smooth_v_predictor_16x16_ssse3;
     830           3 :     eb_aom_smooth_v_predictor_8x8 = eb_aom_smooth_v_predictor_8x8_c;
     831           3 :     if (flags & HAS_SSSE3) eb_aom_smooth_v_predictor_8x8 = eb_aom_smooth_v_predictor_8x8_ssse3;
     832           3 :     eb_aom_smooth_v_predictor_4x4 = eb_aom_smooth_v_predictor_4x4_c;
     833           3 :     if (flags & HAS_SSSE3) eb_aom_smooth_v_predictor_4x4 = eb_aom_smooth_v_predictor_4x4_ssse3;
     834             : 
     835           3 :     eb_aom_smooth_predictor_16x32 = eb_aom_smooth_predictor_16x32_c;
     836           3 :     if (flags & HAS_SSSE3) eb_aom_smooth_predictor_16x32 = eb_aom_smooth_predictor_16x32_ssse3;
     837           3 :     eb_aom_smooth_predictor_16x4 = eb_aom_smooth_predictor_16x4_c;
     838           3 :     if (flags & HAS_SSSE3) eb_aom_smooth_predictor_16x4 = eb_aom_smooth_predictor_16x4_ssse3;
     839           3 :     eb_aom_smooth_predictor_16x64 = eb_aom_smooth_predictor_16x64_c;
     840           3 :     if (flags & HAS_SSSE3) eb_aom_smooth_predictor_16x64 = eb_aom_smooth_predictor_16x64_ssse3;
     841           3 :     eb_aom_smooth_predictor_16x8 = eb_aom_smooth_predictor_16x8_c;
     842           3 :     if (flags & HAS_SSSE3) eb_aom_smooth_predictor_16x8 = eb_aom_smooth_predictor_16x8_ssse3;
     843           3 :     eb_aom_smooth_predictor_32x16 = eb_aom_smooth_predictor_32x16_c;
     844           3 :     if (flags & HAS_SSSE3) eb_aom_smooth_predictor_32x16 = eb_aom_smooth_predictor_32x16_ssse3;
     845           3 :     eb_aom_smooth_predictor_32x64 = eb_aom_smooth_predictor_32x64_c;
     846           3 :     if (flags & HAS_SSSE3) eb_aom_smooth_predictor_32x64 = eb_aom_smooth_predictor_32x64_ssse3;
     847           3 :     eb_aom_smooth_predictor_32x8 = eb_aom_smooth_predictor_32x8_c;
     848           3 :     if (flags & HAS_SSSE3) eb_aom_smooth_predictor_32x8 = eb_aom_smooth_predictor_32x8_ssse3;
     849           3 :     eb_aom_smooth_predictor_4x16 = eb_aom_smooth_predictor_4x16_c;
     850           3 :     if (flags & HAS_SSSE3) eb_aom_smooth_predictor_4x16 = eb_aom_smooth_predictor_4x16_ssse3;
     851           3 :     eb_aom_smooth_predictor_4x8 = eb_aom_smooth_predictor_4x8_c;
     852           3 :     if (flags & HAS_SSSE3) eb_aom_smooth_predictor_4x8 = eb_aom_smooth_predictor_4x8_ssse3;
     853           3 :     eb_aom_smooth_predictor_64x16 = eb_aom_smooth_predictor_64x16_c;
     854           3 :     if (flags & HAS_SSSE3) eb_aom_smooth_predictor_64x16 = eb_aom_smooth_predictor_64x16_ssse3;
     855           3 :     eb_aom_smooth_predictor_64x32 = eb_aom_smooth_predictor_64x32_c;
     856           3 :     if (flags & HAS_SSSE3) eb_aom_smooth_predictor_64x32 = eb_aom_smooth_predictor_64x32_ssse3;
     857           3 :     eb_aom_smooth_predictor_8x16 = eb_aom_smooth_predictor_8x16_c;
     858           3 :     if (flags & HAS_SSSE3) eb_aom_smooth_predictor_8x16 = eb_aom_smooth_predictor_8x16_ssse3;
     859           3 :     eb_aom_smooth_predictor_8x32 = eb_aom_smooth_predictor_8x32_c;
     860           3 :     if (flags & HAS_SSSE3) eb_aom_smooth_predictor_8x32 = eb_aom_smooth_predictor_8x32_ssse3;
     861           3 :     eb_aom_smooth_predictor_8x4 = eb_aom_smooth_predictor_8x4_c;
     862           3 :     if (flags & HAS_SSSE3) eb_aom_smooth_predictor_8x4 = eb_aom_smooth_predictor_8x4_ssse3;
     863           3 :     eb_aom_smooth_predictor_64x64 = eb_aom_smooth_predictor_64x64_c;
     864           3 :     if (flags & HAS_SSSE3) eb_aom_smooth_predictor_64x64 = eb_aom_smooth_predictor_64x64_ssse3;
     865           3 :     eb_aom_smooth_predictor_32x32 = eb_aom_smooth_predictor_32x32_c;
     866           3 :     if (flags & HAS_SSSE3) eb_aom_smooth_predictor_32x32 = eb_aom_smooth_predictor_32x32_ssse3;
     867           3 :     eb_aom_smooth_predictor_16x16 = eb_aom_smooth_predictor_16x16_c;
     868           3 :     if (flags & HAS_SSSE3) eb_aom_smooth_predictor_16x16 = eb_aom_smooth_predictor_16x16_ssse3;
     869           3 :     eb_aom_smooth_predictor_8x8 = eb_aom_smooth_predictor_8x8_c;
     870           3 :     if (flags & HAS_SSSE3) eb_aom_smooth_predictor_8x8 = eb_aom_smooth_predictor_8x8_ssse3;
     871           3 :     eb_aom_smooth_predictor_4x4 = eb_aom_smooth_predictor_4x4_c;
     872           3 :     if (flags & HAS_SSSE3) eb_aom_smooth_predictor_4x4 = eb_aom_smooth_predictor_4x4_ssse3;
     873             : 
     874           3 :     eb_aom_v_predictor_4x4 = eb_aom_v_predictor_4x4_c;
     875           3 :     if (flags & HAS_SSE2) eb_aom_v_predictor_4x4 = eb_aom_v_predictor_4x4_sse2;
     876           3 :     eb_aom_v_predictor_8x8 = eb_aom_v_predictor_8x8_c;
     877           3 :     if (flags & HAS_SSE2) eb_aom_v_predictor_8x8 = eb_aom_v_predictor_8x8_sse2;
     878           3 :     eb_aom_v_predictor_16x16 = eb_aom_v_predictor_16x16_c;
     879           3 :     if (flags & HAS_SSE2) eb_aom_v_predictor_16x16 = eb_aom_v_predictor_16x16_sse2;
     880           3 :     eb_aom_v_predictor_32x32 = eb_aom_v_predictor_32x32_c;
     881           3 :     if (flags & HAS_AVX2) eb_aom_v_predictor_32x32 = eb_aom_v_predictor_32x32_avx2;
     882           3 :     eb_aom_v_predictor_64x64 = eb_aom_v_predictor_64x64_c;
     883           3 :     if (flags & HAS_AVX2) eb_aom_v_predictor_64x64 = eb_aom_v_predictor_64x64_avx2;
     884           3 :     eb_aom_v_predictor_16x32 = eb_aom_v_predictor_16x32_c;
     885           3 :     if (flags & HAS_SSE2) eb_aom_v_predictor_16x32 = eb_aom_v_predictor_16x32_sse2;
     886           3 :     eb_aom_v_predictor_16x4 = eb_aom_v_predictor_16x4_c;
     887           3 :     if (flags & HAS_SSE2) eb_aom_v_predictor_16x4 = eb_aom_v_predictor_16x4_sse2;
     888           3 :     eb_aom_v_predictor_16x64 = eb_aom_v_predictor_16x64_c;
     889           3 :     if (flags & HAS_SSE2) eb_aom_v_predictor_16x64 = eb_aom_v_predictor_16x64_sse2;
     890           3 :     eb_aom_v_predictor_16x8 = eb_aom_v_predictor_16x8_c;
     891           3 :     if (flags & HAS_SSE2) eb_aom_v_predictor_16x8 = eb_aom_v_predictor_16x8_sse2;
     892           3 :     eb_aom_v_predictor_32x16 = eb_aom_v_predictor_32x16_c;
     893           3 :     if (flags & HAS_AVX2) eb_aom_v_predictor_32x16 = eb_aom_v_predictor_32x16_avx2;
     894           3 :     eb_aom_v_predictor_32x64 = eb_aom_v_predictor_32x64_c;
     895           3 :     if (flags & HAS_AVX2) eb_aom_v_predictor_32x64 = eb_aom_v_predictor_32x64_avx2;
     896           3 :     eb_aom_v_predictor_32x8 = eb_aom_v_predictor_32x8_c;
     897           3 :     if (flags & HAS_SSE2) eb_aom_v_predictor_32x8 = eb_aom_v_predictor_32x8_sse2;
     898           3 :     eb_aom_v_predictor_4x16 = eb_aom_v_predictor_4x16_c;
     899           3 :     if (flags & HAS_SSE2) eb_aom_v_predictor_4x16 = eb_aom_v_predictor_4x16_sse2;
     900           3 :     eb_aom_v_predictor_4x8 = eb_aom_v_predictor_4x8_c;
     901           3 :     if (flags & HAS_SSE2) eb_aom_v_predictor_4x8 = eb_aom_v_predictor_4x8_sse2;
     902           3 :     eb_aom_v_predictor_64x16 = eb_aom_v_predictor_64x16_c;
     903           3 :     if (flags & HAS_AVX2) eb_aom_v_predictor_64x16 = eb_aom_v_predictor_64x16_avx2;
     904           3 :     eb_aom_v_predictor_64x32 = eb_aom_v_predictor_64x32_c;
     905           3 :     if (flags & HAS_AVX2) eb_aom_v_predictor_64x32 = eb_aom_v_predictor_64x32_avx2;
     906           3 :     eb_aom_v_predictor_8x16 = eb_aom_v_predictor_8x16_c;
     907           3 :     if (flags & HAS_SSE2) eb_aom_v_predictor_8x16 = eb_aom_v_predictor_8x16_sse2;
     908           3 :     eb_aom_v_predictor_8x32 = eb_aom_v_predictor_8x32_c;
     909           3 :     if (flags & HAS_SSE2) eb_aom_v_predictor_8x32 = eb_aom_v_predictor_8x32_sse2;
     910           3 :     eb_aom_v_predictor_8x4 = eb_aom_v_predictor_8x4_c;
     911           3 :     if (flags & HAS_SSE2) eb_aom_v_predictor_8x4 = eb_aom_v_predictor_8x4_sse2;
     912             : 
     913           3 :     eb_aom_h_predictor_4x4 = eb_aom_h_predictor_4x4_c;
     914           3 :     if (flags & HAS_SSE2) eb_aom_h_predictor_4x4 = eb_aom_h_predictor_4x4_sse2;
     915           3 :     eb_aom_h_predictor_8x8 = eb_aom_h_predictor_8x8_c;
     916           3 :     if (flags & HAS_SSE2) eb_aom_h_predictor_8x8 = eb_aom_h_predictor_8x8_sse2;
     917           3 :     eb_aom_h_predictor_16x16 = eb_aom_h_predictor_16x16_c;
     918           3 :     if (flags & HAS_SSE2) eb_aom_h_predictor_16x16 = eb_aom_h_predictor_16x16_sse2;
     919           3 :     eb_aom_h_predictor_32x32 = eb_aom_h_predictor_32x32_c;
     920           3 :     if (flags & HAS_AVX2) eb_aom_h_predictor_32x32 = eb_aom_h_predictor_32x32_avx2;
     921           3 :     eb_aom_h_predictor_64x64 = eb_aom_h_predictor_64x64_c;
     922           3 :     if (flags & HAS_SSE2) eb_aom_h_predictor_64x64 = eb_aom_h_predictor_64x64_sse2;
     923           3 :     eb_aom_h_predictor_16x32 = eb_aom_h_predictor_16x32_c;
     924           3 :     if (flags & HAS_SSE2) eb_aom_h_predictor_16x32 = eb_aom_h_predictor_16x32_sse2;
     925           3 :     eb_aom_h_predictor_16x4 = eb_aom_h_predictor_16x4_c;
     926           3 :     if (flags & HAS_SSE2) eb_aom_h_predictor_16x4 = eb_aom_h_predictor_16x4_sse2;
     927           3 :     eb_aom_h_predictor_16x64 = eb_aom_h_predictor_16x64_c;
     928           3 :     if (flags & HAS_SSE2) eb_aom_h_predictor_16x64 = eb_aom_h_predictor_16x64_sse2;
     929           3 :     eb_aom_h_predictor_16x8 = eb_aom_h_predictor_16x8_c;
     930           3 :     if (flags & HAS_SSE2) eb_aom_h_predictor_16x8 = eb_aom_h_predictor_16x8_sse2;
     931           3 :     eb_aom_h_predictor_32x16 = eb_aom_h_predictor_32x16_c;
     932           3 :     if (flags & HAS_SSE2) eb_aom_h_predictor_32x16 = eb_aom_h_predictor_32x16_sse2;
     933           3 :     eb_aom_h_predictor_32x64 = eb_aom_h_predictor_32x64_c;
     934           3 :     if (flags & HAS_SSE2) eb_aom_h_predictor_32x64 = eb_aom_h_predictor_32x64_sse2;
     935           3 :     eb_aom_h_predictor_32x8 = eb_aom_h_predictor_32x8_c;
     936           3 :     if (flags & HAS_SSE2) eb_aom_h_predictor_32x8 = eb_aom_h_predictor_32x8_sse2;
     937           3 :     eb_aom_h_predictor_4x16 = eb_aom_h_predictor_4x16_c;
     938           3 :     if (flags & HAS_SSE2) eb_aom_h_predictor_4x16 = eb_aom_h_predictor_4x16_sse2;
     939           3 :     eb_aom_h_predictor_4x8 = eb_aom_h_predictor_4x8_c;
     940           3 :     if (flags & HAS_SSE2) eb_aom_h_predictor_4x8 = eb_aom_h_predictor_4x8_sse2;
     941           3 :     eb_aom_h_predictor_64x16 = eb_aom_h_predictor_64x16_c;
     942           3 :     if (flags & HAS_SSE2) eb_aom_h_predictor_64x16 = eb_aom_h_predictor_64x16_sse2;
     943           3 :     eb_aom_h_predictor_64x32 = eb_aom_h_predictor_64x32_c;
     944           3 :     if (flags & HAS_SSE2) eb_aom_h_predictor_64x32 = eb_aom_h_predictor_64x32_sse2;
     945           3 :     eb_aom_h_predictor_8x16 = eb_aom_h_predictor_8x16_c;
     946           3 :     if (flags & HAS_SSE2) eb_aom_h_predictor_8x16 = eb_aom_h_predictor_8x16_sse2;
     947           3 :     eb_aom_h_predictor_8x32 = eb_aom_h_predictor_8x32_c;
     948           3 :     if (flags & HAS_SSE2) eb_aom_h_predictor_8x32 = eb_aom_h_predictor_8x32_sse2;
     949           3 :     eb_aom_h_predictor_8x4 = eb_aom_h_predictor_8x4_c;
     950           3 :     if (flags & HAS_SSE2) eb_aom_h_predictor_8x4 = eb_aom_h_predictor_8x4_sse2;
     951             : 
     952             :     //SAD
     953           3 :     eb_aom_sad4x4 = eb_aom_sad4x4_c;
     954           3 :     if (flags & HAS_AVX2) eb_aom_sad4x4 = eb_aom_sad4x4_avx2;
     955           3 :     eb_aom_sad4x4x4d = eb_aom_sad4x4x4d_c;
     956           3 :     if (flags & HAS_AVX2) eb_aom_sad4x4x4d = eb_aom_sad4x4x4d_avx2;
     957           3 :     eb_aom_sad4x16 = eb_aom_sad4x16_c;
     958           3 :     if (flags & HAS_AVX2) eb_aom_sad4x16 = eb_aom_sad4x16_avx2;
     959           3 :     eb_aom_sad4x16x4d = eb_aom_sad4x16x4d_c;
     960           3 :     if (flags & HAS_AVX2) eb_aom_sad4x16x4d = eb_aom_sad4x16x4d_avx2;
     961           3 :     eb_aom_sad4x8 = eb_aom_sad4x8_c;
     962           3 :     if (flags & HAS_AVX2) eb_aom_sad4x8 = eb_aom_sad4x8_avx2;
     963           3 :     eb_aom_sad4x8x4d = eb_aom_sad4x8x4d_c;
     964           3 :     if (flags & HAS_AVX2) eb_aom_sad4x8x4d = eb_aom_sad4x8x4d_avx2;
     965           3 :     eb_aom_sad64x128x4d = eb_aom_sad64x128x4d_c;
     966           3 :     if (flags & HAS_AVX2) eb_aom_sad64x128x4d = eb_aom_sad64x128x4d_avx2;
     967           3 :     eb_aom_sad64x16x4d = eb_aom_sad64x16x4d_c;
     968           3 :     if (flags & HAS_AVX2) eb_aom_sad64x16x4d = eb_aom_sad64x16x4d_avx2;
     969           3 :     eb_aom_sad64x32x4d = eb_aom_sad64x32x4d_c;
     970           3 :     if (flags & HAS_AVX2) eb_aom_sad64x32x4d = eb_aom_sad64x32x4d_avx2;
     971           3 :     eb_aom_sad64x64x4d = eb_aom_sad64x64x4d_c;
     972           3 :     if (flags & HAS_AVX2) eb_aom_sad64x64x4d = eb_aom_sad64x64x4d_avx2;
     973           3 :     eb_aom_sad8x16 = eb_aom_sad8x16_c;
     974           3 :     if (flags & HAS_AVX2) eb_aom_sad8x16 = eb_aom_sad8x16_avx2;
     975           3 :     eb_aom_sad8x16x4d = eb_aom_sad8x16x4d_c;
     976           3 :     if (flags & HAS_AVX2) eb_aom_sad8x16x4d = eb_aom_sad8x16x4d_avx2;
     977           3 :     eb_aom_sad8x32 = eb_aom_sad8x32_c;
     978           3 :     if (flags & HAS_AVX2) eb_aom_sad8x32 = eb_aom_sad8x32_avx2;
     979           3 :     eb_aom_sad8x32x4d = eb_aom_sad8x32x4d_c;
     980           3 :     if (flags & HAS_AVX2) eb_aom_sad8x32x4d = eb_aom_sad8x32x4d_avx2;
     981           3 :     eb_aom_sad8x8 = eb_aom_sad8x8_c;
     982           3 :     if (flags & HAS_AVX2) eb_aom_sad8x8 = eb_aom_sad8x8_avx2;
     983           3 :     eb_aom_sad8x8x4d = eb_aom_sad8x8x4d_c;
     984           3 :     if (flags & HAS_AVX2) eb_aom_sad8x8x4d = eb_aom_sad8x8x4d_avx2;
     985           3 :     eb_aom_sad16x4 = eb_aom_sad16x4_c;
     986           3 :     if (flags & HAS_AVX2) eb_aom_sad16x4 = eb_aom_sad16x4_avx2;
     987           3 :     eb_aom_sad16x4x4d = eb_aom_sad16x4x4d_c;
     988           3 :     if (flags & HAS_AVX2) eb_aom_sad16x4x4d = eb_aom_sad16x4x4d_avx2;
     989           3 :     eb_aom_sad32x8 = eb_aom_sad32x8_c;
     990           3 :     if (flags & HAS_AVX2) eb_aom_sad32x8 = eb_aom_sad32x8_avx2;
     991           3 :     eb_aom_sad32x8x4d = eb_aom_sad32x8x4d_c;
     992           3 :     if (flags & HAS_AVX2) eb_aom_sad32x8x4d = eb_aom_sad32x8x4d_avx2;
     993           3 :     eb_aom_sad16x64 = eb_aom_sad16x64_c;
     994           3 :     if (flags & HAS_AVX2) eb_aom_sad16x64 = eb_aom_sad16x64_avx2;
     995           3 :     eb_aom_sad16x64x4d = eb_aom_sad16x64x4d_c;
     996           3 :     if (flags & HAS_AVX2) eb_aom_sad16x64x4d = eb_aom_sad16x64x4d_avx2;
     997           3 :     eb_aom_sad32x16 = eb_aom_sad32x16_c;
     998           3 :     if (flags & HAS_AVX2) eb_aom_sad32x16 = eb_aom_sad32x16_avx2;
     999           3 :     eb_aom_sad32x16x4d = eb_aom_sad32x16x4d_c;
    1000           3 :     if (flags & HAS_AVX2) eb_aom_sad32x16x4d = eb_aom_sad32x16x4d_avx2;
    1001           3 :     eb_aom_sad16x32 = eb_aom_sad16x32_c;
    1002           3 :     if (flags & HAS_AVX2) eb_aom_sad16x32 = eb_aom_sad16x32_avx2;
    1003           3 :     eb_aom_sad16x32x4d = eb_aom_sad16x32x4d_c;
    1004           3 :     if (flags & HAS_AVX2) eb_aom_sad16x32x4d = eb_aom_sad16x32x4d_avx2;
    1005           3 :     eb_aom_sad32x64 = eb_aom_sad32x64_c;
    1006           3 :     if (flags & HAS_AVX2) eb_aom_sad32x64 = eb_aom_sad32x64_avx2;
    1007           3 :     eb_aom_sad32x64x4d = eb_aom_sad32x64x4d_c;
    1008           3 :     if (flags & HAS_AVX2) eb_aom_sad32x64x4d = eb_aom_sad32x64x4d_avx2;
    1009           3 :     eb_aom_sad32x32 = eb_aom_sad32x32_c;
    1010           3 :     if (flags & HAS_AVX2) eb_aom_sad32x32 = eb_aom_sad32x32_avx2;
    1011           3 :     eb_aom_sad32x32x4d = eb_aom_sad32x32x4d_c;
    1012           3 :     if (flags & HAS_AVX2) eb_aom_sad32x32x4d = eb_aom_sad32x32x4d_avx2;
    1013           3 :     eb_aom_sad16x16 = eb_aom_sad16x16_c;
    1014           3 :     if (flags & HAS_AVX2) eb_aom_sad16x16 = eb_aom_sad16x16_avx2;
    1015           3 :     eb_aom_sad16x16x4d = eb_aom_sad16x16x4d_c;
    1016           3 :     if (flags & HAS_AVX2) eb_aom_sad16x16x4d = eb_aom_sad16x16x4d_avx2;
    1017           3 :     eb_aom_sad16x8 = eb_aom_sad16x8_c;
    1018           3 :     if (flags & HAS_AVX2) eb_aom_sad16x8 = eb_aom_sad16x8_avx2;
    1019           3 :     eb_aom_sad16x8x4d = eb_aom_sad16x8x4d_c;
    1020           3 :     if (flags & HAS_AVX2) eb_aom_sad16x8x4d = eb_aom_sad16x8x4d_avx2;
    1021           3 :     eb_aom_sad8x4 = eb_aom_sad8x4_c;
    1022           3 :     if (flags & HAS_AVX2) eb_aom_sad8x4 = eb_aom_sad8x4_avx2;
    1023           3 :     eb_aom_sad8x4x4d = eb_aom_sad8x4x4d_c;
    1024           3 :     if (flags & HAS_AVX2) eb_aom_sad8x4x4d = eb_aom_sad8x4x4d_avx2;
    1025             : 
    1026             : #ifndef NON_AVX512_SUPPORT
    1027             :     if (CanUseIntelAVX512()) {
    1028             :         eb_aom_sad64x128 = eb_aom_sad64x128_avx512;
    1029             :         eb_aom_sad64x16 = eb_aom_sad64x16_avx512;
    1030             :         eb_aom_sad64x32 = eb_aom_sad64x32_avx512;
    1031             :         eb_aom_sad64x64 = eb_aom_sad64x64_avx512;
    1032             :         eb_aom_sad128x128 = eb_aom_sad128x128_avx512;
    1033             :         eb_aom_sad128x128x4d = eb_aom_sad128x128x4d_avx512;
    1034             :         eb_aom_sad128x64 = eb_aom_sad128x64_avx512;
    1035             :         eb_aom_sad128x64x4d = eb_aom_sad128x64x4d_avx512;
    1036             :         eb_av1_txb_init_levels = eb_av1_txb_init_levels_avx512;
    1037             :     }
    1038             : #else
    1039           3 :     eb_aom_sad64x128 = eb_aom_sad64x128_c;
    1040           3 :     if (flags & HAS_AVX2) eb_aom_sad64x128 = eb_aom_sad64x128_avx2;
    1041           3 :     eb_aom_sad64x16 = eb_aom_sad64x16_c;
    1042           3 :     if (flags & HAS_AVX2) eb_aom_sad64x16 = eb_aom_sad64x16_avx2;
    1043           3 :     eb_aom_sad64x32 = eb_aom_sad64x32_c;
    1044           3 :     if (flags & HAS_AVX2) eb_aom_sad64x32 = eb_aom_sad64x32_avx2;
    1045           3 :     eb_aom_sad64x64 = eb_aom_sad64x64_c;
    1046           3 :     if (flags & HAS_AVX2) eb_aom_sad64x64 = eb_aom_sad64x64_avx2;
    1047           3 :     eb_aom_sad128x128 = eb_aom_sad128x128_c;
    1048           3 :     if (flags & HAS_AVX2) eb_aom_sad128x128 = eb_aom_sad128x128_avx2;
    1049           3 :     eb_aom_sad128x128x4d = eb_aom_sad128x128x4d_c;
    1050           3 :     if (flags & HAS_AVX2) eb_aom_sad128x128x4d = eb_aom_sad128x128x4d_avx2;
    1051           3 :     eb_aom_sad128x64 = eb_aom_sad128x64_c;
    1052           3 :     if (flags & HAS_AVX2) eb_aom_sad128x64 = eb_aom_sad128x64_avx2;
    1053           3 :     eb_aom_sad128x64x4d = eb_aom_sad128x64x4d_c;
    1054           3 :     if (flags & HAS_AVX2) eb_aom_sad128x64x4d = eb_aom_sad128x64x4d_avx2;
    1055           3 :     eb_av1_txb_init_levels = eb_av1_txb_init_levels_c;
    1056           3 :     if (flags & HAS_AVX2) eb_av1_txb_init_levels = eb_av1_txb_init_levels_avx2;
    1057             : #endif // !NON_AVX512_SUPPORT
    1058             : #if OBMC_FLAG
    1059           3 :     eb_aom_highbd_blend_a64_vmask = eb_aom_highbd_blend_a64_vmask_c;
    1060           3 :     if (flags & HAS_SSE4_1) eb_aom_highbd_blend_a64_vmask = eb_aom_highbd_blend_a64_vmask_sse4_1;
    1061           3 :     eb_aom_highbd_blend_a64_hmask = eb_aom_highbd_blend_a64_hmask_c;
    1062           3 :     if (flags & HAS_SSE4_1) eb_aom_highbd_blend_a64_hmask = eb_aom_highbd_blend_a64_hmask_sse4_1;
    1063             : 
    1064           3 :     aom_convolve8_horiz = aom_convolve8_horiz_c;
    1065           3 :     if (flags & HAS_AVX2) aom_convolve8_horiz = aom_convolve8_horiz_avx2;
    1066           3 :     aom_convolve8_vert = aom_convolve8_vert_c;
    1067           3 :     if (flags & HAS_AVX2) aom_convolve8_vert = aom_convolve8_vert_avx2;
    1068           3 :     aom_upsampled_pred = aom_upsampled_pred_c;
    1069           3 :     if (flags & HAS_AVX2) aom_upsampled_pred = aom_upsampled_pred_sse2;
    1070             : 
    1071           3 :     aom_obmc_sad128x128 = aom_obmc_sad128x128_c;
    1072           3 :     if (flags & HAS_AVX2) aom_obmc_sad128x128 = aom_obmc_sad128x128_avx2;
    1073           3 :     aom_obmc_sad128x64 = aom_obmc_sad128x64_c;
    1074           3 :     if (flags & HAS_AVX2) aom_obmc_sad128x64 = aom_obmc_sad128x64_avx2;
    1075           3 :     aom_obmc_sad16x16 = aom_obmc_sad16x16_c;
    1076           3 :     if (flags & HAS_AVX2) aom_obmc_sad16x16 = aom_obmc_sad16x16_avx2;
    1077           3 :     aom_obmc_sad16x32 = aom_obmc_sad16x32_c;
    1078           3 :     if (flags & HAS_AVX2) aom_obmc_sad16x32 = aom_obmc_sad16x32_avx2;
    1079           3 :     aom_obmc_sad16x4 = aom_obmc_sad16x4_c;
    1080           3 :     if (flags & HAS_AVX2) aom_obmc_sad16x4 = aom_obmc_sad16x4_avx2;
    1081           3 :     aom_obmc_sad16x64 = aom_obmc_sad16x64_c;
    1082           3 :     if (flags & HAS_AVX2) aom_obmc_sad16x64 = aom_obmc_sad16x64_avx2;
    1083           3 :     aom_obmc_sad16x8 = aom_obmc_sad16x8_c;
    1084           3 :     if (flags & HAS_AVX2) aom_obmc_sad16x8 = aom_obmc_sad16x8_avx2;
    1085           3 :     aom_obmc_sad32x16 = aom_obmc_sad32x16_c;
    1086           3 :     if (flags & HAS_AVX2) aom_obmc_sad32x16 = aom_obmc_sad32x16_avx2;
    1087           3 :     aom_obmc_sad32x32 = aom_obmc_sad32x32_c;
    1088           3 :     if (flags & HAS_AVX2) aom_obmc_sad32x32 = aom_obmc_sad32x32_avx2;
    1089           3 :     aom_obmc_sad32x64 = aom_obmc_sad32x64_c;
    1090           3 :     if (flags & HAS_AVX2) aom_obmc_sad32x64 = aom_obmc_sad32x64_avx2;
    1091           3 :     aom_obmc_sad32x8 = aom_obmc_sad32x8_c;
    1092           3 :     if (flags & HAS_AVX2) aom_obmc_sad32x8 = aom_obmc_sad32x8_avx2;
    1093           3 :     aom_obmc_sad4x16 = aom_obmc_sad4x16_c;
    1094           3 :     if (flags & HAS_AVX2) aom_obmc_sad4x16 = aom_obmc_sad4x16_avx2;
    1095           3 :     aom_obmc_sad4x4 = aom_obmc_sad4x4_c;
    1096           3 :     if (flags & HAS_AVX2) aom_obmc_sad4x4 = aom_obmc_sad4x4_avx2;
    1097           3 :     aom_obmc_sad4x8 = aom_obmc_sad4x8_c;
    1098           3 :     if (flags & HAS_AVX2) aom_obmc_sad4x8 = aom_obmc_sad4x8_avx2;
    1099           3 :     aom_obmc_sad64x128 = aom_obmc_sad64x128_c;
    1100           3 :     if (flags & HAS_AVX2) aom_obmc_sad64x128 = aom_obmc_sad64x128_avx2;
    1101           3 :     aom_obmc_sad64x16 = aom_obmc_sad64x16_c;
    1102           3 :     if (flags & HAS_AVX2) aom_obmc_sad64x16 = aom_obmc_sad64x16_avx2;
    1103           3 :     aom_obmc_sad64x32 = aom_obmc_sad64x32_c;
    1104           3 :     if (flags & HAS_AVX2) aom_obmc_sad64x32 = aom_obmc_sad64x32_avx2;
    1105           3 :     aom_obmc_sad64x64 = aom_obmc_sad64x64_c;
    1106           3 :     if (flags & HAS_AVX2) aom_obmc_sad64x64 = aom_obmc_sad64x64_avx2;
    1107           3 :     aom_obmc_sad8x16 = aom_obmc_sad8x16_c;
    1108           3 :     if (flags & HAS_AVX2) aom_obmc_sad8x16 = aom_obmc_sad8x16_avx2;
    1109           3 :     aom_obmc_sad8x32 = aom_obmc_sad8x32_c;
    1110           3 :     if (flags & HAS_AVX2) aom_obmc_sad8x32 = aom_obmc_sad8x32_avx2;
    1111           3 :     aom_obmc_sad8x4 = aom_obmc_sad8x4_c;
    1112           3 :     if (flags & HAS_AVX2) aom_obmc_sad8x4 = aom_obmc_sad8x4_avx2;
    1113           3 :     aom_obmc_sad8x8 = aom_obmc_sad8x8_c;
    1114           3 :     if (flags & HAS_AVX2) aom_obmc_sad8x8 = aom_obmc_sad8x8_avx2;
    1115           3 :     aom_obmc_sub_pixel_variance128x128 = aom_obmc_sub_pixel_variance128x128_c;
    1116           3 :     if (flags & HAS_SSE4_1) aom_obmc_sub_pixel_variance128x128 = aom_obmc_sub_pixel_variance128x128_sse4_1;
    1117           3 :     aom_obmc_sub_pixel_variance128x64 = aom_obmc_sub_pixel_variance128x64_c;
    1118           3 :     if (flags & HAS_SSE4_1) aom_obmc_sub_pixel_variance128x64 = aom_obmc_sub_pixel_variance128x64_sse4_1;
    1119           3 :     aom_obmc_sub_pixel_variance16x16 = aom_obmc_sub_pixel_variance16x16_c;
    1120           3 :     if (flags & HAS_SSE4_1) aom_obmc_sub_pixel_variance16x16 = aom_obmc_sub_pixel_variance16x16_sse4_1;
    1121           3 :     aom_obmc_sub_pixel_variance16x32 = aom_obmc_sub_pixel_variance16x32_c;
    1122           3 :     if (flags & HAS_SSE4_1) aom_obmc_sub_pixel_variance16x32 = aom_obmc_sub_pixel_variance16x32_sse4_1;
    1123           3 :     aom_obmc_sub_pixel_variance16x4 = aom_obmc_sub_pixel_variance16x4_c;
    1124           3 :     if (flags & HAS_SSE4_1) aom_obmc_sub_pixel_variance16x4 = aom_obmc_sub_pixel_variance16x4_sse4_1;
    1125           3 :     aom_obmc_sub_pixel_variance16x64 = aom_obmc_sub_pixel_variance16x64_c;
    1126           3 :     if (flags & HAS_SSE4_1) aom_obmc_sub_pixel_variance16x64 = aom_obmc_sub_pixel_variance16x64_sse4_1;
    1127           3 :     aom_obmc_sub_pixel_variance16x8 = aom_obmc_sub_pixel_variance16x8_c;
    1128           3 :     if (flags & HAS_SSE4_1) aom_obmc_sub_pixel_variance16x8 = aom_obmc_sub_pixel_variance16x8_sse4_1;
    1129           3 :     aom_obmc_sub_pixel_variance32x16 = aom_obmc_sub_pixel_variance32x16_c;
    1130           3 :     if (flags & HAS_SSE4_1) aom_obmc_sub_pixel_variance32x16 = aom_obmc_sub_pixel_variance32x16_sse4_1;
    1131           3 :     aom_obmc_sub_pixel_variance32x32 = aom_obmc_sub_pixel_variance32x32_c;
    1132           3 :     if (flags & HAS_SSE4_1) aom_obmc_sub_pixel_variance32x32 = aom_obmc_sub_pixel_variance32x32_sse4_1;
    1133           3 :     aom_obmc_sub_pixel_variance32x64 = aom_obmc_sub_pixel_variance32x64_c;
    1134           3 :     if (flags & HAS_SSE4_1) aom_obmc_sub_pixel_variance32x64 = aom_obmc_sub_pixel_variance32x64_sse4_1;
    1135           3 :     aom_obmc_sub_pixel_variance32x8 = aom_obmc_sub_pixel_variance32x8_c;
    1136           3 :     if (flags & HAS_SSE4_1) aom_obmc_sub_pixel_variance32x8 = aom_obmc_sub_pixel_variance32x8_sse4_1;
    1137           3 :     aom_obmc_sub_pixel_variance4x16 = aom_obmc_sub_pixel_variance4x16_c;
    1138           3 :     if (flags & HAS_SSE4_1) aom_obmc_sub_pixel_variance4x16 = aom_obmc_sub_pixel_variance4x16_sse4_1;
    1139           3 :     aom_obmc_sub_pixel_variance4x4 = aom_obmc_sub_pixel_variance4x4_c;
    1140           3 :     if (flags & HAS_SSE4_1) aom_obmc_sub_pixel_variance4x4 = aom_obmc_sub_pixel_variance4x4_sse4_1;
    1141           3 :     aom_obmc_sub_pixel_variance4x8 = aom_obmc_sub_pixel_variance4x8_c;
    1142           3 :     if (flags & HAS_SSE4_1) aom_obmc_sub_pixel_variance4x8 = aom_obmc_sub_pixel_variance4x8_sse4_1;
    1143           3 :     aom_obmc_sub_pixel_variance64x128 = aom_obmc_sub_pixel_variance64x128_c;
    1144           3 :     if (flags & HAS_SSE4_1) aom_obmc_sub_pixel_variance64x128 = aom_obmc_sub_pixel_variance64x128_sse4_1;
    1145           3 :     aom_obmc_sub_pixel_variance64x16 = aom_obmc_sub_pixel_variance64x16_c;
    1146           3 :     if (flags & HAS_SSE4_1) aom_obmc_sub_pixel_variance64x16 = aom_obmc_sub_pixel_variance64x16_sse4_1;
    1147           3 :     aom_obmc_sub_pixel_variance64x32 = aom_obmc_sub_pixel_variance64x32_c;
    1148           3 :     if (flags & HAS_SSE4_1) aom_obmc_sub_pixel_variance64x32 = aom_obmc_sub_pixel_variance64x32_sse4_1;
    1149           3 :     aom_obmc_sub_pixel_variance64x64 = aom_obmc_sub_pixel_variance64x64_c;
    1150           3 :     if (flags & HAS_SSE4_1) aom_obmc_sub_pixel_variance64x64 = aom_obmc_sub_pixel_variance64x64_sse4_1;
    1151           3 :     aom_obmc_sub_pixel_variance8x16 = aom_obmc_sub_pixel_variance8x16_c;
    1152           3 :     if (flags & HAS_SSE4_1) aom_obmc_sub_pixel_variance8x16 = aom_obmc_sub_pixel_variance8x16_sse4_1;
    1153           3 :     aom_obmc_sub_pixel_variance8x32 = aom_obmc_sub_pixel_variance8x32_c;
    1154           3 :     if (flags & HAS_SSE4_1) aom_obmc_sub_pixel_variance8x32 = aom_obmc_sub_pixel_variance8x32_sse4_1;
    1155           3 :     aom_obmc_sub_pixel_variance8x4 = aom_obmc_sub_pixel_variance8x4_c;
    1156           3 :     if (flags & HAS_SSE4_1) aom_obmc_sub_pixel_variance8x4 = aom_obmc_sub_pixel_variance8x4_sse4_1;
    1157           3 :     aom_obmc_sub_pixel_variance8x8 = aom_obmc_sub_pixel_variance8x8_c;
    1158           3 :     if (flags & HAS_SSE4_1) aom_obmc_sub_pixel_variance8x8 = aom_obmc_sub_pixel_variance8x8_sse4_1;
    1159           3 :     aom_obmc_variance128x128 = aom_obmc_variance128x128_c;
    1160           3 :     if (flags & HAS_AVX2) aom_obmc_variance128x128 = aom_obmc_variance128x128_avx2;
    1161           3 :     aom_obmc_variance128x64 = aom_obmc_variance128x64_c;
    1162           3 :     if (flags & HAS_AVX2) aom_obmc_variance128x64 = aom_obmc_variance128x64_avx2;
    1163           3 :     aom_obmc_variance16x16 = aom_obmc_variance16x16_c;
    1164           3 :     if (flags & HAS_AVX2) aom_obmc_variance16x16 = aom_obmc_variance16x16_avx2;
    1165           3 :     aom_obmc_variance16x32 = aom_obmc_variance16x32_c;
    1166           3 :     if (flags & HAS_AVX2) aom_obmc_variance16x32 = aom_obmc_variance16x32_avx2;
    1167           3 :     aom_obmc_variance16x4 = aom_obmc_variance16x4_c;
    1168           3 :     if (flags & HAS_AVX2) aom_obmc_variance16x4 = aom_obmc_variance16x4_avx2;
    1169           3 :     aom_obmc_variance16x64 = aom_obmc_variance16x64_c;
    1170           3 :     if (flags & HAS_AVX2) aom_obmc_variance16x64 = aom_obmc_variance16x64_avx2;
    1171           3 :     aom_obmc_variance16x8 = aom_obmc_variance16x8_c;
    1172           3 :     if (flags & HAS_AVX2) aom_obmc_variance16x8 = aom_obmc_variance16x8_avx2;
    1173           3 :     aom_obmc_variance32x16 = aom_obmc_variance32x16_c;
    1174           3 :     if (flags & HAS_AVX2) aom_obmc_variance32x16 = aom_obmc_variance32x16_avx2;
    1175           3 :     aom_obmc_variance32x32 = aom_obmc_variance32x32_c;
    1176           3 :     if (flags & HAS_AVX2) aom_obmc_variance32x32 = aom_obmc_variance32x32_avx2;
    1177           3 :     aom_obmc_variance32x64 = aom_obmc_variance32x64_c;
    1178           3 :     if (flags & HAS_AVX2) aom_obmc_variance32x64 = aom_obmc_variance32x64_avx2;
    1179           3 :     aom_obmc_variance32x8 = aom_obmc_variance32x8_c;
    1180           3 :     if (flags & HAS_AVX2) aom_obmc_variance32x8 = aom_obmc_variance32x8_avx2;
    1181           3 :     aom_obmc_variance4x16 = aom_obmc_variance4x16_c;
    1182           3 :     if (flags & HAS_AVX2) aom_obmc_variance4x16 = aom_obmc_variance4x16_avx2;
    1183           3 :     aom_obmc_variance4x4 = aom_obmc_variance4x4_c;
    1184           3 :     if (flags & HAS_AVX2) aom_obmc_variance4x4 = aom_obmc_variance4x4_avx2;
    1185           3 :     aom_obmc_variance4x8 = aom_obmc_variance4x8_c;
    1186           3 :     if (flags & HAS_AVX2) aom_obmc_variance4x8 = aom_obmc_variance4x8_avx2;
    1187           3 :     aom_obmc_variance64x128 = aom_obmc_variance64x128_c;
    1188           3 :     if (flags & HAS_AVX2) aom_obmc_variance64x128 = aom_obmc_variance64x128_avx2;
    1189           3 :     aom_obmc_variance64x16 = aom_obmc_variance64x16_c;
    1190           3 :     if (flags & HAS_AVX2) aom_obmc_variance64x16 = aom_obmc_variance64x16_avx2;
    1191           3 :     aom_obmc_variance64x32 = aom_obmc_variance64x32_c;
    1192           3 :     if (flags & HAS_AVX2) aom_obmc_variance64x32 = aom_obmc_variance64x32_avx2;
    1193           3 :     aom_obmc_variance64x64 = aom_obmc_variance64x64_c;
    1194           3 :     if (flags & HAS_AVX2) aom_obmc_variance64x64 = aom_obmc_variance64x64_avx2;
    1195           3 :     aom_obmc_variance8x16 = aom_obmc_variance8x16_c;
    1196           3 :     if (flags & HAS_AVX2) aom_obmc_variance8x16 = aom_obmc_variance8x16_avx2;
    1197           3 :     aom_obmc_variance8x32 = aom_obmc_variance8x32_c;
    1198           3 :     if (flags & HAS_AVX2) aom_obmc_variance8x32 = aom_obmc_variance8x32_avx2;
    1199           3 :     aom_obmc_variance8x4 = aom_obmc_variance8x4_c;
    1200           3 :     if (flags & HAS_AVX2) aom_obmc_variance8x4 = aom_obmc_variance8x4_avx2;
    1201           3 :     aom_obmc_variance8x8 = aom_obmc_variance8x8_c;
    1202           3 :     if (flags & HAS_AVX2) aom_obmc_variance8x8 = aom_obmc_variance8x8_avx2;
    1203             : #endif
    1204             :     //VARIANCE
    1205           3 :     eb_aom_variance4x4 = eb_aom_variance4x4_c;
    1206           3 :     if (flags & HAS_AVX2) eb_aom_variance4x4 = eb_aom_variance4x4_sse2;
    1207           3 :     eb_aom_variance4x8 = eb_aom_variance4x8_c;
    1208           3 :     if (flags & HAS_AVX2) eb_aom_variance4x8 = eb_aom_variance4x8_sse2;
    1209           3 :     eb_aom_variance4x16 = eb_aom_variance4x16_c;
    1210           3 :     if (flags & HAS_AVX2) eb_aom_variance4x16 = eb_aom_variance4x16_sse2;
    1211           3 :     eb_aom_variance8x4 = eb_aom_variance8x4_c;
    1212           3 :     if (flags & HAS_AVX2) eb_aom_variance8x4 = eb_aom_variance8x4_sse2;
    1213           3 :     eb_aom_variance8x8 = eb_aom_variance8x8_c;
    1214           3 :     if (flags & HAS_AVX2) eb_aom_variance8x8 = eb_aom_variance8x8_sse2;
    1215           3 :     eb_aom_variance8x16 = eb_aom_variance8x16_c;
    1216           3 :     if (flags & HAS_AVX2) eb_aom_variance8x16 = eb_aom_variance8x16_sse2;
    1217           3 :     eb_aom_variance8x32 = eb_aom_variance8x32_c;
    1218           3 :     if (flags & HAS_AVX2) eb_aom_variance8x32 = eb_aom_variance8x32_sse2;
    1219           3 :     eb_aom_variance16x4 = eb_aom_variance16x4_c;
    1220           3 :     if (flags & HAS_AVX2) eb_aom_variance16x4 = eb_aom_variance16x4_avx2;
    1221           3 :     eb_aom_variance16x8 = eb_aom_variance16x8_c;
    1222           3 :     if (flags & HAS_AVX2) eb_aom_variance16x8 = eb_aom_variance16x8_avx2;
    1223           3 :     eb_aom_variance16x16 = eb_aom_variance16x16_c;
    1224           3 :     if (flags & HAS_AVX2) eb_aom_variance16x16 = eb_aom_variance16x16_avx2;
    1225           3 :     eb_aom_variance16x32 = eb_aom_variance16x32_c;
    1226           3 :     if (flags & HAS_AVX2) eb_aom_variance16x32 = eb_aom_variance16x32_avx2;
    1227           3 :     eb_aom_variance16x64 = eb_aom_variance16x64_c;
    1228           3 :     if (flags & HAS_AVX2) eb_aom_variance16x64 = eb_aom_variance16x64_avx2;
    1229           3 :     eb_aom_variance32x8 = eb_aom_variance32x8_c;
    1230           3 :     if (flags & HAS_AVX2) eb_aom_variance32x8 = eb_aom_variance32x8_avx2;
    1231           3 :     eb_aom_variance32x16 = eb_aom_variance32x16_c;
    1232           3 :     if (flags & HAS_AVX2) eb_aom_variance32x16 = eb_aom_variance32x16_avx2;
    1233           3 :     eb_aom_variance32x32 = eb_aom_variance32x32_c;
    1234           3 :     if (flags & HAS_AVX2) eb_aom_variance32x32 = eb_aom_variance32x32_avx2;
    1235           3 :     eb_aom_variance32x64 = eb_aom_variance32x64_c;
    1236           3 :     if (flags & HAS_AVX2) eb_aom_variance32x64 = eb_aom_variance32x64_avx2;
    1237           3 :     eb_aom_variance64x16 = eb_aom_variance64x16_c;
    1238           3 :     if (flags & HAS_AVX2) eb_aom_variance64x16 = eb_aom_variance64x16_avx2;
    1239           3 :     eb_aom_variance64x32 = eb_aom_variance64x32_c;
    1240           3 :     if (flags & HAS_AVX2) eb_aom_variance64x32 = eb_aom_variance64x32_avx2;
    1241           3 :     eb_aom_variance64x64 = eb_aom_variance64x64_c;
    1242           3 :     if (flags & HAS_AVX2) eb_aom_variance64x64 = eb_aom_variance64x64_avx2;
    1243           3 :     eb_aom_variance64x128 = eb_aom_variance64x128_c;
    1244           3 :     if (flags & HAS_AVX2) eb_aom_variance64x128 = eb_aom_variance64x128_avx2;
    1245           3 :     eb_aom_variance128x64 = eb_aom_variance128x64_c;
    1246           3 :     if (flags & HAS_AVX2) eb_aom_variance128x64 = eb_aom_variance128x64_avx2;
    1247           3 :     eb_aom_variance128x128 = eb_aom_variance128x128_c;
    1248           3 :     if (flags & HAS_AVX2) eb_aom_variance128x128 = eb_aom_variance128x128_avx2;
    1249             : 
    1250             :     //QIQ
    1251           3 :     eb_aom_quantize_b_64x64 = eb_aom_quantize_b_64x64_c_II;
    1252           3 :     if (flags & HAS_AVX2) eb_aom_quantize_b_64x64 = eb_aom_quantize_b_64x64_avx2;
    1253             : 
    1254           3 :     eb_aom_highbd_quantize_b_64x64 = eb_aom_highbd_quantize_b_64x64_c;
    1255           3 :     if (flags & HAS_AVX2) eb_aom_highbd_quantize_b_64x64 = eb_aom_highbd_quantize_b_64x64_avx2;
    1256             :     // transform
    1257           3 :     eb_av1_fwd_txfm2d_16x8 = eb_av1_fwd_txfm2d_16x8_c;
    1258           3 :     if (flags & HAS_AVX2) eb_av1_fwd_txfm2d_16x8 = eb_av1_fwd_txfm2d_16x8_avx2;
    1259           3 :     eb_av1_fwd_txfm2d_8x16 = eb_av1_fwd_txfm2d_8x16_c;
    1260           3 :     if (flags & HAS_AVX2) eb_av1_fwd_txfm2d_8x16 = eb_av1_fwd_txfm2d_8x16_avx2;
    1261             : 
    1262           3 :     eb_av1_fwd_txfm2d_16x4 = eb_av1_fwd_txfm2d_16x4_c;
    1263           3 :     if (flags & HAS_AVX2) eb_av1_fwd_txfm2d_16x4 = eb_av1_fwd_txfm2d_16x4_avx2;
    1264           3 :     eb_av1_fwd_txfm2d_4x16 = eb_av1_fwd_txfm2d_4x16_c;
    1265           3 :     if (flags & HAS_AVX2) eb_av1_fwd_txfm2d_4x16 = eb_av1_fwd_txfm2d_4x16_avx2;
    1266             : 
    1267           3 :     eb_av1_fwd_txfm2d_8x4 = eb_av1_fwd_txfm2d_8x4_c;
    1268           3 :     if (flags & HAS_AVX2) eb_av1_fwd_txfm2d_8x4 = eb_av1_fwd_txfm2d_8x4_avx2;
    1269           3 :     eb_av1_fwd_txfm2d_4x8 = eb_av1_fwd_txfm2d_4x8_c;
    1270           3 :     if (flags & HAS_AVX2) eb_av1_fwd_txfm2d_4x8 = eb_av1_fwd_txfm2d_4x8_avx2;
    1271             : 
    1272           3 :     eb_av1_fwd_txfm2d_32x16 = eb_av1_fwd_txfm2d_32x16_c;
    1273           3 :     eb_av1_fwd_txfm2d_32x8 = eb_av1_fwd_txfm2d_32x8_c;
    1274           3 :     if (flags & HAS_AVX2) eb_av1_fwd_txfm2d_32x8 = eb_av1_fwd_txfm2d_32x8_avx2;
    1275           3 :     eb_av1_fwd_txfm2d_8x32 = eb_av1_fwd_txfm2d_8x32_c;
    1276           3 :     if (flags & HAS_AVX2) eb_av1_fwd_txfm2d_8x32 = eb_av1_fwd_txfm2d_8x32_avx2;
    1277           3 :     eb_av1_fwd_txfm2d_16x32 = eb_av1_fwd_txfm2d_16x32_c;
    1278           3 :     eb_av1_fwd_txfm2d_32x64 = eb_av1_fwd_txfm2d_32x64_c;
    1279           3 :     eb_av1_fwd_txfm2d_64x32 = eb_av1_fwd_txfm2d_64x32_c;
    1280           3 :     eb_av1_fwd_txfm2d_16x64 = eb_av1_fwd_txfm2d_16x64_c;
    1281           3 :     eb_av1_fwd_txfm2d_64x16 = eb_av1_fwd_txfm2d_64x16_c;
    1282           3 :     eb_av1_fwd_txfm2d_64x64 = Av1TransformTwoD_64x64_c;
    1283           3 :     eb_av1_fwd_txfm2d_32x32 = Av1TransformTwoD_32x32_c;
    1284           3 :     eb_av1_fwd_txfm2d_16x16 = Av1TransformTwoD_16x16_c;
    1285             : #ifndef NON_AVX512_SUPPORT
    1286             :     if (CanUseIntelAVX512()) {
    1287             :         eb_av1_fwd_txfm2d_64x64 = av1_fwd_txfm2d_64x64_avx512;
    1288             :         eb_av1_fwd_txfm2d_32x32 = av1_fwd_txfm2d_32x32_avx512;
    1289             :         eb_av1_fwd_txfm2d_16x16 = av1_fwd_txfm2d_16x16_avx512;
    1290             :         eb_av1_fwd_txfm2d_32x64 = av1_fwd_txfm2d_32x64_avx512;
    1291             :         eb_av1_fwd_txfm2d_64x32 = av1_fwd_txfm2d_64x32_avx512;
    1292             :         eb_av1_fwd_txfm2d_16x64 = av1_fwd_txfm2d_16x64_avx512;
    1293             :         eb_av1_fwd_txfm2d_64x16 = av1_fwd_txfm2d_64x16_avx512;
    1294             :         eb_av1_fwd_txfm2d_32x16 = av1_fwd_txfm2d_32x16_avx512;
    1295             :         eb_av1_fwd_txfm2d_16x32 = av1_fwd_txfm2d_16x32_avx512;
    1296             :     }
    1297             : #else
    1298           3 :     if (flags & HAS_AVX2) eb_av1_fwd_txfm2d_64x64 = eb_av1_fwd_txfm2d_64x64_avx2;
    1299           3 :     if (flags & HAS_AVX2) eb_av1_fwd_txfm2d_32x32 = eb_av1_fwd_txfm2d_32x32_avx2;
    1300           3 :     if (flags & HAS_AVX2) eb_av1_fwd_txfm2d_16x16 = eb_av1_fwd_txfm2d_16x16_avx2;
    1301           3 :     if (flags & HAS_AVX2) eb_av1_fwd_txfm2d_32x64 = eb_av1_fwd_txfm2d_32x64_avx2;
    1302           3 :     if (flags & HAS_AVX2) eb_av1_fwd_txfm2d_64x32 = eb_av1_fwd_txfm2d_64x32_avx2;
    1303           3 :     if (flags & HAS_AVX2) eb_av1_fwd_txfm2d_16x64 = eb_av1_fwd_txfm2d_16x64_avx2;
    1304           3 :     if (flags & HAS_AVX2) eb_av1_fwd_txfm2d_64x16 = eb_av1_fwd_txfm2d_64x16_avx2;
    1305           3 :     if (flags & HAS_AVX2) eb_av1_fwd_txfm2d_32x16 = eb_av1_fwd_txfm2d_32x16_avx2;
    1306           3 :     if (flags & HAS_AVX2) eb_av1_fwd_txfm2d_16x32 = eb_av1_fwd_txfm2d_16x32_avx2;
    1307             : #endif
    1308           3 :     eb_av1_fwd_txfm2d_8x8 = Av1TransformTwoD_8x8_c;
    1309           3 :     if (flags & HAS_AVX2) eb_av1_fwd_txfm2d_8x8 = eb_av1_fwd_txfm2d_8x8_avx2;
    1310           3 :     eb_av1_fwd_txfm2d_4x4 = Av1TransformTwoD_4x4_c;
    1311           3 :     if (flags & HAS_SSE4_1) eb_av1_fwd_txfm2d_4x4 = eb_av1_fwd_txfm2d_4x4_sse4_1;
    1312             : 
    1313           3 :     HandleTransform16x64 = HandleTransform16x64_c;
    1314           3 :     if (flags & HAS_AVX2) HandleTransform16x64 = HandleTransform16x64_avx2;
    1315           3 :     HandleTransform32x64 = HandleTransform32x64_c;
    1316           3 :     if (flags & HAS_AVX2) HandleTransform32x64 = HandleTransform32x64_avx2;
    1317           3 :     HandleTransform64x16 = HandleTransform64x16_c;
    1318           3 :     if (flags & HAS_AVX2) HandleTransform64x16 = HandleTransform64x16_avx2;
    1319           3 :     HandleTransform64x32 = HandleTransform64x32_c;
    1320           3 :     if (flags & HAS_AVX2) HandleTransform64x32 = HandleTransform64x32_avx2;
    1321           3 :     HandleTransform64x64 = HandleTransform64x64_c;
    1322           3 :     if (flags & HAS_AVX2) HandleTransform64x64 = HandleTransform64x64_avx2;
    1323             : 
    1324             :     // eb_aom_highbd_v_predictor
    1325           3 :     eb_aom_highbd_v_predictor_16x16 = eb_aom_highbd_v_predictor_16x16_c;
    1326           3 :     if (flags & HAS_AVX2) eb_aom_highbd_v_predictor_16x16 = eb_aom_highbd_v_predictor_16x16_avx2;
    1327           3 :     eb_aom_highbd_v_predictor_16x32 = eb_aom_highbd_v_predictor_16x32_c;
    1328           3 :     if (flags & HAS_AVX2) eb_aom_highbd_v_predictor_16x32 = eb_aom_highbd_v_predictor_16x32_avx2;
    1329           3 :     eb_aom_highbd_v_predictor_16x4 = eb_aom_highbd_v_predictor_16x4_c;
    1330           3 :     if (flags & HAS_AVX2) eb_aom_highbd_v_predictor_16x4 = eb_aom_highbd_v_predictor_16x4_avx2;
    1331           3 :     eb_aom_highbd_v_predictor_16x64 = eb_aom_highbd_v_predictor_16x64_c;
    1332           3 :     if (flags & HAS_AVX2) eb_aom_highbd_v_predictor_16x64 = eb_aom_highbd_v_predictor_16x64_avx2;
    1333           3 :     eb_aom_highbd_v_predictor_16x8 = eb_aom_highbd_v_predictor_16x8_c;
    1334           3 :     if (flags & HAS_AVX2) eb_aom_highbd_v_predictor_16x8 = eb_aom_highbd_v_predictor_16x8_avx2;
    1335           3 :     eb_aom_highbd_v_predictor_2x2 = eb_aom_highbd_v_predictor_2x2_c;
    1336           3 :     eb_aom_highbd_v_predictor_32x16 = eb_aom_highbd_v_predictor_32x16_c;
    1337           3 :     eb_aom_highbd_v_predictor_32x32 = eb_aom_highbd_v_predictor_32x32_c;
    1338           3 :     eb_aom_highbd_v_predictor_32x64 = eb_aom_highbd_v_predictor_32x64_c;
    1339           3 :     eb_aom_highbd_v_predictor_32x8 = eb_aom_highbd_v_predictor_32x8_c;
    1340           3 :     eb_aom_highbd_v_predictor_4x16 = eb_aom_highbd_v_predictor_4x16_c;
    1341           3 :     if (flags & HAS_SSE2) eb_aom_highbd_v_predictor_4x16 = eb_aom_highbd_v_predictor_4x16_sse2;
    1342           3 :     eb_aom_highbd_v_predictor_4x4 = eb_aom_highbd_v_predictor_4x4_c;
    1343           3 :     if (flags & HAS_SSE2) eb_aom_highbd_v_predictor_4x4 = eb_aom_highbd_v_predictor_4x4_sse2;
    1344           3 :     eb_aom_highbd_v_predictor_4x8 = eb_aom_highbd_v_predictor_4x8_c;
    1345           3 :     if (flags & HAS_SSE2) eb_aom_highbd_v_predictor_4x8 = eb_aom_highbd_v_predictor_4x8_sse2;
    1346           3 :     eb_aom_highbd_v_predictor_64x16 = eb_aom_highbd_v_predictor_64x16_c;
    1347           3 :     eb_aom_highbd_v_predictor_64x32 = eb_aom_highbd_v_predictor_64x32_c;
    1348           3 :     eb_aom_highbd_v_predictor_8x32 = eb_aom_highbd_v_predictor_8x32_c;
    1349           3 :     if (flags & HAS_SSE2) eb_aom_highbd_v_predictor_8x32 = eb_aom_highbd_v_predictor_8x32_sse2;
    1350           3 :     eb_aom_highbd_v_predictor_64x64 = eb_aom_highbd_v_predictor_64x64_c;
    1351           3 :     eb_aom_highbd_v_predictor_8x16 = eb_aom_highbd_v_predictor_8x16_c;
    1352           3 :     if (flags & HAS_SSE2) eb_aom_highbd_v_predictor_8x16 = eb_aom_highbd_v_predictor_8x16_sse2;
    1353           3 :     eb_aom_highbd_v_predictor_8x4 = eb_aom_highbd_v_predictor_8x4_c;
    1354           3 :     if (flags & HAS_SSE2) eb_aom_highbd_v_predictor_8x4 = eb_aom_highbd_v_predictor_8x4_sse2;
    1355           3 :     eb_aom_highbd_v_predictor_8x8 = eb_aom_highbd_v_predictor_8x8_c;
    1356           3 :     if (flags & HAS_SSE2) eb_aom_highbd_v_predictor_8x8 = eb_aom_highbd_v_predictor_8x8_sse2;
    1357             : 
    1358             : #ifndef NON_AVX512_SUPPORT
    1359             :     if (CanUseIntelAVX512()) {
    1360             :         eb_aom_highbd_v_predictor_32x8 = aom_highbd_v_predictor_32x8_avx512;
    1361             :         eb_aom_highbd_v_predictor_32x16 = aom_highbd_v_predictor_32x16_avx512;
    1362             :         eb_aom_highbd_v_predictor_32x32 = aom_highbd_v_predictor_32x32_avx512;
    1363             :         eb_aom_highbd_v_predictor_32x64 = aom_highbd_v_predictor_32x64_avx512;
    1364             :         eb_aom_highbd_v_predictor_64x16 = aom_highbd_v_predictor_64x16_avx512;
    1365             :         eb_aom_highbd_v_predictor_64x32 = aom_highbd_v_predictor_64x32_avx512;
    1366             :         eb_aom_highbd_v_predictor_64x64 = aom_highbd_v_predictor_64x64_avx512;
    1367             :     }
    1368             : #else
    1369           3 :     if (flags & HAS_AVX2) eb_aom_highbd_v_predictor_32x8 = eb_aom_highbd_v_predictor_32x8_avx2;
    1370           3 :     if (flags & HAS_AVX2) eb_aom_highbd_v_predictor_32x16 = eb_aom_highbd_v_predictor_32x16_avx2;
    1371           3 :     if (flags & HAS_AVX2) eb_aom_highbd_v_predictor_32x32 = eb_aom_highbd_v_predictor_32x32_avx2;
    1372           3 :     if (flags & HAS_AVX2) eb_aom_highbd_v_predictor_32x64 = eb_aom_highbd_v_predictor_32x64_avx2;
    1373           3 :     if (flags & HAS_AVX2) eb_aom_highbd_v_predictor_64x16 = eb_aom_highbd_v_predictor_64x16_avx2;
    1374           3 :     if (flags & HAS_AVX2) eb_aom_highbd_v_predictor_64x32 = eb_aom_highbd_v_predictor_64x32_avx2;
    1375           3 :     if (flags & HAS_AVX2) eb_aom_highbd_v_predictor_64x64 = eb_aom_highbd_v_predictor_64x64_avx2;
    1376             : #endif // !NON_AVX512_SUPPORT
    1377             : 
    1378             :     //aom_highbd_smooth_predictor
    1379           3 :     eb_aom_highbd_smooth_predictor_16x16 = eb_aom_highbd_smooth_predictor_16x16_c;
    1380           3 :     if (flags & HAS_AVX2) eb_aom_highbd_smooth_predictor_16x16 = eb_aom_highbd_smooth_predictor_16x16_avx2;
    1381           3 :     eb_aom_highbd_smooth_predictor_16x32 = eb_aom_highbd_smooth_predictor_16x32_c;
    1382           3 :     if (flags & HAS_AVX2) eb_aom_highbd_smooth_predictor_16x32 = eb_aom_highbd_smooth_predictor_16x32_avx2;
    1383           3 :     eb_aom_highbd_smooth_predictor_16x4 = eb_aom_highbd_smooth_predictor_16x4_c;
    1384           3 :     if (flags & HAS_AVX2) eb_aom_highbd_smooth_predictor_16x4 = eb_aom_highbd_smooth_predictor_16x4_avx2;
    1385           3 :     eb_aom_highbd_smooth_predictor_16x64 = eb_aom_highbd_smooth_predictor_16x64_c;
    1386           3 :     if (flags & HAS_AVX2) eb_aom_highbd_smooth_predictor_16x64 = eb_aom_highbd_smooth_predictor_16x64_avx2;
    1387           3 :     eb_aom_highbd_smooth_predictor_16x8 = eb_aom_highbd_smooth_predictor_16x8_c;
    1388           3 :     if (flags & HAS_AVX2) eb_aom_highbd_smooth_predictor_16x8 = eb_aom_highbd_smooth_predictor_16x8_avx2;
    1389           3 :     eb_aom_highbd_smooth_predictor_2x2 = eb_aom_highbd_smooth_predictor_2x2_c;
    1390           3 :     eb_aom_highbd_smooth_predictor_32x16 = eb_aom_highbd_smooth_predictor_32x16_c;
    1391           3 :     if (flags & HAS_AVX2) eb_aom_highbd_smooth_predictor_32x16 = eb_aom_highbd_smooth_predictor_32x16_avx2;
    1392           3 :     eb_aom_highbd_smooth_predictor_32x32 = eb_aom_highbd_smooth_predictor_32x32_c;
    1393           3 :     if (flags & HAS_AVX2) eb_aom_highbd_smooth_predictor_32x32 = eb_aom_highbd_smooth_predictor_32x32_avx2;
    1394           3 :     eb_aom_highbd_smooth_predictor_32x64 = eb_aom_highbd_smooth_predictor_32x64_c;
    1395           3 :     if (flags & HAS_AVX2) eb_aom_highbd_smooth_predictor_32x64 = eb_aom_highbd_smooth_predictor_32x64_avx2;
    1396           3 :     eb_aom_highbd_smooth_predictor_32x8 = eb_aom_highbd_smooth_predictor_32x8_c;
    1397           3 :     if (flags & HAS_AVX2) eb_aom_highbd_smooth_predictor_32x8 = eb_aom_highbd_smooth_predictor_32x8_avx2;
    1398           3 :     eb_aom_highbd_smooth_predictor_4x16 = eb_aom_highbd_smooth_predictor_4x16_c;
    1399           3 :     if (flags & HAS_SSSE3) eb_aom_highbd_smooth_predictor_4x16 = eb_aom_highbd_smooth_predictor_4x16_ssse3;
    1400           3 :     eb_aom_highbd_smooth_predictor_4x4 = eb_aom_highbd_smooth_predictor_4x4_c;
    1401           3 :     if (flags & HAS_SSSE3) eb_aom_highbd_smooth_predictor_4x4 = eb_aom_highbd_smooth_predictor_4x4_ssse3;
    1402           3 :     eb_aom_highbd_smooth_predictor_4x8 = eb_aom_highbd_smooth_predictor_4x8_c;
    1403           3 :     if (flags & HAS_SSSE3) eb_aom_highbd_smooth_predictor_4x8 = eb_aom_highbd_smooth_predictor_4x8_ssse3;
    1404           3 :     eb_aom_highbd_smooth_predictor_64x16 = eb_aom_highbd_smooth_predictor_64x16_c;
    1405           3 :     if (flags & HAS_AVX2) eb_aom_highbd_smooth_predictor_64x16 = eb_aom_highbd_smooth_predictor_64x16_avx2;
    1406           3 :     eb_aom_highbd_smooth_predictor_64x32 = eb_aom_highbd_smooth_predictor_64x32_c;
    1407           3 :     if (flags & HAS_AVX2) eb_aom_highbd_smooth_predictor_64x32 = eb_aom_highbd_smooth_predictor_64x32_avx2;
    1408           3 :     eb_aom_highbd_smooth_predictor_64x64 = eb_aom_highbd_smooth_predictor_64x64_c;
    1409           3 :     if (flags & HAS_AVX2) eb_aom_highbd_smooth_predictor_64x64 = eb_aom_highbd_smooth_predictor_64x64_avx2;
    1410           3 :     eb_aom_highbd_smooth_predictor_8x16 = eb_aom_highbd_smooth_predictor_8x16_c;
    1411           3 :     if (flags & HAS_AVX2) eb_aom_highbd_smooth_predictor_8x16 = eb_aom_highbd_smooth_predictor_8x16_avx2;
    1412           3 :     eb_aom_highbd_smooth_predictor_8x32 = eb_aom_highbd_smooth_predictor_8x32_c;
    1413           3 :     if (flags & HAS_AVX2) eb_aom_highbd_smooth_predictor_8x32 = eb_aom_highbd_smooth_predictor_8x32_avx2;
    1414           3 :     eb_aom_highbd_smooth_predictor_8x4 = eb_aom_highbd_smooth_predictor_8x4_c;
    1415           3 :     if (flags & HAS_AVX2) eb_aom_highbd_smooth_predictor_8x4 = eb_aom_highbd_smooth_predictor_8x4_avx2;
    1416           3 :     eb_aom_highbd_smooth_predictor_8x8 = eb_aom_highbd_smooth_predictor_8x8_c;
    1417           3 :     if (flags & HAS_AVX2) eb_aom_highbd_smooth_predictor_8x8 = eb_aom_highbd_smooth_predictor_8x8_avx2;
    1418             : 
    1419             :     //aom_highbd_smooth_h_predictor
    1420           3 :     eb_aom_highbd_smooth_h_predictor_16x16 = eb_aom_highbd_smooth_h_predictor_16x16_c;
    1421           3 :     if (flags & HAS_AVX2) eb_aom_highbd_smooth_h_predictor_16x16 = eb_aom_highbd_smooth_h_predictor_16x16_avx2;
    1422           3 :     eb_aom_highbd_smooth_h_predictor_16x32 = eb_aom_highbd_smooth_h_predictor_16x32_c;
    1423           3 :     if (flags & HAS_AVX2) eb_aom_highbd_smooth_h_predictor_16x32 = eb_aom_highbd_smooth_h_predictor_16x32_avx2;
    1424           3 :     eb_aom_highbd_smooth_h_predictor_16x4 = eb_aom_highbd_smooth_h_predictor_16x4_c;
    1425           3 :     if (flags & HAS_AVX2) eb_aom_highbd_smooth_h_predictor_16x4 = eb_aom_highbd_smooth_h_predictor_16x4_avx2;
    1426           3 :     eb_aom_highbd_smooth_h_predictor_16x64 = eb_aom_highbd_smooth_h_predictor_16x64_c;
    1427           3 :     if (flags & HAS_AVX2) eb_aom_highbd_smooth_h_predictor_16x64 = eb_aom_highbd_smooth_h_predictor_16x64_avx2;
    1428           3 :     eb_aom_highbd_smooth_h_predictor_16x8 = eb_aom_highbd_smooth_h_predictor_16x8_c;
    1429           3 :     if (flags & HAS_AVX2) eb_aom_highbd_smooth_h_predictor_16x8 = eb_aom_highbd_smooth_h_predictor_16x8_avx2;
    1430           3 :     eb_aom_highbd_smooth_h_predictor_2x2 = eb_aom_highbd_smooth_h_predictor_2x2_c;
    1431           3 :     eb_aom_highbd_smooth_h_predictor_32x16 = eb_aom_highbd_smooth_h_predictor_32x16_c;
    1432           3 :     if (flags & HAS_AVX2) eb_aom_highbd_smooth_h_predictor_32x16 = eb_aom_highbd_smooth_h_predictor_32x16_avx2;
    1433           3 :     eb_aom_highbd_smooth_h_predictor_32x32 = eb_aom_highbd_smooth_h_predictor_32x32_c;
    1434           3 :     if (flags & HAS_AVX2) eb_aom_highbd_smooth_h_predictor_32x32 = eb_aom_highbd_smooth_h_predictor_32x32_avx2;
    1435           3 :     eb_aom_highbd_smooth_h_predictor_32x64 = eb_aom_highbd_smooth_h_predictor_32x64_c;
    1436           3 :     if (flags & HAS_AVX2) eb_aom_highbd_smooth_h_predictor_32x64 = eb_aom_highbd_smooth_h_predictor_32x64_avx2;
    1437           3 :     eb_aom_highbd_smooth_h_predictor_32x8 = eb_aom_highbd_smooth_h_predictor_32x8_c;
    1438           3 :     if (flags & HAS_AVX2) eb_aom_highbd_smooth_h_predictor_32x8 = eb_aom_highbd_smooth_h_predictor_32x8_avx2;
    1439           3 :     eb_aom_highbd_smooth_h_predictor_4x16 = eb_aom_highbd_smooth_h_predictor_4x16_c;
    1440           3 :     if (flags & HAS_SSSE3) eb_aom_highbd_smooth_h_predictor_4x16 = eb_aom_highbd_smooth_h_predictor_4x16_ssse3;
    1441           3 :     eb_aom_highbd_smooth_h_predictor_4x4 = eb_aom_highbd_smooth_h_predictor_4x4_c;
    1442           3 :     if (flags & HAS_SSSE3) eb_aom_highbd_smooth_h_predictor_4x4 = eb_aom_highbd_smooth_h_predictor_4x4_ssse3;
    1443           3 :     eb_aom_highbd_smooth_h_predictor_4x8 = eb_aom_highbd_smooth_h_predictor_4x8_c;
    1444           3 :     if (flags & HAS_SSSE3) eb_aom_highbd_smooth_h_predictor_4x8 = eb_aom_highbd_smooth_h_predictor_4x8_ssse3;
    1445           3 :     eb_aom_highbd_smooth_h_predictor_64x16 = eb_aom_highbd_smooth_h_predictor_64x16_c;
    1446           3 :     if (flags & HAS_AVX2) eb_aom_highbd_smooth_h_predictor_64x16 = eb_aom_highbd_smooth_h_predictor_64x16_avx2;
    1447           3 :     eb_aom_highbd_smooth_h_predictor_64x32 = eb_aom_highbd_smooth_h_predictor_64x32_c;
    1448           3 :     if (flags & HAS_AVX2) eb_aom_highbd_smooth_h_predictor_64x32 = eb_aom_highbd_smooth_h_predictor_64x32_avx2;
    1449           3 :     eb_aom_highbd_smooth_h_predictor_64x64 = eb_aom_highbd_smooth_h_predictor_64x64_c;
    1450           3 :     if (flags & HAS_AVX2) eb_aom_highbd_smooth_h_predictor_64x64 = eb_aom_highbd_smooth_h_predictor_64x64_avx2;
    1451           3 :     eb_aom_highbd_smooth_h_predictor_8x16 = eb_aom_highbd_smooth_h_predictor_8x16_c;
    1452           3 :     if (flags & HAS_AVX2) eb_aom_highbd_smooth_h_predictor_8x16 = eb_aom_highbd_smooth_h_predictor_8x16_avx2;
    1453           3 :     eb_aom_highbd_smooth_h_predictor_8x32 = eb_aom_highbd_smooth_h_predictor_8x32_c;
    1454           3 :     if (flags & HAS_AVX2) eb_aom_highbd_smooth_h_predictor_8x32 = eb_aom_highbd_smooth_h_predictor_8x32_avx2;
    1455           3 :     eb_aom_highbd_smooth_h_predictor_8x4 = eb_aom_highbd_smooth_h_predictor_8x4_c;
    1456           3 :     if (flags & HAS_AVX2) eb_aom_highbd_smooth_h_predictor_8x4 = eb_aom_highbd_smooth_h_predictor_8x4_avx2;
    1457           3 :     eb_aom_highbd_smooth_h_predictor_8x8 = eb_aom_highbd_smooth_h_predictor_8x8_c;
    1458           3 :     if (flags & HAS_AVX2) eb_aom_highbd_smooth_h_predictor_8x8 = eb_aom_highbd_smooth_h_predictor_8x8_avx2;
    1459             : 
    1460             :     //aom_highbd_dc_128_predictor
    1461           3 :     eb_aom_highbd_dc_128_predictor_16x16 = eb_aom_highbd_dc_128_predictor_16x16_c;
    1462           3 :     if (flags & HAS_AVX2) eb_aom_highbd_dc_128_predictor_16x16 = eb_aom_highbd_dc_128_predictor_16x16_avx2;
    1463           3 :     eb_aom_highbd_dc_128_predictor_16x32 = eb_aom_highbd_dc_128_predictor_16x32_c;
    1464           3 :     if (flags & HAS_AVX2) eb_aom_highbd_dc_128_predictor_16x32 = eb_aom_highbd_dc_128_predictor_16x32_avx2;
    1465           3 :     eb_aom_highbd_dc_128_predictor_16x4 = eb_aom_highbd_dc_128_predictor_16x4_c;
    1466           3 :     if (flags & HAS_AVX2) eb_aom_highbd_dc_128_predictor_16x4 = eb_aom_highbd_dc_128_predictor_16x4_avx2;
    1467           3 :     eb_aom_highbd_dc_128_predictor_16x64 = eb_aom_highbd_dc_128_predictor_16x64_c;
    1468           3 :     if (flags & HAS_AVX2) eb_aom_highbd_dc_128_predictor_16x64 = eb_aom_highbd_dc_128_predictor_16x64_avx2;
    1469           3 :     eb_aom_highbd_dc_128_predictor_16x8 = eb_aom_highbd_dc_128_predictor_16x8_c;
    1470           3 :     if (flags & HAS_AVX2) eb_aom_highbd_dc_128_predictor_16x8 = eb_aom_highbd_dc_128_predictor_16x8_avx2;
    1471           3 :     eb_aom_highbd_dc_128_predictor_2x2 = eb_aom_highbd_dc_128_predictor_2x2_c;
    1472           3 :     eb_aom_highbd_dc_128_predictor_32x16 = eb_aom_highbd_dc_128_predictor_32x16_c;
    1473           3 :     if (flags & HAS_AVX2) eb_aom_highbd_dc_128_predictor_32x16 = eb_aom_highbd_dc_128_predictor_32x16_avx2;
    1474           3 :     eb_aom_highbd_dc_128_predictor_32x32 = eb_aom_highbd_dc_128_predictor_32x32_c;
    1475           3 :     if (flags & HAS_AVX2) eb_aom_highbd_dc_128_predictor_32x32 = eb_aom_highbd_dc_128_predictor_32x32_avx2;
    1476           3 :     eb_aom_highbd_dc_128_predictor_32x64 = eb_aom_highbd_dc_128_predictor_32x64_c;
    1477           3 :     if (flags & HAS_AVX2) eb_aom_highbd_dc_128_predictor_32x64 = eb_aom_highbd_dc_128_predictor_32x64_avx2;
    1478           3 :     eb_aom_highbd_dc_128_predictor_32x8 = eb_aom_highbd_dc_128_predictor_32x8_c;
    1479           3 :     if (flags & HAS_AVX2) eb_aom_highbd_dc_128_predictor_32x8 = eb_aom_highbd_dc_128_predictor_32x8_avx2;
    1480           3 :     eb_aom_highbd_dc_128_predictor_4x16 = eb_aom_highbd_dc_128_predictor_4x16_c;
    1481           3 :     if (flags & HAS_SSE2) eb_aom_highbd_dc_128_predictor_4x16 = eb_aom_highbd_dc_128_predictor_4x16_sse2;
    1482           3 :     eb_aom_highbd_dc_128_predictor_4x4 = eb_aom_highbd_dc_128_predictor_4x4_c;
    1483           3 :     if (flags & HAS_SSE2) eb_aom_highbd_dc_128_predictor_4x4 = eb_aom_highbd_dc_128_predictor_4x4_sse2;
    1484           3 :     eb_aom_highbd_dc_128_predictor_4x8 = eb_aom_highbd_dc_128_predictor_4x8_c;
    1485           3 :     if (flags & HAS_SSE2) eb_aom_highbd_dc_128_predictor_4x8 = eb_aom_highbd_dc_128_predictor_4x8_sse2;
    1486           3 :     eb_aom_highbd_dc_128_predictor_8x32 = eb_aom_highbd_dc_128_predictor_8x32_c;
    1487           3 :     if (flags & HAS_SSE2) eb_aom_highbd_dc_128_predictor_8x32 = eb_aom_highbd_dc_128_predictor_8x32_sse2;
    1488           3 :     eb_aom_highbd_dc_128_predictor_64x16 = eb_aom_highbd_dc_128_predictor_64x16_c;
    1489           3 :     if (flags & HAS_AVX2) eb_aom_highbd_dc_128_predictor_64x16 = eb_aom_highbd_dc_128_predictor_64x16_avx2;
    1490           3 :     eb_aom_highbd_dc_128_predictor_64x32 = eb_aom_highbd_dc_128_predictor_64x32_c;
    1491           3 :     if (flags & HAS_AVX2) eb_aom_highbd_dc_128_predictor_64x32 = eb_aom_highbd_dc_128_predictor_64x32_avx2;
    1492           3 :     eb_aom_highbd_dc_128_predictor_64x64 = eb_aom_highbd_dc_128_predictor_64x64_c;
    1493           3 :     if (flags & HAS_AVX2) eb_aom_highbd_dc_128_predictor_64x64 = eb_aom_highbd_dc_128_predictor_64x64_avx2;
    1494           3 :     eb_aom_highbd_dc_128_predictor_8x16 = eb_aom_highbd_dc_128_predictor_8x16_c;
    1495           3 :     if (flags & HAS_SSE2) eb_aom_highbd_dc_128_predictor_8x16 = eb_aom_highbd_dc_128_predictor_8x16_sse2;
    1496           3 :     eb_aom_highbd_dc_128_predictor_8x4 = eb_aom_highbd_dc_128_predictor_8x4_c;
    1497           3 :     if (flags & HAS_SSE2) eb_aom_highbd_dc_128_predictor_8x4 = eb_aom_highbd_dc_128_predictor_8x4_sse2;
    1498           3 :     eb_aom_highbd_dc_128_predictor_8x8 = eb_aom_highbd_dc_128_predictor_8x8_c;
    1499           3 :     if (flags & HAS_SSE2) eb_aom_highbd_dc_128_predictor_8x8 = eb_aom_highbd_dc_128_predictor_8x8_sse2;
    1500             : 
    1501             :     //aom_highbd_dc_left_predictor
    1502           3 :     eb_aom_highbd_dc_left_predictor_16x16 = eb_aom_highbd_dc_left_predictor_16x16_c;
    1503           3 :     if (flags & HAS_AVX2) eb_aom_highbd_dc_left_predictor_16x16 = eb_aom_highbd_dc_left_predictor_16x16_avx2;
    1504           3 :     eb_aom_highbd_dc_left_predictor_16x32 = eb_aom_highbd_dc_left_predictor_16x32_c;
    1505           3 :     if (flags & HAS_AVX2) eb_aom_highbd_dc_left_predictor_16x32 = eb_aom_highbd_dc_left_predictor_16x32_avx2;
    1506           3 :     eb_aom_highbd_dc_left_predictor_16x4 = eb_aom_highbd_dc_left_predictor_16x4_c;
    1507           3 :     if (flags & HAS_AVX2) eb_aom_highbd_dc_left_predictor_16x4 = eb_aom_highbd_dc_left_predictor_16x4_avx2;
    1508           3 :     eb_aom_highbd_dc_left_predictor_16x64 = eb_aom_highbd_dc_left_predictor_16x64_c;
    1509           3 :     if (flags & HAS_AVX2) eb_aom_highbd_dc_left_predictor_16x64 = eb_aom_highbd_dc_left_predictor_16x64_avx2;
    1510           3 :     eb_aom_highbd_dc_left_predictor_16x8 = eb_aom_highbd_dc_left_predictor_16x8_c;
    1511           3 :     if (flags & HAS_AVX2) eb_aom_highbd_dc_left_predictor_16x8 = eb_aom_highbd_dc_left_predictor_16x8_avx2;
    1512           3 :     eb_aom_highbd_dc_left_predictor_2x2 = eb_aom_highbd_dc_left_predictor_2x2_c;
    1513           3 :     eb_aom_highbd_dc_left_predictor_32x16 = eb_aom_highbd_dc_left_predictor_32x16_c;
    1514           3 :     eb_aom_highbd_dc_left_predictor_32x32 = eb_aom_highbd_dc_left_predictor_32x32_c;
    1515           3 :     eb_aom_highbd_dc_left_predictor_32x64 = eb_aom_highbd_dc_left_predictor_32x64_c;
    1516           3 :     eb_aom_highbd_dc_left_predictor_32x8 = eb_aom_highbd_dc_left_predictor_32x8_c;
    1517           3 :     eb_aom_highbd_dc_left_predictor_4x16 = eb_aom_highbd_dc_left_predictor_4x16_c;
    1518           3 :     if (flags & HAS_SSE2) eb_aom_highbd_dc_left_predictor_4x16 = eb_aom_highbd_dc_left_predictor_4x16_sse2;
    1519           3 :     eb_aom_highbd_dc_left_predictor_4x4 = eb_aom_highbd_dc_left_predictor_4x4_c;
    1520           3 :     if (flags & HAS_SSE2) eb_aom_highbd_dc_left_predictor_4x4 = eb_aom_highbd_dc_left_predictor_4x4_sse2;
    1521           3 :     eb_aom_highbd_dc_left_predictor_4x8 = eb_aom_highbd_dc_left_predictor_4x8_c;
    1522           3 :     if (flags & HAS_SSE2) eb_aom_highbd_dc_left_predictor_4x8 = eb_aom_highbd_dc_left_predictor_4x8_sse2;
    1523           3 :     eb_aom_highbd_dc_left_predictor_8x32 = eb_aom_highbd_dc_left_predictor_8x32_c;
    1524           3 :     if (flags & HAS_SSE2) eb_aom_highbd_dc_left_predictor_8x32 = eb_aom_highbd_dc_left_predictor_8x32_sse2;
    1525           3 :     eb_aom_highbd_dc_left_predictor_64x16 = eb_aom_highbd_dc_left_predictor_64x16_c;
    1526           3 :     eb_aom_highbd_dc_left_predictor_64x32 = eb_aom_highbd_dc_left_predictor_64x32_c;
    1527           3 :     eb_aom_highbd_dc_left_predictor_64x64 = eb_aom_highbd_dc_left_predictor_64x64_c;
    1528           3 :     eb_aom_highbd_dc_left_predictor_8x16 = eb_aom_highbd_dc_left_predictor_8x16_c;
    1529           3 :     if (flags & HAS_SSE2) eb_aom_highbd_dc_left_predictor_8x16 = eb_aom_highbd_dc_left_predictor_8x16_sse2;
    1530           3 :     eb_aom_highbd_dc_left_predictor_8x4 = eb_aom_highbd_dc_left_predictor_8x4_c;
    1531           3 :     if (flags & HAS_SSE2) eb_aom_highbd_dc_left_predictor_8x4 = eb_aom_highbd_dc_left_predictor_8x4_sse2;
    1532           3 :     eb_aom_highbd_dc_left_predictor_8x8 = eb_aom_highbd_dc_left_predictor_8x8_c;
    1533           3 :     if (flags & HAS_SSE2) eb_aom_highbd_dc_left_predictor_8x8 = eb_aom_highbd_dc_left_predictor_8x8_sse2;
    1534             : 
    1535             : #ifndef NON_AVX512_SUPPORT
    1536             :     if (CanUseIntelAVX512()) {
    1537             :         eb_aom_highbd_dc_left_predictor_32x8 = aom_highbd_dc_left_predictor_32x8_avx512;
    1538             :         eb_aom_highbd_dc_left_predictor_32x16 = aom_highbd_dc_left_predictor_32x16_avx512;
    1539             :         eb_aom_highbd_dc_left_predictor_32x32 = aom_highbd_dc_left_predictor_32x32_avx512;
    1540             :         eb_aom_highbd_dc_left_predictor_32x64 = aom_highbd_dc_left_predictor_32x64_avx512;
    1541             :         eb_aom_highbd_dc_left_predictor_64x16 = aom_highbd_dc_left_predictor_64x16_avx512;
    1542             :         eb_aom_highbd_dc_left_predictor_64x32 = aom_highbd_dc_left_predictor_64x32_avx512;
    1543             :         eb_aom_highbd_dc_left_predictor_64x64 = aom_highbd_dc_left_predictor_64x64_avx512;
    1544             :     }
    1545             : #else
    1546           3 :     if (flags & HAS_AVX2) eb_aom_highbd_dc_left_predictor_32x8 = eb_aom_highbd_dc_left_predictor_32x8_avx2;
    1547           3 :     if (flags & HAS_AVX2) eb_aom_highbd_dc_left_predictor_32x16 = eb_aom_highbd_dc_left_predictor_32x16_avx2;
    1548           3 :     if (flags & HAS_AVX2) eb_aom_highbd_dc_left_predictor_32x32 = eb_aom_highbd_dc_left_predictor_32x32_avx2;
    1549           3 :     if (flags & HAS_AVX2) eb_aom_highbd_dc_left_predictor_32x64 = eb_aom_highbd_dc_left_predictor_32x64_avx2;
    1550           3 :     if (flags & HAS_AVX2) eb_aom_highbd_dc_left_predictor_64x16 = eb_aom_highbd_dc_left_predictor_64x16_avx2;
    1551           3 :     if (flags & HAS_AVX2) eb_aom_highbd_dc_left_predictor_64x32 = eb_aom_highbd_dc_left_predictor_64x32_avx2;
    1552           3 :     if (flags & HAS_AVX2) eb_aom_highbd_dc_left_predictor_64x64 = eb_aom_highbd_dc_left_predictor_64x64_avx2;
    1553             : #endif // !NON_AVX512_SUPPORT
    1554             : 
    1555           3 :     eb_aom_highbd_dc_predictor_16x16 = eb_aom_highbd_dc_predictor_16x16_c;
    1556           3 :     if (flags & HAS_AVX2) eb_aom_highbd_dc_predictor_16x16 = eb_aom_highbd_dc_predictor_16x16_avx2;
    1557           3 :     eb_aom_highbd_dc_predictor_16x32 = eb_aom_highbd_dc_predictor_16x32_c;
    1558           3 :     if (flags & HAS_AVX2) eb_aom_highbd_dc_predictor_16x32 = eb_aom_highbd_dc_predictor_16x32_avx2;
    1559           3 :     eb_aom_highbd_dc_predictor_16x4 = eb_aom_highbd_dc_predictor_16x4_c;
    1560           3 :     if (flags & HAS_AVX2) eb_aom_highbd_dc_predictor_16x4 = eb_aom_highbd_dc_predictor_16x4_avx2;
    1561           3 :     eb_aom_highbd_dc_predictor_16x64 = eb_aom_highbd_dc_predictor_16x64_c;
    1562           3 :     if (flags & HAS_AVX2) eb_aom_highbd_dc_predictor_16x64 = eb_aom_highbd_dc_predictor_16x64_avx2;
    1563           3 :     eb_aom_highbd_dc_predictor_16x8 = eb_aom_highbd_dc_predictor_16x8_c;
    1564           3 :     if (flags & HAS_AVX2) eb_aom_highbd_dc_predictor_16x8 = eb_aom_highbd_dc_predictor_16x8_avx2;
    1565           3 :     eb_aom_highbd_dc_predictor_2x2 = eb_aom_highbd_dc_predictor_2x2_c;
    1566           3 :     eb_aom_highbd_dc_predictor_32x16 = eb_aom_highbd_dc_predictor_32x16_c;
    1567           3 :     eb_aom_highbd_dc_predictor_32x32 = eb_aom_highbd_dc_predictor_32x32_c;
    1568           3 :     eb_aom_highbd_dc_predictor_32x64 = eb_aom_highbd_dc_predictor_32x64_c;
    1569           3 :     eb_aom_highbd_dc_predictor_32x8 = eb_aom_highbd_dc_predictor_32x8_c;
    1570           3 :     eb_aom_highbd_dc_predictor_4x16 = eb_aom_highbd_dc_predictor_4x16_c;
    1571           3 :     if (flags & HAS_SSE2) eb_aom_highbd_dc_predictor_4x16 = eb_aom_highbd_dc_predictor_4x16_sse2;
    1572           3 :     eb_aom_highbd_dc_predictor_4x4 = eb_aom_highbd_dc_predictor_4x4_c;
    1573           3 :     if (flags & HAS_SSE2) eb_aom_highbd_dc_predictor_4x4 = eb_aom_highbd_dc_predictor_4x4_sse2;
    1574           3 :     eb_aom_highbd_dc_predictor_4x8 = eb_aom_highbd_dc_predictor_4x8_c;
    1575           3 :     if (flags & HAS_SSE2) eb_aom_highbd_dc_predictor_4x8 = eb_aom_highbd_dc_predictor_4x8_sse2;
    1576           3 :     eb_aom_highbd_dc_predictor_64x16 = eb_aom_highbd_dc_predictor_64x16_c;
    1577           3 :     eb_aom_highbd_dc_predictor_64x32 = eb_aom_highbd_dc_predictor_64x32_c;
    1578           3 :     eb_aom_highbd_dc_predictor_64x64 = eb_aom_highbd_dc_predictor_64x64_c;
    1579           3 :     eb_aom_highbd_dc_predictor_8x16 = eb_aom_highbd_dc_predictor_8x16_c;
    1580           3 :     if (flags & HAS_SSE2) eb_aom_highbd_dc_predictor_8x16 = eb_aom_highbd_dc_predictor_8x16_sse2;
    1581           3 :     eb_aom_highbd_dc_predictor_8x4 = eb_aom_highbd_dc_predictor_8x4_c;
    1582           3 :     if (flags & HAS_SSE2) eb_aom_highbd_dc_predictor_8x4 = eb_aom_highbd_dc_predictor_8x4_sse2;
    1583           3 :     eb_aom_highbd_dc_predictor_8x8 = eb_aom_highbd_dc_predictor_8x8_c;
    1584           3 :     if (flags & HAS_SSE2) eb_aom_highbd_dc_predictor_8x8 = eb_aom_highbd_dc_predictor_8x8_sse2;
    1585           3 :     eb_aom_highbd_dc_predictor_8x32 = eb_aom_highbd_dc_predictor_8x32_c;
    1586           3 :     if (flags & HAS_SSE2) eb_aom_highbd_dc_predictor_8x32 = eb_aom_highbd_dc_predictor_8x32_sse2;
    1587             : 
    1588             : #ifndef NON_AVX512_SUPPORT
    1589             :     if (CanUseIntelAVX512()) {
    1590             :         eb_aom_highbd_dc_predictor_32x8 = aom_highbd_dc_predictor_32x8_avx512;
    1591             :         eb_aom_highbd_dc_predictor_32x16 = aom_highbd_dc_predictor_32x16_avx512;
    1592             :         eb_aom_highbd_dc_predictor_32x32 = aom_highbd_dc_predictor_32x32_avx512;
    1593             :         eb_aom_highbd_dc_predictor_32x64 = aom_highbd_dc_predictor_32x64_avx512;
    1594             :         eb_aom_highbd_dc_predictor_64x16 = aom_highbd_dc_predictor_64x16_avx512;
    1595             :         eb_aom_highbd_dc_predictor_64x32 = aom_highbd_dc_predictor_64x32_avx512;
    1596             :         eb_aom_highbd_dc_predictor_64x64 = aom_highbd_dc_predictor_64x64_avx512;
    1597             :     }
    1598             : #else
    1599           3 :     if (flags & HAS_AVX2) eb_aom_highbd_dc_predictor_32x8 = eb_aom_highbd_dc_predictor_32x8_avx2;
    1600           3 :     if (flags & HAS_AVX2) eb_aom_highbd_dc_predictor_32x16 = eb_aom_highbd_dc_predictor_32x16_avx2;
    1601           3 :     if (flags & HAS_AVX2) eb_aom_highbd_dc_predictor_32x32 = eb_aom_highbd_dc_predictor_32x32_avx2;
    1602           3 :     if (flags & HAS_AVX2) eb_aom_highbd_dc_predictor_32x64 = eb_aom_highbd_dc_predictor_32x64_avx2;
    1603           3 :     if (flags & HAS_AVX2) eb_aom_highbd_dc_predictor_64x16 = eb_aom_highbd_dc_predictor_64x16_avx2;
    1604           3 :     if (flags & HAS_AVX2) eb_aom_highbd_dc_predictor_64x32 = eb_aom_highbd_dc_predictor_64x32_avx2;
    1605           3 :     if (flags & HAS_AVX2) eb_aom_highbd_dc_predictor_64x64 = eb_aom_highbd_dc_predictor_64x64_avx2;
    1606             : #endif // !NON_AVX512_SUPPORT
    1607             :     //aom_highbd_dc_top_predictor
    1608           3 :     eb_aom_highbd_dc_top_predictor_16x16 = eb_aom_highbd_dc_top_predictor_16x16_c;
    1609           3 :     if (flags & HAS_AVX2) eb_aom_highbd_dc_top_predictor_16x16 = eb_aom_highbd_dc_top_predictor_16x16_avx2;
    1610           3 :     eb_aom_highbd_dc_top_predictor_16x32 = eb_aom_highbd_dc_top_predictor_16x32_c;
    1611           3 :     if (flags & HAS_AVX2) eb_aom_highbd_dc_top_predictor_16x32 = eb_aom_highbd_dc_top_predictor_16x32_avx2;
    1612           3 :     eb_aom_highbd_dc_top_predictor_16x4 = eb_aom_highbd_dc_top_predictor_16x4_c;
    1613           3 :     if (flags & HAS_AVX2) eb_aom_highbd_dc_top_predictor_16x4 = eb_aom_highbd_dc_top_predictor_16x4_avx2;
    1614           3 :     eb_aom_highbd_dc_top_predictor_16x64 = eb_aom_highbd_dc_top_predictor_16x64_c;
    1615           3 :     if (flags & HAS_AVX2) eb_aom_highbd_dc_top_predictor_16x64 = eb_aom_highbd_dc_top_predictor_16x64_avx2;
    1616           3 :     eb_aom_highbd_dc_top_predictor_16x8 = eb_aom_highbd_dc_top_predictor_16x8_c;
    1617           3 :     if (flags & HAS_AVX2) eb_aom_highbd_dc_top_predictor_16x8 = eb_aom_highbd_dc_top_predictor_16x8_avx2;
    1618           3 :     eb_aom_highbd_dc_top_predictor_2x2 = eb_aom_highbd_dc_top_predictor_2x2_c;
    1619           3 :     eb_aom_highbd_dc_top_predictor_32x16 = eb_aom_highbd_dc_top_predictor_32x16_c;
    1620           3 :     eb_aom_highbd_dc_top_predictor_32x32 = eb_aom_highbd_dc_top_predictor_32x32_c;
    1621           3 :     eb_aom_highbd_dc_top_predictor_32x64 = eb_aom_highbd_dc_top_predictor_32x64_c;
    1622           3 :     eb_aom_highbd_dc_top_predictor_32x8 = eb_aom_highbd_dc_top_predictor_32x8_c;
    1623           3 :     eb_aom_highbd_dc_top_predictor_4x16 = eb_aom_highbd_dc_top_predictor_4x16_c;
    1624           3 :     if (flags & HAS_SSE2) eb_aom_highbd_dc_top_predictor_4x16 = eb_aom_highbd_dc_top_predictor_4x16_sse2;
    1625           3 :     eb_aom_highbd_dc_top_predictor_4x4 = eb_aom_highbd_dc_top_predictor_4x4_c;
    1626           3 :     if (flags & HAS_SSE2) eb_aom_highbd_dc_top_predictor_4x4 = eb_aom_highbd_dc_top_predictor_4x4_sse2;
    1627           3 :     eb_aom_highbd_dc_top_predictor_4x8 = eb_aom_highbd_dc_top_predictor_4x8_c;
    1628           3 :     if (flags & HAS_SSE2) eb_aom_highbd_dc_top_predictor_4x8 = eb_aom_highbd_dc_top_predictor_4x8_sse2;
    1629           3 :     eb_aom_highbd_dc_top_predictor_64x16 = eb_aom_highbd_dc_top_predictor_64x16_c;
    1630           3 :     eb_aom_highbd_dc_top_predictor_64x32 = eb_aom_highbd_dc_top_predictor_64x32_c;
    1631           3 :     eb_aom_highbd_dc_top_predictor_64x64 = eb_aom_highbd_dc_top_predictor_64x64_c;
    1632           3 :     eb_aom_highbd_dc_top_predictor_8x16 = eb_aom_highbd_dc_top_predictor_8x16_c;
    1633           3 :     if (flags & HAS_SSE2) eb_aom_highbd_dc_top_predictor_8x16 = eb_aom_highbd_dc_top_predictor_8x16_sse2;
    1634           3 :     /*if (flags & HAS_SSE2) */eb_aom_highbd_dc_top_predictor_8x32 = eb_aom_highbd_dc_top_predictor_8x32_c;
    1635           3 :     eb_aom_highbd_dc_top_predictor_8x4 = eb_aom_highbd_dc_top_predictor_8x4_c;
    1636           3 :     if (flags & HAS_SSE2) eb_aom_highbd_dc_top_predictor_8x4 = eb_aom_highbd_dc_top_predictor_8x4_sse2;
    1637           3 :     eb_aom_highbd_dc_top_predictor_8x8 = eb_aom_highbd_dc_top_predictor_8x8_c;
    1638           3 :     if (flags & HAS_SSE2) eb_aom_highbd_dc_top_predictor_8x8 = eb_aom_highbd_dc_top_predictor_8x8_sse2;
    1639             : 
    1640             : #ifndef NON_AVX512_SUPPORT
    1641             :     if (CanUseIntelAVX512()) {
    1642             :         eb_aom_highbd_dc_top_predictor_32x8 = aom_highbd_dc_top_predictor_32x8_avx512;
    1643             :         eb_aom_highbd_dc_top_predictor_32x16 = aom_highbd_dc_top_predictor_32x16_avx512;
    1644             :         eb_aom_highbd_dc_top_predictor_32x32 = aom_highbd_dc_top_predictor_32x32_avx512;
    1645             :         eb_aom_highbd_dc_top_predictor_32x64 = aom_highbd_dc_top_predictor_32x64_avx512;
    1646             :         eb_aom_highbd_dc_top_predictor_64x16 = aom_highbd_dc_top_predictor_64x16_avx512;
    1647             :         eb_aom_highbd_dc_top_predictor_64x32 = aom_highbd_dc_top_predictor_64x32_avx512;
    1648             :         eb_aom_highbd_dc_top_predictor_64x64 = aom_highbd_dc_top_predictor_64x64_avx512;
    1649             :     }
    1650             : #else
    1651           3 :     if (flags & HAS_AVX2) eb_aom_highbd_dc_top_predictor_32x8 = eb_aom_highbd_dc_top_predictor_32x8_avx2;
    1652           3 :     if (flags & HAS_AVX2) eb_aom_highbd_dc_top_predictor_32x16 = eb_aom_highbd_dc_top_predictor_32x16_avx2;
    1653           3 :     if (flags & HAS_AVX2) eb_aom_highbd_dc_top_predictor_32x32 = eb_aom_highbd_dc_top_predictor_32x32_avx2;
    1654           3 :     if (flags & HAS_AVX2) eb_aom_highbd_dc_top_predictor_32x64 = eb_aom_highbd_dc_top_predictor_32x64_avx2;
    1655           3 :     if (flags & HAS_AVX2) eb_aom_highbd_dc_top_predictor_64x16 = eb_aom_highbd_dc_top_predictor_64x16_avx2;
    1656           3 :     if (flags & HAS_AVX2) eb_aom_highbd_dc_top_predictor_64x32 = eb_aom_highbd_dc_top_predictor_64x32_avx2;
    1657           3 :     if (flags & HAS_AVX2) eb_aom_highbd_dc_top_predictor_64x64 = eb_aom_highbd_dc_top_predictor_64x64_avx2;
    1658             : #endif
    1659             :     // eb_aom_highbd_h_predictor
    1660           3 :     eb_aom_highbd_h_predictor_16x4 = eb_aom_highbd_h_predictor_16x4_c;
    1661           3 :     if (flags & HAS_AVX2) eb_aom_highbd_h_predictor_16x4 = eb_aom_highbd_h_predictor_16x4_avx2;
    1662           3 :     eb_aom_highbd_h_predictor_16x64 = eb_aom_highbd_h_predictor_16x64_c;
    1663           3 :     if (flags & HAS_AVX2) eb_aom_highbd_h_predictor_16x64 = eb_aom_highbd_h_predictor_16x64_avx2;
    1664           3 :     eb_aom_highbd_h_predictor_16x8 = eb_aom_highbd_h_predictor_16x8_c;
    1665           3 :     if (flags & HAS_SSE2) eb_aom_highbd_h_predictor_16x8 = eb_aom_highbd_h_predictor_16x8_sse2;
    1666           3 :     eb_aom_highbd_h_predictor_2x2 = eb_aom_highbd_h_predictor_2x2_c;
    1667           3 :     eb_aom_highbd_h_predictor_32x16 = eb_aom_highbd_h_predictor_32x16_c;
    1668           3 :     eb_aom_highbd_h_predictor_32x32 = eb_aom_highbd_h_predictor_32x32_c;
    1669           3 :     eb_aom_highbd_h_predictor_32x64 = eb_aom_highbd_h_predictor_32x64_c;
    1670           3 :     eb_aom_highbd_h_predictor_32x8 = eb_aom_highbd_h_predictor_32x8_c;
    1671           3 :     eb_aom_highbd_h_predictor_4x16 = eb_aom_highbd_h_predictor_4x16_c;
    1672           3 :     if (flags & HAS_SSE2) eb_aom_highbd_h_predictor_4x16 = eb_aom_highbd_h_predictor_4x16_sse2;
    1673           3 :     eb_aom_highbd_h_predictor_4x4 = eb_aom_highbd_h_predictor_4x4_c;
    1674           3 :     if (flags & HAS_SSE2) eb_aom_highbd_h_predictor_4x4 = eb_aom_highbd_h_predictor_4x4_sse2;
    1675           3 :     eb_aom_highbd_h_predictor_4x8 = eb_aom_highbd_h_predictor_4x8_c;
    1676           3 :     if (flags & HAS_SSE2) eb_aom_highbd_h_predictor_4x8 = eb_aom_highbd_h_predictor_4x8_sse2;
    1677           3 :     eb_aom_highbd_h_predictor_64x16 = eb_aom_highbd_h_predictor_64x16_c;
    1678           3 :     eb_aom_highbd_h_predictor_64x32 = eb_aom_highbd_h_predictor_64x32_c;
    1679           3 :     eb_aom_highbd_h_predictor_8x32 = eb_aom_highbd_h_predictor_8x32_c;
    1680           3 :     if (flags & HAS_SSE2) eb_aom_highbd_h_predictor_8x32 = eb_aom_highbd_h_predictor_8x32_sse2;
    1681           3 :     eb_aom_highbd_h_predictor_64x64 = eb_aom_highbd_h_predictor_64x64_c;
    1682           3 :     eb_aom_highbd_h_predictor_8x16 = eb_aom_highbd_h_predictor_8x16_c;
    1683           3 :     if (flags & HAS_SSE2) eb_aom_highbd_h_predictor_8x16 = eb_aom_highbd_h_predictor_8x16_sse2;
    1684           3 :     eb_aom_highbd_h_predictor_8x4 = eb_aom_highbd_h_predictor_8x4_c;
    1685           3 :     if (flags & HAS_SSE2) eb_aom_highbd_h_predictor_8x4 = eb_aom_highbd_h_predictor_8x4_sse2;
    1686           3 :     eb_aom_highbd_h_predictor_8x8 = eb_aom_highbd_h_predictor_8x8_c;
    1687           3 :     if (flags & HAS_SSE2) eb_aom_highbd_h_predictor_8x8 = eb_aom_highbd_h_predictor_8x8_sse2;
    1688           3 :     eb_aom_highbd_h_predictor_16x16 = eb_aom_highbd_h_predictor_16x16_c;
    1689           3 :     if (flags & HAS_SSE2) eb_aom_highbd_h_predictor_16x16 = eb_aom_highbd_h_predictor_16x16_sse2;
    1690           3 :     eb_aom_highbd_h_predictor_16x32 = eb_aom_highbd_h_predictor_16x32_c;
    1691           3 :     if (flags & HAS_SSE2) eb_aom_highbd_h_predictor_16x32 = eb_aom_highbd_h_predictor_16x32_sse2;
    1692             : 
    1693             : #ifndef NON_AVX512_SUPPORT
    1694             :     if (CanUseIntelAVX512()) {
    1695             :         eb_aom_highbd_h_predictor_32x16 = aom_highbd_h_predictor_32x16_avx512;
    1696             :         eb_aom_highbd_h_predictor_32x32 = aom_highbd_h_predictor_32x32_avx512;
    1697             :         eb_aom_highbd_h_predictor_32x64 = aom_highbd_h_predictor_32x64_avx512;
    1698             :         eb_aom_highbd_h_predictor_32x8 = aom_highbd_h_predictor_32x8_avx512;
    1699             :         eb_aom_highbd_h_predictor_64x16 = aom_highbd_h_predictor_64x16_avx512;
    1700             :         eb_aom_highbd_h_predictor_64x32 = aom_highbd_h_predictor_64x32_avx512;
    1701             :         eb_aom_highbd_h_predictor_64x64 = aom_highbd_h_predictor_64x64_avx512;
    1702             :     }
    1703             : #else
    1704           3 :     if (flags & HAS_SSE2) eb_aom_highbd_h_predictor_32x16 = eb_aom_highbd_h_predictor_32x16_sse2;
    1705           3 :     if (flags & HAS_SSE2) eb_aom_highbd_h_predictor_32x32 = eb_aom_highbd_h_predictor_32x32_sse2;
    1706           3 :     if (flags & HAS_AVX2) eb_aom_highbd_h_predictor_32x64 = eb_aom_highbd_h_predictor_32x64_avx2;
    1707           3 :     if (flags & HAS_AVX2) eb_aom_highbd_h_predictor_32x8 = eb_aom_highbd_h_predictor_32x8_avx2;
    1708           3 :     if (flags & HAS_AVX2) eb_aom_highbd_h_predictor_64x16 = eb_aom_highbd_h_predictor_64x16_avx2;
    1709           3 :     if (flags & HAS_AVX2) eb_aom_highbd_h_predictor_64x32 = eb_aom_highbd_h_predictor_64x32_avx2;
    1710           3 :     if (flags & HAS_AVX2) eb_aom_highbd_h_predictor_64x64 = eb_aom_highbd_h_predictor_64x64_avx2;
    1711             : #endif
    1712             : 
    1713           3 :     eb_aom_fft2x2_float = eb_aom_fft2x2_float_c;
    1714           3 :     eb_aom_fft4x4_float = eb_aom_fft4x4_float_c;
    1715           3 :     if (flags & HAS_SSE2) eb_aom_fft4x4_float = eb_aom_fft4x4_float_sse2;
    1716           3 :     eb_aom_fft16x16_float = eb_aom_fft16x16_float_c;
    1717           3 :     if (flags & HAS_AVX2) eb_aom_fft16x16_float = eb_aom_fft16x16_float_avx2;
    1718           3 :     eb_aom_fft32x32_float = eb_aom_fft32x32_float_c;
    1719           3 :     if (flags & HAS_AVX2) eb_aom_fft32x32_float = eb_aom_fft32x32_float_avx2;
    1720           3 :     eb_aom_fft8x8_float = eb_aom_fft8x8_float_c;
    1721           3 :     if (flags & HAS_AVX2) eb_aom_fft8x8_float = eb_aom_fft8x8_float_avx2;
    1722             : 
    1723             : 
    1724           3 :     eb_aom_ifft16x16_float = eb_aom_ifft16x16_float_c;
    1725           3 :     if (flags & HAS_AVX2) eb_aom_ifft16x16_float = eb_aom_ifft16x16_float_avx2;
    1726           3 :     eb_aom_ifft32x32_float = eb_aom_ifft32x32_float_c;
    1727           3 :     if (flags & HAS_AVX2) eb_aom_ifft32x32_float = eb_aom_ifft32x32_float_avx2;
    1728           3 :     eb_aom_ifft8x8_float = eb_aom_ifft8x8_float_c;
    1729           3 :     if (flags & HAS_AVX2) eb_aom_ifft8x8_float = eb_aom_ifft8x8_float_avx2;
    1730           3 :     eb_aom_ifft2x2_float = eb_aom_ifft2x2_float_c;
    1731           3 :     eb_aom_ifft4x4_float = eb_aom_ifft4x4_float_c;
    1732           3 :     if (flags & HAS_SSE2) eb_aom_ifft4x4_float = eb_aom_ifft4x4_float_sse2;
    1733           3 :     av1_get_gradient_hist = av1_get_gradient_hist_c;
    1734           3 :     if (flags & HAS_AVX2) av1_get_gradient_hist = av1_get_gradient_hist_avx2;
    1735             : 
    1736           3 :     SET_AVX2_AVX512(search_one_dual,
    1737             :                     search_one_dual_c,
    1738             :                     search_one_dual_avx2,
    1739             :                     search_one_dual_avx512);
    1740           3 :     SET_AVX2_AVX512(spatial_full_distortion_kernel,
    1741             :                     spatial_full_distortion_kernel_c,
    1742             :                     spatial_full_distortion_kernel_avx2,
    1743             :                     spatial_full_distortion_kernel_avx512);
    1744           3 :     SET_AVX2_AVX512(residual_kernel8bit,
    1745             :                     residual_kernel8bit_c,
    1746             :                     residual_kernel8bit_avx2,
    1747             :                     residual_kernel8bit_avx512);
    1748           3 :     SET_SSE41_AVX2(sad_loop_kernel_sparse,
    1749             :                    sad_loop_kernel_sparse_c,
    1750             :                    sad_loop_kernel_sparse_sse4_1_intrin,
    1751             :                    sad_loop_kernel_sparse_avx2_intrin);
    1752           3 :     SET_SSE41_AVX2_AVX512(sad_loop_kernel,
    1753             :                           sad_loop_kernel_c,
    1754             :                           sad_loop_kernel_sse4_1_intrin,
    1755             :                           sad_loop_kernel_avx2_intrin,
    1756             :                           sad_loop_kernel_avx512_intrin);
    1757           3 :     SET_SSE41_AVX2(sad_loop_kernel_hme_l0,
    1758             :                    sad_loop_kernel_c,
    1759             :                    sad_loop_kernel_sse4_1_hme_l0_intrin,
    1760             :                    sad_loop_kernel_avx2_hme_l0_intrin);
    1761           3 :     SET_AVX2(noise_extract_luma_weak,
    1762             :              noise_extract_luma_weak_c,
    1763             :              noise_extract_luma_weak_avx2_intrin);
    1764           3 :     SET_AVX2(noise_extract_luma_weak_lcu,
    1765             :              noise_extract_luma_weak_lcu_c,
    1766             :              noise_extract_luma_weak_lcu_avx2_intrin);
    1767           3 :     SET_AVX2(noise_extract_luma_strong,
    1768             :              noise_extract_luma_strong_c,
    1769             :              noise_extract_luma_strong_avx2_intrin);
    1770           3 :     SET_AVX2(noise_extract_chroma_strong,
    1771             :              noise_extract_chroma_strong_c,
    1772             :              noise_extract_chroma_strong_avx2_intrin);
    1773           3 :     SET_AVX2(noise_extract_chroma_weak,
    1774             :              noise_extract_chroma_weak_c,
    1775             :              noise_extract_chroma_weak_avx2_intrin);
    1776           3 :     SET_SSE41(svt_av1_apply_filtering,
    1777             :               svt_av1_apply_filtering_c,
    1778             :               svt_av1_apply_temporal_filter_sse4_1);
    1779           3 :     SET_SSE41(svt_av1_apply_filtering_highbd,
    1780             :               svt_av1_apply_filtering_highbd_c,
    1781             :               svt_av1_highbd_apply_temporal_filter_sse4_1);
    1782           3 :     SET_AVX2_AVX512(combined_averaging_ssd,
    1783             :                     combined_averaging_ssd_c,
    1784             :                     combined_averaging_ssd_avx2,
    1785             :                     combined_averaging_ssd_avx512);
    1786           3 :     SET_AVX2(ext_sad_calculation_8x8_16x16,
    1787             :              ext_sad_calculation_8x8_16x16_c,
    1788             :              ext_sad_calculation_8x8_16x16_avx2_intrin);
    1789           3 :     SET_SSE41(ext_sad_calculation_32x32_64x64,
    1790             :               ext_sad_calculation_32x32_64x64_c,
    1791             :               ext_sad_calculation_32x32_64x64_sse4_intrin);
    1792           3 :     SET_SSE2(sad_calculation_8x8_16x16,
    1793             :              sad_calculation_8x8_16x16_c,
    1794             :              sad_calculation_8x8_16x16_sse2_intrin);
    1795           3 :     SET_SSE2(sad_calculation_32x32_64x64,
    1796             :              sad_calculation_32x32_64x64_c,
    1797             :              sad_calculation_32x32_64x64_sse2_intrin);
    1798           3 :     SET_AVX2(ext_all_sad_calculation_8x8_16x16,
    1799             :              ext_all_sad_calculation_8x8_16x16_c,
    1800             :              ext_all_sad_calculation_8x8_16x16_avx2);
    1801           3 :     SET_AVX2(ext_eigth_sad_calculation_nsq,
    1802             :              ext_eigth_sad_calculation_nsq_c,
    1803             :              ext_eigth_sad_calculation_nsq_avx2);
    1804           3 :     SET_AVX2(ext_eight_sad_calculation_32x32_64x64,
    1805             :              ext_eight_sad_calculation_32x32_64x64_c,
    1806             :              ext_eight_sad_calculation_32x32_64x64_avx2);
    1807           3 :     SET_AVX2(eb_sad_kernel4x4,
    1808             :              fast_loop_nxm_sad_kernel,
    1809             :              eb_compute4x_m_sad_avx2_intrin);
    1810           3 :     SET_AVX2(sum_residual8bit,
    1811             :              sum_residual_c,
    1812             :              sum_residual8bit_avx2_intrin);
    1813           3 :     SET_AVX2(full_distortion_kernel_cbf_zero32_bits,
    1814             :              full_distortion_kernel_cbf_zero32_bits_c,
    1815             :              full_distortion_kernel_cbf_zero32_bits_avx2);
    1816           3 :     SET_AVX2(full_distortion_kernel32_bits,
    1817             :              full_distortion_kernel32_bits_c,
    1818             :              full_distortion_kernel32_bits_avx2);
    1819           3 :     SET_AVX2(compressed_packmsb,
    1820             :              compressed_packmsb_c,
    1821             :              compressed_packmsb_avx2_intrin);
    1822           3 :     SET_AVX2(c_pack,
    1823             :              c_pack_c,
    1824             :              c_pack_avx2_intrin);
    1825           3 :     SET_SSE2_AVX2(unpack_avg,
    1826             :                   unpack_avg_c,
    1827             :                   unpack_avg_sse2_intrin,
    1828             :                   unpack_avg_avx2_intrin);
    1829           3 :     SET_AVX2(unpack_avg_safe_sub,
    1830             :              unpack_avg_safe_sub_c,
    1831             :              unpack_avg_safe_sub_avx2_intrin);
    1832           3 :     SET_AVX2(un_pack8_bit_data,
    1833             :              un_pack8_bit_data_c,
    1834             :              eb_enc_un_pack8_bit_data_avx2_intrin);
    1835           3 :     SET_SSE2(picture_average_kernel,
    1836             :              picture_average_kernel_c,
    1837             :              picture_average_kernel_sse2_intrin);
    1838           3 :     SET_SSE2(picture_average_kernel1_line,
    1839             :              picture_average_kernel1_line_c,
    1840             :              picture_average_kernel1_line_sse2_intrin);
    1841           3 :     SET_SSE41_AVX2(get_eight_horizontal_search_point_results_8x8_16x16_pu,
    1842             :                    get_eight_horizontal_search_point_results_8x8_16x16_pu_c,
    1843             :                    get_eight_horizontal_search_point_results_8x8_16x16_pu_sse41_intrin,
    1844             :                    get_eight_horizontal_search_point_results_8x8_16x16_pu_avx2_intrin);
    1845           3 :     SET_SSE41_AVX2(get_eight_horizontal_search_point_results_32x32_64x64_pu,
    1846             :                    get_eight_horizontal_search_point_results_32x32_64x64_pu_c,
    1847             :                    get_eight_horizontal_search_point_results_32x32_64x64_pu_sse41_intrin,
    1848             :                    get_eight_horizontal_search_point_results_32x32_64x64_pu_avx2_intrin);
    1849           3 :     SET_SSE2(initialize_buffer_32bits,
    1850             :              initialize_buffer_32bits_c,
    1851             :              initialize_buffer_32bits_sse2_intrin);
    1852           3 :     SET_SSE41(compute8x8_satd_u8,
    1853             :               compute8x8_satd_u8_c,
    1854             :               compute8x8_satd_u8_sse4);
    1855           3 :     SET_AVX2(nxm_sad_kernel_sub_sampled,
    1856             :              nxm_sad_kernel_helper_c,
    1857             :              nxm_sad_kernel_sub_sampled_helper_avx2);
    1858           3 :     SET_AVX2(nxm_sad_kernel,
    1859             :              nxm_sad_kernel_helper_c,
    1860             :              nxm_sad_kernel_helper_avx2);
    1861           3 :     SET_AVX2(nxm_sad_avg_kernel,
    1862             :              nxm_sad_avg_kernel_helper_c,
    1863             :              nxm_sad_avg_kernel_helper_avx2);
    1864           3 :     SET_SSSE3(avc_style_luma_interpolation_filter,
    1865             :               avc_style_luma_interpolation_filter_helper_ssse3, //Add C
    1866             :               avc_style_luma_interpolation_filter_helper_ssse3);
    1867           3 :     SET_SSE2_AVX2(compute_mean_8x8,
    1868             :                   compute_mean8x8_sse2_intrin, //Add C
    1869             :                   compute_mean8x8_sse2_intrin,
    1870             :                   compute_mean8x8_avx2_intrin);
    1871           3 :     SET_SSE2(compute_mean_square_values_8x8,
    1872             :              compute_mean_of_squared_values8x8_sse2_intrin, //Add C
    1873             :              compute_mean_of_squared_values8x8_sse2_intrin);
    1874           3 :     SET_SSE2_AVX2(pack2d_16_bit_src_mul4,
    1875             :                   eb_enc_msb_pack2_d,
    1876             :                   eb_enc_msb_pack2d_sse2_intrin,
    1877             :                   eb_enc_msb_pack2d_avx2_intrin_al);
    1878           3 :     SET_SSE2(un_pack2d_16_bit_src_mul4,
    1879             :              eb_enc_msb_un_pack2_d,
    1880             :              eb_enc_msb_un_pack2d_sse2_intrin);
    1881           3 :     SET_SSE2(picture_addition,
    1882             :              picture_addition_sse2, //Add C
    1883             :              picture_addition_sse2);
    1884           3 :     SET_SSE2_AVX2(compute_interm_var_four8x8,
    1885             :              compute_interm_var_four8x8_c,
    1886             :              compute_interm_var_four8x8_helper_sse2,
    1887             :              compute_interm_var_four8x8_avx2_intrin);
    1888             : 
    1889           3 : }
    1890             : 
    1891             : 

Generated by: LCOV version 1.14