diff --git a/README.chromium b/README.chromium index 655c6fdcc..da3161fb2 100644 --- a/README.chromium +++ b/README.chromium @@ -1,6 +1,6 @@ Name: libyuv URL: http://code.google.com/p/libyuv/ -Version: 1082 +Version: 1083 License: BSD License File: LICENSE diff --git a/include/libyuv/row.h b/include/libyuv/row.h index 477b27447..4a2974749 100644 --- a/include/libyuv/row.h +++ b/include/libyuv/row.h @@ -343,7 +343,7 @@ extern "C" { #endif // The following are available on Neon platforms: -#if !defined(LIBYUV_DISABLE_NEON) && \ +#if !defined(LIBYUV_DISABLE_NEON) && !defined(__aarch64__) && \ (defined(__ARM_NEON__) || defined(LIBYUV_NEON)) #define HAS_ABGRTOUVROW_NEON #define HAS_ABGRTOYROW_NEON diff --git a/include/libyuv/version.h b/include/libyuv/version.h index e7d103e8a..e16b0dedf 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 1082 +#define LIBYUV_VERSION 1083 #endif // INCLUDE_LIBYUV_VERSION_H_ NOLINT diff --git a/source/compare_neon.cc b/source/compare_neon.cc index 55052c0ee..b160e30c9 100644 --- a/source/compare_neon.cc +++ b/source/compare_neon.cc @@ -16,7 +16,8 @@ namespace libyuv { extern "C" { #endif -#if !defined(LIBYUV_DISABLE_NEON) && defined(__ARM_NEON__) +#if !defined(LIBYUV_DISABLE_NEON) && defined(__ARM_NEON__) && \ + !defined(__aarch64__) uint32 SumSquareError_NEON(const uint8* src_a, const uint8* src_b, int count) { volatile uint32 sse; @@ -95,7 +96,7 @@ uint32 SumSquareError_NEON(const uint8* src_a, const uint8* src_b, int count) { return sse; } -#endif // __ARM_NEON__ +#endif // defined(__ARM_NEON__) && !defined(__aarch64__) #ifdef __cplusplus } // extern "C" diff --git a/source/rotate_neon.cc b/source/rotate_neon.cc index d354e11fa..a23a40fee 100644 --- a/source/rotate_neon.cc +++ b/source/rotate_neon.cc @@ -17,7 +17,8 @@ namespace libyuv { extern "C" { #endif -#if !defined(LIBYUV_DISABLE_NEON) && defined(__ARM_NEON__) +#if !defined(LIBYUV_DISABLE_NEON) && defined(__ARM_NEON__) && \ + !defined(__aarch64__) static uvec8 kVTbl4x4Transpose = { 0, 4, 8, 12, 1, 5, 9, 13, 2, 6, 10, 14, 3, 7, 11, 15 }; @@ -525,7 +526,7 @@ void TransposeUVWx8_NEON(const uint8* src, int src_stride, "q0", "q1", "q2", "q3", "q8", "q9", "q10", "q11" ); } -#endif +#endif // defined(__ARM_NEON__) && !defined(__aarch64__) #ifdef __cplusplus } // extern "C" diff --git a/source/rotate_neon64.cc b/source/rotate_neon64.cc index 94ff1f109..0f92892dd 100644 --- a/source/rotate_neon64.cc +++ b/source/rotate_neon64.cc @@ -17,7 +17,10 @@ namespace libyuv { extern "C" { #endif -#if !defined(LIBYUV_DISABLE_NEON) && defined(__aarch64__) +// This module is for GCC Neon armv8 64 bit. +#if !defined(LIBYUV_DISABLE_NEON) && \ + defined(__ARM_NEON__) && defined(__aarch64__) + static uvec8 kVTbl4x4Transpose = { 0, 4, 8, 12, 1, 5, 9, 13, 2, 6, 10, 14, 3, 7, 11, 15 }; @@ -531,7 +534,7 @@ void TransposeUVWx8_NEON(const uint8* src, int src_stride, "v30", "v31" ); } -#endif // __aarch64__ +#endif // !defined(LIBYUV_DISABLE_NEON) && defined(__aarch64__) #ifdef __cplusplus } // extern "C" diff --git a/source/row_neon.cc b/source/row_neon.cc index 1392cf5fc..12c294eaf 100644 --- a/source/row_neon.cc +++ b/source/row_neon.cc @@ -16,7 +16,8 @@ extern "C" { #endif // This module is for GCC Neon -#if !defined(LIBYUV_DISABLE_NEON) && defined(__ARM_NEON__) +#if !defined(LIBYUV_DISABLE_NEON) && defined(__ARM_NEON__) && \ + !defined(__aarch64__) // Read 8 Y, 4 U and 4 V from 422 #define READYUV422 \ @@ -3140,7 +3141,7 @@ void SobelYRow_NEON(const uint8* src_y0, const uint8* src_y1, : "cc", "memory", "q0", "q1" // Clobber List ); } -#endif // __ARM_NEON__ +#endif // defined(__ARM_NEON__) && !defined(__aarch64__) #ifdef __cplusplus } // extern "C" diff --git a/source/row_neon64.cc b/source/row_neon64.cc index 952e10d73..47a67e330 100644 --- a/source/row_neon64.cc +++ b/source/row_neon64.cc @@ -15,8 +15,9 @@ namespace libyuv { extern "C" { #endif -// This module is for GCC Neon -#if !defined(LIBYUV_DISABLE_NEON) && defined(__aarch64__) +// This module is for GCC Neon armv8 64 bit. +#if !defined(LIBYUV_DISABLE_NEON) && \ + defined(__ARM_NEON__) && defined(__aarch64__) // Read 8 Y, 4 U and 4 V from 422 #define READYUV422 \ diff --git a/source/scale_neon.cc b/source/scale_neon.cc index 1b8a5ba58..7921219b5 100644 --- a/source/scale_neon.cc +++ b/source/scale_neon.cc @@ -16,7 +16,8 @@ extern "C" { #endif // This module is for GCC Neon. -#if !defined(LIBYUV_DISABLE_NEON) && defined(__ARM_NEON__) +#if !defined(LIBYUV_DISABLE_NEON) && defined(__ARM_NEON__) && \ + !defined(__aarch64__) // NEON downscalers with interpolation. // Provided by Fritz Koenig @@ -756,7 +757,7 @@ void ScaleARGBRowDownEvenBox_NEON(const uint8* src_argb, ptrdiff_t src_stride, ); } -#endif // __ARM_NEON__ +#endif // defined(__ARM_NEON__) && !defined(__aarch64__) #ifdef __cplusplus } // extern "C" diff --git a/source/scale_neon64.cc b/source/scale_neon64.cc index 5c2e353bd..9f5d108db 100644 --- a/source/scale_neon64.cc +++ b/source/scale_neon64.cc @@ -17,8 +17,9 @@ namespace libyuv { extern "C" { #endif -// This module is for GCC Neon. +// This module is for GCC Neon armv8 64 bit. #if !defined(LIBYUV_DISABLE_NEON) && defined(__aarch64__) + #ifdef HAS_SCALEROWDOWN2_NEON // Read 32x1 throw away even pixels, and write 16x1. void ScaleRowDown2_NEON(const uint8* src_ptr, ptrdiff_t src_stride, @@ -783,7 +784,7 @@ void ScaleARGBRowDownEvenBox_NEON(const uint8* src_argb, ptrdiff_t src_stride, ); } #endif // HAS_SCALEARGBROWDOWNEVEN_NEON -#endif // __aarch64__ +#endif // !defined(LIBYUV_DISABLE_NEON) && defined(__aarch64__) #ifdef __cplusplus } // extern "C"