From b0ce795992f60a307e8d7b2d2c06b28ea9494ed0 Mon Sep 17 00:00:00 2001 From: Nicolas Chauvet Date: Wed, 3 Sep 2014 21:29:49 +0000 Subject: [PATCH 01/59] Setup of module x265 --- .gitignore | 0 sources | 0 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 .gitignore create mode 100644 sources diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..e69de29 diff --git a/sources b/sources new file mode 100644 index 0000000..e69de29 From ec50c9c3ac2e14c7c3197151107878c7f778d6ae Mon Sep 17 00:00:00 2001 From: Dominik Mierzejewski Date: Thu, 4 Sep 2014 10:54:39 +0000 Subject: [PATCH 02/59] - initial import --- .gitignore | 1 + sources | 1 + x265-fix-soname.patch | 30 ++++++++++ x265-pc-path.patch | 12 ++++ x265-pic.patch | 16 ++++++ x265-test-shared.patch | 13 +++++ x265.spec | 123 +++++++++++++++++++++++++++++++++++++++++ 7 files changed, 196 insertions(+) create mode 100644 x265-fix-soname.patch create mode 100644 x265-pc-path.patch create mode 100644 x265-pic.patch create mode 100644 x265-test-shared.patch create mode 100644 x265.spec diff --git a/.gitignore b/.gitignore index e69de29..e33e033 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1 @@ +1.2.tar.bz2 diff --git a/sources b/sources index e69de29..e02cd0d 100644 --- a/sources +++ b/sources @@ -0,0 +1 @@ +57a4b8300918c5412ceaa26bb8e0a0bb 1.2.tar.bz2 diff --git a/x265-fix-soname.patch b/x265-fix-soname.patch new file mode 100644 index 0000000..c328e9d --- /dev/null +++ b/x265-fix-soname.patch @@ -0,0 +1,30 @@ +diff -up multicoreware-x265-d6257335c537/source/CMakeLists.txt.soname multicoreware-x265-d6257335c537/source/CMakeLists.txt +--- multicoreware-x265-d6257335c537/source/CMakeLists.txt.soname 2014-08-08 11:55:36.315572972 +0200 ++++ multicoreware-x265-d6257335c537/source/CMakeLists.txt 2014-08-08 11:55:36.316572975 +0200 +@@ -276,15 +276,22 @@ if(ENABLE_SHARED) + else() + set_target_properties(x265-shared PROPERTIES OUTPUT_NAME x265) + endif() +- if(UNIX AND NOT APPLE) +- set_target_properties(x265-shared PROPERTIES LINK_FLAGS "-Wl,-Bsymbolic,-znoexecstack") ++ if(UNIX) ++ set_target_properties(x265-shared PROPERTIES VERSION ${X265_BUILD}) ++ if(NOT APPLE) ++ set_target_properties(x265-shared PROPERTIES LINK_FLAGS "-Wl,-Bsymbolic,-znoexecstack") ++ endif() + endif() ++ set_target_properties(x265-shared PROPERTIES SOVERSION ${X265_BUILD}) + if(X265_LATEST_TAG) ++ if(WINDOWS) ++ set_target_properties(x265-shared PROPERTIES VERSION ${X265_LATEST_TAG}) ++ endif() + # shared library is not installed if a tag is not found +- set_target_properties(x265-shared PROPERTIES VERSION ${X265_LATEST_TAG} SOVERSION ${X265_BUILD}) + install(TARGETS x265-shared + LIBRARY DESTINATION ${LIB_INSTALL_DIR} +- ARCHIVE DESTINATION ${LIB_INSTALL_DIR}) ++ ARCHIVE DESTINATION ${LIB_INSTALL_DIR} ++ RUNTIME DESTINATION ${BIN_INSTALL_DIR}) + endif() + endif() + diff --git a/x265-pc-path.patch b/x265-pc-path.patch new file mode 100644 index 0000000..7f53e4b --- /dev/null +++ b/x265-pc-path.patch @@ -0,0 +1,12 @@ +diff -up multicoreware-x265-d6257335c537/source/CMakeLists.txt.r multicoreware-x265-d6257335c537/source/CMakeLists.txt +--- multicoreware-x265-d6257335c537/source/CMakeLists.txt.r 2014-07-09 10:25:15.000000000 +0200 ++++ multicoreware-x265-d6257335c537/source/CMakeLists.txt 2014-07-10 12:03:21.459088376 +0200 +@@ -308,7 +308,7 @@ if(X265_LATEST_TAG) + # Produce a pkg-config file + configure_file("x265.pc.in" "x265.pc" @ONLY) + install(FILES "${CMAKE_CURRENT_BINARY_DIR}/x265.pc" +- DESTINATION "${CMAKE_INSTALL_PREFIX}/${LIB_INSTALL_DIR}/pkgconfig") ++ DESTINATION "${LIB_INSTALL_DIR}/pkgconfig") + endif() + + if(NOT WIN32) diff --git a/x265-pic.patch b/x265-pic.patch new file mode 100644 index 0000000..6d9e4ef --- /dev/null +++ b/x265-pic.patch @@ -0,0 +1,16 @@ +diff -up multicoreware-x265-d6257335c537/source/CMakeLists.txt.pic multicoreware-x265-d6257335c537/source/CMakeLists.txt +--- multicoreware-x265-d6257335c537/source/CMakeLists.txt.pic 2014-07-17 09:37:41.176441279 +0200 ++++ multicoreware-x265-d6257335c537/source/CMakeLists.txt 2014-07-17 10:18:03.001014597 +0200 +@@ -122,10 +122,10 @@ if(GCC) + add_definitions(-fPIC) + endif(X64 AND NOT WIN32) + if(X86 AND NOT X64) +- add_definitions(-march=i686) ++ add_definitions(-march=i686 -fPIC) + endif() + if(ARM) +- add_definitions(-march=armv6 -mfloat-abi=hard -mfpu=vfp) ++ add_definitions(-march=armv6 -mfloat-abi=hard -mfpu=vfp -fPIC) + endif() + check_cxx_compiler_flag(-Wno-narrowing CC_HAS_NO_NARROWING) + check_cxx_compiler_flag(-ffast-math CC_HAS_FAST_MATH) diff --git a/x265-test-shared.patch b/x265-test-shared.patch new file mode 100644 index 0000000..b53b51f --- /dev/null +++ b/x265-test-shared.patch @@ -0,0 +1,13 @@ +diff -up multicoreware-x265-d6257335c537/source/test/CMakeLists.txt.r multicoreware-x265-d6257335c537/source/test/CMakeLists.txt +--- multicoreware-x265-d6257335c537/source/test/CMakeLists.txt.r 2014-07-09 10:25:15.000000000 +0200 ++++ multicoreware-x265-d6257335c537/source/test/CMakeLists.txt 2014-07-10 12:10:15.171798782 +0200 +@@ -17,7 +17,7 @@ add_executable(TestBench ${YASM_SRC} + mbdstharness.cpp mbdstharness.h + ipfilterharness.cpp ipfilterharness.h + intrapredharness.cpp intrapredharness.h) +-target_link_libraries(TestBench x265-static ${PLATFORM_LIBS}) ++target_link_libraries(TestBench x265-shared ${PLATFORM_LIBS}) + + add_executable(PoolTest testpool.cpp) +-target_link_libraries(PoolTest x265-static ${PLATFORM_LIBS}) ++target_link_libraries(PoolTest x265-shared ${PLATFORM_LIBS}) diff --git a/x265.spec b/x265.spec new file mode 100644 index 0000000..df687d9 --- /dev/null +++ b/x265.spec @@ -0,0 +1,123 @@ +%global commit d6257335c537 + +Summary: H.265/HEVC encoder +Name: x265 +Version: 1.2 +Release: 5%{?dist} +URL: http://x265.org/ +Source0: https://bitbucket.org/multicoreware/x265/get/%{version}.tar.bz2 +# fix pkgconfig file installation path +Patch0: x265-pc-path.patch +# link test binaries with shared library +Patch1: x265-test-shared.patch +# build with -fPIC on arm and i686, too +Patch2: x265-pic.patch +# don't create bogus soname (https://bitbucket.org/multicoreware/x265/issue/62/linux-incorrect-symbolic-links-to-shared) +Patch3: x265-fix-soname.patch +# source/Lib/TLibCommon - BSD +# source/Lib/TLibEncoder - BSD +# everything else - GPLv2+ +License: GPLv2+ and BSD +BuildRequires: cmake +BuildRequires: yasm + +%description +The primary objective of x265 is to become the best H.265/HEVC encoder +available anywhere, offering the highest compression efficiency and the +highest performance on a wide variety of hardware platforms. + +This package contains the command line encoder. + +%package libs +Summary: H.265/HEVC encoder library + +%description libs +The primary objective of x265 is to become the best H.265/HEVC encoder +available anywhere, offering the highest compression efficiency and the +highest performance on a wide variety of hardware platforms. + +This package contains the shared library. + +%package devel +Summary: H.265/HEVC encoder library development files +Requires: %{name}-libs%{?_isa} = %{version}-%{release} + +%description devel +The primary objective of x265 is to become the best H.265/HEVC encoder +available anywhere, offering the highest compression efficiency and the +highest performance on a wide variety of hardware platforms. + +This package contains the shared library development files. + +%prep +%setup -q -n multicoreware-%{name}-%{commit} +%patch0 -p1 -b .p +# tests are crashing on x86 if linked against shared libx265 +%ifnarch i686 +%patch1 -p1 -b .ts +%endif +%patch2 -p1 -b .pic +%patch3 -p1 -b .soname +f=doc/uncrustify/drag-uncrustify.bat +tr -d '\r' < ${f} > ${f}.unix && \ +touch -r ${f} ${f}.unix && \ +mv ${f}.unix ${f} + +%build +%cmake -G "Unix Makefiles" \ + -DCMAKE_SKIP_RPATH:BOOL=YES \ + -DENABLE_TESTS:BOOL=ON \ + source +make %{?_smp_mflags} + +%install +make DESTDIR=%{buildroot} install +rm %{buildroot}%{_libdir}/libx265.a +install -Dpm644 COPYING %{buildroot}%{_pkgdocdir}/COPYING + +%check +LD_LIBRARY_PATH=$(pwd) test/PoolTest +LD_LIBRARY_PATH=$(pwd) test/TestBench + +%post libs -p /sbin/ldconfig + +%postun libs -p /sbin/ldconfig + +%files +%{_bindir}/x265 + +%files libs +%dir %{_pkgdocdir} +%{_pkgdocdir}/COPYING +%{_libdir}/libx265.so.25 + +%files devel +%doc doc/* +%{_includedir}/x265.h +%{_includedir}/x265_config.h +%{_libdir}/libx265.so +%{_libdir}/pkgconfig/x265.pc + +%changelog +* Sun Aug 17 2014 Dominik Mierzejewski 1.2-5 +- don't include contributor agreement in doc +- make sure /usr/share/doc/x265 is owned +- add a comment noting which files are BSD-licenced + +* Fri Aug 08 2014 Dominik Mierzejewski 1.2-4 +- don't create bogus soname (patch by Xavier) + +* Thu Jul 17 2014 Dominik Mierzejewski 1.2-3 +- fix tr call to remove DOS EOL +- build the library with -fPIC on arm and i686, too + +* Sun Jul 13 2014 Dominik Mierzejewski 1.2-2 +- use version in source URL +- update License tag +- fix EOL in drag-uncrustify.bat +- don't link test binaries with shared binary on x86 (segfault) + +* Thu Jul 10 2014 Dominik Mierzejewski 1.2-1 +- initial build +- fix pkgconfig file install location +- link test binaries with shared library From 90682707743886532a63af4da9b3b3e38b904eee Mon Sep 17 00:00:00 2001 From: Dominik Mierzejewski Date: Thu, 18 Dec 2014 15:47:41 +0000 Subject: [PATCH 03/59] - fix build on armv7l arch (partially fix rfbz#3361, patch by Nicolas Chauvet) - don't run tests on ARM for now (rfbz#3361) --- x265-detect_cpu_armhfp.patch | 18 ++++++++++++++++++ x265-pic.patch | 2 +- x265.spec | 10 +++++++++- 3 files changed, 28 insertions(+), 2 deletions(-) create mode 100644 x265-detect_cpu_armhfp.patch diff --git a/x265-detect_cpu_armhfp.patch b/x265-detect_cpu_armhfp.patch new file mode 100644 index 0000000..8b99dca --- /dev/null +++ b/x265-detect_cpu_armhfp.patch @@ -0,0 +1,18 @@ +diff -up multicoreware-x265-d6257335c537/source/CMakeLists.txt.armhfp multicoreware-x265-d6257335c537/source/CMakeLists.txt +--- multicoreware-x265-d6257335c537/source/CMakeLists.txt.armhfp 2014-09-28 11:09:31.472787489 -0400 ++++ multicoreware-x265-d6257335c537/source/CMakeLists.txt 2014-09-28 11:14:12.970136458 -0400 +@@ -45,9 +45,13 @@ if("${SYSPROC}" STREQUAL "" OR X86MATCH + add_definitions(-DX86_64=1) + endif() + elseif(${SYSPROC} STREQUAL "armv6l") +- message(STATUS "Detected ARM system processor") ++ message(STATUS "Detected ARMv6 system processor") + set(ARM 1) + add_definitions(-DX265_ARCH_ARM=1 -DHAVE_ARMV6=1) ++elseif(${SYSPROC} STREQUAL "armv7l") ++ message(STATUS "Detected ARMv7 system 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}") diff --git a/x265-pic.patch b/x265-pic.patch index 6d9e4ef..984a6fc 100644 --- a/x265-pic.patch +++ b/x265-pic.patch @@ -10,7 +10,7 @@ diff -up multicoreware-x265-d6257335c537/source/CMakeLists.txt.pic multicoreware endif() if(ARM) - add_definitions(-march=armv6 -mfloat-abi=hard -mfpu=vfp) -+ add_definitions(-march=armv6 -mfloat-abi=hard -mfpu=vfp -fPIC) ++ add_definitions(-fPIC) endif() check_cxx_compiler_flag(-Wno-narrowing CC_HAS_NO_NARROWING) check_cxx_compiler_flag(-ffast-math CC_HAS_FAST_MATH) diff --git a/x265.spec b/x265.spec index df687d9..5c46b13 100644 --- a/x265.spec +++ b/x265.spec @@ -3,7 +3,7 @@ Summary: H.265/HEVC encoder Name: x265 Version: 1.2 -Release: 5%{?dist} +Release: 6%{?dist} URL: http://x265.org/ Source0: https://bitbucket.org/multicoreware/x265/get/%{version}.tar.bz2 # fix pkgconfig file installation path @@ -14,6 +14,7 @@ Patch1: x265-test-shared.patch Patch2: x265-pic.patch # don't create bogus soname (https://bitbucket.org/multicoreware/x265/issue/62/linux-incorrect-symbolic-links-to-shared) Patch3: x265-fix-soname.patch +Patch4: x265-detect_cpu_armhfp.patch # source/Lib/TLibCommon - BSD # source/Lib/TLibEncoder - BSD # everything else - GPLv2+ @@ -58,6 +59,7 @@ This package contains the shared library development files. %endif %patch2 -p1 -b .pic %patch3 -p1 -b .soname +%patch4 -p1 -b .armhfp f=doc/uncrustify/drag-uncrustify.bat tr -d '\r' < ${f} > ${f}.unix && \ touch -r ${f} ${f}.unix && \ @@ -75,9 +77,11 @@ make DESTDIR=%{buildroot} install rm %{buildroot}%{_libdir}/libx265.a install -Dpm644 COPYING %{buildroot}%{_pkgdocdir}/COPYING +%ifnarch %{arm} %check LD_LIBRARY_PATH=$(pwd) test/PoolTest LD_LIBRARY_PATH=$(pwd) test/TestBench +%endif %post libs -p /sbin/ldconfig @@ -99,6 +103,10 @@ LD_LIBRARY_PATH=$(pwd) test/TestBench %{_libdir}/pkgconfig/x265.pc %changelog +* Thu Dec 18 2014 Dominik Mierzejewski 1.2-6 +- fix build on armv7l arch (partially fix rfbz#3361, patch by Nicolas Chauvet) +- don't run tests on ARM for now (rfbz#3361) + * Sun Aug 17 2014 Dominik Mierzejewski 1.2-5 - don't include contributor agreement in doc - make sure /usr/share/doc/x265 is owned From 38f3e9ad619fed79add63c03adc1071394765cde Mon Sep 17 00:00:00 2001 From: Dominik Mierzejewski Date: Wed, 15 Apr 2015 12:08:48 +0000 Subject: [PATCH 04/59] update to 1.6 (ABI bump, rfbz#3593) - release tarballs are now hosted on videolan.org - drop obsolete patches --- .gitignore | 2 +- sources | 2 +- x265-detect_cpu_armhfp.patch | 12 ++++++------ x265-fix-soname.patch | 30 ----------------------------- x265-pc-path.patch | 12 ------------ x265-pic.patch | 16 ---------------- x265-test-shared.patch | 15 +++++++-------- x265.spec | 37 ++++++++++++------------------------ 8 files changed, 27 insertions(+), 99 deletions(-) delete mode 100644 x265-fix-soname.patch delete mode 100644 x265-pc-path.patch delete mode 100644 x265-pic.patch diff --git a/.gitignore b/.gitignore index e33e033..c4166af 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -1.2.tar.bz2 +x265_1.6.tar.gz diff --git a/sources b/sources index e02cd0d..a7c6431 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -57a4b8300918c5412ceaa26bb8e0a0bb 1.2.tar.bz2 +32e4151f8b6a32b466b1055562ebfb4f x265_1.6.tar.gz diff --git a/x265-detect_cpu_armhfp.patch b/x265-detect_cpu_armhfp.patch index 8b99dca..0eceb4d 100644 --- a/x265-detect_cpu_armhfp.patch +++ b/x265-detect_cpu_armhfp.patch @@ -1,12 +1,12 @@ -diff -up multicoreware-x265-d6257335c537/source/CMakeLists.txt.armhfp multicoreware-x265-d6257335c537/source/CMakeLists.txt ---- multicoreware-x265-d6257335c537/source/CMakeLists.txt.armhfp 2014-09-28 11:09:31.472787489 -0400 -+++ multicoreware-x265-d6257335c537/source/CMakeLists.txt 2014-09-28 11:14:12.970136458 -0400 -@@ -45,9 +45,13 @@ if("${SYSPROC}" STREQUAL "" OR X86MATCH +diff -up x265_1.6/source/CMakeLists.txt.armhfp x265_1.6/source/CMakeLists.txt +--- x265_1.6/source/CMakeLists.txt.armhfp 2015-04-15 13:26:46.995287699 +0200 ++++ x265_1.6/source/CMakeLists.txt 2015-04-15 13:27:29.015472793 +0200 +@@ -51,9 +51,13 @@ if("${SYSPROC}" STREQUAL "" OR X86MATCH add_definitions(-DX86_64=1) endif() elseif(${SYSPROC} STREQUAL "armv6l") -- message(STATUS "Detected ARM system processor") -+ message(STATUS "Detected ARMv6 system processor") +- 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(${SYSPROC} STREQUAL "armv7l") diff --git a/x265-fix-soname.patch b/x265-fix-soname.patch deleted file mode 100644 index c328e9d..0000000 --- a/x265-fix-soname.patch +++ /dev/null @@ -1,30 +0,0 @@ -diff -up multicoreware-x265-d6257335c537/source/CMakeLists.txt.soname multicoreware-x265-d6257335c537/source/CMakeLists.txt ---- multicoreware-x265-d6257335c537/source/CMakeLists.txt.soname 2014-08-08 11:55:36.315572972 +0200 -+++ multicoreware-x265-d6257335c537/source/CMakeLists.txt 2014-08-08 11:55:36.316572975 +0200 -@@ -276,15 +276,22 @@ if(ENABLE_SHARED) - else() - set_target_properties(x265-shared PROPERTIES OUTPUT_NAME x265) - endif() -- if(UNIX AND NOT APPLE) -- set_target_properties(x265-shared PROPERTIES LINK_FLAGS "-Wl,-Bsymbolic,-znoexecstack") -+ if(UNIX) -+ set_target_properties(x265-shared PROPERTIES VERSION ${X265_BUILD}) -+ if(NOT APPLE) -+ set_target_properties(x265-shared PROPERTIES LINK_FLAGS "-Wl,-Bsymbolic,-znoexecstack") -+ endif() - endif() -+ set_target_properties(x265-shared PROPERTIES SOVERSION ${X265_BUILD}) - if(X265_LATEST_TAG) -+ if(WINDOWS) -+ set_target_properties(x265-shared PROPERTIES VERSION ${X265_LATEST_TAG}) -+ endif() - # shared library is not installed if a tag is not found -- set_target_properties(x265-shared PROPERTIES VERSION ${X265_LATEST_TAG} SOVERSION ${X265_BUILD}) - install(TARGETS x265-shared - LIBRARY DESTINATION ${LIB_INSTALL_DIR} -- ARCHIVE DESTINATION ${LIB_INSTALL_DIR}) -+ ARCHIVE DESTINATION ${LIB_INSTALL_DIR} -+ RUNTIME DESTINATION ${BIN_INSTALL_DIR}) - endif() - endif() - diff --git a/x265-pc-path.patch b/x265-pc-path.patch deleted file mode 100644 index 7f53e4b..0000000 --- a/x265-pc-path.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up multicoreware-x265-d6257335c537/source/CMakeLists.txt.r multicoreware-x265-d6257335c537/source/CMakeLists.txt ---- multicoreware-x265-d6257335c537/source/CMakeLists.txt.r 2014-07-09 10:25:15.000000000 +0200 -+++ multicoreware-x265-d6257335c537/source/CMakeLists.txt 2014-07-10 12:03:21.459088376 +0200 -@@ -308,7 +308,7 @@ if(X265_LATEST_TAG) - # Produce a pkg-config file - configure_file("x265.pc.in" "x265.pc" @ONLY) - install(FILES "${CMAKE_CURRENT_BINARY_DIR}/x265.pc" -- DESTINATION "${CMAKE_INSTALL_PREFIX}/${LIB_INSTALL_DIR}/pkgconfig") -+ DESTINATION "${LIB_INSTALL_DIR}/pkgconfig") - endif() - - if(NOT WIN32) diff --git a/x265-pic.patch b/x265-pic.patch deleted file mode 100644 index 984a6fc..0000000 --- a/x265-pic.patch +++ /dev/null @@ -1,16 +0,0 @@ -diff -up multicoreware-x265-d6257335c537/source/CMakeLists.txt.pic multicoreware-x265-d6257335c537/source/CMakeLists.txt ---- multicoreware-x265-d6257335c537/source/CMakeLists.txt.pic 2014-07-17 09:37:41.176441279 +0200 -+++ multicoreware-x265-d6257335c537/source/CMakeLists.txt 2014-07-17 10:18:03.001014597 +0200 -@@ -122,10 +122,10 @@ if(GCC) - add_definitions(-fPIC) - endif(X64 AND NOT WIN32) - if(X86 AND NOT X64) -- add_definitions(-march=i686) -+ add_definitions(-march=i686 -fPIC) - endif() - if(ARM) -- add_definitions(-march=armv6 -mfloat-abi=hard -mfpu=vfp) -+ add_definitions(-fPIC) - endif() - check_cxx_compiler_flag(-Wno-narrowing CC_HAS_NO_NARROWING) - check_cxx_compiler_flag(-ffast-math CC_HAS_FAST_MATH) diff --git a/x265-test-shared.patch b/x265-test-shared.patch index b53b51f..4ce8d3a 100644 --- a/x265-test-shared.patch +++ b/x265-test-shared.patch @@ -1,13 +1,12 @@ -diff -up multicoreware-x265-d6257335c537/source/test/CMakeLists.txt.r multicoreware-x265-d6257335c537/source/test/CMakeLists.txt ---- multicoreware-x265-d6257335c537/source/test/CMakeLists.txt.r 2014-07-09 10:25:15.000000000 +0200 -+++ multicoreware-x265-d6257335c537/source/test/CMakeLists.txt 2014-07-10 12:10:15.171798782 +0200 -@@ -17,7 +17,7 @@ add_executable(TestBench ${YASM_SRC} +diff -up x265_1.6/source/test/CMakeLists.txt.ts x265_1.6/source/test/CMakeLists.txt +--- x265_1.6/source/test/CMakeLists.txt.ts 2015-04-15 12:50:14.244622449 +0200 ++++ x265_1.6/source/test/CMakeLists.txt 2015-04-15 12:50:32.534702116 +0200 +@@ -22,7 +22,7 @@ add_executable(TestBench ${YASM_SRC} mbdstharness.cpp mbdstharness.h ipfilterharness.cpp ipfilterharness.h intrapredharness.cpp intrapredharness.h) -target_link_libraries(TestBench x265-static ${PLATFORM_LIBS}) +target_link_libraries(TestBench x265-shared ${PLATFORM_LIBS}) - - add_executable(PoolTest testpool.cpp) --target_link_libraries(PoolTest x265-static ${PLATFORM_LIBS}) -+target_link_libraries(PoolTest x265-shared ${PLATFORM_LIBS}) + if(LINKER_OPTIONS) + set_target_properties(TestBench PROPERTIES LINK_FLAGS ${LINKER_OPTIONS}) + endif() diff --git a/x265.spec b/x265.spec index 5c46b13..8fc816b 100644 --- a/x265.spec +++ b/x265.spec @@ -1,19 +1,11 @@ -%global commit d6257335c537 - Summary: H.265/HEVC encoder Name: x265 -Version: 1.2 -Release: 6%{?dist} +Version: 1.6 +Release: 1%{?dist} URL: http://x265.org/ -Source0: https://bitbucket.org/multicoreware/x265/get/%{version}.tar.bz2 -# fix pkgconfig file installation path -Patch0: x265-pc-path.patch +Source0: http://ftp.videolan.org/pub/videolan/x265/x265_%{version}.tar.gz # link test binaries with shared library Patch1: x265-test-shared.patch -# build with -fPIC on arm and i686, too -Patch2: x265-pic.patch -# don't create bogus soname (https://bitbucket.org/multicoreware/x265/issue/62/linux-incorrect-symbolic-links-to-shared) -Patch3: x265-fix-soname.patch Patch4: x265-detect_cpu_armhfp.patch # source/Lib/TLibCommon - BSD # source/Lib/TLibEncoder - BSD @@ -51,23 +43,14 @@ highest performance on a wide variety of hardware platforms. This package contains the shared library development files. %prep -%setup -q -n multicoreware-%{name}-%{commit} -%patch0 -p1 -b .p -# tests are crashing on x86 if linked against shared libx265 -%ifnarch i686 +%setup -q -n x265_%{version} %patch1 -p1 -b .ts -%endif -%patch2 -p1 -b .pic -%patch3 -p1 -b .soname %patch4 -p1 -b .armhfp -f=doc/uncrustify/drag-uncrustify.bat -tr -d '\r' < ${f} > ${f}.unix && \ -touch -r ${f} ${f}.unix && \ -mv ${f}.unix ${f} %build %cmake -G "Unix Makefiles" \ -DCMAKE_SKIP_RPATH:BOOL=YES \ + -DENABLE_PIC:BOOL=ON \ -DENABLE_TESTS:BOOL=ON \ source make %{?_smp_mflags} @@ -79,8 +62,7 @@ install -Dpm644 COPYING %{buildroot}%{_pkgdocdir}/COPYING %ifnarch %{arm} %check -LD_LIBRARY_PATH=$(pwd) test/PoolTest -LD_LIBRARY_PATH=$(pwd) test/TestBench +LD_LIBRARY_PATH=%{buildroot}%{_libdir} test/TestBench %endif %post libs -p /sbin/ldconfig @@ -93,7 +75,7 @@ LD_LIBRARY_PATH=$(pwd) test/TestBench %files libs %dir %{_pkgdocdir} %{_pkgdocdir}/COPYING -%{_libdir}/libx265.so.25 +%{_libdir}/libx265.so.51 %files devel %doc doc/* @@ -103,6 +85,11 @@ LD_LIBRARY_PATH=$(pwd) test/TestBench %{_libdir}/pkgconfig/x265.pc %changelog +* Wed Apr 15 2015 Dominik Mierzejewski 1.6-1 +- update to 1.6 (ABI bump, rfbz#3593) +- release tarballs are now hosted on videolan.org +- drop obsolete patches + * Thu Dec 18 2014 Dominik Mierzejewski 1.2-6 - fix build on armv7l arch (partially fix rfbz#3361, patch by Nicolas Chauvet) - don't run tests on ARM for now (rfbz#3361) From 710c6f5565c0d9a5196e42fa7a0f0b0d22dac028 Mon Sep 17 00:00:00 2001 From: Nicolas Chauvet Date: Sat, 24 Oct 2015 12:19:02 +0200 Subject: [PATCH 05/59] Update patches for 1.8 --- x265-detect_cpu_armhfp.patch | 12 ++++++------ x265-test-shared.patch | 12 ++++++------ x265.spec | 5 ++++- 3 files changed, 16 insertions(+), 13 deletions(-) diff --git a/x265-detect_cpu_armhfp.patch b/x265-detect_cpu_armhfp.patch index 0eceb4d..5ca7939 100644 --- a/x265-detect_cpu_armhfp.patch +++ b/x265-detect_cpu_armhfp.patch @@ -1,9 +1,9 @@ -diff -up x265_1.6/source/CMakeLists.txt.armhfp x265_1.6/source/CMakeLists.txt ---- x265_1.6/source/CMakeLists.txt.armhfp 2015-04-15 13:26:46.995287699 +0200 -+++ x265_1.6/source/CMakeLists.txt 2015-04-15 13:27:29.015472793 +0200 -@@ -51,9 +51,13 @@ if("${SYSPROC}" STREQUAL "" OR X86MATCH - add_definitions(-DX86_64=1) - endif() +diff -up x265_1.8/source/CMakeLists.txt.armhfp x265_1.8/source/CMakeLists.txt +--- x265_1.8/source/CMakeLists.txt.armhfp 2015-09-22 10:10:07.000000000 +0200 ++++ x265_1.8/source/CMakeLists.txt 2015-10-24 12:17:17.675572785 +0200 +@@ -57,9 +57,13 @@ elseif(POWERMATCH GREATER "-1") + set(POWER 1) + add_definitions(-DX265_ARCH_POWER=1) elseif(${SYSPROC} STREQUAL "armv6l") - message(STATUS "Detected ARM target processor") + message(STATUS "Detected ARMv6 target processor") diff --git a/x265-test-shared.patch b/x265-test-shared.patch index 4ce8d3a..e76f6c6 100644 --- a/x265-test-shared.patch +++ b/x265-test-shared.patch @@ -1,12 +1,12 @@ -diff -up x265_1.6/source/test/CMakeLists.txt.ts x265_1.6/source/test/CMakeLists.txt ---- x265_1.6/source/test/CMakeLists.txt.ts 2015-04-15 12:50:14.244622449 +0200 -+++ x265_1.6/source/test/CMakeLists.txt 2015-04-15 12:50:32.534702116 +0200 -@@ -22,7 +22,7 @@ add_executable(TestBench ${YASM_SRC} +diff -up x265_1.8/source/test/CMakeLists.txt.shared x265_1.8/source/test/CMakeLists.txt +--- x265_1.8/source/test/CMakeLists.txt.shared 2015-09-22 10:10:07.000000000 +0200 ++++ x265_1.8/source/test/CMakeLists.txt 2015-10-24 12:15:04.846236808 +0200 +@@ -23,7 +23,7 @@ add_executable(TestBench ${YASM_SRC} mbdstharness.cpp mbdstharness.h ipfilterharness.cpp ipfilterharness.h intrapredharness.cpp intrapredharness.h) -target_link_libraries(TestBench x265-static ${PLATFORM_LIBS}) +target_link_libraries(TestBench x265-shared ${PLATFORM_LIBS}) if(LINKER_OPTIONS) - set_target_properties(TestBench PROPERTIES LINK_FLAGS ${LINKER_OPTIONS}) - endif() + if(EXTRA_LIB) + list(APPEND LINKER_OPTIONS "-L..") diff --git a/x265.spec b/x265.spec index 8fc816b..858a557 100644 --- a/x265.spec +++ b/x265.spec @@ -1,6 +1,6 @@ Summary: H.265/HEVC encoder Name: x265 -Version: 1.6 +Version: 1.8 Release: 1%{?dist} URL: http://x265.org/ Source0: http://ftp.videolan.org/pub/videolan/x265/x265_%{version}.tar.gz @@ -85,6 +85,9 @@ LD_LIBRARY_PATH=%{buildroot}%{_libdir} test/TestBench %{_libdir}/pkgconfig/x265.pc %changelog +* Sat Oct 24 2015 Nicolas Chauvet - 1.8-1 +- Update to 1.8 + * Wed Apr 15 2015 Dominik Mierzejewski 1.6-1 - update to 1.6 (ABI bump, rfbz#3593) - release tarballs are now hosted on videolan.org From 7d6654ca70fb8ef485ced744061e96bf11398a3e Mon Sep 17 00:00:00 2001 From: Nicolas Chauvet Date: Sat, 24 Oct 2015 12:36:06 +0200 Subject: [PATCH 06/59] Avoid tests for now --- x265.spec | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/x265.spec b/x265.spec index 858a557..bdb56ac 100644 --- a/x265.spec +++ b/x265.spec @@ -60,10 +60,8 @@ make DESTDIR=%{buildroot} install rm %{buildroot}%{_libdir}/libx265.a install -Dpm644 COPYING %{buildroot}%{_pkgdocdir}/COPYING -%ifnarch %{arm} %check -LD_LIBRARY_PATH=%{buildroot}%{_libdir} test/TestBench -%endif +LD_LIBRARY_PATH=%{buildroot}%{_libdir} test/TestBench || : %post libs -p /sbin/ldconfig @@ -87,6 +85,7 @@ LD_LIBRARY_PATH=%{buildroot}%{_libdir} test/TestBench %changelog * Sat Oct 24 2015 Nicolas Chauvet - 1.8-1 - Update to 1.8 +- Avoid tests for now * Wed Apr 15 2015 Dominik Mierzejewski 1.6-1 - update to 1.6 (ABI bump, rfbz#3593) From 6ae556a6f76bfa0976a1de6af6e4b991c273bbb6 Mon Sep 17 00:00:00 2001 From: Dominik 'Rathann' Mierzejewski Date: Sun, 25 Oct 2015 23:38:36 +0100 Subject: [PATCH 07/59] fix build - fix building as PIC - update SO version in file list --- x265-pic.patch | 24 ++++++++++++++++++++++++ x265.spec | 10 +++++++++- 2 files changed, 33 insertions(+), 1 deletion(-) create mode 100644 x265-pic.patch diff --git a/x265-pic.patch b/x265-pic.patch new file mode 100644 index 0000000..0414a35 --- /dev/null +++ b/x265-pic.patch @@ -0,0 +1,24 @@ +diff -up x265_1.8/source/CMakeLists.txt.pic x265_1.8/source/CMakeLists.txt +--- x265_1.8/source/CMakeLists.txt.pic 2015-09-22 10:10:07.000000000 +0200 ++++ x265_1.8/source/CMakeLists.txt 2015-10-25 22:43:12.666153586 +0100 +@@ -158,7 +162,7 @@ if(GCC) + add_definitions(-Wall -Wextra -Wshadow) + add_definitions(-D__STDC_LIMIT_MACROS=1) + if(ENABLE_PIC) +- add_definitions(-fPIC) ++ add_definitions(-fPIC -DPIC) + endif(ENABLE_PIC) + if(NATIVE_BUILD) + if(INTEL_CXX) +diff -up x265_1.8/source/test/checkasm-a.asm.pic x265_1.8/source/test/checkasm-a.asm +--- x265_1.8/source/test/checkasm-a.asm.pic 2015-09-22 10:10:07.000000000 +0200 ++++ x265_1.8/source/test/checkasm-a.asm 2015-10-25 23:23:45.041877640 +0100 +@@ -154,7 +154,7 @@ cglobal checkasm_call, 2,15,16,max_args* + mov r9, rax + mov r10, rdx + lea r0, [error_message] +- call puts ++ call puts wrt ..plt + mov r1, [rsp+max_args*8] + mov dword [r1], 0 + mov rdx, r10 diff --git a/x265.spec b/x265.spec index bdb56ac..e0d4668 100644 --- a/x265.spec +++ b/x265.spec @@ -6,6 +6,8 @@ URL: http://x265.org/ Source0: http://ftp.videolan.org/pub/videolan/x265/x265_%{version}.tar.gz # link test binaries with shared library Patch1: x265-test-shared.patch +# fix building as PIC +Patch2: x265-pic.patch Patch4: x265-detect_cpu_armhfp.patch # source/Lib/TLibCommon - BSD # source/Lib/TLibEncoder - BSD @@ -45,11 +47,13 @@ This package contains the shared library development files. %prep %setup -q -n x265_%{version} %patch1 -p1 -b .ts +%patch2 -p1 -b .pic %patch4 -p1 -b .armhfp %build %cmake -G "Unix Makefiles" \ -DCMAKE_SKIP_RPATH:BOOL=YES \ + -DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=ON \ -DENABLE_PIC:BOOL=ON \ -DENABLE_TESTS:BOOL=ON \ source @@ -73,7 +77,7 @@ LD_LIBRARY_PATH=%{buildroot}%{_libdir} test/TestBench || : %files libs %dir %{_pkgdocdir} %{_pkgdocdir}/COPYING -%{_libdir}/libx265.so.51 +%{_libdir}/libx265.so.68 %files devel %doc doc/* @@ -83,6 +87,10 @@ LD_LIBRARY_PATH=%{buildroot}%{_libdir} test/TestBench || : %{_libdir}/pkgconfig/x265.pc %changelog +* Sun Oct 25 2015 Dominik Mierzejewski 1.8-2 +- fix building as PIC +- update SO version in file list + * Sat Oct 24 2015 Nicolas Chauvet - 1.8-1 - Update to 1.8 - Avoid tests for now From ae884c73e43cf90f4aa1a64ab64bfb39d565e03f Mon Sep 17 00:00:00 2001 From: Adrian Reber Date: Fri, 8 Apr 2016 09:36:34 -0400 Subject: [PATCH 08/59] Update to 1.9 (fix for F24) Signed-off-by: Adrian Reber --- x265-pic.patch | 2 +- x265.spec | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/x265-pic.patch b/x265-pic.patch index 0414a35..f3c02b9 100644 --- a/x265-pic.patch +++ b/x265-pic.patch @@ -2,8 +2,8 @@ diff -up x265_1.8/source/CMakeLists.txt.pic x265_1.8/source/CMakeLists.txt --- x265_1.8/source/CMakeLists.txt.pic 2015-09-22 10:10:07.000000000 +0200 +++ x265_1.8/source/CMakeLists.txt 2015-10-25 22:43:12.666153586 +0100 @@ -158,7 +162,7 @@ if(GCC) - add_definitions(-Wall -Wextra -Wshadow) add_definitions(-D__STDC_LIMIT_MACROS=1) + add_definitions(-std=gnu++98) if(ENABLE_PIC) - add_definitions(-fPIC) + add_definitions(-fPIC -DPIC) diff --git a/x265.spec b/x265.spec index e0d4668..2262feb 100644 --- a/x265.spec +++ b/x265.spec @@ -1,6 +1,6 @@ Summary: H.265/HEVC encoder Name: x265 -Version: 1.8 +Version: 1.9 Release: 1%{?dist} URL: http://x265.org/ Source0: http://ftp.videolan.org/pub/videolan/x265/x265_%{version}.tar.gz @@ -77,7 +77,7 @@ LD_LIBRARY_PATH=%{buildroot}%{_libdir} test/TestBench || : %files libs %dir %{_pkgdocdir} %{_pkgdocdir}/COPYING -%{_libdir}/libx265.so.68 +%{_libdir}/libx265.so.79 %files devel %doc doc/* @@ -87,6 +87,9 @@ LD_LIBRARY_PATH=%{buildroot}%{_libdir} test/TestBench || : %{_libdir}/pkgconfig/x265.pc %changelog +* Fri Apr 08 2016 Adrian Reber - 1.9-1 +- Update to 1.9 + * Sun Oct 25 2015 Dominik Mierzejewski 1.8-2 - fix building as PIC - update SO version in file list From 0011923a83a7d26eddf6cff6fab9757003d09d09 Mon Sep 17 00:00:00 2001 From: Nicolas Chauvet Date: Sun, 15 May 2016 15:00:35 +0200 Subject: [PATCH 09/59] Add missing source --- sources | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources b/sources index a7c6431..fe0ffe3 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -32e4151f8b6a32b466b1055562ebfb4f x265_1.6.tar.gz +f34a1c4c660ff07511365cb0983cf164 x265_1.9.tar.gz From 46433b5d170b1d43ddf7f60577ec2ae17b6070e8 Mon Sep 17 00:00:00 2001 From: Dominik Mierzejewski Date: Tue, 19 Jul 2016 02:36:19 +0200 Subject: [PATCH 10/59] use https for source URL --- x265.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/x265.spec b/x265.spec index 2262feb..68e6d17 100644 --- a/x265.spec +++ b/x265.spec @@ -3,7 +3,7 @@ Name: x265 Version: 1.9 Release: 1%{?dist} URL: http://x265.org/ -Source0: http://ftp.videolan.org/pub/videolan/x265/x265_%{version}.tar.gz +Source0: https://ftp.videolan.org/pub/videolan/x265/x265_%{version}.tar.gz # link test binaries with shared library Patch1: x265-test-shared.patch # fix building as PIC From 64bad5316dd701a34cf7b6c78ee5c0ed3d600d81 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9rgio=20M=2E=20Basto?= Date: Tue, 19 Jul 2016 01:56:18 +0100 Subject: [PATCH 11/59] rfpkg new-sources x265_1.9.tar.gz --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index c4166af..5e4ceb5 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ x265_1.6.tar.gz +/x265_1.9.tar.gz From 3542971166eac753eb8cdd08f5d86cfea2a7f4ee Mon Sep 17 00:00:00 2001 From: Dominik Mierzejewski Date: Tue, 19 Jul 2016 03:28:58 +0200 Subject: [PATCH 12/59] enable NUMA support make sure Fedora compiler flags are used on ARM --- x265-detect_cpu_armhfp.patch | 9 ++++----- x265.spec | 10 +++++++++- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/x265-detect_cpu_armhfp.patch b/x265-detect_cpu_armhfp.patch index 5ca7939..c9a0d0d 100644 --- a/x265-detect_cpu_armhfp.patch +++ b/x265-detect_cpu_armhfp.patch @@ -1,7 +1,7 @@ -diff -up x265_1.8/source/CMakeLists.txt.armhfp x265_1.8/source/CMakeLists.txt ---- x265_1.8/source/CMakeLists.txt.armhfp 2015-09-22 10:10:07.000000000 +0200 -+++ x265_1.8/source/CMakeLists.txt 2015-10-24 12:17:17.675572785 +0200 -@@ -57,9 +57,13 @@ elseif(POWERMATCH GREATER "-1") +diff -up x265_1.9/source/CMakeLists.txt.armhfp x265_1.9/source/CMakeLists.txt +--- x265_1.9/source/CMakeLists.txt.armhfp 2016-07-19 03:10:51.163733946 +0200 ++++ x265_1.9/source/CMakeLists.txt 2016-07-19 03:13:15.638665651 +0200 +@@ -59,9 +59,12 @@ elseif(POWERMATCH GREATER "-1") set(POWER 1) add_definitions(-DX265_ARCH_POWER=1) elseif(${SYSPROC} STREQUAL "armv6l") @@ -11,7 +11,6 @@ diff -up x265_1.8/source/CMakeLists.txt.armhfp x265_1.8/source/CMakeLists.txt add_definitions(-DX265_ARCH_ARM=1 -DHAVE_ARMV6=1) +elseif(${SYSPROC} STREQUAL "armv7l") + message(STATUS "Detected ARMv7 system 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") diff --git a/x265.spec b/x265.spec index 68e6d17..ccf0f51 100644 --- a/x265.spec +++ b/x265.spec @@ -1,7 +1,7 @@ Summary: H.265/HEVC encoder Name: x265 Version: 1.9 -Release: 1%{?dist} +Release: 2%{?dist} URL: http://x265.org/ Source0: https://ftp.videolan.org/pub/videolan/x265/x265_%{version}.tar.gz # link test binaries with shared library @@ -14,6 +14,9 @@ Patch4: x265-detect_cpu_armhfp.patch # everything else - GPLv2+ License: GPLv2+ and BSD BuildRequires: cmake +%ifnarch armv7hl armv7hnl s390 s390x +BuildRequires: numactl-devel +%endif BuildRequires: yasm %description @@ -87,6 +90,11 @@ LD_LIBRARY_PATH=%{buildroot}%{_libdir} test/TestBench || : %{_libdir}/pkgconfig/x265.pc %changelog +* Tue Jul 19 2016 Dominik Mierzejewski - 1.9-2 +- use https for source URL +- enable NUMA support +- make sure Fedora compiler flags are used on ARM + * Fri Apr 08 2016 Adrian Reber - 1.9-1 - Update to 1.9 From 35be2128a60ab665e53755d5181fccccfeaaaea7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9rgio=20M=2E=20Basto?= Date: Thu, 18 Aug 2016 03:05:48 +0100 Subject: [PATCH 13/59] Clean spec, Vascom patches series, rfbz #4199, add license tag --- x265.spec | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/x265.spec b/x265.spec index ccf0f51..8bb22b8 100644 --- a/x265.spec +++ b/x265.spec @@ -1,9 +1,9 @@ Summary: H.265/HEVC encoder Name: x265 Version: 1.9 -Release: 2%{?dist} +Release: 3%{?dist} URL: http://x265.org/ -Source0: https://ftp.videolan.org/pub/videolan/x265/x265_%{version}.tar.gz +Source0: https://ftp.videolan.org/pub/videolan/x265/%{name}_%{version}.tar.gz # link test binaries with shared library Patch1: x265-test-shared.patch # fix building as PIC @@ -48,10 +48,7 @@ highest performance on a wide variety of hardware platforms. This package contains the shared library development files. %prep -%setup -q -n x265_%{version} -%patch1 -p1 -b .ts -%patch2 -p1 -b .pic -%patch4 -p1 -b .armhfp +%autosetup -p1 -n %{name}_%{version} %build %cmake -G "Unix Makefiles" \ @@ -60,12 +57,11 @@ This package contains the shared library development files. -DENABLE_PIC:BOOL=ON \ -DENABLE_TESTS:BOOL=ON \ source -make %{?_smp_mflags} +%make_build %install -make DESTDIR=%{buildroot} install +%make_install rm %{buildroot}%{_libdir}/libx265.a -install -Dpm644 COPYING %{buildroot}%{_pkgdocdir}/COPYING %check LD_LIBRARY_PATH=%{buildroot}%{_libdir} test/TestBench || : @@ -78,8 +74,7 @@ LD_LIBRARY_PATH=%{buildroot}%{_libdir} test/TestBench || : %{_bindir}/x265 %files libs -%dir %{_pkgdocdir} -%{_pkgdocdir}/COPYING +%license COPYING %{_libdir}/libx265.so.79 %files devel @@ -90,6 +85,9 @@ LD_LIBRARY_PATH=%{buildroot}%{_libdir} test/TestBench || : %{_libdir}/pkgconfig/x265.pc %changelog +* Thu Aug 18 2016 Sérgio Basto - 1.9-3 +- Clean spec, Vascom patches series, rfbz #4199, add license tag + * Tue Jul 19 2016 Dominik Mierzejewski - 1.9-2 - use https for source URL - enable NUMA support From 69bfd3bca45e596c2c351eb139618a8759de14b6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9rgio=20M=2E=20Basto?= Date: Tue, 8 Nov 2016 08:37:02 +0000 Subject: [PATCH 14/59] Update to 2.1 --- .gitignore | 1 + sources | 2 +- x265-detect_cpu_armhfp.patch | 40 +++++++++++++++++++++++++++++------- x265-test-shared.patch | 9 ++++---- x265.spec | 9 +++++--- 5 files changed, 45 insertions(+), 16 deletions(-) diff --git a/.gitignore b/.gitignore index 5e4ceb5..56e5ead 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ x265_1.6.tar.gz /x265_1.9.tar.gz +/x265_2.1.tar.gz diff --git a/sources b/sources index fe0ffe3..2039f69 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -f34a1c4c660ff07511365cb0983cf164 x265_1.9.tar.gz +2d9cb183d2675dfb325abdedd2424bfa x265_2.1.tar.gz diff --git a/x265-detect_cpu_armhfp.patch b/x265-detect_cpu_armhfp.patch index c9a0d0d..f8e07e4 100644 --- a/x265-detect_cpu_armhfp.patch +++ b/x265-detect_cpu_armhfp.patch @@ -1,16 +1,42 @@ -diff -up x265_1.9/source/CMakeLists.txt.armhfp x265_1.9/source/CMakeLists.txt ---- x265_1.9/source/CMakeLists.txt.armhfp 2016-07-19 03:10:51.163733946 +0200 -+++ x265_1.9/source/CMakeLists.txt 2016-07-19 03:13:15.638665651 +0200 -@@ -59,9 +59,12 @@ elseif(POWERMATCH GREATER "-1") +--- ./source/CMakeLists.txt.orig 2016-11-08 00:30:22.407038669 +0000 ++++ ./source/CMakeLists.txt 2016-11-08 00:58:10.478661484 +0000 +@@ -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") +@@ -60,15 +62,24 @@ elseif(POWERMATCH GREATER "-1") + message(STATUS "Detected POWER target processor") set(POWER 1) add_definitions(-DX265_ARCH_POWER=1) - elseif(${SYSPROC} STREQUAL "armv6l") +-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(${SYSPROC} STREQUAL "armv7l") -+ message(STATUS "Detected ARMv7 system processor") ++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 ARv7 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") diff --git a/x265-test-shared.patch b/x265-test-shared.patch index e76f6c6..eeebb88 100644 --- a/x265-test-shared.patch +++ b/x265-test-shared.patch @@ -1,10 +1,9 @@ -diff -up x265_1.8/source/test/CMakeLists.txt.shared x265_1.8/source/test/CMakeLists.txt ---- x265_1.8/source/test/CMakeLists.txt.shared 2015-09-22 10:10:07.000000000 +0200 -+++ x265_1.8/source/test/CMakeLists.txt 2015-10-24 12:15:04.846236808 +0200 -@@ -23,7 +23,7 @@ add_executable(TestBench ${YASM_SRC} - mbdstharness.cpp mbdstharness.h +--- ./source/test/CMakeLists.txt.orig 2016-11-08 00:20:30.255328576 +0000 ++++ ./source/test/CMakeLists.txt 2016-11-08 00:16:38.709703855 +0000 +@@ -44,7 +44,7 @@ add_executable(TestBench ${YASM_SRC} ipfilterharness.cpp ipfilterharness.h intrapredharness.cpp intrapredharness.h) + -target_link_libraries(TestBench x265-static ${PLATFORM_LIBS}) +target_link_libraries(TestBench x265-shared ${PLATFORM_LIBS}) if(LINKER_OPTIONS) diff --git a/x265.spec b/x265.spec index 8bb22b8..b896473 100644 --- a/x265.spec +++ b/x265.spec @@ -1,7 +1,7 @@ Summary: H.265/HEVC encoder Name: x265 -Version: 1.9 -Release: 3%{?dist} +Version: 2.1 +Release: 1%{?dist} URL: http://x265.org/ Source0: https://ftp.videolan.org/pub/videolan/x265/%{name}_%{version}.tar.gz # link test binaries with shared library @@ -75,7 +75,7 @@ LD_LIBRARY_PATH=%{buildroot}%{_libdir} test/TestBench || : %files libs %license COPYING -%{_libdir}/libx265.so.79 +%{_libdir}/libx265.so.* %files devel %doc doc/* @@ -85,6 +85,9 @@ LD_LIBRARY_PATH=%{buildroot}%{_libdir} test/TestBench || : %{_libdir}/pkgconfig/x265.pc %changelog +* Mon Nov 07 2016 Sérgio Basto - 2.1-1 +- Update to 2.1 + * Thu Aug 18 2016 Sérgio Basto - 1.9-3 - Clean spec, Vascom patches series, rfbz #4199, add license tag From ecd74d5bd019804f3e1401e2ae387152bc44c89e Mon Sep 17 00:00:00 2001 From: Dominik 'Rathann' Mierzejewski Date: Tue, 3 Jan 2017 12:53:09 +0100 Subject: [PATCH 15/59] update to 2.2 spell out SO version in file list fix typo in patch --- .gitignore | 1 + sources | 2 +- x265-detect_cpu_armhfp.patch | 17 +++++++++-------- x265.spec | 9 +++++++-- 4 files changed, 18 insertions(+), 11 deletions(-) diff --git a/.gitignore b/.gitignore index 56e5ead..47d6cf9 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ x265_1.6.tar.gz /x265_1.9.tar.gz /x265_2.1.tar.gz +/x265_2.2.tar.gz diff --git a/sources b/sources index 2039f69..9eae320 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -2d9cb183d2675dfb325abdedd2424bfa x265_2.1.tar.gz +36161843a70e4d46af1fa38cf221d0f3 x265_2.2.tar.gz diff --git a/x265-detect_cpu_armhfp.patch b/x265-detect_cpu_armhfp.patch index f8e07e4..e68b827 100644 --- a/x265-detect_cpu_armhfp.patch +++ b/x265-detect_cpu_armhfp.patch @@ -1,11 +1,12 @@ ---- ./source/CMakeLists.txt.orig 2016-11-08 00:30:22.407038669 +0000 -+++ ./source/CMakeLists.txt 2016-11-08 00:58:10.478661484 +0000 +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(ARMv6_ALIASES armv6l) +set(ARMv7_ALIASES armv7l) list(FIND X86_ALIASES "${SYSPROC}" X86MATCH) -list(FIND ARM_ALIASES "${SYSPROC}" ARMMATCH) @@ -14,10 +15,10 @@ set(POWER_ALIASES ppc64 ppc64le) list(FIND POWER_ALIASES "${SYSPROC}" POWERMATCH) if("${SYSPROC}" STREQUAL "" OR X86MATCH GREATER "-1") -@@ -60,15 +62,24 @@ elseif(POWERMATCH GREATER "-1") - message(STATUS "Detected POWER target processor") - set(POWER 1) - add_definitions(-DX265_ARCH_POWER=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) @@ -35,7 +36,7 @@ + else() + set(CROSS_COMPILE_ARM 0) + endif() -+ message(STATUS "Detected ARv7 target processor") ++ message(STATUS "Detected ARMv7 target processor") + set(ARM 1) + add_definitions(-DX265_ARCH_ARM=1 -DHAVE_ARMV7=1) else() diff --git a/x265.spec b/x265.spec index b896473..94570d6 100644 --- a/x265.spec +++ b/x265.spec @@ -1,6 +1,6 @@ Summary: H.265/HEVC encoder Name: x265 -Version: 2.1 +Version: 2.2 Release: 1%{?dist} URL: http://x265.org/ Source0: https://ftp.videolan.org/pub/videolan/x265/%{name}_%{version}.tar.gz @@ -75,7 +75,7 @@ LD_LIBRARY_PATH=%{buildroot}%{_libdir} test/TestBench || : %files libs %license COPYING -%{_libdir}/libx265.so.* +%{_libdir}/libx265.so.102 %files devel %doc doc/* @@ -85,6 +85,11 @@ LD_LIBRARY_PATH=%{buildroot}%{_libdir} test/TestBench || : %{_libdir}/pkgconfig/x265.pc %changelog +* Tue Jan 03 2017 Dominik Mierzejewski - 2.2-1 +- update to 2.2 +- spell out SO version in file list +- fix typo in patch + * Mon Nov 07 2016 Sérgio Basto - 2.1-1 - Update to 2.1 From 2dc33f773865deaec1592a87f195ff1d5899377d Mon Sep 17 00:00:00 2001 From: Nicolas Chauvet Date: Tue, 21 Mar 2017 00:12:22 +0100 Subject: [PATCH 16/59] - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild --- x265.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/x265.spec b/x265.spec index 94570d6..951d7db 100644 --- a/x265.spec +++ b/x265.spec @@ -1,7 +1,7 @@ Summary: H.265/HEVC encoder Name: x265 Version: 2.2 -Release: 1%{?dist} +Release: 2%{?dist} URL: http://x265.org/ Source0: https://ftp.videolan.org/pub/videolan/x265/%{name}_%{version}.tar.gz # link test binaries with shared library @@ -85,6 +85,9 @@ LD_LIBRARY_PATH=%{buildroot}%{_libdir} test/TestBench || : %{_libdir}/pkgconfig/x265.pc %changelog +* Mon Mar 20 2017 RPM Fusion Release Engineering - 2.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + * Tue Jan 03 2017 Dominik Mierzejewski - 2.2-1 - update to 2.2 - spell out SO version in file list From 9bb47ceb3a6d177f1ddb957117466f900533e9ca Mon Sep 17 00:00:00 2001 From: Simone Caronni Date: Sat, 15 Apr 2017 13:30:06 +0200 Subject: [PATCH 17/59] Enable 10/12 bit libraries on 64 bit architectures --- x265-high-bit-depth-soname.patch | 32 +++++++++ x265.spec | 116 +++++++++++++++++++++++-------- 2 files changed, 118 insertions(+), 30 deletions(-) create mode 100644 x265-high-bit-depth-soname.patch diff --git a/x265-high-bit-depth-soname.patch b/x265-high-bit-depth-soname.patch new file mode 100644 index 0000000..d5c1efb --- /dev/null +++ b/x265-high-bit-depth-soname.patch @@ -0,0 +1,32 @@ +diff -Naur x265_2.2.old/source/CMakeLists.txt x265_2.2/source/CMakeLists.txt +--- x265_2.2.old/source/CMakeLists.txt 2017-04-11 12:14:19.717605457 +0200 ++++ x265_2.2/source/CMakeLists.txt 2017-04-11 12:14:27.499743262 +0200 +@@ -548,7 +548,15 @@ + if(MSVC) + set_target_properties(x265-shared PROPERTIES OUTPUT_NAME libx265) + else() +- set_target_properties(x265-shared PROPERTIES OUTPUT_NAME x265) ++ if(HIGH_BIT_DEPTH) ++ if(MAIN12) ++ set_target_properties(x265-shared PROPERTIES OUTPUT_NAME x265_main12) ++ else() ++ set_target_properties(x265-shared PROPERTIES OUTPUT_NAME x265_main10) ++ endif() ++ else() ++ set_target_properties(x265-shared PROPERTIES OUTPUT_NAME x265) ++ endif(HIGH_BIT_DEPTH) + endif() + if(UNIX) + set_target_properties(x265-shared PROPERTIES VERSION ${X265_BUILD}) +diff -Naur x265_2.2.old/source/encoder/api.cpp x265_2.2/source/encoder/api.cpp +--- x265_2.2.old/source/encoder/api.cpp 2017-04-11 12:14:19.727605634 +0200 ++++ x265_2.2/source/encoder/api.cpp 2017-04-11 12:21:58.928758432 +0200 +@@ -356,7 +356,7 @@ + #define ext ".dylib" + #else + #include +-#define ext ".so" ++#define ext ".so." xstr(X265_BUILD) + #endif + + static int g_recursion /* = 0 */; diff --git a/x265.spec b/x265.spec index 951d7db..714f899 100644 --- a/x265.spec +++ b/x265.spec @@ -1,33 +1,38 @@ -Summary: H.265/HEVC encoder -Name: x265 -Version: 2.2 -Release: 2%{?dist} -URL: http://x265.org/ -Source0: https://ftp.videolan.org/pub/videolan/x265/%{name}_%{version}.tar.gz -# link test binaries with shared library -Patch1: x265-test-shared.patch -# fix building as PIC -Patch2: x265-pic.patch -Patch4: x265-detect_cpu_armhfp.patch +Summary: H.265/HEVC encoder +Name: x265 +Version: 2.2 +Release: 3%{?dist} +URL: http://x265.org/ # source/Lib/TLibCommon - BSD # source/Lib/TLibEncoder - BSD # everything else - GPLv2+ -License: GPLv2+ and BSD -BuildRequires: cmake +License: GPLv2+ and BSD + +Source0: https://bitbucket.org/multicoreware/%{name}/downloads/%{name}_%{version}.tar.gz + +# link test binaries with shared library +Patch1: x265-test-shared.patch +# fix building as PIC +Patch2: x265-pic.patch +Patch3: x265-high-bit-depth-soname.patch +Patch4: x265-detect_cpu_armhfp.patch + +BuildRequires: cmake +BuildRequires: yasm + %ifnarch armv7hl armv7hnl s390 s390x -BuildRequires: numactl-devel +BuildRequires: numactl-devel %endif -BuildRequires: yasm %description The primary objective of x265 is to become the best H.265/HEVC encoder -available anywhere, offering the highest compression efficiency and the -highest performance on a wide variety of hardware platforms. +available anywhere, offering the highest compression efficiency and the highest +performance on a wide variety of hardware platforms. This package contains the command line encoder. %package libs -Summary: H.265/HEVC encoder library +Summary: H.265/HEVC encoder library %description libs The primary objective of x265 is to become the best H.265/HEVC encoder @@ -37,13 +42,13 @@ highest performance on a wide variety of hardware platforms. This package contains the shared library. %package devel -Summary: H.265/HEVC encoder library development files -Requires: %{name}-libs%{?_isa} = %{version}-%{release} +Summary: H.265/HEVC encoder library development files +Requires: %{name}-libs%{?_isa} = %{version}-%{release} %description devel The primary objective of x265 is to become the best H.265/HEVC encoder -available anywhere, offering the highest compression efficiency and the -highest performance on a wide variety of hardware platforms. +available anywhere, offering the highest compression efficiency and the highest +performance on a wide variety of hardware platforms. This package contains the shared library development files. @@ -51,20 +56,62 @@ This package contains the shared library development files. %autosetup -p1 -n %{name}_%{version} %build +# High depth libraries (from source/h265.h): +# If the requested bitDepth is not supported by the linked libx265, +# it will attempt to dynamically bind x265_api_get() from a shared +# library with an appropriate name: +# 8bit: libx265_main.so +# 10bit: libx265_main10.so + +build() { %cmake -G "Unix Makefiles" \ - -DCMAKE_SKIP_RPATH:BOOL=YES \ - -DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=ON \ - -DENABLE_PIC:BOOL=ON \ - -DENABLE_TESTS:BOOL=ON \ - source + -DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=ON \ + -DCMAKE_SKIP_RPATH:BOOL=YES \ + -DENABLE_PIC:BOOL=ON \ + -DENABLE_TESTS:BOOL=ON \ + $* \ + ../source %make_build +} + +# High depth 10/12 bit libraries are supported only on 64 bit. They require +# disabled AltiVec instructions for building on ppc64/ppc64le. +%ifarch x86_64 aarch64 ppc64 ppc64le +mkdir 10bit; pushd 10bit + build -DENABLE_CLI=OFF -DENABLE_ALTIVEC=OFF -DHIGH_BIT_DEPTH=ON +popd + +mkdir 12bit; pushd 12bit + build -DENABLE_CLI=OFF -DENABLE_ALTIVEC=OFF -DHIGH_BIT_DEPTH=ON -DMAIN12=ON +popd +%endif + +# 8 bit base library + encoder +mkdir 8bit; pushd 8bit + build +popd %install -%make_install -rm %{buildroot}%{_libdir}/libx265.a +for i in 8 10 12; do + if [ -d ${i}bit ]; then + pushd ${i}bit + %make_install + # Remove unversioned library, should not be linked to + rm -f %{buildroot}%{_libdir}/libx265_main${i}.so + popd + fi +done + +find %{buildroot} -name "*.a" -delete %check -LD_LIBRARY_PATH=%{buildroot}%{_libdir} test/TestBench || : +for i in 8 10 12; do + if [ -d ${i}bit ]; then + pushd ${i}bit + LD_LIBRARY_PATH=%{buildroot}%{_libdir} test/TestBench || : + popd + fi +done %post libs -p /sbin/ldconfig @@ -76,6 +123,10 @@ LD_LIBRARY_PATH=%{buildroot}%{_libdir} test/TestBench || : %files libs %license COPYING %{_libdir}/libx265.so.102 +%ifarch x86_64 aarch64 ppc64 ppc64le +%{_libdir}/libx265_main10.so.102 +%{_libdir}/libx265_main12.so.102 +%endif %files devel %doc doc/* @@ -85,6 +136,11 @@ LD_LIBRARY_PATH=%{buildroot}%{_libdir} test/TestBench || : %{_libdir}/pkgconfig/x265.pc %changelog +* Mon Apr 10 2017 Simone Caronni - 2.2-3 +- Use source from multicoreware website. +- Clean up SPEC file a bit (formatting, 80 char wide descriptions). +- Enable shared 10/12 bit libraries on 64 bit architectures. + * Mon Mar 20 2017 RPM Fusion Release Engineering - 2.2-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild From d0b06b8405383e37208e5c4921eb9da5ff2cfa9c Mon Sep 17 00:00:00 2001 From: leigh123linux Date: Sat, 29 Apr 2017 07:58:58 +0100 Subject: [PATCH 18/59] update to 2.4 --- .gitignore | 1 + sources | 2 +- x265.spec | 13 ++++++++----- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/.gitignore b/.gitignore index 47d6cf9..23e3f28 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,4 @@ x265_1.6.tar.gz /x265_1.9.tar.gz /x265_2.1.tar.gz /x265_2.2.tar.gz +/x265_2.4.tar.gz diff --git a/sources b/sources index 9eae320..a0a5c32 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -36161843a70e4d46af1fa38cf221d0f3 x265_2.2.tar.gz +ab0986aa5c4465b874de94095b0d0cae x265_2.4.tar.gz diff --git a/x265.spec b/x265.spec index 714f899..7d2e97e 100644 --- a/x265.spec +++ b/x265.spec @@ -1,7 +1,7 @@ Summary: H.265/HEVC encoder Name: x265 -Version: 2.2 -Release: 3%{?dist} +Version: 2.4 +Release: 1%{?dist} URL: http://x265.org/ # source/Lib/TLibCommon - BSD # source/Lib/TLibEncoder - BSD @@ -122,10 +122,10 @@ done %files libs %license COPYING -%{_libdir}/libx265.so.102 +%{_libdir}/libx265.so.116 %ifarch x86_64 aarch64 ppc64 ppc64le -%{_libdir}/libx265_main10.so.102 -%{_libdir}/libx265_main12.so.102 +%{_libdir}/libx265_main10.so.116 +%{_libdir}/libx265_main12.so.116 %endif %files devel @@ -136,6 +136,9 @@ done %{_libdir}/pkgconfig/x265.pc %changelog +* Sat Apr 29 2017 Leigh Scott - 2.4-1 +- update to 2.4 + * Mon Apr 10 2017 Simone Caronni - 2.2-3 - Use source from multicoreware website. - Clean up SPEC file a bit (formatting, 80 char wide descriptions). From ab0b4f807fb8255c297dae46d411ff00293ff86d Mon Sep 17 00:00:00 2001 From: Nicolas Chauvet Date: Thu, 31 Aug 2017 16:51:04 +0200 Subject: [PATCH 19/59] - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild --- x265.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/x265.spec b/x265.spec index 7d2e97e..783b750 100644 --- a/x265.spec +++ b/x265.spec @@ -1,7 +1,7 @@ Summary: H.265/HEVC encoder Name: x265 Version: 2.4 -Release: 1%{?dist} +Release: 2%{?dist} URL: http://x265.org/ # source/Lib/TLibCommon - BSD # source/Lib/TLibEncoder - BSD @@ -136,6 +136,9 @@ done %{_libdir}/pkgconfig/x265.pc %changelog +* Thu Aug 31 2017 RPM Fusion Release Engineering - 2.4-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + * Sat Apr 29 2017 Leigh Scott - 2.4-1 - update to 2.4 From d87b513a9b705dd1d91621b3f4d27552714cd25b Mon Sep 17 00:00:00 2001 From: leigh123linux Date: Mon, 16 Oct 2017 12:41:08 +0100 Subject: [PATCH 20/59] update to 2.5 --- .gitignore | 1 + sources | 2 +- x265-pic.patch | 12 ++++++------ x265.spec | 15 ++++++++++----- 4 files changed, 18 insertions(+), 12 deletions(-) diff --git a/.gitignore b/.gitignore index 23e3f28..c784e86 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,4 @@ x265_1.6.tar.gz /x265_2.1.tar.gz /x265_2.2.tar.gz /x265_2.4.tar.gz +/x265_2.5.tar.gz diff --git a/sources b/sources index a0a5c32..49f3a79 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -ab0986aa5c4465b874de94095b0d0cae x265_2.4.tar.gz +192e54fa3068b594aa44ab2b703f071d x265_2.5.tar.gz diff --git a/x265-pic.patch b/x265-pic.patch index f3c02b9..65e89fd 100644 --- a/x265-pic.patch +++ b/x265-pic.patch @@ -1,15 +1,15 @@ -diff -up x265_1.8/source/CMakeLists.txt.pic x265_1.8/source/CMakeLists.txt ---- x265_1.8/source/CMakeLists.txt.pic 2015-09-22 10:10:07.000000000 +0200 -+++ x265_1.8/source/CMakeLists.txt 2015-10-25 22:43:12.666153586 +0100 -@@ -158,7 +162,7 @@ if(GCC) - add_definitions(-D__STDC_LIMIT_MACROS=1) - add_definitions(-std=gnu++98) +--- a/source/CMakeLists.txt ++++ b/source/CMakeLists.txt +@@ -196,7 +196,7 @@ + add_definitions(-std=gnu++98) + endif() if(ENABLE_PIC) - add_definitions(-fPIC) + add_definitions(-fPIC -DPIC) endif(ENABLE_PIC) if(NATIVE_BUILD) if(INTEL_CXX) + diff -up x265_1.8/source/test/checkasm-a.asm.pic x265_1.8/source/test/checkasm-a.asm --- x265_1.8/source/test/checkasm-a.asm.pic 2015-09-22 10:10:07.000000000 +0200 +++ x265_1.8/source/test/checkasm-a.asm 2015-10-25 23:23:45.041877640 +0100 diff --git a/x265.spec b/x265.spec index 783b750..5be23ae 100644 --- a/x265.spec +++ b/x265.spec @@ -1,7 +1,9 @@ +%global _so_version 130 + Summary: H.265/HEVC encoder Name: x265 -Version: 2.4 -Release: 2%{?dist} +Version: 2.5 +Release: 1%{?dist} URL: http://x265.org/ # source/Lib/TLibCommon - BSD # source/Lib/TLibEncoder - BSD @@ -122,10 +124,10 @@ done %files libs %license COPYING -%{_libdir}/libx265.so.116 +%{_libdir}/libx265.so.%{_so_version} %ifarch x86_64 aarch64 ppc64 ppc64le -%{_libdir}/libx265_main10.so.116 -%{_libdir}/libx265_main12.so.116 +%{_libdir}/libx265_main10.so.%{_so_version} +%{_libdir}/libx265_main12.so.%{_so_version} %endif %files devel @@ -136,6 +138,9 @@ done %{_libdir}/pkgconfig/x265.pc %changelog +* Mon Oct 16 2017 Leigh Scott - 2.5-1 +- update to 2.5 + * Thu Aug 31 2017 RPM Fusion Release Engineering - 2.4-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild From 3d93608a906f06ffebee419b8b25c8e3dd43abd0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9rgio=20M=2E=20Basto?= Date: Sat, 30 Dec 2017 19:29:13 +0000 Subject: [PATCH 21/59] Update x265 to 2.6 --- .gitignore | 1 + sources | 2 +- x265.spec | 5 ++++- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index c784e86..966f6ce 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,4 @@ x265_1.6.tar.gz /x265_2.2.tar.gz /x265_2.4.tar.gz /x265_2.5.tar.gz +/x265_2.6.tar.gz diff --git a/sources b/sources index 49f3a79..e9dc3a9 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -192e54fa3068b594aa44ab2b703f071d x265_2.5.tar.gz +4d318be1f19b58985432a144bd054572 x265_2.6.tar.gz diff --git a/x265.spec b/x265.spec index 5be23ae..bb8ee1d 100644 --- a/x265.spec +++ b/x265.spec @@ -2,7 +2,7 @@ Summary: H.265/HEVC encoder Name: x265 -Version: 2.5 +Version: 2.6 Release: 1%{?dist} URL: http://x265.org/ # source/Lib/TLibCommon - BSD @@ -138,6 +138,9 @@ done %{_libdir}/pkgconfig/x265.pc %changelog +* Sat Dec 30 2017 Sérgio Basto - 2.6-1 +- Update x265 to 2.6 + * Mon Oct 16 2017 Leigh Scott - 2.5-1 - update to 2.5 From cb9f82d19e9b40969a9ebdf12ffed2076bf44a76 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9rgio=20M=2E=20Basto?= Date: Sat, 30 Dec 2017 20:12:43 +0000 Subject: [PATCH 22/59] update name of unpack directory --- x265.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/x265.spec b/x265.spec index bb8ee1d..0c23322 100644 --- a/x265.spec +++ b/x265.spec @@ -55,7 +55,7 @@ performance on a wide variety of hardware platforms. This package contains the shared library development files. %prep -%autosetup -p1 -n %{name}_%{version} +%autosetup -p1 -n %{name}_v%{version} %build # High depth libraries (from source/h265.h): From 02291ab9e648c8ff52ec8a58d131651f70e8ebb1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9rgio=20M=2E=20Basto?= Date: Sat, 30 Dec 2017 20:22:28 +0000 Subject: [PATCH 23/59] U+date so_versio to 146 --- x265.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/x265.spec b/x265.spec index 0c23322..f390ad0 100644 --- a/x265.spec +++ b/x265.spec @@ -1,4 +1,4 @@ -%global _so_version 130 +%global _so_version 146 Summary: H.265/HEVC encoder Name: x265 From fd9b4d23ced757a2655f71c51d9e50f0dfbf648c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9rgio=20M=2E=20Basto?= Date: Sat, 30 Dec 2017 22:32:58 +0000 Subject: [PATCH 24/59] quick fix for arm builds rdtsc is an x86 assembly instruction to read the processors https://www.spinics.net/lists/fedora-devel/msg224266.html --- x265-detect_cpu_armhfp.patch | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/x265-detect_cpu_armhfp.patch b/x265-detect_cpu_armhfp.patch index e68b827..3dfc10d 100644 --- a/x265-detect_cpu_armhfp.patch +++ b/x265-detect_cpu_armhfp.patch @@ -42,3 +42,18 @@ diff -up x265_2.2/source/CMakeLists.txt.orig x265_2.2/source/CMakeLists.txt 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 + #elif (!defined(__APPLE__) && (defined (__GNUC__) && (defined(__x86_64__) || defined(__i386__)))) + #include +-#elif ( !defined(__APPLE__) && defined (__GNUC__) && defined(__ARM_NEON__)) +-#include + #elif defined(__GNUC__) ++#if ( !defined(__APPLE__) && defined(__ARM_NEON__)) ++#include ++#endif + /* fallback for older GCC/MinGW */ + static inline uint32_t __rdtsc(void) + { From 2ff9ef80853e065a2272b4554713e3976aa52ca7 Mon Sep 17 00:00:00 2001 From: leigh123linux Date: Tue, 27 Feb 2018 16:18:33 +0000 Subject: [PATCH 25/59] Update to 2.7 --- .gitignore | 1 + sources | 2 +- x265-pic.patch | 12 ------------ x265-test-shared.patch | 11 ----------- x265.spec | 37 ++++++++++++++++++++----------------- 5 files changed, 22 insertions(+), 41 deletions(-) delete mode 100644 x265-test-shared.patch diff --git a/.gitignore b/.gitignore index 966f6ce..594d208 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,4 @@ x265_1.6.tar.gz /x265_2.4.tar.gz /x265_2.5.tar.gz /x265_2.6.tar.gz +/x265_2.7.tar.gz diff --git a/sources b/sources index e9dc3a9..7181119 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -4d318be1f19b58985432a144bd054572 x265_2.6.tar.gz +b0d7d20da2a418fa4f53a559946ea079 x265_2.7.tar.gz diff --git a/x265-pic.patch b/x265-pic.patch index 65e89fd..e612f44 100644 --- a/x265-pic.patch +++ b/x265-pic.patch @@ -10,15 +10,3 @@ if(NATIVE_BUILD) if(INTEL_CXX) -diff -up x265_1.8/source/test/checkasm-a.asm.pic x265_1.8/source/test/checkasm-a.asm ---- x265_1.8/source/test/checkasm-a.asm.pic 2015-09-22 10:10:07.000000000 +0200 -+++ x265_1.8/source/test/checkasm-a.asm 2015-10-25 23:23:45.041877640 +0100 -@@ -154,7 +154,7 @@ cglobal checkasm_call, 2,15,16,max_args* - mov r9, rax - mov r10, rdx - lea r0, [error_message] -- call puts -+ call puts wrt ..plt - mov r1, [rsp+max_args*8] - mov dword [r1], 0 - mov rdx, r10 diff --git a/x265-test-shared.patch b/x265-test-shared.patch deleted file mode 100644 index eeebb88..0000000 --- a/x265-test-shared.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- ./source/test/CMakeLists.txt.orig 2016-11-08 00:20:30.255328576 +0000 -+++ ./source/test/CMakeLists.txt 2016-11-08 00:16:38.709703855 +0000 -@@ -44,7 +44,7 @@ add_executable(TestBench ${YASM_SRC} - ipfilterharness.cpp ipfilterharness.h - intrapredharness.cpp intrapredharness.h) - --target_link_libraries(TestBench x265-static ${PLATFORM_LIBS}) -+target_link_libraries(TestBench x265-shared ${PLATFORM_LIBS}) - if(LINKER_OPTIONS) - if(EXTRA_LIB) - list(APPEND LINKER_OPTIONS "-L..") diff --git a/x265.spec b/x265.spec index f390ad0..4673eca 100644 --- a/x265.spec +++ b/x265.spec @@ -1,8 +1,8 @@ -%global _so_version 146 +%global _so_version 151 Summary: H.265/HEVC encoder Name: x265 -Version: 2.6 +Version: 2.7 Release: 1%{?dist} URL: http://x265.org/ # source/Lib/TLibCommon - BSD @@ -12,15 +12,14 @@ License: GPLv2+ and BSD Source0: https://bitbucket.org/multicoreware/%{name}/downloads/%{name}_%{version}.tar.gz -# link test binaries with shared library -Patch1: x265-test-shared.patch # fix building as PIC -Patch2: x265-pic.patch -Patch3: x265-high-bit-depth-soname.patch -Patch4: x265-detect_cpu_armhfp.patch +Patch0: x265-pic.patch +Patch1: x265-high-bit-depth-soname.patch +Patch2: x265-detect_cpu_armhfp.patch -BuildRequires: cmake -BuildRequires: yasm +BuildRequires: cmake3 +BuildRequires: nasm +BuildRequires: ninja-build %ifnarch armv7hl armv7hnl s390 s390x BuildRequires: numactl-devel @@ -55,7 +54,7 @@ performance on a wide variety of hardware platforms. This package contains the shared library development files. %prep -%autosetup -p1 -n %{name}_v%{version} +%autosetup -p1 -n %{name}_%{version} %build # High depth libraries (from source/h265.h): @@ -66,14 +65,14 @@ This package contains the shared library development files. # 10bit: libx265_main10.so build() { -%cmake -G "Unix Makefiles" \ +%cmake3 -G "Ninja" \ -DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=ON \ -DCMAKE_SKIP_RPATH:BOOL=YES \ -DENABLE_PIC:BOOL=ON \ -DENABLE_TESTS:BOOL=ON \ $* \ ../source -%make_build +%ninja_build } # High depth 10/12 bit libraries are supported only on 64 bit. They require @@ -97,7 +96,7 @@ popd for i in 8 10 12; do if [ -d ${i}bit ]; then pushd ${i}bit - %make_install + %ninja_install # Remove unversioned library, should not be linked to rm -f %{buildroot}%{_libdir}/libx265_main${i}.so popd @@ -110,14 +109,12 @@ find %{buildroot} -name "*.a" -delete for i in 8 10 12; do if [ -d ${i}bit ]; then pushd ${i}bit - LD_LIBRARY_PATH=%{buildroot}%{_libdir} test/TestBench || : + test/TestBench || : popd fi done -%post libs -p /sbin/ldconfig - -%postun libs -p /sbin/ldconfig +%ldconfig_scriptlets libs %files %{_bindir}/x265 @@ -138,6 +135,12 @@ done %{_libdir}/pkgconfig/x265.pc %changelog +* Tue Feb 27 2018 Leigh Scott - 2.7-1 +- update to 2.7 +- Drop shared test patch as it causes nasm build to fail +- Fix scriptlets +- Use ninja to build + * Sat Dec 30 2017 Sérgio Basto - 2.6-1 - Update x265 to 2.6 From 388ff9375cf5ae6cea15638032055c632e2dbbc1 Mon Sep 17 00:00:00 2001 From: leigh123linux Date: Tue, 27 Feb 2018 18:10:57 +0000 Subject: [PATCH 26/59] disable arm asm build till someone else can fix it properly --- x265.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/x265.spec b/x265.spec index 4673eca..84e6edd 100644 --- a/x265.spec +++ b/x265.spec @@ -69,6 +69,9 @@ build() { -DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=ON \ -DCMAKE_SKIP_RPATH:BOOL=YES \ -DENABLE_PIC:BOOL=ON \ +%ifarch armv7hnl + -DENABLE_ASSEMBLY=OFF \ +%endif -DENABLE_TESTS:BOOL=ON \ $* \ ../source @@ -136,7 +139,7 @@ done %changelog * Tue Feb 27 2018 Leigh Scott - 2.7-1 -- update to 2.7 +- Update to 2.7 - Drop shared test patch as it causes nasm build to fail - Fix scriptlets - Use ninja to build From ecc0e1cf46672da16ef9724c70193b607f590f9f Mon Sep 17 00:00:00 2001 From: Nicolas Chauvet Date: Tue, 27 Feb 2018 20:18:42 +0100 Subject: [PATCH 27/59] Revert "disable arm asm build till someone else can fix it properly" This reverts commit 388ff9375cf5ae6cea15638032055c632e2dbbc1. --- x265.spec | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/x265.spec b/x265.spec index 84e6edd..4673eca 100644 --- a/x265.spec +++ b/x265.spec @@ -69,9 +69,6 @@ build() { -DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=ON \ -DCMAKE_SKIP_RPATH:BOOL=YES \ -DENABLE_PIC:BOOL=ON \ -%ifarch armv7hnl - -DENABLE_ASSEMBLY=OFF \ -%endif -DENABLE_TESTS:BOOL=ON \ $* \ ../source @@ -139,7 +136,7 @@ done %changelog * Tue Feb 27 2018 Leigh Scott - 2.7-1 -- Update to 2.7 +- update to 2.7 - Drop shared test patch as it causes nasm build to fail - Fix scriptlets - Use ninja to build From 00c7d180d2c1311b5940eb5b7e79c9151a4306b1 Mon Sep 17 00:00:00 2001 From: Nicolas Chauvet Date: Tue, 27 Feb 2018 21:14:43 +0100 Subject: [PATCH 28/59] Fix build on arm --- x265-arm-cflags.patch | 60 +++++++++++++++++++++++++++++++++++++++++++ x265.spec | 6 ++++- 2 files changed, 65 insertions(+), 1 deletion(-) create mode 100644 x265-arm-cflags.patch diff --git a/x265-arm-cflags.patch b/x265-arm-cflags.patch new file mode 100644 index 0000000..30d213a --- /dev/null +++ b/x265-arm-cflags.patch @@ -0,0 +1,60 @@ +diff -up x265_2.7/source/CMakeLists.txt.cflags x265_2.7/source/CMakeLists.txt +--- x265_2.7/source/CMakeLists.txt.cflags 2018-02-27 20:19:33.328932385 +0100 ++++ x265_2.7/source/CMakeLists.txt 2018-02-27 20:29:14.808956583 +0100 +@@ -233,18 +233,6 @@ if(GCC) + endif() + endif() + endif() +- if(ARM AND CROSS_COMPILE_ARM) +- set(ARM_ARGS -march=armv6 -mfloat-abi=soft -mfpu=vfp -marm -fPIC) +- elseif(ARM) +- find_package(Neon) +- if(CPU_HAS_NEON) +- set(ARM_ARGS -mcpu=native -mfloat-abi=hard -mfpu=neon -marm -fPIC) +- add_definitions(-DHAVE_NEON) +- else() +- set(ARM_ARGS -mcpu=native -mfloat-abi=hard -mfpu=vfp -marm) +- endif() +- endif() +- add_definitions(${ARM_ARGS}) + if(FPROFILE_GENERATE) + if(INTEL_CXX) + add_definitions(-prof-gen -prof-dir="${CMAKE_CURRENT_BINARY_DIR}") +@@ -517,7 +505,7 @@ if((MSVC_IDE OR XCODE OR GCC) AND ENABLE + add_custom_command( + OUTPUT ${ASM}.${SUFFIX} + COMMAND ${CMAKE_CXX_COMPILER} +- ARGS ${ARM_ARGS} -c ${ASM_SRC} -o ${ASM}.${SUFFIX} ++ ARGS ${CFLAGS} -c ${ASM_SRC} -o ${ASM}.${SUFFIX} + DEPENDS ${ASM_SRC}) + endforeach() + elseif(X86) +diff -up x265_2.7/source/dynamicHDR10/CMakeLists.txt.cflags x265_2.7/source/dynamicHDR10/CMakeLists.txt +--- x265_2.7/source/dynamicHDR10/CMakeLists.txt.cflags 2018-02-21 09:55:56.000000000 +0100 ++++ x265_2.7/source/dynamicHDR10/CMakeLists.txt 2018-02-27 20:29:45.377062994 +0100 +@@ -42,18 +42,6 @@ if(GCC) + endif() + endif() + endif() +- if(ARM AND CROSS_COMPILE_ARM) +- set(ARM_ARGS -march=armv6 -mfloat-abi=soft -mfpu=vfp -marm -fPIC) +- elseif(ARM) +- find_package(Neon) +- if(CPU_HAS_NEON) +- set(ARM_ARGS -mcpu=native -mfloat-abi=hard -mfpu=neon -marm -fPIC) +- add_definitions(-DHAVE_NEON) +- else() +- set(ARM_ARGS -mcpu=native -mfloat-abi=hard -mfpu=vfp -marm) +- endif() +- endif() +- add_definitions(${ARM_ARGS}) + if(FPROFILE_GENERATE) + if(INTEL_CXX) + add_definitions(-prof-gen -prof-dir="${CMAKE_CURRENT_BINARY_DIR}") +@@ -150,4 +138,4 @@ set(BIN_INSTALL_DIR bin CACHE STRING "In + option(ENABLE_SHARED "Build shared library" OFF) + + install(FILES hdr10plus.h DESTINATION include) +-endif() +\ Pas de fin de ligne à la fin du fichier ++endif() diff --git a/x265.spec b/x265.spec index 4673eca..2f1a563 100644 --- a/x265.spec +++ b/x265.spec @@ -3,7 +3,7 @@ Summary: H.265/HEVC encoder Name: x265 Version: 2.7 -Release: 1%{?dist} +Release: 2%{?dist} URL: http://x265.org/ # source/Lib/TLibCommon - BSD # source/Lib/TLibEncoder - BSD @@ -16,6 +16,7 @@ Source0: https://bitbucket.org/multicoreware/%{name}/downloads/%{name}_%{vers Patch0: x265-pic.patch Patch1: x265-high-bit-depth-soname.patch Patch2: x265-detect_cpu_armhfp.patch +Patch3: x265-arm-cflags.patch BuildRequires: cmake3 BuildRequires: nasm @@ -135,6 +136,9 @@ done %{_libdir}/pkgconfig/x265.pc %changelog +* Tue Feb 27 2018 Nicolas Chauvet - 2.7-2 +- Fix CFLAGS on ARM + * Tue Feb 27 2018 Leigh Scott - 2.7-1 - update to 2.7 - Drop shared test patch as it causes nasm build to fail From c2760cac45c3a03829cfb59de33f8960d62707f3 Mon Sep 17 00:00:00 2001 From: leigh123linux Date: Sun, 15 Apr 2018 09:41:17 +0100 Subject: [PATCH 29/59] Fix pkgconfig file (rfbz #4853) --- x265-pkgconfig_path_fix.patch | 11 +++++++++++ x265.spec | 6 +++++- 2 files changed, 16 insertions(+), 1 deletion(-) create mode 100644 x265-pkgconfig_path_fix.patch diff --git a/x265-pkgconfig_path_fix.patch b/x265-pkgconfig_path_fix.patch new file mode 100644 index 0000000..5d958f3 --- /dev/null +++ b/x265-pkgconfig_path_fix.patch @@ -0,0 +1,11 @@ +--- a/source/x265.pc.in ++++ b/source/x265.pc.in +@@ -1,6 +1,6 @@ + prefix=@CMAKE_INSTALL_PREFIX@ + exec_prefix=${prefix} +-libdir=${exec_prefix}/@LIB_INSTALL_DIR@ ++libdir=@LIB_INSTALL_DIR@ + includedir=${prefix}/include + + Name: @CMAKE_PROJECT_NAME@ + diff --git a/x265.spec b/x265.spec index 2f1a563..f25fb92 100644 --- a/x265.spec +++ b/x265.spec @@ -3,7 +3,7 @@ Summary: H.265/HEVC encoder Name: x265 Version: 2.7 -Release: 2%{?dist} +Release: 3%{?dist} URL: http://x265.org/ # source/Lib/TLibCommon - BSD # source/Lib/TLibEncoder - BSD @@ -17,6 +17,7 @@ Patch0: x265-pic.patch Patch1: x265-high-bit-depth-soname.patch Patch2: x265-detect_cpu_armhfp.patch Patch3: x265-arm-cflags.patch +Patch4: x265-pkgconfig_path_fix.patch BuildRequires: cmake3 BuildRequires: nasm @@ -136,6 +137,9 @@ done %{_libdir}/pkgconfig/x265.pc %changelog +* Sun Apr 08 2018 Leigh Scott - 2.7-3 +- Fix pkgconfig file (rfbz #4853) + * Tue Feb 27 2018 Nicolas Chauvet - 2.7-2 - Fix CFLAGS on ARM From 65c1d0aeab103ef2c2cbcb1d30be78a10fbf34db Mon Sep 17 00:00:00 2001 From: leigh123linux Date: Fri, 27 Jul 2018 16:14:01 +0100 Subject: [PATCH 30/59] - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild Signed-off-by: leigh123linux --- x265.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/x265.spec b/x265.spec index f25fb92..2358559 100644 --- a/x265.spec +++ b/x265.spec @@ -3,7 +3,7 @@ Summary: H.265/HEVC encoder Name: x265 Version: 2.7 -Release: 3%{?dist} +Release: 4%{?dist} URL: http://x265.org/ # source/Lib/TLibCommon - BSD # source/Lib/TLibEncoder - BSD @@ -137,6 +137,9 @@ done %{_libdir}/pkgconfig/x265.pc %changelog +* Fri Jul 27 2018 RPM Fusion Release Engineering - 2.7-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + * Sun Apr 08 2018 Leigh Scott - 2.7-3 - Fix pkgconfig file (rfbz #4853) From aed70533125080a98baede2dae49f7d35cb3f939 Mon Sep 17 00:00:00 2001 From: leigh123linux Date: Sun, 19 Aug 2018 20:27:00 +0100 Subject: [PATCH 31/59] - Rebuilt for Fedora 29 Mass Rebuild binutils issue --- x265.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/x265.spec b/x265.spec index 2358559..5cbc16c 100644 --- a/x265.spec +++ b/x265.spec @@ -3,7 +3,7 @@ Summary: H.265/HEVC encoder Name: x265 Version: 2.7 -Release: 4%{?dist} +Release: 5%{?dist} URL: http://x265.org/ # source/Lib/TLibCommon - BSD # source/Lib/TLibEncoder - BSD @@ -137,6 +137,9 @@ done %{_libdir}/pkgconfig/x265.pc %changelog +* Sun Aug 19 2018 Leigh Scott - 2.7-5 +- Rebuilt for Fedora 29 Mass Rebuild binutils issue + * Fri Jul 27 2018 RPM Fusion Release Engineering - 2.7-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild From cd2972ac285171417ba46e3cff98337fe558e29d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9rgio=20M=2E=20Basto?= Date: Thu, 4 Oct 2018 16:52:22 +0100 Subject: [PATCH 32/59] Update to 2.8 Add 2 patches to fix builds on non-x86 [1] and arm [2] [1] https://bitbucket.org/multicoreware/x265/issues/404/28-fails-to-build-on-ppc64le-gnu-linux [2] https://bitbucket.org/multicoreware/x265/issues/406/arm-assembly-fail-to-compile-on-18 --- .gitignore | 1 + sources | 2 +- x265-2.8-asm-primitives.patch | 347 ++++++++++++++++++ ...4219210793536d921ee4e0b3058698c630bf4.diff | 19 + x265-detect_cpu_armhfp.patch | 2 +- x265.spec | 14 +- 6 files changed, 380 insertions(+), 5 deletions(-) create mode 100644 x265-2.8-asm-primitives.patch create mode 100644 x265-4504219210793536d921ee4e0b3058698c630bf4.diff diff --git a/.gitignore b/.gitignore index 594d208..f3a1c5d 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,4 @@ x265_1.6.tar.gz /x265_2.5.tar.gz /x265_2.6.tar.gz /x265_2.7.tar.gz +/x265_2.8.tar.gz diff --git a/sources b/sources index 7181119..2c38b2f 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -b0d7d20da2a418fa4f53a559946ea079 x265_2.7.tar.gz +b68dcd4e8a495e53e53034a11fec5eb9 x265_2.8.tar.gz diff --git a/x265-2.8-asm-primitives.patch b/x265-2.8-asm-primitives.patch new file mode 100644 index 0000000..89b42f2 --- /dev/null +++ b/x265-2.8-asm-primitives.patch @@ -0,0 +1,347 @@ +--- ./source/common/arm/asm-primitives.cpp.orig 2018-05-21 02:33:10.000000000 -0600 ++++ ./source/common/arm/asm-primitives.cpp 2018-05-28 20:38:37.302378303 -0600 +@@ -48,77 +48,77 @@ void setupAssemblyPrimitives(EncoderPrim + p.ssim_4x4x2_core = PFX(ssim_4x4x2_core_neon); + + // addAvg +- p.pu[LUMA_4x4].addAvg = PFX(addAvg_4x4_neon); +- p.pu[LUMA_4x8].addAvg = PFX(addAvg_4x8_neon); +- p.pu[LUMA_4x16].addAvg = PFX(addAvg_4x16_neon); +- p.pu[LUMA_8x4].addAvg = PFX(addAvg_8x4_neon); +- p.pu[LUMA_8x8].addAvg = PFX(addAvg_8x8_neon); +- p.pu[LUMA_8x16].addAvg = PFX(addAvg_8x16_neon); +- p.pu[LUMA_8x32].addAvg = PFX(addAvg_8x32_neon); +- p.pu[LUMA_12x16].addAvg = PFX(addAvg_12x16_neon); +- p.pu[LUMA_16x4].addAvg = PFX(addAvg_16x4_neon); +- p.pu[LUMA_16x8].addAvg = PFX(addAvg_16x8_neon); +- p.pu[LUMA_16x12].addAvg = PFX(addAvg_16x12_neon); +- p.pu[LUMA_16x16].addAvg = PFX(addAvg_16x16_neon); +- p.pu[LUMA_16x32].addAvg = PFX(addAvg_16x32_neon); +- p.pu[LUMA_16x64].addAvg = PFX(addAvg_16x64_neon); +- p.pu[LUMA_24x32].addAvg = PFX(addAvg_24x32_neon); +- p.pu[LUMA_32x8].addAvg = PFX(addAvg_32x8_neon); +- p.pu[LUMA_32x16].addAvg = PFX(addAvg_32x16_neon); +- p.pu[LUMA_32x24].addAvg = PFX(addAvg_32x24_neon); +- p.pu[LUMA_32x32].addAvg = PFX(addAvg_32x32_neon); +- p.pu[LUMA_32x64].addAvg = PFX(addAvg_32x64_neon); +- p.pu[LUMA_48x64].addAvg = PFX(addAvg_48x64_neon); +- p.pu[LUMA_64x16].addAvg = PFX(addAvg_64x16_neon); +- p.pu[LUMA_64x32].addAvg = PFX(addAvg_64x32_neon); +- p.pu[LUMA_64x48].addAvg = PFX(addAvg_64x48_neon); +- p.pu[LUMA_64x64].addAvg = PFX(addAvg_64x64_neon); ++ p.pu[LUMA_4x4].addAvg[ALIGNED] = PFX(addAvg_4x4_neon); ++ p.pu[LUMA_4x8].addAvg[ALIGNED] = PFX(addAvg_4x8_neon); ++ p.pu[LUMA_4x16].addAvg[ALIGNED] = PFX(addAvg_4x16_neon); ++ p.pu[LUMA_8x4].addAvg[ALIGNED] = PFX(addAvg_8x4_neon); ++ p.pu[LUMA_8x8].addAvg[ALIGNED] = PFX(addAvg_8x8_neon); ++ p.pu[LUMA_8x16].addAvg[ALIGNED] = PFX(addAvg_8x16_neon); ++ p.pu[LUMA_8x32].addAvg[ALIGNED] = PFX(addAvg_8x32_neon); ++ p.pu[LUMA_12x16].addAvg[ALIGNED] = PFX(addAvg_12x16_neon); ++ p.pu[LUMA_16x4].addAvg[ALIGNED] = PFX(addAvg_16x4_neon); ++ p.pu[LUMA_16x8].addAvg[ALIGNED] = PFX(addAvg_16x8_neon); ++ p.pu[LUMA_16x12].addAvg[ALIGNED] = PFX(addAvg_16x12_neon); ++ p.pu[LUMA_16x16].addAvg[ALIGNED] = PFX(addAvg_16x16_neon); ++ p.pu[LUMA_16x32].addAvg[ALIGNED] = PFX(addAvg_16x32_neon); ++ p.pu[LUMA_16x64].addAvg[ALIGNED] = PFX(addAvg_16x64_neon); ++ p.pu[LUMA_24x32].addAvg[ALIGNED] = PFX(addAvg_24x32_neon); ++ p.pu[LUMA_32x8].addAvg[ALIGNED] = PFX(addAvg_32x8_neon); ++ p.pu[LUMA_32x16].addAvg[ALIGNED] = PFX(addAvg_32x16_neon); ++ p.pu[LUMA_32x24].addAvg[ALIGNED] = PFX(addAvg_32x24_neon); ++ p.pu[LUMA_32x32].addAvg[ALIGNED] = PFX(addAvg_32x32_neon); ++ p.pu[LUMA_32x64].addAvg[ALIGNED] = PFX(addAvg_32x64_neon); ++ p.pu[LUMA_48x64].addAvg[ALIGNED] = PFX(addAvg_48x64_neon); ++ p.pu[LUMA_64x16].addAvg[ALIGNED] = PFX(addAvg_64x16_neon); ++ p.pu[LUMA_64x32].addAvg[ALIGNED] = PFX(addAvg_64x32_neon); ++ p.pu[LUMA_64x48].addAvg[ALIGNED] = PFX(addAvg_64x48_neon); ++ p.pu[LUMA_64x64].addAvg[ALIGNED] = PFX(addAvg_64x64_neon); + + // chroma addAvg +- p.chroma[X265_CSP_I420].pu[CHROMA_420_4x2].addAvg = PFX(addAvg_4x2_neon); +- p.chroma[X265_CSP_I420].pu[CHROMA_420_4x4].addAvg = PFX(addAvg_4x4_neon); +- p.chroma[X265_CSP_I420].pu[CHROMA_420_4x8].addAvg = PFX(addAvg_4x8_neon); +- p.chroma[X265_CSP_I420].pu[CHROMA_420_4x16].addAvg = PFX(addAvg_4x16_neon); +- p.chroma[X265_CSP_I420].pu[CHROMA_420_6x8].addAvg = PFX(addAvg_6x8_neon); +- p.chroma[X265_CSP_I420].pu[CHROMA_420_8x2].addAvg = PFX(addAvg_8x2_neon); +- p.chroma[X265_CSP_I420].pu[CHROMA_420_8x4].addAvg = PFX(addAvg_8x4_neon); +- p.chroma[X265_CSP_I420].pu[CHROMA_420_8x6].addAvg = PFX(addAvg_8x6_neon); +- p.chroma[X265_CSP_I420].pu[CHROMA_420_8x8].addAvg = PFX(addAvg_8x8_neon); +- p.chroma[X265_CSP_I420].pu[CHROMA_420_8x16].addAvg = PFX(addAvg_8x16_neon); +- p.chroma[X265_CSP_I420].pu[CHROMA_420_8x32].addAvg = PFX(addAvg_8x32_neon); +- p.chroma[X265_CSP_I420].pu[CHROMA_420_12x16].addAvg = PFX(addAvg_12x16_neon); +- p.chroma[X265_CSP_I420].pu[CHROMA_420_16x4].addAvg = PFX(addAvg_16x4_neon); +- p.chroma[X265_CSP_I420].pu[CHROMA_420_16x8].addAvg = PFX(addAvg_16x8_neon); +- p.chroma[X265_CSP_I420].pu[CHROMA_420_16x12].addAvg = PFX(addAvg_16x12_neon); +- p.chroma[X265_CSP_I420].pu[CHROMA_420_16x16].addAvg = PFX(addAvg_16x16_neon); +- p.chroma[X265_CSP_I420].pu[CHROMA_420_16x32].addAvg = PFX(addAvg_16x32_neon); +- p.chroma[X265_CSP_I420].pu[CHROMA_420_24x32].addAvg = PFX(addAvg_24x32_neon); +- p.chroma[X265_CSP_I420].pu[CHROMA_420_32x8].addAvg = PFX(addAvg_32x8_neon); +- p.chroma[X265_CSP_I420].pu[CHROMA_420_32x16].addAvg = PFX(addAvg_32x16_neon); +- p.chroma[X265_CSP_I420].pu[CHROMA_420_32x24].addAvg = PFX(addAvg_32x24_neon); +- p.chroma[X265_CSP_I420].pu[CHROMA_420_32x32].addAvg = PFX(addAvg_32x32_neon); +- +- p.chroma[X265_CSP_I422].pu[CHROMA_422_4x8].addAvg = PFX(addAvg_4x8_neon); +- p.chroma[X265_CSP_I422].pu[CHROMA_422_4x16].addAvg = PFX(addAvg_4x16_neon); +- p.chroma[X265_CSP_I422].pu[CHROMA_422_4x32].addAvg = PFX(addAvg_4x32_neon); +- p.chroma[X265_CSP_I422].pu[CHROMA_422_6x16].addAvg = PFX(addAvg_6x16_neon); +- p.chroma[X265_CSP_I422].pu[CHROMA_422_8x4].addAvg = PFX(addAvg_8x4_neon); +- p.chroma[X265_CSP_I422].pu[CHROMA_422_8x8].addAvg = PFX(addAvg_8x8_neon); +- p.chroma[X265_CSP_I422].pu[CHROMA_422_8x12].addAvg = PFX(addAvg_8x12_neon); +- p.chroma[X265_CSP_I422].pu[CHROMA_422_8x16].addAvg = PFX(addAvg_8x16_neon); +- p.chroma[X265_CSP_I422].pu[CHROMA_422_8x32].addAvg = PFX(addAvg_8x32_neon); +- p.chroma[X265_CSP_I422].pu[CHROMA_422_8x64].addAvg = PFX(addAvg_8x64_neon); +- p.chroma[X265_CSP_I422].pu[CHROMA_422_12x32].addAvg = PFX(addAvg_12x32_neon); +- p.chroma[X265_CSP_I422].pu[CHROMA_422_16x8].addAvg = PFX(addAvg_16x8_neon); +- p.chroma[X265_CSP_I422].pu[CHROMA_422_16x16].addAvg = PFX(addAvg_16x16_neon); +- p.chroma[X265_CSP_I422].pu[CHROMA_422_16x24].addAvg = PFX(addAvg_16x24_neon); +- p.chroma[X265_CSP_I422].pu[CHROMA_422_16x32].addAvg = PFX(addAvg_16x32_neon); +- p.chroma[X265_CSP_I422].pu[CHROMA_422_16x64].addAvg = PFX(addAvg_16x64_neon); +- p.chroma[X265_CSP_I422].pu[CHROMA_422_24x64].addAvg = PFX(addAvg_24x64_neon); +- p.chroma[X265_CSP_I422].pu[CHROMA_422_32x16].addAvg = PFX(addAvg_32x16_neon); +- p.chroma[X265_CSP_I422].pu[CHROMA_422_32x32].addAvg = PFX(addAvg_32x32_neon); +- p.chroma[X265_CSP_I422].pu[CHROMA_422_32x48].addAvg = PFX(addAvg_32x48_neon); +- p.chroma[X265_CSP_I422].pu[CHROMA_422_32x64].addAvg = PFX(addAvg_32x64_neon); ++ p.chroma[X265_CSP_I420].pu[CHROMA_420_4x2].addAvg[ALIGNED] = PFX(addAvg_4x2_neon); ++ p.chroma[X265_CSP_I420].pu[CHROMA_420_4x4].addAvg[ALIGNED] = PFX(addAvg_4x4_neon); ++ p.chroma[X265_CSP_I420].pu[CHROMA_420_4x8].addAvg[ALIGNED] = PFX(addAvg_4x8_neon); ++ p.chroma[X265_CSP_I420].pu[CHROMA_420_4x16].addAvg[ALIGNED] = PFX(addAvg_4x16_neon); ++ p.chroma[X265_CSP_I420].pu[CHROMA_420_6x8].addAvg[ALIGNED] = PFX(addAvg_6x8_neon); ++ p.chroma[X265_CSP_I420].pu[CHROMA_420_8x2].addAvg[ALIGNED] = PFX(addAvg_8x2_neon); ++ p.chroma[X265_CSP_I420].pu[CHROMA_420_8x4].addAvg[ALIGNED] = PFX(addAvg_8x4_neon); ++ p.chroma[X265_CSP_I420].pu[CHROMA_420_8x6].addAvg[ALIGNED] = PFX(addAvg_8x6_neon); ++ p.chroma[X265_CSP_I420].pu[CHROMA_420_8x8].addAvg[ALIGNED] = PFX(addAvg_8x8_neon); ++ p.chroma[X265_CSP_I420].pu[CHROMA_420_8x16].addAvg[ALIGNED] = PFX(addAvg_8x16_neon); ++ p.chroma[X265_CSP_I420].pu[CHROMA_420_8x32].addAvg[ALIGNED] = PFX(addAvg_8x32_neon); ++ p.chroma[X265_CSP_I420].pu[CHROMA_420_12x16].addAvg[ALIGNED] = PFX(addAvg_12x16_neon); ++ p.chroma[X265_CSP_I420].pu[CHROMA_420_16x4].addAvg[ALIGNED] = PFX(addAvg_16x4_neon); ++ p.chroma[X265_CSP_I420].pu[CHROMA_420_16x8].addAvg[ALIGNED] = PFX(addAvg_16x8_neon); ++ p.chroma[X265_CSP_I420].pu[CHROMA_420_16x12].addAvg[ALIGNED] = PFX(addAvg_16x12_neon); ++ p.chroma[X265_CSP_I420].pu[CHROMA_420_16x16].addAvg[ALIGNED] = PFX(addAvg_16x16_neon); ++ p.chroma[X265_CSP_I420].pu[CHROMA_420_16x32].addAvg[ALIGNED] = PFX(addAvg_16x32_neon); ++ p.chroma[X265_CSP_I420].pu[CHROMA_420_24x32].addAvg[ALIGNED] = PFX(addAvg_24x32_neon); ++ p.chroma[X265_CSP_I420].pu[CHROMA_420_32x8].addAvg[ALIGNED] = PFX(addAvg_32x8_neon); ++ p.chroma[X265_CSP_I420].pu[CHROMA_420_32x16].addAvg[ALIGNED] = PFX(addAvg_32x16_neon); ++ p.chroma[X265_CSP_I420].pu[CHROMA_420_32x24].addAvg[ALIGNED] = PFX(addAvg_32x24_neon); ++ p.chroma[X265_CSP_I420].pu[CHROMA_420_32x32].addAvg[ALIGNED] = PFX(addAvg_32x32_neon); ++ ++ p.chroma[X265_CSP_I422].pu[CHROMA_422_4x8].addAvg[ALIGNED] = PFX(addAvg_4x8_neon); ++ p.chroma[X265_CSP_I422].pu[CHROMA_422_4x16].addAvg[ALIGNED] = PFX(addAvg_4x16_neon); ++ p.chroma[X265_CSP_I422].pu[CHROMA_422_4x32].addAvg[ALIGNED] = PFX(addAvg_4x32_neon); ++ p.chroma[X265_CSP_I422].pu[CHROMA_422_6x16].addAvg[ALIGNED] = PFX(addAvg_6x16_neon); ++ p.chroma[X265_CSP_I422].pu[CHROMA_422_8x4].addAvg[ALIGNED] = PFX(addAvg_8x4_neon); ++ p.chroma[X265_CSP_I422].pu[CHROMA_422_8x8].addAvg[ALIGNED] = PFX(addAvg_8x8_neon); ++ p.chroma[X265_CSP_I422].pu[CHROMA_422_8x12].addAvg[ALIGNED] = PFX(addAvg_8x12_neon); ++ p.chroma[X265_CSP_I422].pu[CHROMA_422_8x16].addAvg[ALIGNED] = PFX(addAvg_8x16_neon); ++ p.chroma[X265_CSP_I422].pu[CHROMA_422_8x32].addAvg[ALIGNED] = PFX(addAvg_8x32_neon); ++ p.chroma[X265_CSP_I422].pu[CHROMA_422_8x64].addAvg[ALIGNED] = PFX(addAvg_8x64_neon); ++ p.chroma[X265_CSP_I422].pu[CHROMA_422_12x32].addAvg[ALIGNED] = PFX(addAvg_12x32_neon); ++ p.chroma[X265_CSP_I422].pu[CHROMA_422_16x8].addAvg[ALIGNED] = PFX(addAvg_16x8_neon); ++ p.chroma[X265_CSP_I422].pu[CHROMA_422_16x16].addAvg[ALIGNED] = PFX(addAvg_16x16_neon); ++ p.chroma[X265_CSP_I422].pu[CHROMA_422_16x24].addAvg[ALIGNED] = PFX(addAvg_16x24_neon); ++ p.chroma[X265_CSP_I422].pu[CHROMA_422_16x32].addAvg[ALIGNED] = PFX(addAvg_16x32_neon); ++ p.chroma[X265_CSP_I422].pu[CHROMA_422_16x64].addAvg[ALIGNED] = PFX(addAvg_16x64_neon); ++ p.chroma[X265_CSP_I422].pu[CHROMA_422_24x64].addAvg[ALIGNED] = PFX(addAvg_24x64_neon); ++ p.chroma[X265_CSP_I422].pu[CHROMA_422_32x16].addAvg[ALIGNED] = PFX(addAvg_32x16_neon); ++ p.chroma[X265_CSP_I422].pu[CHROMA_422_32x32].addAvg[ALIGNED] = PFX(addAvg_32x32_neon); ++ p.chroma[X265_CSP_I422].pu[CHROMA_422_32x48].addAvg[ALIGNED] = PFX(addAvg_32x48_neon); ++ p.chroma[X265_CSP_I422].pu[CHROMA_422_32x64].addAvg[ALIGNED] = PFX(addAvg_32x64_neon); + + // quant + p.quant = PFX(quant_neon); +@@ -402,7 +402,7 @@ void setupAssemblyPrimitives(EncoderPrim + p.scale2D_64to32 = PFX(scale2D_64to32_neon); + + // scale1D_128to64 +- p.scale1D_128to64 = PFX(scale1D_128to64_neon); ++ p.scale1D_128to64[ALIGNED] = PFX(scale1D_128to64_neon); + + // copy_count + p.cu[BLOCK_4x4].copy_cnt = PFX(copy_cnt_4_neon); +@@ -411,37 +411,37 @@ void setupAssemblyPrimitives(EncoderPrim + p.cu[BLOCK_32x32].copy_cnt = PFX(copy_cnt_32_neon); + + // filterPixelToShort +- p.pu[LUMA_4x4].convert_p2s = PFX(filterPixelToShort_4x4_neon); +- p.pu[LUMA_4x8].convert_p2s = PFX(filterPixelToShort_4x8_neon); +- p.pu[LUMA_4x16].convert_p2s = PFX(filterPixelToShort_4x16_neon); +- p.pu[LUMA_8x4].convert_p2s = PFX(filterPixelToShort_8x4_neon); +- p.pu[LUMA_8x8].convert_p2s = PFX(filterPixelToShort_8x8_neon); +- p.pu[LUMA_8x16].convert_p2s = PFX(filterPixelToShort_8x16_neon); +- p.pu[LUMA_8x32].convert_p2s = PFX(filterPixelToShort_8x32_neon); +- p.pu[LUMA_12x16].convert_p2s = PFX(filterPixelToShort_12x16_neon); +- p.pu[LUMA_16x4].convert_p2s = PFX(filterPixelToShort_16x4_neon); +- p.pu[LUMA_16x8].convert_p2s = PFX(filterPixelToShort_16x8_neon); +- p.pu[LUMA_16x12].convert_p2s = PFX(filterPixelToShort_16x12_neon); +- p.pu[LUMA_16x16].convert_p2s = PFX(filterPixelToShort_16x16_neon); +- p.pu[LUMA_16x32].convert_p2s = PFX(filterPixelToShort_16x32_neon); +- p.pu[LUMA_16x64].convert_p2s = PFX(filterPixelToShort_16x64_neon); +- p.pu[LUMA_24x32].convert_p2s = PFX(filterPixelToShort_24x32_neon); +- p.pu[LUMA_32x8].convert_p2s = PFX(filterPixelToShort_32x8_neon); +- p.pu[LUMA_32x16].convert_p2s = PFX(filterPixelToShort_32x16_neon); +- p.pu[LUMA_32x24].convert_p2s = PFX(filterPixelToShort_32x24_neon); +- p.pu[LUMA_32x32].convert_p2s = PFX(filterPixelToShort_32x32_neon); +- p.pu[LUMA_32x64].convert_p2s = PFX(filterPixelToShort_32x64_neon); +- p.pu[LUMA_48x64].convert_p2s = PFX(filterPixelToShort_48x64_neon); +- p.pu[LUMA_64x16].convert_p2s = PFX(filterPixelToShort_64x16_neon); +- p.pu[LUMA_64x32].convert_p2s = PFX(filterPixelToShort_64x32_neon); +- p.pu[LUMA_64x48].convert_p2s = PFX(filterPixelToShort_64x48_neon); +- p.pu[LUMA_64x64].convert_p2s = PFX(filterPixelToShort_64x64_neon); ++ p.pu[LUMA_4x4].convert_p2s[ALIGNED] = PFX(filterPixelToShort_4x4_neon); ++ p.pu[LUMA_4x8].convert_p2s[ALIGNED] = PFX(filterPixelToShort_4x8_neon); ++ p.pu[LUMA_4x16].convert_p2s[ALIGNED] = PFX(filterPixelToShort_4x16_neon); ++ p.pu[LUMA_8x4].convert_p2s[ALIGNED] = PFX(filterPixelToShort_8x4_neon); ++ p.pu[LUMA_8x8].convert_p2s[ALIGNED] = PFX(filterPixelToShort_8x8_neon); ++ p.pu[LUMA_8x16].convert_p2s[ALIGNED] = PFX(filterPixelToShort_8x16_neon); ++ p.pu[LUMA_8x32].convert_p2s[ALIGNED] = PFX(filterPixelToShort_8x32_neon); ++ p.pu[LUMA_12x16].convert_p2s[ALIGNED] = PFX(filterPixelToShort_12x16_neon); ++ p.pu[LUMA_16x4].convert_p2s[ALIGNED] = PFX(filterPixelToShort_16x4_neon); ++ p.pu[LUMA_16x8].convert_p2s[ALIGNED] = PFX(filterPixelToShort_16x8_neon); ++ p.pu[LUMA_16x12].convert_p2s[ALIGNED] = PFX(filterPixelToShort_16x12_neon); ++ p.pu[LUMA_16x16].convert_p2s[ALIGNED] = PFX(filterPixelToShort_16x16_neon); ++ p.pu[LUMA_16x32].convert_p2s[ALIGNED] = PFX(filterPixelToShort_16x32_neon); ++ p.pu[LUMA_16x64].convert_p2s[ALIGNED] = PFX(filterPixelToShort_16x64_neon); ++ p.pu[LUMA_24x32].convert_p2s[ALIGNED] = PFX(filterPixelToShort_24x32_neon); ++ p.pu[LUMA_32x8].convert_p2s[ALIGNED] = PFX(filterPixelToShort_32x8_neon); ++ p.pu[LUMA_32x16].convert_p2s[ALIGNED] = PFX(filterPixelToShort_32x16_neon); ++ p.pu[LUMA_32x24].convert_p2s[ALIGNED] = PFX(filterPixelToShort_32x24_neon); ++ p.pu[LUMA_32x32].convert_p2s[ALIGNED] = PFX(filterPixelToShort_32x32_neon); ++ p.pu[LUMA_32x64].convert_p2s[ALIGNED] = PFX(filterPixelToShort_32x64_neon); ++ p.pu[LUMA_48x64].convert_p2s[ALIGNED] = PFX(filterPixelToShort_48x64_neon); ++ p.pu[LUMA_64x16].convert_p2s[ALIGNED] = PFX(filterPixelToShort_64x16_neon); ++ p.pu[LUMA_64x32].convert_p2s[ALIGNED] = PFX(filterPixelToShort_64x32_neon); ++ p.pu[LUMA_64x48].convert_p2s[ALIGNED] = PFX(filterPixelToShort_64x48_neon); ++ p.pu[LUMA_64x64].convert_p2s[ALIGNED] = PFX(filterPixelToShort_64x64_neon); + + // Block_fill +- p.cu[BLOCK_4x4].blockfill_s = PFX(blockfill_s_4x4_neon); +- p.cu[BLOCK_8x8].blockfill_s = PFX(blockfill_s_8x8_neon); +- p.cu[BLOCK_16x16].blockfill_s = PFX(blockfill_s_16x16_neon); +- p.cu[BLOCK_32x32].blockfill_s = PFX(blockfill_s_32x32_neon); ++ p.cu[BLOCK_4x4].blockfill_s[ALIGNED] = PFX(blockfill_s_4x4_neon); ++ p.cu[BLOCK_8x8].blockfill_s[ALIGNED] = PFX(blockfill_s_8x8_neon); ++ p.cu[BLOCK_16x16].blockfill_s[ALIGNED] = PFX(blockfill_s_16x16_neon); ++ p.cu[BLOCK_32x32].blockfill_s[ALIGNED] = PFX(blockfill_s_32x32_neon); + + // Blockcopy_ss + p.cu[BLOCK_4x4].copy_ss = PFX(blockcopy_ss_4x4_neon); +@@ -495,21 +495,21 @@ void setupAssemblyPrimitives(EncoderPrim + p.chroma[X265_CSP_I422].cu[BLOCK_422_32x64].copy_sp = PFX(blockcopy_sp_32x64_neon); + + // pixel_add_ps +- p.cu[BLOCK_4x4].add_ps = PFX(pixel_add_ps_4x4_neon); +- p.cu[BLOCK_8x8].add_ps = PFX(pixel_add_ps_8x8_neon); +- p.cu[BLOCK_16x16].add_ps = PFX(pixel_add_ps_16x16_neon); +- p.cu[BLOCK_32x32].add_ps = PFX(pixel_add_ps_32x32_neon); +- p.cu[BLOCK_64x64].add_ps = PFX(pixel_add_ps_64x64_neon); ++ p.cu[BLOCK_4x4].add_ps[ALIGNED] = PFX(pixel_add_ps_4x4_neon); ++ p.cu[BLOCK_8x8].add_ps[ALIGNED] = PFX(pixel_add_ps_8x8_neon); ++ p.cu[BLOCK_16x16].add_ps[ALIGNED] = PFX(pixel_add_ps_16x16_neon); ++ p.cu[BLOCK_32x32].add_ps[ALIGNED] = PFX(pixel_add_ps_32x32_neon); ++ p.cu[BLOCK_64x64].add_ps[ALIGNED] = PFX(pixel_add_ps_64x64_neon); + + // chroma add_ps +- p.chroma[X265_CSP_I420].cu[BLOCK_420_4x4].add_ps = PFX(pixel_add_ps_4x4_neon); +- p.chroma[X265_CSP_I420].cu[BLOCK_420_8x8].add_ps = PFX(pixel_add_ps_8x8_neon); +- p.chroma[X265_CSP_I420].cu[BLOCK_420_16x16].add_ps = PFX(pixel_add_ps_16x16_neon); +- p.chroma[X265_CSP_I420].cu[BLOCK_420_32x32].add_ps = PFX(pixel_add_ps_32x32_neon); +- p.chroma[X265_CSP_I422].cu[BLOCK_422_4x8].add_ps = PFX(pixel_add_ps_4x8_neon); +- p.chroma[X265_CSP_I422].cu[BLOCK_422_8x16].add_ps = PFX(pixel_add_ps_8x16_neon); +- p.chroma[X265_CSP_I422].cu[BLOCK_422_16x32].add_ps = PFX(pixel_add_ps_16x32_neon); +- p.chroma[X265_CSP_I422].cu[BLOCK_422_32x64].add_ps = PFX(pixel_add_ps_32x64_neon); ++ p.chroma[X265_CSP_I420].cu[BLOCK_420_4x4].add_ps[ALIGNED] = PFX(pixel_add_ps_4x4_neon); ++ p.chroma[X265_CSP_I420].cu[BLOCK_420_8x8].add_ps[ALIGNED] = PFX(pixel_add_ps_8x8_neon); ++ p.chroma[X265_CSP_I420].cu[BLOCK_420_16x16].add_ps[ALIGNED] = PFX(pixel_add_ps_16x16_neon); ++ p.chroma[X265_CSP_I420].cu[BLOCK_420_32x32].add_ps[ALIGNED] = PFX(pixel_add_ps_32x32_neon); ++ p.chroma[X265_CSP_I422].cu[BLOCK_422_4x8].add_ps[ALIGNED] = PFX(pixel_add_ps_4x8_neon); ++ p.chroma[X265_CSP_I422].cu[BLOCK_422_8x16].add_ps[ALIGNED] = PFX(pixel_add_ps_8x16_neon); ++ p.chroma[X265_CSP_I422].cu[BLOCK_422_16x32].add_ps[ALIGNED] = PFX(pixel_add_ps_16x32_neon); ++ p.chroma[X265_CSP_I422].cu[BLOCK_422_32x64].add_ps[ALIGNED] = PFX(pixel_add_ps_32x64_neon); + + // cpy2Dto1D_shr + p.cu[BLOCK_4x4].cpy2Dto1D_shr = PFX(cpy2Dto1D_shr_4x4_neon); +@@ -518,10 +518,10 @@ void setupAssemblyPrimitives(EncoderPrim + p.cu[BLOCK_32x32].cpy2Dto1D_shr = PFX(cpy2Dto1D_shr_32x32_neon); + + // ssd_s +- p.cu[BLOCK_4x4].ssd_s = PFX(pixel_ssd_s_4x4_neon); +- p.cu[BLOCK_8x8].ssd_s = PFX(pixel_ssd_s_8x8_neon); +- p.cu[BLOCK_16x16].ssd_s = PFX(pixel_ssd_s_16x16_neon); +- p.cu[BLOCK_32x32].ssd_s = PFX(pixel_ssd_s_32x32_neon); ++ p.cu[BLOCK_4x4].ssd_s[ALIGNED] = PFX(pixel_ssd_s_4x4_neon); ++ p.cu[BLOCK_8x8].ssd_s[ALIGNED] = PFX(pixel_ssd_s_8x8_neon); ++ p.cu[BLOCK_16x16].ssd_s[ALIGNED] = PFX(pixel_ssd_s_16x16_neon); ++ p.cu[BLOCK_32x32].ssd_s[ALIGNED] = PFX(pixel_ssd_s_32x32_neon); + + // sse_ss + p.cu[BLOCK_4x4].sse_ss = PFX(pixel_sse_ss_4x4_neon); +@@ -548,10 +548,10 @@ void setupAssemblyPrimitives(EncoderPrim + p.chroma[X265_CSP_I422].cu[BLOCK_422_32x64].sub_ps = PFX(pixel_sub_ps_32x64_neon); + + // calc_Residual +- p.cu[BLOCK_4x4].calcresidual = PFX(getResidual4_neon); +- p.cu[BLOCK_8x8].calcresidual = PFX(getResidual8_neon); +- p.cu[BLOCK_16x16].calcresidual = PFX(getResidual16_neon); +- p.cu[BLOCK_32x32].calcresidual = PFX(getResidual32_neon); ++ p.cu[BLOCK_4x4].calcresidual[ALIGNED] = PFX(getResidual4_neon); ++ p.cu[BLOCK_8x8].calcresidual[ALIGNED] = PFX(getResidual8_neon); ++ p.cu[BLOCK_16x16].calcresidual[ALIGNED] = PFX(getResidual16_neon); ++ p.cu[BLOCK_32x32].calcresidual[ALIGNED] = PFX(getResidual32_neon); + + // sse_pp + p.cu[BLOCK_4x4].sse_pp = PFX(pixel_sse_pp_4x4_neon); +@@ -722,31 +722,31 @@ void setupAssemblyPrimitives(EncoderPrim + p.pu[LUMA_64x64].sad_x4 = PFX(sad_x4_64x64_neon); + + // pixel_avg_pp +- p.pu[LUMA_4x4].pixelavg_pp = PFX(pixel_avg_pp_4x4_neon); +- p.pu[LUMA_4x8].pixelavg_pp = PFX(pixel_avg_pp_4x8_neon); +- p.pu[LUMA_4x16].pixelavg_pp = PFX(pixel_avg_pp_4x16_neon); +- p.pu[LUMA_8x4].pixelavg_pp = PFX(pixel_avg_pp_8x4_neon); +- p.pu[LUMA_8x8].pixelavg_pp = PFX(pixel_avg_pp_8x8_neon); +- p.pu[LUMA_8x16].pixelavg_pp = PFX(pixel_avg_pp_8x16_neon); +- p.pu[LUMA_8x32].pixelavg_pp = PFX(pixel_avg_pp_8x32_neon); +- p.pu[LUMA_12x16].pixelavg_pp = PFX(pixel_avg_pp_12x16_neon); +- p.pu[LUMA_16x4].pixelavg_pp = PFX(pixel_avg_pp_16x4_neon); +- p.pu[LUMA_16x8].pixelavg_pp = PFX(pixel_avg_pp_16x8_neon); +- p.pu[LUMA_16x12].pixelavg_pp = PFX(pixel_avg_pp_16x12_neon); +- p.pu[LUMA_16x16].pixelavg_pp = PFX(pixel_avg_pp_16x16_neon); +- p.pu[LUMA_16x32].pixelavg_pp = PFX(pixel_avg_pp_16x32_neon); +- p.pu[LUMA_16x64].pixelavg_pp = PFX(pixel_avg_pp_16x64_neon); +- p.pu[LUMA_24x32].pixelavg_pp = PFX(pixel_avg_pp_24x32_neon); +- p.pu[LUMA_32x8].pixelavg_pp = PFX(pixel_avg_pp_32x8_neon); +- p.pu[LUMA_32x16].pixelavg_pp = PFX(pixel_avg_pp_32x16_neon); +- p.pu[LUMA_32x24].pixelavg_pp = PFX(pixel_avg_pp_32x24_neon); +- p.pu[LUMA_32x32].pixelavg_pp = PFX(pixel_avg_pp_32x32_neon); +- p.pu[LUMA_32x64].pixelavg_pp = PFX(pixel_avg_pp_32x64_neon); +- p.pu[LUMA_48x64].pixelavg_pp = PFX(pixel_avg_pp_48x64_neon); +- p.pu[LUMA_64x16].pixelavg_pp = PFX(pixel_avg_pp_64x16_neon); +- p.pu[LUMA_64x32].pixelavg_pp = PFX(pixel_avg_pp_64x32_neon); +- p.pu[LUMA_64x48].pixelavg_pp = PFX(pixel_avg_pp_64x48_neon); +- p.pu[LUMA_64x64].pixelavg_pp = PFX(pixel_avg_pp_64x64_neon); ++ p.pu[LUMA_4x4].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_4x4_neon); ++ p.pu[LUMA_4x8].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_4x8_neon); ++ p.pu[LUMA_4x16].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_4x16_neon); ++ p.pu[LUMA_8x4].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_8x4_neon); ++ p.pu[LUMA_8x8].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_8x8_neon); ++ p.pu[LUMA_8x16].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_8x16_neon); ++ p.pu[LUMA_8x32].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_8x32_neon); ++ p.pu[LUMA_12x16].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_12x16_neon); ++ p.pu[LUMA_16x4].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_16x4_neon); ++ p.pu[LUMA_16x8].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_16x8_neon); ++ p.pu[LUMA_16x12].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_16x12_neon); ++ p.pu[LUMA_16x16].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_16x16_neon); ++ p.pu[LUMA_16x32].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_16x32_neon); ++ p.pu[LUMA_16x64].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_16x64_neon); ++ p.pu[LUMA_24x32].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_24x32_neon); ++ p.pu[LUMA_32x8].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_32x8_neon); ++ p.pu[LUMA_32x16].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_32x16_neon); ++ p.pu[LUMA_32x24].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_32x24_neon); ++ p.pu[LUMA_32x32].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_32x32_neon); ++ p.pu[LUMA_32x64].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_32x64_neon); ++ p.pu[LUMA_48x64].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_48x64_neon); ++ p.pu[LUMA_64x16].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_64x16_neon); ++ p.pu[LUMA_64x32].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_64x32_neon); ++ p.pu[LUMA_64x48].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_64x48_neon); ++ p.pu[LUMA_64x64].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_64x64_neon); + + // planecopy + p.planecopy_cp = PFX(pixel_planecopy_cp_neon); diff --git a/x265-4504219210793536d921ee4e0b3058698c630bf4.diff b/x265-4504219210793536d921ee4e0b3058698c630bf4.diff new file mode 100644 index 0000000..30fe38e --- /dev/null +++ b/x265-4504219210793536d921ee4e0b3058698c630bf4.diff @@ -0,0 +1,19 @@ +# HG changeset patch +# User Jayashree +# Date 1527224165 -19800 +# Node ID 4504219210793536d921ee4e0b3058698c630bf4 +# Parent cc2c5e46f3c87d27e3602af30b06ba6a0fbe2704 +Fix build error on on ppc64le + +diff --git a/source/common/param.cpp b/source/common/param.cpp +--- a/source/common/param.cpp ++++ b/source/common/param.cpp +@@ -633,7 +633,7 @@ + if (bValueWasNull) + p->cpuid = atobool(value); + else +- p->cpuid = parseCpuName(value, bError); ++ p->cpuid = parseCpuName(value, bError, false); + #endif + } + OPT("fps") diff --git a/x265-detect_cpu_armhfp.patch b/x265-detect_cpu_armhfp.patch index 3dfc10d..c9a92b8 100644 --- a/x265-detect_cpu_armhfp.patch +++ b/x265-detect_cpu_armhfp.patch @@ -50,7 +50,7 @@ diff -up x265_2.2/source/CMakeLists.txt.orig x265_2.2/source/CMakeLists.txt #include -#elif ( !defined(__APPLE__) && defined (__GNUC__) && defined(__ARM_NEON__)) -#include - #elif defined(__GNUC__) + #elif defined(__GNUC__) && (!defined(__clang__) || __clang_major__ < 4) +#if ( !defined(__APPLE__) && defined(__ARM_NEON__)) +#include +#endif diff --git a/x265.spec b/x265.spec index 5cbc16c..be9618a 100644 --- a/x265.spec +++ b/x265.spec @@ -1,9 +1,9 @@ -%global _so_version 151 +%global _so_version 160 Summary: H.265/HEVC encoder Name: x265 -Version: 2.7 -Release: 5%{?dist} +Version: 2.8 +Release: 1%{?dist} URL: http://x265.org/ # source/Lib/TLibCommon - BSD # source/Lib/TLibEncoder - BSD @@ -18,7 +18,10 @@ Patch1: x265-high-bit-depth-soname.patch Patch2: x265-detect_cpu_armhfp.patch Patch3: x265-arm-cflags.patch Patch4: x265-pkgconfig_path_fix.patch +Patch5: x265-4504219210793536d921ee4e0b3058698c630bf4.diff +Patch6: x265-2.8-asm-primitives.patch +BuildRequires: gcc-c++ BuildRequires: cmake3 BuildRequires: nasm BuildRequires: ninja-build @@ -137,6 +140,11 @@ done %{_libdir}/pkgconfig/x265.pc %changelog +* Thu Oct 04 2018 Sérgio Basto - 2.8-1 +- Update to 2.8 more 2 patches to fix builds on non-x86 and arm + https://bitbucket.org/multicoreware/x265/issues/404/28-fails-to-build-on-ppc64le-gnu-linux + https://bitbucket.org/multicoreware/x265/issues/406/arm-assembly-fail-to-compile-on-18 + * Sun Aug 19 2018 Leigh Scott - 2.7-5 - Rebuilt for Fedora 29 Mass Rebuild binutils issue From 3ddac98f220037604d2d265b257b1ded4d4b7444 Mon Sep 17 00:00:00 2001 From: Leigh Scott Date: Sun, 18 Nov 2018 09:47:55 +0000 Subject: [PATCH 33/59] Update to 2.9 --- .gitignore | 1 + sources | 2 +- ...4219210793536d921ee4e0b3058698c630bf4.diff | 19 ------------------- x265.spec | 10 ++++++---- 4 files changed, 8 insertions(+), 24 deletions(-) delete mode 100644 x265-4504219210793536d921ee4e0b3058698c630bf4.diff diff --git a/.gitignore b/.gitignore index f3a1c5d..29dd964 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,4 @@ x265_1.6.tar.gz /x265_2.6.tar.gz /x265_2.7.tar.gz /x265_2.8.tar.gz +/x265_2.9.tar.gz diff --git a/sources b/sources index 2c38b2f..09c2d99 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -b68dcd4e8a495e53e53034a11fec5eb9 x265_2.8.tar.gz +693ee4ce7929a59735f441107310f0bb x265_2.9.tar.gz diff --git a/x265-4504219210793536d921ee4e0b3058698c630bf4.diff b/x265-4504219210793536d921ee4e0b3058698c630bf4.diff deleted file mode 100644 index 30fe38e..0000000 --- a/x265-4504219210793536d921ee4e0b3058698c630bf4.diff +++ /dev/null @@ -1,19 +0,0 @@ -# HG changeset patch -# User Jayashree -# Date 1527224165 -19800 -# Node ID 4504219210793536d921ee4e0b3058698c630bf4 -# Parent cc2c5e46f3c87d27e3602af30b06ba6a0fbe2704 -Fix build error on on ppc64le - -diff --git a/source/common/param.cpp b/source/common/param.cpp ---- a/source/common/param.cpp -+++ b/source/common/param.cpp -@@ -633,7 +633,7 @@ - if (bValueWasNull) - p->cpuid = atobool(value); - else -- p->cpuid = parseCpuName(value, bError); -+ p->cpuid = parseCpuName(value, bError, false); - #endif - } - OPT("fps") diff --git a/x265.spec b/x265.spec index be9618a..a2a434a 100644 --- a/x265.spec +++ b/x265.spec @@ -1,8 +1,8 @@ -%global _so_version 160 +%global _so_version 165 Summary: H.265/HEVC encoder Name: x265 -Version: 2.8 +Version: 2.9 Release: 1%{?dist} URL: http://x265.org/ # source/Lib/TLibCommon - BSD @@ -18,8 +18,7 @@ Patch1: x265-high-bit-depth-soname.patch Patch2: x265-detect_cpu_armhfp.patch Patch3: x265-arm-cflags.patch Patch4: x265-pkgconfig_path_fix.patch -Patch5: x265-4504219210793536d921ee4e0b3058698c630bf4.diff -Patch6: x265-2.8-asm-primitives.patch +Patch5: x265-2.8-asm-primitives.patch BuildRequires: gcc-c++ BuildRequires: cmake3 @@ -140,6 +139,9 @@ done %{_libdir}/pkgconfig/x265.pc %changelog +* Sun Nov 18 2018 Leigh Scott - 2.9-1 +- Update to 2.9 + * Thu Oct 04 2018 Sérgio Basto - 2.8-1 - Update to 2.8 more 2 patches to fix builds on non-x86 and arm https://bitbucket.org/multicoreware/x265/issues/404/28-fails-to-build-on-ppc64le-gnu-linux From 361098959a82b36be674bbbbca0768d05151b104 Mon Sep 17 00:00:00 2001 From: Leigh Scott Date: Sun, 18 Nov 2018 10:51:56 +0000 Subject: [PATCH 34/59] add Debian patch to fix build --- ...ct512-is-needed-on-all-architectures.patch | 35 +++++++++++++++++++ x265.spec | 1 + 2 files changed, 36 insertions(+) create mode 100644 0003-detect512-is-needed-on-all-architectures.patch diff --git a/0003-detect512-is-needed-on-all-architectures.patch b/0003-detect512-is-needed-on-all-architectures.patch new file mode 100644 index 0000000..16aab24 --- /dev/null +++ b/0003-detect512-is-needed-on-all-architectures.patch @@ -0,0 +1,35 @@ +From: Adam Sampson +Date: Sun, 14 Oct 2018 14:04:18 +0200 +Subject: detect512 is needed on all architectures + +--- + source/common/cpu.cpp | 9 +++++---- + 1 file changed, 5 insertions(+), 4 deletions(-) + +diff --git a/source/common/cpu.cpp b/source/common/cpu.cpp +index 0681ff5..fa687da 100644 +--- a/source/common/cpu.cpp ++++ b/source/common/cpu.cpp +@@ -110,6 +110,11 @@ const cpu_name_t cpu_names[] = + { "", 0 }, + }; + ++bool detect512() ++{ ++ return(enable512); ++} ++ + #if X265_ARCH_X86 + + extern "C" { +@@ -123,10 +128,6 @@ uint64_t PFX(cpu_xgetbv)(int xcr); + #pragma warning(disable: 4309) // truncation of constant value + #endif + +-bool detect512() +-{ +- return(enable512); +-} + uint32_t cpu_detect(bool benableavx512 ) + { + diff --git a/x265.spec b/x265.spec index a2a434a..a541a5e 100644 --- a/x265.spec +++ b/x265.spec @@ -19,6 +19,7 @@ Patch2: x265-detect_cpu_armhfp.patch Patch3: x265-arm-cflags.patch Patch4: x265-pkgconfig_path_fix.patch Patch5: x265-2.8-asm-primitives.patch +Patch6: https://sources.debian.org/data/main/x/x265/2.9-3/debian/patches/0003-detect512-is-needed-on-all-architectures.patch BuildRequires: gcc-c++ BuildRequires: cmake3 From bb04821cca95c68bb469fccb92be3e7b0da5b2d8 Mon Sep 17 00:00:00 2001 From: sagitter Date: Thu, 6 Dec 2018 14:21:42 +0100 Subject: [PATCH 35/59] Rebuild for ffmpeg-3.* on el7 --- x265.spec | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/x265.spec b/x265.spec index a541a5e..170d33a 100644 --- a/x265.spec +++ b/x265.spec @@ -3,7 +3,7 @@ Summary: H.265/HEVC encoder Name: x265 Version: 2.9 -Release: 1%{?dist} +Release: 2%{?dist} URL: http://x265.org/ # source/Lib/TLibCommon - BSD # source/Lib/TLibEncoder - BSD @@ -23,6 +23,7 @@ Patch6: https://sources.debian.org/data/main/x/x265/2.9-3/debian/patches/000 BuildRequires: gcc-c++ BuildRequires: cmake3 +%{?el7:BuildRequires: epel-rpm-macros} BuildRequires: nasm BuildRequires: ninja-build @@ -70,7 +71,7 @@ This package contains the shared library development files. # 10bit: libx265_main10.so build() { -%cmake3 -G "Ninja" \ +%cmake3 -Wno-dev -G "Ninja" \ -DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=ON \ -DCMAKE_SKIP_RPATH:BOOL=YES \ -DENABLE_PIC:BOOL=ON \ @@ -140,6 +141,9 @@ done %{_libdir}/pkgconfig/x265.pc %changelog +* Wed Nov 21 2018 Antonio Trande - 2.9-2 +- Rebuild for ffmpeg-3.* on el7 + * Sun Nov 18 2018 Leigh Scott - 2.9-1 - Update to 2.9 From 16754e9fd877a1b0f53aaf15b6dd8c3b448f520f Mon Sep 17 00:00:00 2001 From: Leigh Scott Date: Sun, 30 Dec 2018 21:53:11 +0000 Subject: [PATCH 36/59] Rebuild against newer nasm on el7 --- x265.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/x265.spec b/x265.spec index 170d33a..591cb5d 100644 --- a/x265.spec +++ b/x265.spec @@ -3,7 +3,7 @@ Summary: H.265/HEVC encoder Name: x265 Version: 2.9 -Release: 2%{?dist} +Release: 3%{?dist} URL: http://x265.org/ # source/Lib/TLibCommon - BSD # source/Lib/TLibEncoder - BSD @@ -141,6 +141,9 @@ done %{_libdir}/pkgconfig/x265.pc %changelog +* Sun Dec 30 2018 Leigh Scott - 2.9-3 +- Rebuild against newer nasm on el7 (rfbz #5128) + * Wed Nov 21 2018 Antonio Trande - 2.9-2 - Rebuild for ffmpeg-3.* on el7 From 7f5fcc77e350f14706fde753adf12e14881577bc Mon Sep 17 00:00:00 2001 From: Leigh Scott Date: Thu, 28 Feb 2019 08:04:33 +0000 Subject: [PATCH 37/59] Update to 3.0 --- .gitignore | 1 + sources | 2 +- x265-high-bit-depth-soname.patch | 19 +++++++++---------- x265-pic.patch | 3 +-- x265.spec | 10 ++++++---- 5 files changed, 18 insertions(+), 17 deletions(-) diff --git a/.gitignore b/.gitignore index 29dd964..a744c02 100644 --- a/.gitignore +++ b/.gitignore @@ -8,3 +8,4 @@ x265_1.6.tar.gz /x265_2.7.tar.gz /x265_2.8.tar.gz /x265_2.9.tar.gz +/x265_3.0.tar.gz diff --git a/sources b/sources index 09c2d99..0cc37bf 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -693ee4ce7929a59735f441107310f0bb x265_2.9.tar.gz +8ff1780246bb7ac8506239f6129c04ec x265_3.0.tar.gz diff --git a/x265-high-bit-depth-soname.patch b/x265-high-bit-depth-soname.patch index d5c1efb..5b1e5ed 100644 --- a/x265-high-bit-depth-soname.patch +++ b/x265-high-bit-depth-soname.patch @@ -1,7 +1,6 @@ -diff -Naur x265_2.2.old/source/CMakeLists.txt x265_2.2/source/CMakeLists.txt ---- x265_2.2.old/source/CMakeLists.txt 2017-04-11 12:14:19.717605457 +0200 -+++ x265_2.2/source/CMakeLists.txt 2017-04-11 12:14:27.499743262 +0200 -@@ -548,7 +548,15 @@ +--- a/source/CMakeLists.txt ++++ b/source/CMakeLists.txt +@@ -611,7 +611,15 @@ if(MSVC) set_target_properties(x265-shared PROPERTIES OUTPUT_NAME libx265) else() @@ -18,15 +17,15 @@ diff -Naur x265_2.2.old/source/CMakeLists.txt x265_2.2/source/CMakeLists.txt endif() if(UNIX) set_target_properties(x265-shared PROPERTIES VERSION ${X265_BUILD}) -diff -Naur x265_2.2.old/source/encoder/api.cpp x265_2.2/source/encoder/api.cpp ---- x265_2.2.old/source/encoder/api.cpp 2017-04-11 12:14:19.727605634 +0200 -+++ x265_2.2/source/encoder/api.cpp 2017-04-11 12:21:58.928758432 +0200 -@@ -356,7 +356,7 @@ +--- a/source/encoder/api.cpp ++++ b/source/encoder/api.cpp +@@ -704,7 +704,7 @@ #define ext ".dylib" #else #include -#define ext ".so" +#define ext ".so." xstr(X265_BUILD) #endif - - static int g_recursion /* = 0 */; + #if defined(__GNUC__) && __GNUC__ >= 8 + #pragma GCC diagnostic ignored "-Wcast-function-type" + diff --git a/x265-pic.patch b/x265-pic.patch index e612f44..a047ad1 100644 --- a/x265-pic.patch +++ b/x265-pic.patch @@ -1,6 +1,6 @@ --- a/source/CMakeLists.txt +++ b/source/CMakeLists.txt -@@ -196,7 +196,7 @@ +@@ -212,7 +212,7 @@ add_definitions(-std=gnu++98) endif() if(ENABLE_PIC) @@ -9,4 +9,3 @@ endif(ENABLE_PIC) if(NATIVE_BUILD) if(INTEL_CXX) - diff --git a/x265.spec b/x265.spec index 591cb5d..9e5293d 100644 --- a/x265.spec +++ b/x265.spec @@ -1,9 +1,9 @@ -%global _so_version 165 +%global _so_version 169 Summary: H.265/HEVC encoder Name: x265 -Version: 2.9 -Release: 3%{?dist} +Version: 3.0 +Release: 1%{?dist} URL: http://x265.org/ # source/Lib/TLibCommon - BSD # source/Lib/TLibEncoder - BSD @@ -19,7 +19,6 @@ Patch2: x265-detect_cpu_armhfp.patch Patch3: x265-arm-cflags.patch Patch4: x265-pkgconfig_path_fix.patch Patch5: x265-2.8-asm-primitives.patch -Patch6: https://sources.debian.org/data/main/x/x265/2.9-3/debian/patches/0003-detect512-is-needed-on-all-architectures.patch BuildRequires: gcc-c++ BuildRequires: cmake3 @@ -141,6 +140,9 @@ done %{_libdir}/pkgconfig/x265.pc %changelog +* Thu Feb 28 2019 Leigh Scott - 3.0-1 +- Update to 3.0 + * Sun Dec 30 2018 Leigh Scott - 2.9-3 - Rebuild against newer nasm on el7 (rfbz #5128) From cffb19fb089bf65f2dc76dbe1f8b113da27765ef Mon Sep 17 00:00:00 2001 From: Leigh Scott Date: Tue, 5 Mar 2019 00:44:32 +0000 Subject: [PATCH 38/59] - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild Signed-off-by: Leigh Scott --- x265.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/x265.spec b/x265.spec index 9e5293d..f369015 100644 --- a/x265.spec +++ b/x265.spec @@ -3,7 +3,7 @@ Summary: H.265/HEVC encoder Name: x265 Version: 3.0 -Release: 1%{?dist} +Release: 2%{?dist} URL: http://x265.org/ # source/Lib/TLibCommon - BSD # source/Lib/TLibEncoder - BSD @@ -140,6 +140,9 @@ done %{_libdir}/pkgconfig/x265.pc %changelog +* Tue Mar 05 2019 RPM Fusion Release Engineering - 3.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + * Thu Feb 28 2019 Leigh Scott - 3.0-1 - Update to 3.0 From 9b64fca72111ee596a903438701f96f79cfdedaf Mon Sep 17 00:00:00 2001 From: Nicolas Chauvet Date: Fri, 28 Jun 2019 11:18:42 +0200 Subject: [PATCH 39/59] Update to 3.1 --- .gitignore | 12 +----------- sources | 2 +- x265.spec | 15 ++++++++++----- 3 files changed, 12 insertions(+), 17 deletions(-) diff --git a/.gitignore b/.gitignore index a744c02..084d5b8 100644 --- a/.gitignore +++ b/.gitignore @@ -1,11 +1 @@ -x265_1.6.tar.gz -/x265_1.9.tar.gz -/x265_2.1.tar.gz -/x265_2.2.tar.gz -/x265_2.4.tar.gz -/x265_2.5.tar.gz -/x265_2.6.tar.gz -/x265_2.7.tar.gz -/x265_2.8.tar.gz -/x265_2.9.tar.gz -/x265_3.0.tar.gz +x265*.tar.gz diff --git a/sources b/sources index 0cc37bf..6b1e91d 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -8ff1780246bb7ac8506239f6129c04ec x265_3.0.tar.gz +408ac428ff6bcc7c257d371080ef7fee x265-3.1.tar.gz diff --git a/x265.spec b/x265.spec index f369015..c441cdf 100644 --- a/x265.spec +++ b/x265.spec @@ -1,16 +1,17 @@ -%global _so_version 169 +%global _so_version 176 Summary: H.265/HEVC encoder Name: x265 -Version: 3.0 -Release: 2%{?dist} +Version: 3.1 +Release: 1%{?dist} URL: http://x265.org/ # source/Lib/TLibCommon - BSD # source/Lib/TLibEncoder - BSD # everything else - GPLv2+ License: GPLv2+ and BSD -Source0: https://bitbucket.org/multicoreware/%{name}/downloads/%{name}_%{version}.tar.gz +# Official upstream is http://hg.videolan.org/ - using github mirror +Source0: https://github.com/videolan/x265/archive/%{version}/%{name}-%{version}.tar.gz # fix building as PIC Patch0: x265-pic.patch @@ -59,7 +60,7 @@ performance on a wide variety of hardware platforms. This package contains the shared library development files. %prep -%autosetup -p1 -n %{name}_%{version} +%autosetup -p1 %build # High depth libraries (from source/h265.h): @@ -140,6 +141,10 @@ done %{_libdir}/pkgconfig/x265.pc %changelog +* Fri Jun 28 2019 Nicolas Chauvet - 3.1-1 +- Update to 3.1 +- Switch to github mirror + * Tue Mar 05 2019 RPM Fusion Release Engineering - 3.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild From 12caa5d0daf102516bc5c5bbddeee7932af3cca3 Mon Sep 17 00:00:00 2001 From: Leigh Scott Date: Sun, 4 Aug 2019 10:23:03 +0100 Subject: [PATCH 40/59] Update to 3.1.2 --- sources | 2 +- x265.spec | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/sources b/sources index 6b1e91d..e550c45 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -408ac428ff6bcc7c257d371080ef7fee x265-3.1.tar.gz +b06a42a8d5b6e8bbc7bde740fff23728 x265-3.1.2.tar.gz diff --git a/x265.spec b/x265.spec index c441cdf..f564c36 100644 --- a/x265.spec +++ b/x265.spec @@ -2,7 +2,7 @@ Summary: H.265/HEVC encoder Name: x265 -Version: 3.1 +Version: 3.1.2 Release: 1%{?dist} URL: http://x265.org/ # source/Lib/TLibCommon - BSD @@ -141,6 +141,9 @@ done %{_libdir}/pkgconfig/x265.pc %changelog +* Sun Aug 04 2019 Leigh Scott - 3.1.2-1 +- Update to 3.1.2 + * Fri Jun 28 2019 Nicolas Chauvet - 3.1-1 - Update to 3.1 - Switch to github mirror From c3532655c83700371e6222e7dac8898a9ea8418b Mon Sep 17 00:00:00 2001 From: Leigh Scott Date: Sat, 10 Aug 2019 00:17:03 +0100 Subject: [PATCH 41/59] - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild Signed-off-by: Leigh Scott --- x265.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/x265.spec b/x265.spec index f564c36..53804c3 100644 --- a/x265.spec +++ b/x265.spec @@ -3,7 +3,7 @@ Summary: H.265/HEVC encoder Name: x265 Version: 3.1.2 -Release: 1%{?dist} +Release: 2%{?dist} URL: http://x265.org/ # source/Lib/TLibCommon - BSD # source/Lib/TLibEncoder - BSD @@ -141,6 +141,9 @@ done %{_libdir}/pkgconfig/x265.pc %changelog +* Fri Aug 09 2019 RPM Fusion Release Engineering - 3.1.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + * Sun Aug 04 2019 Leigh Scott - 3.1.2-1 - Update to 3.1.2 From f6cf21cb26cb30af5bcc2bc79ca5021651ff7b98 Mon Sep 17 00:00:00 2001 From: leigh123linux Date: Thu, 28 Nov 2019 09:59:28 +0000 Subject: [PATCH 42/59] Update to 3.2.1 --- sources | 2 +- x265.spec | 16 +++++++++------- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/sources b/sources index e550c45..1a7a4f4 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -b06a42a8d5b6e8bbc7bde740fff23728 x265-3.1.2.tar.gz +SHA512 (x265_3.2.1.tar.gz) = 5cb29b9d4475c1f686f6e31e47ccddde3db1639d5dcf9c058513389a9fdeb35a83b14e30e59498a76dec74bb0b410b6d8f5b1b45d18927be9811bb6a40d8d568 diff --git a/x265.spec b/x265.spec index 53804c3..e1120c2 100644 --- a/x265.spec +++ b/x265.spec @@ -1,17 +1,15 @@ -%global _so_version 176 +%global _so_version 179 Summary: H.265/HEVC encoder Name: x265 -Version: 3.1.2 -Release: 2%{?dist} +Version: 3.2.1 +Release: 1%{?dist} URL: http://x265.org/ # source/Lib/TLibCommon - BSD # source/Lib/TLibEncoder - BSD # everything else - GPLv2+ License: GPLv2+ and BSD - -# Official upstream is http://hg.videolan.org/ - using github mirror -Source0: https://github.com/videolan/x265/archive/%{version}/%{name}-%{version}.tar.gz +Source0: https://bitbucket.org/multicoreware/%{name}/downloads/%{name}_%{version}.tar.gz # fix building as PIC Patch0: x265-pic.patch @@ -60,7 +58,7 @@ performance on a wide variety of hardware platforms. This package contains the shared library development files. %prep -%autosetup -p1 +%autosetup -p1 -n %{name}_%{version} %build # High depth libraries (from source/h265.h): @@ -141,6 +139,10 @@ done %{_libdir}/pkgconfig/x265.pc %changelog +* Thu Nov 28 2019 Leigh Scott - 3.2.1-1 +- Update to 3.2.1 +- Switch upstream source url + * Fri Aug 09 2019 RPM Fusion Release Engineering - 3.1.2-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild From 1ce0bad7e8b0967ac5e13991ecf12c52c437d2f1 Mon Sep 17 00:00:00 2001 From: leigh123linux Date: Wed, 5 Feb 2020 13:50:55 +0000 Subject: [PATCH 43/59] - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild Signed-off-by: leigh123linux --- x265.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/x265.spec b/x265.spec index e1120c2..c8d3df0 100644 --- a/x265.spec +++ b/x265.spec @@ -3,7 +3,7 @@ Summary: H.265/HEVC encoder Name: x265 Version: 3.2.1 -Release: 1%{?dist} +Release: 2%{?dist} URL: http://x265.org/ # source/Lib/TLibCommon - BSD # source/Lib/TLibEncoder - BSD @@ -139,6 +139,9 @@ done %{_libdir}/pkgconfig/x265.pc %changelog +* Wed Feb 05 2020 RPM Fusion Release Engineering - 3.2.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + * Thu Nov 28 2019 Leigh Scott - 3.2.1-1 - Update to 3.2.1 - Switch upstream source url From 131ba724def64550a6a42c79389934d49a0433dc Mon Sep 17 00:00:00 2001 From: leigh123linux Date: Sun, 23 Feb 2020 11:23:02 +0000 Subject: [PATCH 44/59] Update to 3.3 --- sources | 2 +- x265.spec | 9 ++++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/sources b/sources index 1a7a4f4..a1063e5 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (x265_3.2.1.tar.gz) = 5cb29b9d4475c1f686f6e31e47ccddde3db1639d5dcf9c058513389a9fdeb35a83b14e30e59498a76dec74bb0b410b6d8f5b1b45d18927be9811bb6a40d8d568 +SHA512 (x265_3.3.tar.gz) = 3d56900ecd58e83d2ecc93d956524e3b0e622dbe3c74a137c7b21f98599245547403401e9ec7f679996fd09fca788aa10272bf17e58a68fce449c8cb555ad7c0 diff --git a/x265.spec b/x265.spec index c8d3df0..3c1c499 100644 --- a/x265.spec +++ b/x265.spec @@ -1,9 +1,9 @@ -%global _so_version 179 +%global _so_version 188 Summary: H.265/HEVC encoder Name: x265 -Version: 3.2.1 -Release: 2%{?dist} +Version: 3.3 +Release: 1%{?dist} URL: http://x265.org/ # source/Lib/TLibCommon - BSD # source/Lib/TLibEncoder - BSD @@ -139,6 +139,9 @@ done %{_libdir}/pkgconfig/x265.pc %changelog +* Sun Feb 23 2020 Leigh Scott - 3.3-1 +- Update to 3.3 + * Wed Feb 05 2020 RPM Fusion Release Engineering - 3.2.1-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild From 083372c7230ead03ebff6f98279f7e0b0148fb70 Mon Sep 17 00:00:00 2001 From: Nicolas Chauvet Date: Wed, 11 Mar 2020 09:57:10 +0100 Subject: [PATCH 45/59] rebuilt --- x265.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/x265.spec b/x265.spec index 3c1c499..76ccd41 100644 --- a/x265.spec +++ b/x265.spec @@ -3,7 +3,7 @@ Summary: H.265/HEVC encoder Name: x265 Version: 3.3 -Release: 1%{?dist} +Release: 2%{?dist} URL: http://x265.org/ # source/Lib/TLibCommon - BSD # source/Lib/TLibEncoder - BSD @@ -139,6 +139,9 @@ done %{_libdir}/pkgconfig/x265.pc %changelog +* Wed Mar 11 2020 Nicolas Chauvet - 3.3-2 +- Rebuilt for i686 + * Sun Feb 23 2020 Leigh Scott - 3.3-1 - Update to 3.3 From 91a70d1572d34ab0fb22b9082fd24b49499e3dcc Mon Sep 17 00:00:00 2001 From: Leigh Scott Date: Sun, 31 May 2020 08:25:37 +0100 Subject: [PATCH 46/59] Update to 3.4 --- ...ct512-is-needed-on-all-architectures.patch | 35 -- sources | 2 +- x265-2.8-asm-primitives.patch | 347 ------------------ x265-arm-cflags.patch | 45 +-- x265-detect_cpu_armhfp.patch | 44 --- x265.spec | 10 +- 6 files changed, 31 insertions(+), 452 deletions(-) delete mode 100644 0003-detect512-is-needed-on-all-architectures.patch delete mode 100644 x265-2.8-asm-primitives.patch diff --git a/0003-detect512-is-needed-on-all-architectures.patch b/0003-detect512-is-needed-on-all-architectures.patch deleted file mode 100644 index 16aab24..0000000 --- a/0003-detect512-is-needed-on-all-architectures.patch +++ /dev/null @@ -1,35 +0,0 @@ -From: Adam Sampson -Date: Sun, 14 Oct 2018 14:04:18 +0200 -Subject: detect512 is needed on all architectures - ---- - source/common/cpu.cpp | 9 +++++---- - 1 file changed, 5 insertions(+), 4 deletions(-) - -diff --git a/source/common/cpu.cpp b/source/common/cpu.cpp -index 0681ff5..fa687da 100644 ---- a/source/common/cpu.cpp -+++ b/source/common/cpu.cpp -@@ -110,6 +110,11 @@ const cpu_name_t cpu_names[] = - { "", 0 }, - }; - -+bool detect512() -+{ -+ return(enable512); -+} -+ - #if X265_ARCH_X86 - - extern "C" { -@@ -123,10 +128,6 @@ uint64_t PFX(cpu_xgetbv)(int xcr); - #pragma warning(disable: 4309) // truncation of constant value - #endif - --bool detect512() --{ -- return(enable512); --} - uint32_t cpu_detect(bool benableavx512 ) - { - diff --git a/sources b/sources index a1063e5..e336356 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (x265_3.3.tar.gz) = 3d56900ecd58e83d2ecc93d956524e3b0e622dbe3c74a137c7b21f98599245547403401e9ec7f679996fd09fca788aa10272bf17e58a68fce449c8cb555ad7c0 +SHA512 (x265_3.4.tar.gz) = 576b18711935e7da8433b2170d24ed159eb12ff1a18399360afa1b2132db33b463145c65ed918f667528ee954bbdfb5c69e5480f1c1df801515cefc592f3206e diff --git a/x265-2.8-asm-primitives.patch b/x265-2.8-asm-primitives.patch deleted file mode 100644 index 89b42f2..0000000 --- a/x265-2.8-asm-primitives.patch +++ /dev/null @@ -1,347 +0,0 @@ ---- ./source/common/arm/asm-primitives.cpp.orig 2018-05-21 02:33:10.000000000 -0600 -+++ ./source/common/arm/asm-primitives.cpp 2018-05-28 20:38:37.302378303 -0600 -@@ -48,77 +48,77 @@ void setupAssemblyPrimitives(EncoderPrim - p.ssim_4x4x2_core = PFX(ssim_4x4x2_core_neon); - - // addAvg -- p.pu[LUMA_4x4].addAvg = PFX(addAvg_4x4_neon); -- p.pu[LUMA_4x8].addAvg = PFX(addAvg_4x8_neon); -- p.pu[LUMA_4x16].addAvg = PFX(addAvg_4x16_neon); -- p.pu[LUMA_8x4].addAvg = PFX(addAvg_8x4_neon); -- p.pu[LUMA_8x8].addAvg = PFX(addAvg_8x8_neon); -- p.pu[LUMA_8x16].addAvg = PFX(addAvg_8x16_neon); -- p.pu[LUMA_8x32].addAvg = PFX(addAvg_8x32_neon); -- p.pu[LUMA_12x16].addAvg = PFX(addAvg_12x16_neon); -- p.pu[LUMA_16x4].addAvg = PFX(addAvg_16x4_neon); -- p.pu[LUMA_16x8].addAvg = PFX(addAvg_16x8_neon); -- p.pu[LUMA_16x12].addAvg = PFX(addAvg_16x12_neon); -- p.pu[LUMA_16x16].addAvg = PFX(addAvg_16x16_neon); -- p.pu[LUMA_16x32].addAvg = PFX(addAvg_16x32_neon); -- p.pu[LUMA_16x64].addAvg = PFX(addAvg_16x64_neon); -- p.pu[LUMA_24x32].addAvg = PFX(addAvg_24x32_neon); -- p.pu[LUMA_32x8].addAvg = PFX(addAvg_32x8_neon); -- p.pu[LUMA_32x16].addAvg = PFX(addAvg_32x16_neon); -- p.pu[LUMA_32x24].addAvg = PFX(addAvg_32x24_neon); -- p.pu[LUMA_32x32].addAvg = PFX(addAvg_32x32_neon); -- p.pu[LUMA_32x64].addAvg = PFX(addAvg_32x64_neon); -- p.pu[LUMA_48x64].addAvg = PFX(addAvg_48x64_neon); -- p.pu[LUMA_64x16].addAvg = PFX(addAvg_64x16_neon); -- p.pu[LUMA_64x32].addAvg = PFX(addAvg_64x32_neon); -- p.pu[LUMA_64x48].addAvg = PFX(addAvg_64x48_neon); -- p.pu[LUMA_64x64].addAvg = PFX(addAvg_64x64_neon); -+ p.pu[LUMA_4x4].addAvg[ALIGNED] = PFX(addAvg_4x4_neon); -+ p.pu[LUMA_4x8].addAvg[ALIGNED] = PFX(addAvg_4x8_neon); -+ p.pu[LUMA_4x16].addAvg[ALIGNED] = PFX(addAvg_4x16_neon); -+ p.pu[LUMA_8x4].addAvg[ALIGNED] = PFX(addAvg_8x4_neon); -+ p.pu[LUMA_8x8].addAvg[ALIGNED] = PFX(addAvg_8x8_neon); -+ p.pu[LUMA_8x16].addAvg[ALIGNED] = PFX(addAvg_8x16_neon); -+ p.pu[LUMA_8x32].addAvg[ALIGNED] = PFX(addAvg_8x32_neon); -+ p.pu[LUMA_12x16].addAvg[ALIGNED] = PFX(addAvg_12x16_neon); -+ p.pu[LUMA_16x4].addAvg[ALIGNED] = PFX(addAvg_16x4_neon); -+ p.pu[LUMA_16x8].addAvg[ALIGNED] = PFX(addAvg_16x8_neon); -+ p.pu[LUMA_16x12].addAvg[ALIGNED] = PFX(addAvg_16x12_neon); -+ p.pu[LUMA_16x16].addAvg[ALIGNED] = PFX(addAvg_16x16_neon); -+ p.pu[LUMA_16x32].addAvg[ALIGNED] = PFX(addAvg_16x32_neon); -+ p.pu[LUMA_16x64].addAvg[ALIGNED] = PFX(addAvg_16x64_neon); -+ p.pu[LUMA_24x32].addAvg[ALIGNED] = PFX(addAvg_24x32_neon); -+ p.pu[LUMA_32x8].addAvg[ALIGNED] = PFX(addAvg_32x8_neon); -+ p.pu[LUMA_32x16].addAvg[ALIGNED] = PFX(addAvg_32x16_neon); -+ p.pu[LUMA_32x24].addAvg[ALIGNED] = PFX(addAvg_32x24_neon); -+ p.pu[LUMA_32x32].addAvg[ALIGNED] = PFX(addAvg_32x32_neon); -+ p.pu[LUMA_32x64].addAvg[ALIGNED] = PFX(addAvg_32x64_neon); -+ p.pu[LUMA_48x64].addAvg[ALIGNED] = PFX(addAvg_48x64_neon); -+ p.pu[LUMA_64x16].addAvg[ALIGNED] = PFX(addAvg_64x16_neon); -+ p.pu[LUMA_64x32].addAvg[ALIGNED] = PFX(addAvg_64x32_neon); -+ p.pu[LUMA_64x48].addAvg[ALIGNED] = PFX(addAvg_64x48_neon); -+ p.pu[LUMA_64x64].addAvg[ALIGNED] = PFX(addAvg_64x64_neon); - - // chroma addAvg -- p.chroma[X265_CSP_I420].pu[CHROMA_420_4x2].addAvg = PFX(addAvg_4x2_neon); -- p.chroma[X265_CSP_I420].pu[CHROMA_420_4x4].addAvg = PFX(addAvg_4x4_neon); -- p.chroma[X265_CSP_I420].pu[CHROMA_420_4x8].addAvg = PFX(addAvg_4x8_neon); -- p.chroma[X265_CSP_I420].pu[CHROMA_420_4x16].addAvg = PFX(addAvg_4x16_neon); -- p.chroma[X265_CSP_I420].pu[CHROMA_420_6x8].addAvg = PFX(addAvg_6x8_neon); -- p.chroma[X265_CSP_I420].pu[CHROMA_420_8x2].addAvg = PFX(addAvg_8x2_neon); -- p.chroma[X265_CSP_I420].pu[CHROMA_420_8x4].addAvg = PFX(addAvg_8x4_neon); -- p.chroma[X265_CSP_I420].pu[CHROMA_420_8x6].addAvg = PFX(addAvg_8x6_neon); -- p.chroma[X265_CSP_I420].pu[CHROMA_420_8x8].addAvg = PFX(addAvg_8x8_neon); -- p.chroma[X265_CSP_I420].pu[CHROMA_420_8x16].addAvg = PFX(addAvg_8x16_neon); -- p.chroma[X265_CSP_I420].pu[CHROMA_420_8x32].addAvg = PFX(addAvg_8x32_neon); -- p.chroma[X265_CSP_I420].pu[CHROMA_420_12x16].addAvg = PFX(addAvg_12x16_neon); -- p.chroma[X265_CSP_I420].pu[CHROMA_420_16x4].addAvg = PFX(addAvg_16x4_neon); -- p.chroma[X265_CSP_I420].pu[CHROMA_420_16x8].addAvg = PFX(addAvg_16x8_neon); -- p.chroma[X265_CSP_I420].pu[CHROMA_420_16x12].addAvg = PFX(addAvg_16x12_neon); -- p.chroma[X265_CSP_I420].pu[CHROMA_420_16x16].addAvg = PFX(addAvg_16x16_neon); -- p.chroma[X265_CSP_I420].pu[CHROMA_420_16x32].addAvg = PFX(addAvg_16x32_neon); -- p.chroma[X265_CSP_I420].pu[CHROMA_420_24x32].addAvg = PFX(addAvg_24x32_neon); -- p.chroma[X265_CSP_I420].pu[CHROMA_420_32x8].addAvg = PFX(addAvg_32x8_neon); -- p.chroma[X265_CSP_I420].pu[CHROMA_420_32x16].addAvg = PFX(addAvg_32x16_neon); -- p.chroma[X265_CSP_I420].pu[CHROMA_420_32x24].addAvg = PFX(addAvg_32x24_neon); -- p.chroma[X265_CSP_I420].pu[CHROMA_420_32x32].addAvg = PFX(addAvg_32x32_neon); -- -- p.chroma[X265_CSP_I422].pu[CHROMA_422_4x8].addAvg = PFX(addAvg_4x8_neon); -- p.chroma[X265_CSP_I422].pu[CHROMA_422_4x16].addAvg = PFX(addAvg_4x16_neon); -- p.chroma[X265_CSP_I422].pu[CHROMA_422_4x32].addAvg = PFX(addAvg_4x32_neon); -- p.chroma[X265_CSP_I422].pu[CHROMA_422_6x16].addAvg = PFX(addAvg_6x16_neon); -- p.chroma[X265_CSP_I422].pu[CHROMA_422_8x4].addAvg = PFX(addAvg_8x4_neon); -- p.chroma[X265_CSP_I422].pu[CHROMA_422_8x8].addAvg = PFX(addAvg_8x8_neon); -- p.chroma[X265_CSP_I422].pu[CHROMA_422_8x12].addAvg = PFX(addAvg_8x12_neon); -- p.chroma[X265_CSP_I422].pu[CHROMA_422_8x16].addAvg = PFX(addAvg_8x16_neon); -- p.chroma[X265_CSP_I422].pu[CHROMA_422_8x32].addAvg = PFX(addAvg_8x32_neon); -- p.chroma[X265_CSP_I422].pu[CHROMA_422_8x64].addAvg = PFX(addAvg_8x64_neon); -- p.chroma[X265_CSP_I422].pu[CHROMA_422_12x32].addAvg = PFX(addAvg_12x32_neon); -- p.chroma[X265_CSP_I422].pu[CHROMA_422_16x8].addAvg = PFX(addAvg_16x8_neon); -- p.chroma[X265_CSP_I422].pu[CHROMA_422_16x16].addAvg = PFX(addAvg_16x16_neon); -- p.chroma[X265_CSP_I422].pu[CHROMA_422_16x24].addAvg = PFX(addAvg_16x24_neon); -- p.chroma[X265_CSP_I422].pu[CHROMA_422_16x32].addAvg = PFX(addAvg_16x32_neon); -- p.chroma[X265_CSP_I422].pu[CHROMA_422_16x64].addAvg = PFX(addAvg_16x64_neon); -- p.chroma[X265_CSP_I422].pu[CHROMA_422_24x64].addAvg = PFX(addAvg_24x64_neon); -- p.chroma[X265_CSP_I422].pu[CHROMA_422_32x16].addAvg = PFX(addAvg_32x16_neon); -- p.chroma[X265_CSP_I422].pu[CHROMA_422_32x32].addAvg = PFX(addAvg_32x32_neon); -- p.chroma[X265_CSP_I422].pu[CHROMA_422_32x48].addAvg = PFX(addAvg_32x48_neon); -- p.chroma[X265_CSP_I422].pu[CHROMA_422_32x64].addAvg = PFX(addAvg_32x64_neon); -+ p.chroma[X265_CSP_I420].pu[CHROMA_420_4x2].addAvg[ALIGNED] = PFX(addAvg_4x2_neon); -+ p.chroma[X265_CSP_I420].pu[CHROMA_420_4x4].addAvg[ALIGNED] = PFX(addAvg_4x4_neon); -+ p.chroma[X265_CSP_I420].pu[CHROMA_420_4x8].addAvg[ALIGNED] = PFX(addAvg_4x8_neon); -+ p.chroma[X265_CSP_I420].pu[CHROMA_420_4x16].addAvg[ALIGNED] = PFX(addAvg_4x16_neon); -+ p.chroma[X265_CSP_I420].pu[CHROMA_420_6x8].addAvg[ALIGNED] = PFX(addAvg_6x8_neon); -+ p.chroma[X265_CSP_I420].pu[CHROMA_420_8x2].addAvg[ALIGNED] = PFX(addAvg_8x2_neon); -+ p.chroma[X265_CSP_I420].pu[CHROMA_420_8x4].addAvg[ALIGNED] = PFX(addAvg_8x4_neon); -+ p.chroma[X265_CSP_I420].pu[CHROMA_420_8x6].addAvg[ALIGNED] = PFX(addAvg_8x6_neon); -+ p.chroma[X265_CSP_I420].pu[CHROMA_420_8x8].addAvg[ALIGNED] = PFX(addAvg_8x8_neon); -+ p.chroma[X265_CSP_I420].pu[CHROMA_420_8x16].addAvg[ALIGNED] = PFX(addAvg_8x16_neon); -+ p.chroma[X265_CSP_I420].pu[CHROMA_420_8x32].addAvg[ALIGNED] = PFX(addAvg_8x32_neon); -+ p.chroma[X265_CSP_I420].pu[CHROMA_420_12x16].addAvg[ALIGNED] = PFX(addAvg_12x16_neon); -+ p.chroma[X265_CSP_I420].pu[CHROMA_420_16x4].addAvg[ALIGNED] = PFX(addAvg_16x4_neon); -+ p.chroma[X265_CSP_I420].pu[CHROMA_420_16x8].addAvg[ALIGNED] = PFX(addAvg_16x8_neon); -+ p.chroma[X265_CSP_I420].pu[CHROMA_420_16x12].addAvg[ALIGNED] = PFX(addAvg_16x12_neon); -+ p.chroma[X265_CSP_I420].pu[CHROMA_420_16x16].addAvg[ALIGNED] = PFX(addAvg_16x16_neon); -+ p.chroma[X265_CSP_I420].pu[CHROMA_420_16x32].addAvg[ALIGNED] = PFX(addAvg_16x32_neon); -+ p.chroma[X265_CSP_I420].pu[CHROMA_420_24x32].addAvg[ALIGNED] = PFX(addAvg_24x32_neon); -+ p.chroma[X265_CSP_I420].pu[CHROMA_420_32x8].addAvg[ALIGNED] = PFX(addAvg_32x8_neon); -+ p.chroma[X265_CSP_I420].pu[CHROMA_420_32x16].addAvg[ALIGNED] = PFX(addAvg_32x16_neon); -+ p.chroma[X265_CSP_I420].pu[CHROMA_420_32x24].addAvg[ALIGNED] = PFX(addAvg_32x24_neon); -+ p.chroma[X265_CSP_I420].pu[CHROMA_420_32x32].addAvg[ALIGNED] = PFX(addAvg_32x32_neon); -+ -+ p.chroma[X265_CSP_I422].pu[CHROMA_422_4x8].addAvg[ALIGNED] = PFX(addAvg_4x8_neon); -+ p.chroma[X265_CSP_I422].pu[CHROMA_422_4x16].addAvg[ALIGNED] = PFX(addAvg_4x16_neon); -+ p.chroma[X265_CSP_I422].pu[CHROMA_422_4x32].addAvg[ALIGNED] = PFX(addAvg_4x32_neon); -+ p.chroma[X265_CSP_I422].pu[CHROMA_422_6x16].addAvg[ALIGNED] = PFX(addAvg_6x16_neon); -+ p.chroma[X265_CSP_I422].pu[CHROMA_422_8x4].addAvg[ALIGNED] = PFX(addAvg_8x4_neon); -+ p.chroma[X265_CSP_I422].pu[CHROMA_422_8x8].addAvg[ALIGNED] = PFX(addAvg_8x8_neon); -+ p.chroma[X265_CSP_I422].pu[CHROMA_422_8x12].addAvg[ALIGNED] = PFX(addAvg_8x12_neon); -+ p.chroma[X265_CSP_I422].pu[CHROMA_422_8x16].addAvg[ALIGNED] = PFX(addAvg_8x16_neon); -+ p.chroma[X265_CSP_I422].pu[CHROMA_422_8x32].addAvg[ALIGNED] = PFX(addAvg_8x32_neon); -+ p.chroma[X265_CSP_I422].pu[CHROMA_422_8x64].addAvg[ALIGNED] = PFX(addAvg_8x64_neon); -+ p.chroma[X265_CSP_I422].pu[CHROMA_422_12x32].addAvg[ALIGNED] = PFX(addAvg_12x32_neon); -+ p.chroma[X265_CSP_I422].pu[CHROMA_422_16x8].addAvg[ALIGNED] = PFX(addAvg_16x8_neon); -+ p.chroma[X265_CSP_I422].pu[CHROMA_422_16x16].addAvg[ALIGNED] = PFX(addAvg_16x16_neon); -+ p.chroma[X265_CSP_I422].pu[CHROMA_422_16x24].addAvg[ALIGNED] = PFX(addAvg_16x24_neon); -+ p.chroma[X265_CSP_I422].pu[CHROMA_422_16x32].addAvg[ALIGNED] = PFX(addAvg_16x32_neon); -+ p.chroma[X265_CSP_I422].pu[CHROMA_422_16x64].addAvg[ALIGNED] = PFX(addAvg_16x64_neon); -+ p.chroma[X265_CSP_I422].pu[CHROMA_422_24x64].addAvg[ALIGNED] = PFX(addAvg_24x64_neon); -+ p.chroma[X265_CSP_I422].pu[CHROMA_422_32x16].addAvg[ALIGNED] = PFX(addAvg_32x16_neon); -+ p.chroma[X265_CSP_I422].pu[CHROMA_422_32x32].addAvg[ALIGNED] = PFX(addAvg_32x32_neon); -+ p.chroma[X265_CSP_I422].pu[CHROMA_422_32x48].addAvg[ALIGNED] = PFX(addAvg_32x48_neon); -+ p.chroma[X265_CSP_I422].pu[CHROMA_422_32x64].addAvg[ALIGNED] = PFX(addAvg_32x64_neon); - - // quant - p.quant = PFX(quant_neon); -@@ -402,7 +402,7 @@ void setupAssemblyPrimitives(EncoderPrim - p.scale2D_64to32 = PFX(scale2D_64to32_neon); - - // scale1D_128to64 -- p.scale1D_128to64 = PFX(scale1D_128to64_neon); -+ p.scale1D_128to64[ALIGNED] = PFX(scale1D_128to64_neon); - - // copy_count - p.cu[BLOCK_4x4].copy_cnt = PFX(copy_cnt_4_neon); -@@ -411,37 +411,37 @@ void setupAssemblyPrimitives(EncoderPrim - p.cu[BLOCK_32x32].copy_cnt = PFX(copy_cnt_32_neon); - - // filterPixelToShort -- p.pu[LUMA_4x4].convert_p2s = PFX(filterPixelToShort_4x4_neon); -- p.pu[LUMA_4x8].convert_p2s = PFX(filterPixelToShort_4x8_neon); -- p.pu[LUMA_4x16].convert_p2s = PFX(filterPixelToShort_4x16_neon); -- p.pu[LUMA_8x4].convert_p2s = PFX(filterPixelToShort_8x4_neon); -- p.pu[LUMA_8x8].convert_p2s = PFX(filterPixelToShort_8x8_neon); -- p.pu[LUMA_8x16].convert_p2s = PFX(filterPixelToShort_8x16_neon); -- p.pu[LUMA_8x32].convert_p2s = PFX(filterPixelToShort_8x32_neon); -- p.pu[LUMA_12x16].convert_p2s = PFX(filterPixelToShort_12x16_neon); -- p.pu[LUMA_16x4].convert_p2s = PFX(filterPixelToShort_16x4_neon); -- p.pu[LUMA_16x8].convert_p2s = PFX(filterPixelToShort_16x8_neon); -- p.pu[LUMA_16x12].convert_p2s = PFX(filterPixelToShort_16x12_neon); -- p.pu[LUMA_16x16].convert_p2s = PFX(filterPixelToShort_16x16_neon); -- p.pu[LUMA_16x32].convert_p2s = PFX(filterPixelToShort_16x32_neon); -- p.pu[LUMA_16x64].convert_p2s = PFX(filterPixelToShort_16x64_neon); -- p.pu[LUMA_24x32].convert_p2s = PFX(filterPixelToShort_24x32_neon); -- p.pu[LUMA_32x8].convert_p2s = PFX(filterPixelToShort_32x8_neon); -- p.pu[LUMA_32x16].convert_p2s = PFX(filterPixelToShort_32x16_neon); -- p.pu[LUMA_32x24].convert_p2s = PFX(filterPixelToShort_32x24_neon); -- p.pu[LUMA_32x32].convert_p2s = PFX(filterPixelToShort_32x32_neon); -- p.pu[LUMA_32x64].convert_p2s = PFX(filterPixelToShort_32x64_neon); -- p.pu[LUMA_48x64].convert_p2s = PFX(filterPixelToShort_48x64_neon); -- p.pu[LUMA_64x16].convert_p2s = PFX(filterPixelToShort_64x16_neon); -- p.pu[LUMA_64x32].convert_p2s = PFX(filterPixelToShort_64x32_neon); -- p.pu[LUMA_64x48].convert_p2s = PFX(filterPixelToShort_64x48_neon); -- p.pu[LUMA_64x64].convert_p2s = PFX(filterPixelToShort_64x64_neon); -+ p.pu[LUMA_4x4].convert_p2s[ALIGNED] = PFX(filterPixelToShort_4x4_neon); -+ p.pu[LUMA_4x8].convert_p2s[ALIGNED] = PFX(filterPixelToShort_4x8_neon); -+ p.pu[LUMA_4x16].convert_p2s[ALIGNED] = PFX(filterPixelToShort_4x16_neon); -+ p.pu[LUMA_8x4].convert_p2s[ALIGNED] = PFX(filterPixelToShort_8x4_neon); -+ p.pu[LUMA_8x8].convert_p2s[ALIGNED] = PFX(filterPixelToShort_8x8_neon); -+ p.pu[LUMA_8x16].convert_p2s[ALIGNED] = PFX(filterPixelToShort_8x16_neon); -+ p.pu[LUMA_8x32].convert_p2s[ALIGNED] = PFX(filterPixelToShort_8x32_neon); -+ p.pu[LUMA_12x16].convert_p2s[ALIGNED] = PFX(filterPixelToShort_12x16_neon); -+ p.pu[LUMA_16x4].convert_p2s[ALIGNED] = PFX(filterPixelToShort_16x4_neon); -+ p.pu[LUMA_16x8].convert_p2s[ALIGNED] = PFX(filterPixelToShort_16x8_neon); -+ p.pu[LUMA_16x12].convert_p2s[ALIGNED] = PFX(filterPixelToShort_16x12_neon); -+ p.pu[LUMA_16x16].convert_p2s[ALIGNED] = PFX(filterPixelToShort_16x16_neon); -+ p.pu[LUMA_16x32].convert_p2s[ALIGNED] = PFX(filterPixelToShort_16x32_neon); -+ p.pu[LUMA_16x64].convert_p2s[ALIGNED] = PFX(filterPixelToShort_16x64_neon); -+ p.pu[LUMA_24x32].convert_p2s[ALIGNED] = PFX(filterPixelToShort_24x32_neon); -+ p.pu[LUMA_32x8].convert_p2s[ALIGNED] = PFX(filterPixelToShort_32x8_neon); -+ p.pu[LUMA_32x16].convert_p2s[ALIGNED] = PFX(filterPixelToShort_32x16_neon); -+ p.pu[LUMA_32x24].convert_p2s[ALIGNED] = PFX(filterPixelToShort_32x24_neon); -+ p.pu[LUMA_32x32].convert_p2s[ALIGNED] = PFX(filterPixelToShort_32x32_neon); -+ p.pu[LUMA_32x64].convert_p2s[ALIGNED] = PFX(filterPixelToShort_32x64_neon); -+ p.pu[LUMA_48x64].convert_p2s[ALIGNED] = PFX(filterPixelToShort_48x64_neon); -+ p.pu[LUMA_64x16].convert_p2s[ALIGNED] = PFX(filterPixelToShort_64x16_neon); -+ p.pu[LUMA_64x32].convert_p2s[ALIGNED] = PFX(filterPixelToShort_64x32_neon); -+ p.pu[LUMA_64x48].convert_p2s[ALIGNED] = PFX(filterPixelToShort_64x48_neon); -+ p.pu[LUMA_64x64].convert_p2s[ALIGNED] = PFX(filterPixelToShort_64x64_neon); - - // Block_fill -- p.cu[BLOCK_4x4].blockfill_s = PFX(blockfill_s_4x4_neon); -- p.cu[BLOCK_8x8].blockfill_s = PFX(blockfill_s_8x8_neon); -- p.cu[BLOCK_16x16].blockfill_s = PFX(blockfill_s_16x16_neon); -- p.cu[BLOCK_32x32].blockfill_s = PFX(blockfill_s_32x32_neon); -+ p.cu[BLOCK_4x4].blockfill_s[ALIGNED] = PFX(blockfill_s_4x4_neon); -+ p.cu[BLOCK_8x8].blockfill_s[ALIGNED] = PFX(blockfill_s_8x8_neon); -+ p.cu[BLOCK_16x16].blockfill_s[ALIGNED] = PFX(blockfill_s_16x16_neon); -+ p.cu[BLOCK_32x32].blockfill_s[ALIGNED] = PFX(blockfill_s_32x32_neon); - - // Blockcopy_ss - p.cu[BLOCK_4x4].copy_ss = PFX(blockcopy_ss_4x4_neon); -@@ -495,21 +495,21 @@ void setupAssemblyPrimitives(EncoderPrim - p.chroma[X265_CSP_I422].cu[BLOCK_422_32x64].copy_sp = PFX(blockcopy_sp_32x64_neon); - - // pixel_add_ps -- p.cu[BLOCK_4x4].add_ps = PFX(pixel_add_ps_4x4_neon); -- p.cu[BLOCK_8x8].add_ps = PFX(pixel_add_ps_8x8_neon); -- p.cu[BLOCK_16x16].add_ps = PFX(pixel_add_ps_16x16_neon); -- p.cu[BLOCK_32x32].add_ps = PFX(pixel_add_ps_32x32_neon); -- p.cu[BLOCK_64x64].add_ps = PFX(pixel_add_ps_64x64_neon); -+ p.cu[BLOCK_4x4].add_ps[ALIGNED] = PFX(pixel_add_ps_4x4_neon); -+ p.cu[BLOCK_8x8].add_ps[ALIGNED] = PFX(pixel_add_ps_8x8_neon); -+ p.cu[BLOCK_16x16].add_ps[ALIGNED] = PFX(pixel_add_ps_16x16_neon); -+ p.cu[BLOCK_32x32].add_ps[ALIGNED] = PFX(pixel_add_ps_32x32_neon); -+ p.cu[BLOCK_64x64].add_ps[ALIGNED] = PFX(pixel_add_ps_64x64_neon); - - // chroma add_ps -- p.chroma[X265_CSP_I420].cu[BLOCK_420_4x4].add_ps = PFX(pixel_add_ps_4x4_neon); -- p.chroma[X265_CSP_I420].cu[BLOCK_420_8x8].add_ps = PFX(pixel_add_ps_8x8_neon); -- p.chroma[X265_CSP_I420].cu[BLOCK_420_16x16].add_ps = PFX(pixel_add_ps_16x16_neon); -- p.chroma[X265_CSP_I420].cu[BLOCK_420_32x32].add_ps = PFX(pixel_add_ps_32x32_neon); -- p.chroma[X265_CSP_I422].cu[BLOCK_422_4x8].add_ps = PFX(pixel_add_ps_4x8_neon); -- p.chroma[X265_CSP_I422].cu[BLOCK_422_8x16].add_ps = PFX(pixel_add_ps_8x16_neon); -- p.chroma[X265_CSP_I422].cu[BLOCK_422_16x32].add_ps = PFX(pixel_add_ps_16x32_neon); -- p.chroma[X265_CSP_I422].cu[BLOCK_422_32x64].add_ps = PFX(pixel_add_ps_32x64_neon); -+ p.chroma[X265_CSP_I420].cu[BLOCK_420_4x4].add_ps[ALIGNED] = PFX(pixel_add_ps_4x4_neon); -+ p.chroma[X265_CSP_I420].cu[BLOCK_420_8x8].add_ps[ALIGNED] = PFX(pixel_add_ps_8x8_neon); -+ p.chroma[X265_CSP_I420].cu[BLOCK_420_16x16].add_ps[ALIGNED] = PFX(pixel_add_ps_16x16_neon); -+ p.chroma[X265_CSP_I420].cu[BLOCK_420_32x32].add_ps[ALIGNED] = PFX(pixel_add_ps_32x32_neon); -+ p.chroma[X265_CSP_I422].cu[BLOCK_422_4x8].add_ps[ALIGNED] = PFX(pixel_add_ps_4x8_neon); -+ p.chroma[X265_CSP_I422].cu[BLOCK_422_8x16].add_ps[ALIGNED] = PFX(pixel_add_ps_8x16_neon); -+ p.chroma[X265_CSP_I422].cu[BLOCK_422_16x32].add_ps[ALIGNED] = PFX(pixel_add_ps_16x32_neon); -+ p.chroma[X265_CSP_I422].cu[BLOCK_422_32x64].add_ps[ALIGNED] = PFX(pixel_add_ps_32x64_neon); - - // cpy2Dto1D_shr - p.cu[BLOCK_4x4].cpy2Dto1D_shr = PFX(cpy2Dto1D_shr_4x4_neon); -@@ -518,10 +518,10 @@ void setupAssemblyPrimitives(EncoderPrim - p.cu[BLOCK_32x32].cpy2Dto1D_shr = PFX(cpy2Dto1D_shr_32x32_neon); - - // ssd_s -- p.cu[BLOCK_4x4].ssd_s = PFX(pixel_ssd_s_4x4_neon); -- p.cu[BLOCK_8x8].ssd_s = PFX(pixel_ssd_s_8x8_neon); -- p.cu[BLOCK_16x16].ssd_s = PFX(pixel_ssd_s_16x16_neon); -- p.cu[BLOCK_32x32].ssd_s = PFX(pixel_ssd_s_32x32_neon); -+ p.cu[BLOCK_4x4].ssd_s[ALIGNED] = PFX(pixel_ssd_s_4x4_neon); -+ p.cu[BLOCK_8x8].ssd_s[ALIGNED] = PFX(pixel_ssd_s_8x8_neon); -+ p.cu[BLOCK_16x16].ssd_s[ALIGNED] = PFX(pixel_ssd_s_16x16_neon); -+ p.cu[BLOCK_32x32].ssd_s[ALIGNED] = PFX(pixel_ssd_s_32x32_neon); - - // sse_ss - p.cu[BLOCK_4x4].sse_ss = PFX(pixel_sse_ss_4x4_neon); -@@ -548,10 +548,10 @@ void setupAssemblyPrimitives(EncoderPrim - p.chroma[X265_CSP_I422].cu[BLOCK_422_32x64].sub_ps = PFX(pixel_sub_ps_32x64_neon); - - // calc_Residual -- p.cu[BLOCK_4x4].calcresidual = PFX(getResidual4_neon); -- p.cu[BLOCK_8x8].calcresidual = PFX(getResidual8_neon); -- p.cu[BLOCK_16x16].calcresidual = PFX(getResidual16_neon); -- p.cu[BLOCK_32x32].calcresidual = PFX(getResidual32_neon); -+ p.cu[BLOCK_4x4].calcresidual[ALIGNED] = PFX(getResidual4_neon); -+ p.cu[BLOCK_8x8].calcresidual[ALIGNED] = PFX(getResidual8_neon); -+ p.cu[BLOCK_16x16].calcresidual[ALIGNED] = PFX(getResidual16_neon); -+ p.cu[BLOCK_32x32].calcresidual[ALIGNED] = PFX(getResidual32_neon); - - // sse_pp - p.cu[BLOCK_4x4].sse_pp = PFX(pixel_sse_pp_4x4_neon); -@@ -722,31 +722,31 @@ void setupAssemblyPrimitives(EncoderPrim - p.pu[LUMA_64x64].sad_x4 = PFX(sad_x4_64x64_neon); - - // pixel_avg_pp -- p.pu[LUMA_4x4].pixelavg_pp = PFX(pixel_avg_pp_4x4_neon); -- p.pu[LUMA_4x8].pixelavg_pp = PFX(pixel_avg_pp_4x8_neon); -- p.pu[LUMA_4x16].pixelavg_pp = PFX(pixel_avg_pp_4x16_neon); -- p.pu[LUMA_8x4].pixelavg_pp = PFX(pixel_avg_pp_8x4_neon); -- p.pu[LUMA_8x8].pixelavg_pp = PFX(pixel_avg_pp_8x8_neon); -- p.pu[LUMA_8x16].pixelavg_pp = PFX(pixel_avg_pp_8x16_neon); -- p.pu[LUMA_8x32].pixelavg_pp = PFX(pixel_avg_pp_8x32_neon); -- p.pu[LUMA_12x16].pixelavg_pp = PFX(pixel_avg_pp_12x16_neon); -- p.pu[LUMA_16x4].pixelavg_pp = PFX(pixel_avg_pp_16x4_neon); -- p.pu[LUMA_16x8].pixelavg_pp = PFX(pixel_avg_pp_16x8_neon); -- p.pu[LUMA_16x12].pixelavg_pp = PFX(pixel_avg_pp_16x12_neon); -- p.pu[LUMA_16x16].pixelavg_pp = PFX(pixel_avg_pp_16x16_neon); -- p.pu[LUMA_16x32].pixelavg_pp = PFX(pixel_avg_pp_16x32_neon); -- p.pu[LUMA_16x64].pixelavg_pp = PFX(pixel_avg_pp_16x64_neon); -- p.pu[LUMA_24x32].pixelavg_pp = PFX(pixel_avg_pp_24x32_neon); -- p.pu[LUMA_32x8].pixelavg_pp = PFX(pixel_avg_pp_32x8_neon); -- p.pu[LUMA_32x16].pixelavg_pp = PFX(pixel_avg_pp_32x16_neon); -- p.pu[LUMA_32x24].pixelavg_pp = PFX(pixel_avg_pp_32x24_neon); -- p.pu[LUMA_32x32].pixelavg_pp = PFX(pixel_avg_pp_32x32_neon); -- p.pu[LUMA_32x64].pixelavg_pp = PFX(pixel_avg_pp_32x64_neon); -- p.pu[LUMA_48x64].pixelavg_pp = PFX(pixel_avg_pp_48x64_neon); -- p.pu[LUMA_64x16].pixelavg_pp = PFX(pixel_avg_pp_64x16_neon); -- p.pu[LUMA_64x32].pixelavg_pp = PFX(pixel_avg_pp_64x32_neon); -- p.pu[LUMA_64x48].pixelavg_pp = PFX(pixel_avg_pp_64x48_neon); -- p.pu[LUMA_64x64].pixelavg_pp = PFX(pixel_avg_pp_64x64_neon); -+ p.pu[LUMA_4x4].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_4x4_neon); -+ p.pu[LUMA_4x8].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_4x8_neon); -+ p.pu[LUMA_4x16].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_4x16_neon); -+ p.pu[LUMA_8x4].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_8x4_neon); -+ p.pu[LUMA_8x8].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_8x8_neon); -+ p.pu[LUMA_8x16].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_8x16_neon); -+ p.pu[LUMA_8x32].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_8x32_neon); -+ p.pu[LUMA_12x16].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_12x16_neon); -+ p.pu[LUMA_16x4].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_16x4_neon); -+ p.pu[LUMA_16x8].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_16x8_neon); -+ p.pu[LUMA_16x12].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_16x12_neon); -+ p.pu[LUMA_16x16].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_16x16_neon); -+ p.pu[LUMA_16x32].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_16x32_neon); -+ p.pu[LUMA_16x64].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_16x64_neon); -+ p.pu[LUMA_24x32].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_24x32_neon); -+ p.pu[LUMA_32x8].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_32x8_neon); -+ p.pu[LUMA_32x16].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_32x16_neon); -+ p.pu[LUMA_32x24].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_32x24_neon); -+ p.pu[LUMA_32x32].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_32x32_neon); -+ p.pu[LUMA_32x64].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_32x64_neon); -+ p.pu[LUMA_48x64].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_48x64_neon); -+ p.pu[LUMA_64x16].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_64x16_neon); -+ p.pu[LUMA_64x32].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_64x32_neon); -+ p.pu[LUMA_64x48].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_64x48_neon); -+ p.pu[LUMA_64x64].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_64x64_neon); - - // planecopy - p.planecopy_cp = PFX(pixel_planecopy_cp_neon); diff --git a/x265-arm-cflags.patch b/x265-arm-cflags.patch index 30d213a..8cd5c86 100644 --- a/x265-arm-cflags.patch +++ b/x265-arm-cflags.patch @@ -1,26 +1,35 @@ -diff -up x265_2.7/source/CMakeLists.txt.cflags x265_2.7/source/CMakeLists.txt ---- x265_2.7/source/CMakeLists.txt.cflags 2018-02-27 20:19:33.328932385 +0100 -+++ x265_2.7/source/CMakeLists.txt 2018-02-27 20:29:14.808956583 +0100 -@@ -233,18 +233,6 @@ if(GCC) +--- x265_3.4/source/CMakeLists.txt.cflags ++++ x265_3.4/source/CMakeLists.txt +@@ -238,28 +238,6 @@ endif() endif() endif() - if(ARM AND CROSS_COMPILE_ARM) -- set(ARM_ARGS -march=armv6 -mfloat-abi=soft -mfpu=vfp -marm -fPIC) +- if(ARM64) +- set(ARM_ARGS -fPIC) +- else() +- set(ARM_ARGS -march=armv6 -mfloat-abi=soft -mfpu=vfp -marm -fPIC) +- endif() +- message(STATUS "cross compile arm") - elseif(ARM) -- find_package(Neon) -- if(CPU_HAS_NEON) -- set(ARM_ARGS -mcpu=native -mfloat-abi=hard -mfpu=neon -marm -fPIC) +- if(ARM64) +- set(ARM_ARGS -fPIC) - add_definitions(-DHAVE_NEON) - else() -- set(ARM_ARGS -mcpu=native -mfloat-abi=hard -mfpu=vfp -marm) +- find_package(Neon) +- if(CPU_HAS_NEON) +- set(ARM_ARGS -mcpu=native -mfloat-abi=hard -mfpu=neon -marm -fPIC) +- add_definitions(-DHAVE_NEON) +- else() +- set(ARM_ARGS -mcpu=native -mfloat-abi=hard -mfpu=vfp -marm) +- endif() - endif() - endif() - add_definitions(${ARM_ARGS}) if(FPROFILE_GENERATE) if(INTEL_CXX) add_definitions(-prof-gen -prof-dir="${CMAKE_CURRENT_BINARY_DIR}") -@@ -517,7 +505,7 @@ if((MSVC_IDE OR XCODE OR GCC) AND ENABLE +@@ -546,7 +524,7 @@ add_custom_command( OUTPUT ${ASM}.${SUFFIX} COMMAND ${CMAKE_CXX_COMPILER} @@ -29,10 +38,10 @@ diff -up x265_2.7/source/CMakeLists.txt.cflags x265_2.7/source/CMakeLists.txt DEPENDS ${ASM_SRC}) endforeach() elseif(X86) -diff -up x265_2.7/source/dynamicHDR10/CMakeLists.txt.cflags x265_2.7/source/dynamicHDR10/CMakeLists.txt ---- x265_2.7/source/dynamicHDR10/CMakeLists.txt.cflags 2018-02-21 09:55:56.000000000 +0100 -+++ x265_2.7/source/dynamicHDR10/CMakeLists.txt 2018-02-27 20:29:45.377062994 +0100 -@@ -42,18 +42,6 @@ if(GCC) + +--- x265_3.4/source/dynamicHDR10/CMakeLists.txt.cflags ++++ x265_3.4/source/dynamicHDR10/CMakeLists.txt +@@ -42,18 +42,6 @@ endif() endif() endif() @@ -51,10 +60,4 @@ diff -up x265_2.7/source/dynamicHDR10/CMakeLists.txt.cflags x265_2.7/source/dyna if(FPROFILE_GENERATE) if(INTEL_CXX) add_definitions(-prof-gen -prof-dir="${CMAKE_CURRENT_BINARY_DIR}") -@@ -150,4 +138,4 @@ set(BIN_INSTALL_DIR bin CACHE STRING "In - option(ENABLE_SHARED "Build shared library" OFF) - - install(FILES hdr10plus.h DESTINATION include) --endif() -\ Pas de fin de ligne à la fin du fichier -+endif() + diff --git a/x265-detect_cpu_armhfp.patch b/x265-detect_cpu_armhfp.patch index c9a92b8..797ad04 100644 --- a/x265-detect_cpu_armhfp.patch +++ b/x265-detect_cpu_armhfp.patch @@ -1,47 +1,3 @@ -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: diff --git a/x265.spec b/x265.spec index 76ccd41..76c2086 100644 --- a/x265.spec +++ b/x265.spec @@ -1,9 +1,9 @@ -%global _so_version 188 +%global _so_version 192 Summary: H.265/HEVC encoder Name: x265 -Version: 3.3 -Release: 2%{?dist} +Version: 3.4 +Release: 1%{?dist} URL: http://x265.org/ # source/Lib/TLibCommon - BSD # source/Lib/TLibEncoder - BSD @@ -17,7 +17,6 @@ Patch1: x265-high-bit-depth-soname.patch Patch2: x265-detect_cpu_armhfp.patch Patch3: x265-arm-cflags.patch Patch4: x265-pkgconfig_path_fix.patch -Patch5: x265-2.8-asm-primitives.patch BuildRequires: gcc-c++ BuildRequires: cmake3 @@ -139,6 +138,9 @@ done %{_libdir}/pkgconfig/x265.pc %changelog +* Sun May 31 2020 Leigh Scott - 3.4-1 +- Update to 3.4 + * Wed Mar 11 2020 Nicolas Chauvet - 3.3-2 - Rebuilt for i686 From e65d99460c66abbf37c7f8f5476c47bcd14028dc Mon Sep 17 00:00:00 2001 From: Leigh Scott Date: Fri, 24 Jul 2020 00:20:24 +0100 Subject: [PATCH 47/59] Use old cmake macro --- x265.spec | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/x265.spec b/x265.spec index 76c2086..d9f9db3 100644 --- a/x265.spec +++ b/x265.spec @@ -1,9 +1,12 @@ +# Use old cmake macro +%global __cmake_in_source_build 1 + %global _so_version 192 Summary: H.265/HEVC encoder Name: x265 Version: 3.4 -Release: 1%{?dist} +Release: 2%{?dist} URL: http://x265.org/ # source/Lib/TLibCommon - BSD # source/Lib/TLibEncoder - BSD @@ -138,6 +141,9 @@ done %{_libdir}/pkgconfig/x265.pc %changelog +* Thu Jul 23 2020 Leigh Scott - 3.4-2 +- Use old cmake macro + * Sun May 31 2020 Leigh Scott - 3.4-1 - Update to 3.4 From d2d0936761cb10c6b496ea762c2b541520fb81c0 Mon Sep 17 00:00:00 2001 From: Leigh Scott Date: Wed, 19 Aug 2020 02:16:42 +0100 Subject: [PATCH 48/59] - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild Signed-off-by: Leigh Scott --- x265.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/x265.spec b/x265.spec index d9f9db3..88dda59 100644 --- a/x265.spec +++ b/x265.spec @@ -6,7 +6,7 @@ Summary: H.265/HEVC encoder Name: x265 Version: 3.4 -Release: 2%{?dist} +Release: 3%{?dist} URL: http://x265.org/ # source/Lib/TLibCommon - BSD # source/Lib/TLibEncoder - BSD @@ -141,6 +141,9 @@ done %{_libdir}/pkgconfig/x265.pc %changelog +* Wed Aug 19 2020 RPM Fusion Release Engineering - 3.4-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + * Thu Jul 23 2020 Leigh Scott - 3.4-2 - Use old cmake macro From 1d9de9bf7eabeb79f3f1f4c1ec755ec3166394c2 Mon Sep 17 00:00:00 2001 From: Leigh Scott Date: Thu, 4 Feb 2021 10:41:50 +0000 Subject: [PATCH 49/59] - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild Signed-off-by: Leigh Scott --- x265.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/x265.spec b/x265.spec index 88dda59..2ce6287 100644 --- a/x265.spec +++ b/x265.spec @@ -6,7 +6,7 @@ Summary: H.265/HEVC encoder Name: x265 Version: 3.4 -Release: 3%{?dist} +Release: 4%{?dist} URL: http://x265.org/ # source/Lib/TLibCommon - BSD # source/Lib/TLibEncoder - BSD @@ -141,6 +141,9 @@ done %{_libdir}/pkgconfig/x265.pc %changelog +* Thu Feb 04 2021 RPM Fusion Release Engineering - 3.4-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + * Wed Aug 19 2020 RPM Fusion Release Engineering - 3.4-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild From 589474b23d1edfba1acf01f3d2e009481866628a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9rgio=20M=2E=20Basto?= Date: Tue, 16 Mar 2021 11:08:47 +0000 Subject: [PATCH 50/59] Fix source URL --- x265.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/x265.spec b/x265.spec index 2ce6287..1c6d958 100644 --- a/x265.spec +++ b/x265.spec @@ -12,7 +12,7 @@ URL: http://x265.org/ # source/Lib/TLibEncoder - BSD # everything else - GPLv2+ License: GPLv2+ and BSD -Source0: https://bitbucket.org/multicoreware/%{name}/downloads/%{name}_%{version}.tar.gz +Source0: https://bitbucket.org/multicoreware/x265_git/get/%{version}.tar.gz#%{name}_%{version}.tar.gz # fix building as PIC Patch0: x265-pic.patch From 33d742c46cac87947777c9ad6d625f87bc19313a Mon Sep 17 00:00:00 2001 From: Leigh Scott Date: Tue, 16 Mar 2021 11:34:28 +0000 Subject: [PATCH 51/59] Enable HDR10+ --- x265.spec | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/x265.spec b/x265.spec index 1c6d958..f75ddd6 100644 --- a/x265.spec +++ b/x265.spec @@ -6,7 +6,7 @@ Summary: H.265/HEVC encoder Name: x265 Version: 3.4 -Release: 4%{?dist} +Release: 5%{?dist} URL: http://x265.org/ # source/Lib/TLibCommon - BSD # source/Lib/TLibEncoder - BSD @@ -75,6 +75,7 @@ build() { -DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=ON \ -DCMAKE_SKIP_RPATH:BOOL=YES \ -DENABLE_PIC:BOOL=ON \ + -DENABLE_SHARED=ON \ -DENABLE_TESTS:BOOL=ON \ $* \ ../source @@ -95,7 +96,7 @@ popd # 8 bit base library + encoder mkdir 8bit; pushd 8bit - build + build -DENABLE_HDR10_PLUS=YES popd %install @@ -127,6 +128,7 @@ done %files libs %license COPYING +%{_libdir}/libhdr10plus.so %{_libdir}/libx265.so.%{_so_version} %ifarch x86_64 aarch64 ppc64 ppc64le %{_libdir}/libx265_main10.so.%{_so_version} @@ -135,12 +137,16 @@ done %files devel %doc doc/* +%{_includedir}/hdr10plus.h %{_includedir}/x265.h %{_includedir}/x265_config.h %{_libdir}/libx265.so %{_libdir}/pkgconfig/x265.pc %changelog +* Tue Mar 16 2021 Leigh Scott - 3.4-5 +- Enable HDR10+. + * Thu Feb 04 2021 RPM Fusion Release Engineering - 3.4-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild From 575d56e2748347458d2ecd4e8c7f65145fe81ff7 Mon Sep 17 00:00:00 2001 From: Leigh Scott Date: Tue, 16 Mar 2021 11:56:10 +0000 Subject: [PATCH 52/59] Fix 'Fix source URL' --- x265.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/x265.spec b/x265.spec index f75ddd6..ba5e581 100644 --- a/x265.spec +++ b/x265.spec @@ -12,7 +12,7 @@ URL: http://x265.org/ # source/Lib/TLibEncoder - BSD # everything else - GPLv2+ License: GPLv2+ and BSD -Source0: https://bitbucket.org/multicoreware/x265_git/get/%{version}.tar.gz#%{name}_%{version}.tar.gz +Source0: https://bitbucket.org/multicoreware/x265_git/get/%{version}.tar.gz#/%{name}_%{version}.tar.gz # fix building as PIC Patch0: x265-pic.patch From 739e7c0cb355301cb17ab03535fccfc573a602ef Mon Sep 17 00:00:00 2001 From: Leigh Scott Date: Tue, 13 Apr 2021 23:02:53 +0100 Subject: [PATCH 53/59] Update to 3.5 --- sources | 2 +- x265.spec | 28 ++++++++++++++++++++-------- 2 files changed, 21 insertions(+), 9 deletions(-) diff --git a/sources b/sources index e336356..af884a1 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (x265_3.4.tar.gz) = 576b18711935e7da8433b2170d24ed159eb12ff1a18399360afa1b2132db33b463145c65ed918f667528ee954bbdfb5c69e5480f1c1df801515cefc592f3206e +SHA512 (x265_3.5.tar.gz) = 230e683239c3e262096ba96246c6f67229a1625d163f86647a411733bb1cf349685858aee3017bce818bb6992448d0abaa9241615a5b620561ce47ecb164f997 diff --git a/x265.spec b/x265.spec index ba5e581..31f1471 100644 --- a/x265.spec +++ b/x265.spec @@ -1,18 +1,18 @@ # Use old cmake macro %global __cmake_in_source_build 1 -%global _so_version 192 +%global _so_version 199 Summary: H.265/HEVC encoder Name: x265 -Version: 3.4 -Release: 5%{?dist} +Version: 3.5 +Release: 1%{?dist} URL: http://x265.org/ # source/Lib/TLibCommon - BSD # source/Lib/TLibEncoder - BSD # everything else - GPLv2+ License: GPLv2+ and BSD -Source0: https://bitbucket.org/multicoreware/x265_git/get/%{version}.tar.gz#/%{name}_%{version}.tar.gz +Source0: https://bitbucket.org/multicoreware/%{name}_git/downloads/%{name}_%{version}.tar.gz # fix building as PIC Patch0: x265-pic.patch @@ -22,6 +22,7 @@ Patch3: x265-arm-cflags.patch Patch4: x265-pkgconfig_path_fix.patch BuildRequires: gcc-c++ +BuildRequires: git BuildRequires: cmake3 %{?el7:BuildRequires: epel-rpm-macros} BuildRequires: nasm @@ -77,20 +78,28 @@ build() { -DENABLE_PIC:BOOL=ON \ -DENABLE_SHARED=ON \ -DENABLE_TESTS:BOOL=ON \ + -DCMAKE_ASM_NASM_FLAGS=-w-macro-params-legacy \ $* \ ../source -%ninja_build +%cmake3_build } # High depth 10/12 bit libraries are supported only on 64 bit. They require # disabled AltiVec instructions for building on ppc64/ppc64le. %ifarch x86_64 aarch64 ppc64 ppc64le mkdir 10bit; pushd 10bit - build -DENABLE_CLI=OFF -DENABLE_ALTIVEC=OFF -DHIGH_BIT_DEPTH=ON + build \ + -DENABLE_CLI=OFF \ + -DENABLE_ALTIVEC=OFF \ + -DHIGH_BIT_DEPTH=ON popd mkdir 12bit; pushd 12bit - build -DENABLE_CLI=OFF -DENABLE_ALTIVEC=OFF -DHIGH_BIT_DEPTH=ON -DMAIN12=ON + build \ + -DENABLE_CLI=OFF \ + -DENABLE_ALTIVEC=OFF \ + -DHIGH_BIT_DEPTH=ON \ + -DMAIN12=ON popd %endif @@ -103,7 +112,7 @@ popd for i in 8 10 12; do if [ -d ${i}bit ]; then pushd ${i}bit - %ninja_install + %cmake3_install # Remove unversioned library, should not be linked to rm -f %{buildroot}%{_libdir}/libx265_main${i}.so popd @@ -144,6 +153,9 @@ done %{_libdir}/pkgconfig/x265.pc %changelog +* Tue Apr 13 2021 Leigh Scott - 3.5-1 +- Update to 3.5 + * Tue Mar 16 2021 Leigh Scott - 3.4-5 - Enable HDR10+. From feec0794984e60633f875e48289749bc1cc4ad75 Mon Sep 17 00:00:00 2001 From: Leigh Scott Date: Tue, 3 Aug 2021 15:02:25 +0100 Subject: [PATCH 54/59] - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild Signed-off-by: Leigh Scott --- x265.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/x265.spec b/x265.spec index 31f1471..1121f21 100644 --- a/x265.spec +++ b/x265.spec @@ -6,7 +6,7 @@ Summary: H.265/HEVC encoder Name: x265 Version: 3.5 -Release: 1%{?dist} +Release: 2%{?dist} URL: http://x265.org/ # source/Lib/TLibCommon - BSD # source/Lib/TLibEncoder - BSD @@ -153,6 +153,9 @@ done %{_libdir}/pkgconfig/x265.pc %changelog +* Tue Aug 03 2021 RPM Fusion Release Engineering - 3.5-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + * Tue Apr 13 2021 Leigh Scott - 3.5-1 - Update to 3.5 From 9221678696b5acae3d563d0e5898a756b4987167 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9rgio=20M=2E=20Basto?= Date: Wed, 9 Feb 2022 23:29:25 +0000 Subject: [PATCH 55/59] - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Sérgio M. Basto --- x265.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/x265.spec b/x265.spec index 1121f21..426dc22 100644 --- a/x265.spec +++ b/x265.spec @@ -6,7 +6,7 @@ Summary: H.265/HEVC encoder Name: x265 Version: 3.5 -Release: 2%{?dist} +Release: 3%{?dist} URL: http://x265.org/ # source/Lib/TLibCommon - BSD # source/Lib/TLibEncoder - BSD @@ -153,6 +153,9 @@ done %{_libdir}/pkgconfig/x265.pc %changelog +* Wed Feb 09 2022 RPM Fusion Release Engineering - 3.5-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + * Tue Aug 03 2021 RPM Fusion Release Engineering - 3.5-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild From 179000f8ab1a9dd198a9b74caa7a55b90e29614f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9rgio=20M=2E=20Basto?= Date: Mon, 8 Aug 2022 03:10:49 +0100 Subject: [PATCH 56/59] - Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild and ffmpeg 5.1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Sérgio M. Basto --- x265.spec | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/x265.spec b/x265.spec index 426dc22..7b3572e 100644 --- a/x265.spec +++ b/x265.spec @@ -6,7 +6,7 @@ Summary: H.265/HEVC encoder Name: x265 Version: 3.5 -Release: 3%{?dist} +Release: 4%{?dist} URL: http://x265.org/ # source/Lib/TLibCommon - BSD # source/Lib/TLibEncoder - BSD @@ -153,6 +153,10 @@ done %{_libdir}/pkgconfig/x265.pc %changelog +* Mon Aug 08 2022 RPM Fusion Release Engineering - 3.5-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild and ffmpeg + 5.1 + * Wed Feb 09 2022 RPM Fusion Release Engineering - 3.5-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild From bb403f4cd3a65ecca1495a5e0d3f6afb3e1655d3 Mon Sep 17 00:00:00 2001 From: Nicolas Chauvet Date: Thu, 29 Dec 2022 19:20:35 +0100 Subject: [PATCH 57/59] Enable ENABLE_HDR10_PLUS everywhere rfbz#6454 Signed-off-by: Nicolas Chauvet --- x265.spec | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/x265.spec b/x265.spec index 7b3572e..74db061 100644 --- a/x265.spec +++ b/x265.spec @@ -78,6 +78,7 @@ build() { -DENABLE_PIC:BOOL=ON \ -DENABLE_SHARED=ON \ -DENABLE_TESTS:BOOL=ON \ + -DENABLE_HDR10_PLUS=YES \ -DCMAKE_ASM_NASM_FLAGS=-w-macro-params-legacy \ $* \ ../source @@ -105,7 +106,7 @@ popd # 8 bit base library + encoder mkdir 8bit; pushd 8bit - build -DENABLE_HDR10_PLUS=YES + build popd %install From 71d6a8d94d7c5af079ca5b2db77bc8e4b6584dca Mon Sep 17 00:00:00 2001 From: Nicolas Chauvet Date: Thu, 29 Dec 2022 19:22:15 +0100 Subject: [PATCH 58/59] Update changelog --- x265.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/x265.spec b/x265.spec index 74db061..894f562 100644 --- a/x265.spec +++ b/x265.spec @@ -6,7 +6,7 @@ Summary: H.265/HEVC encoder Name: x265 Version: 3.5 -Release: 4%{?dist} +Release: 5%{?dist} URL: http://x265.org/ # source/Lib/TLibCommon - BSD # source/Lib/TLibEncoder - BSD @@ -154,6 +154,9 @@ done %{_libdir}/pkgconfig/x265.pc %changelog +* Thu Dec 29 2022 Nicolas Chauvet - 3.5-5 +- Enable ENABLE_HDR10_PLUS everywhere rfbz#6454 + * Mon Aug 08 2022 RPM Fusion Release Engineering - 3.5-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild and ffmpeg 5.1 From 6022c697ec7c4307afec80080e9dc8badf80c106 Mon Sep 17 00:00:00 2001 From: MSVSphere Packaging Team Date: Tue, 31 Oct 2023 00:33:33 +0300 Subject: [PATCH 59/59] Remove unnecessary files --- sources | 1 - 1 file changed, 1 deletion(-) delete mode 100644 sources diff --git a/sources b/sources deleted file mode 100644 index af884a1..0000000 --- a/sources +++ /dev/null @@ -1 +0,0 @@ -SHA512 (x265_3.5.tar.gz) = 230e683239c3e262096ba96246c6f67229a1625d163f86647a411733bb1cf349685858aee3017bce818bb6992448d0abaa9241615a5b620561ce47ecb164f997