diff --git a/README.chromium b/README.chromium index 315b03631..5fcdd4b30 100644 --- a/README.chromium +++ b/README.chromium @@ -1,6 +1,6 @@ Name: libyuv URL: http://code.google.com/p/libyuv/ -Version: 1469 +Version: 1470 License: BSD License File: LICENSE diff --git a/include/libyuv/row.h b/include/libyuv/row.h index 2285c3416..410f4f797 100644 --- a/include/libyuv/row.h +++ b/include/libyuv/row.h @@ -183,8 +183,9 @@ extern "C" { #define VISUALC_HAS_AVX2 1 #endif // VisualStudio >= 2012 -// The following are available require VS2012. Port to GCC. -#if !defined(LIBYUV_DISABLE_X86) && defined(VISUALC_HAS_AVX2) +// The following are available for Visual C and clangcl 32 bit: +#if !defined(LIBYUV_DISABLE_X86) && defined(_M_IX86) && \ + (defined(VISUALC_HAS_AVX2) || defined(CLANG_HAS_AVX2)) #define HAS_ARGB1555TOARGBROW_AVX2 #define HAS_ARGB4444TOARGBROW_AVX2 #define HAS_ARGBTOARGB1555ROW_AVX2 diff --git a/include/libyuv/version.h b/include/libyuv/version.h index ec9ce5d6f..405265c87 100644 --- a/include/libyuv/version.h +++ b/include/libyuv/version.h @@ -11,6 +11,6 @@ #ifndef INCLUDE_LIBYUV_VERSION_H_ // NOLINT #define INCLUDE_LIBYUV_VERSION_H_ -#define LIBYUV_VERSION 1469 +#define LIBYUV_VERSION 1470 #endif // INCLUDE_LIBYUV_VERSION_H_ NOLINT diff --git a/source/row_common.cc b/source/row_common.cc index 49875894f..b8b3d09dd 100644 --- a/source/row_common.cc +++ b/source/row_common.cc @@ -2159,8 +2159,7 @@ void I422ToUYVYRow_C(const uint8* src_y, // Maximum temporary width for wrappers to process at a time, in pixels. #define MAXTWIDTH 2048 -#if !(defined(_MSC_VER) && !defined(__clang__)) && \ - defined(HAS_I422TORGB565ROW_SSSE3) +#if !defined(_MSC_VER) && defined(HAS_I422TORGB565ROW_SSSE3) // row_win.cc has asm version, but GCC uses 2 step wrapper. void I422ToRGB565Row_SSSE3(const uint8* src_y, const uint8* src_u, diff --git a/source/row_gcc.cc b/source/row_gcc.cc index 72949e076..f06a9cc46 100644 --- a/source/row_gcc.cc +++ b/source/row_gcc.cc @@ -17,7 +17,8 @@ extern "C" { #endif // This module is for GCC x86 and x64. -#if !defined(LIBYUV_DISABLE_X86) && (defined(__x86_64__) || defined(__i386__)) +#if !defined(LIBYUV_DISABLE_X86) && \ + (defined(__x86_64__) || (defined(__i386__) && !defined(_MSC_VER))) #if defined(HAS_ARGBTOYROW_SSSE3) || defined(HAS_ARGBGRAYROW_SSSE3) diff --git a/source/row_win.cc b/source/row_win.cc index 71be268b4..88015ea2d 100644 --- a/source/row_win.cc +++ b/source/row_win.cc @@ -21,9 +21,9 @@ namespace libyuv { extern "C" { #endif -// This module is for Visual C. -#if !defined(LIBYUV_DISABLE_X86) && (defined(_M_IX86) || defined(_M_X64)) && \ - defined(_MSC_VER) && !defined(__clang__) +// This module is for Visual C 32/64 bit and clangcl 32 bit +#if !defined(LIBYUV_DISABLE_X86) && \ + (defined(_M_IX86) || (defined(_M_X64) && !defined(__clang__))) struct YuvConstants { lvec8 kUVToB; // 0