- Timestamp:
- Nov 21, 2017 9:25:11 AM (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
pjproject/trunk/third_party/yuv/include/libyuv/compare_row.h
r5633 r5699 20 20 21 21 #if defined(__pnacl__) || defined(__CLR_VER) || \ 22 (defined(__i386__) && !defined(__SSE 2__))22 (defined(__i386__) && !defined(__SSE__) && !defined(__clang__)) 23 23 #define LIBYUV_DISABLE_X86 24 24 #endif … … 43 43 #endif // __clang__ 44 44 45 // The following are available for Visual C: 45 46 #if !defined(LIBYUV_DISABLE_X86) && defined(_M_IX86) && \ 46 47 (defined(VISUALC_HAS_AVX2) || defined(CLANG_HAS_AVX2)) … … 53 54 #define HAS_HASHDJB2_SSE41 54 55 #define HAS_SUMSQUAREERROR_SSE2 55 #define HAS_HAMMINGDISTANCE_ X8656 #define HAS_HAMMINGDISTANCE_SSE42 56 57 #endif 57 58 … … 63 64 #endif 64 65 66 // The following are available for GCC and clangcl 64 bit: 67 #if !defined(LIBYUV_DISABLE_X86) && \ 68 (defined(__x86_64__) || (defined(__i386__) && !defined(_MSC_VER))) 69 #define HAS_HAMMINGDISTANCE_SSSE3 70 #endif 71 72 // The following are available for GCC and clangcl 64 bit: 73 #if !defined(LIBYUV_DISABLE_X86) && defined(CLANG_HAS_AVX2) && \ 74 (defined(__x86_64__) || (defined(__i386__) && !defined(_MSC_VER))) 75 #define HAS_HAMMINGDISTANCE_AVX2 76 #endif 77 65 78 // The following are available for Neon: 66 79 #if !defined(LIBYUV_DISABLE_NEON) && \ … … 70 83 #endif 71 84 85 #if !defined(LIBYUV_DISABLE_MSA) && defined(__mips_msa) 86 #define HAS_HAMMINGDISTANCE_MSA 87 #define HAS_SUMSQUAREERROR_MSA 88 #endif 89 72 90 uint32 HammingDistance_C(const uint8* src_a, const uint8* src_b, int count); 73 uint32 HammingDistance_X86(const uint8* src_a, const uint8* src_b, int count); 91 uint32 HammingDistance_SSE42(const uint8* src_a, const uint8* src_b, int count); 92 uint32 HammingDistance_SSSE3(const uint8* src_a, const uint8* src_b, int count); 93 uint32 HammingDistance_AVX2(const uint8* src_a, const uint8* src_b, int count); 74 94 uint32 HammingDistance_NEON(const uint8* src_a, const uint8* src_b, int count); 95 uint32 HammingDistance_MSA(const uint8* src_a, const uint8* src_b, int count); 75 96 76 97 uint32 SumSquareError_C(const uint8* src_a, const uint8* src_b, int count); … … 78 99 uint32 SumSquareError_AVX2(const uint8* src_a, const uint8* src_b, int count); 79 100 uint32 SumSquareError_NEON(const uint8* src_a, const uint8* src_b, int count); 101 uint32 SumSquareError_MSA(const uint8* src_a, const uint8* src_b, int count); 80 102 81 103 uint32 HashDjb2_C(const uint8* src, int count, uint32 seed);
Note: See TracChangeset
for help on using the changeset viewer.