Ignore:
Timestamp:
Nov 21, 2017 9:25:11 AM (3 years ago)
Author:
riza
Message:

Close #2065: Update libyuv to fix linker error when building libyuv as dll on Visual Studio 2015.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • pjproject/trunk/third_party/yuv/include/libyuv/compare_row.h

    r5633 r5699  
    2020 
    2121#if defined(__pnacl__) || defined(__CLR_VER) || \ 
    22     (defined(__i386__) && !defined(__SSE2__)) 
     22    (defined(__i386__) && !defined(__SSE__) && !defined(__clang__)) 
    2323#define LIBYUV_DISABLE_X86 
    2424#endif 
     
    4343#endif  // __clang__ 
    4444 
     45// The following are available for Visual C: 
    4546#if !defined(LIBYUV_DISABLE_X86) && defined(_M_IX86) && \ 
    4647    (defined(VISUALC_HAS_AVX2) || defined(CLANG_HAS_AVX2)) 
     
    5354#define HAS_HASHDJB2_SSE41 
    5455#define HAS_SUMSQUAREERROR_SSE2 
    55 #define HAS_HAMMINGDISTANCE_X86 
     56#define HAS_HAMMINGDISTANCE_SSE42 
    5657#endif 
    5758 
     
    6364#endif 
    6465 
     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 
    6578// The following are available for Neon: 
    6679#if !defined(LIBYUV_DISABLE_NEON) && \ 
     
    7083#endif 
    7184 
     85#if !defined(LIBYUV_DISABLE_MSA) && defined(__mips_msa) 
     86#define HAS_HAMMINGDISTANCE_MSA 
     87#define HAS_SUMSQUAREERROR_MSA 
     88#endif 
     89 
    7290uint32 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); 
     91uint32 HammingDistance_SSE42(const uint8* src_a, const uint8* src_b, int count); 
     92uint32 HammingDistance_SSSE3(const uint8* src_a, const uint8* src_b, int count); 
     93uint32 HammingDistance_AVX2(const uint8* src_a, const uint8* src_b, int count); 
    7494uint32 HammingDistance_NEON(const uint8* src_a, const uint8* src_b, int count); 
     95uint32 HammingDistance_MSA(const uint8* src_a, const uint8* src_b, int count); 
    7596 
    7697uint32 SumSquareError_C(const uint8* src_a, const uint8* src_b, int count); 
     
    7899uint32 SumSquareError_AVX2(const uint8* src_a, const uint8* src_b, int count); 
    79100uint32 SumSquareError_NEON(const uint8* src_a, const uint8* src_b, int count); 
     101uint32 SumSquareError_MSA(const uint8* src_a, const uint8* src_b, int count); 
    80102 
    81103uint32 HashDjb2_C(const uint8* src, int count, uint32 seed); 
Note: See TracChangeset for help on using the changeset viewer.