X-Git-Url: https://git.piment-noir.org/?p=deb_x265.git;a=blobdiff_plain;f=debian%2Fpatches%2Farmv7l-support.patch;fp=debian%2Fpatches%2Farmv7l-support.patch;h=b56a92ebb6b293ef4fd26c8e89ca3efdd90917cd;hp=0000000000000000000000000000000000000000;hb=0a257c84874ead10444b6db6eef546fa278d958d;hpb=18006ea44ab6925f1cc37929f1ccb9a92d17ad33 diff --git a/debian/patches/armv7l-support.patch b/debian/patches/armv7l-support.patch new file mode 100644 index 0000000..b56a92e --- /dev/null +++ b/debian/patches/armv7l-support.patch @@ -0,0 +1,43 @@ +--- a/source/CMakeLists.txt ++++ b/source/CMakeLists.txt +@@ -49,9 +49,13 @@ if("${SYSPROC}" STREQUAL "" OR X86MATCH + message(STATUS "Detected x86 system processor") + endif() + elseif(${SYSPROC} STREQUAL "armv6l") +- message(STATUS "Detected ARM target processor") +- set(ARM 1) ++ message(STATUS "Detected ARMV6 target processor") ++ set(ARMV6 1) + add_definitions(-DX265_ARCH_ARM=1 -DHAVE_ARMV6=1) ++elseif(${SYSPROC} STREQUAL "armv7l") ++ message(STATUS "Detected ARMV7 target processor") ++ set(ARMV7 1) ++ add_definitions(-DX265_ARCH_ARM=1 -DHAVE_ARMV6=1 -DHAVE_NEON=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}") +@@ -129,9 +133,12 @@ if(GCC) + if(X86 AND NOT X64) + add_definitions(-march=i686) + endif() +- if(ARM) ++ if(ARMV6) + add_definitions(-march=armv6 -mfloat-abi=hard -mfpu=vfp) + endif() ++ if(ARMV7) ++ add_definitions(-fPIC -march=armv7 -mfloat-abi=hard -mfpu=neon) ++ endif() + check_cxx_compiler_flag(-Wno-narrowing CC_HAS_NO_NARROWING) + check_cxx_compiler_flag(-Wno-array-bounds CC_HAS_NO_ARRAY_BOUNDS) + if (CC_HAS_NO_ARRAY_BOUNDS) +--- a/source/common/cpu.cpp ++++ b/source/common/cpu.cpp +@@ -356,7 +356,7 @@ uint32_t cpu_detect(void) + // which may result in incorrect detection and the counters stuck enabled. + // right now Apple does not seem to support performance counters for this test + #ifndef __MACH__ +- flags |= x265_cpu_fast_neon_mrc_test() ? X265_CPU_FAST_NEON_MRC : 0; ++ //flags |= x265_cpu_fast_neon_mrc_test() ? X265_CPU_FAST_NEON_MRC : 0; + #endif + // TODO: write dual issue test? currently it's A8 (dual issue) vs. A9 (fast mrc) + #endif // if HAVE_ARMV6