diff -up x265_2.2/source/CMakeLists.txt.orig x265_2.2/source/CMakeLists.txt
--- x265_2.2/source/CMakeLists.txt.orig	2016-12-23 06:57:39.000000000 +0100
+++ x265_2.2/source/CMakeLists.txt	2017-01-03 11:18:34.773738470 +0100
@@ -41,9 +41,11 @@ SET(CMAKE_MODULE_PATH "${PROJECT_SOURCE_
 # System architecture detection
 string(TOLOWER "${CMAKE_SYSTEM_PROCESSOR}" SYSPROC)
 set(X86_ALIASES x86 i386 i686 x86_64 amd64)
-set(ARM_ALIASES armv6l armv7l)
+set(ARMv6_ALIASES armv6l)
+set(ARMv7_ALIASES armv7l)
 list(FIND X86_ALIASES "${SYSPROC}" X86MATCH)
-list(FIND ARM_ALIASES "${SYSPROC}" ARMMATCH)
+list(FIND ARMv6_ALIASES "${SYSPROC}" ARMv6MATCH)
+list(FIND ARMv7_ALIASES "${SYSPROC}" ARMv7MATCH)
 set(POWER_ALIASES ppc64 ppc64le)
 list(FIND POWER_ALIASES "${SYSPROC}" POWERMATCH)
 if("${SYSPROC}" STREQUAL "" OR X86MATCH GREATER "-1")
@@ -65,15 +67,24 @@ elseif(POWERMATCH GREATER "-1")
         add_definitions(-DPPC64=1)
         message(STATUS "Detected POWER PPC64 target processor")
     endif()
-elseif(ARMMATCH GREATER "-1")
+elseif(ARMv6MATCH GREATER "-1")
     if(CROSS_COMPILE_ARM)
         message(STATUS "Cross compiling for ARM arch")
     else()
         set(CROSS_COMPILE_ARM 0)
     endif()
-    message(STATUS "Detected ARM target processor")
+    message(STATUS "Detected ARMv6 target processor")
     set(ARM 1)
     add_definitions(-DX265_ARCH_ARM=1 -DHAVE_ARMV6=1)
+elseif(ARMv7MATCH GREATER "-1")
+    if(CROSS_COMPILE_ARM)
+        message(STATUS "Cross compiling for ARM arch")
+    else()
+        set(CROSS_COMPILE_ARM 0)
+    endif()
+    message(STATUS "Detected ARMv7 target processor")
+    set(ARM 1)
+    add_definitions(-DX265_ARCH_ARM=1 -DHAVE_ARMV7=1)
 else()
     message(STATUS "CMAKE_SYSTEM_PROCESSOR value `${CMAKE_SYSTEM_PROCESSOR}` is unknown")
     message(STATUS "Please add this value near ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE}")
--- x265_v2.6/source/test/testharness.h.orig	2017-12-30 22:27:49.827620181 +0000
+++ x265_v2.6/source/test/testharness.h	2017-12-30 22:30:53.239500941 +0000
@@ -70,9 +70,10 @@ protected:
 #include <intrin.h>
 #elif (!defined(__APPLE__) && (defined (__GNUC__) && (defined(__x86_64__) || defined(__i386__))))
 #include <x86intrin.h>
-#elif ( !defined(__APPLE__) && defined (__GNUC__) && defined(__ARM_NEON__))
-#include <arm_neon.h>
 #elif defined(__GNUC__) && (!defined(__clang__) || __clang_major__ < 4)
+#if ( !defined(__APPLE__) && defined(__ARM_NEON__))
+#include <arm_neon.h>
+#endif
 /* fallback for older GCC/MinGW */
 static inline uint32_t __rdtsc(void)
 {
