Changes of Revision 24
x265.changes
Changed
x
1
2
-------------------------------------------------------------------
3
+Mon Mar 3 03:03:03 UTC 2025 - olaf@aepfle.de
4
+
5
+- Update to version 4.1
6
+ see included releasenotes.rst for details
7
+
8
+-------------------------------------------------------------------
9
Thu Jun 13 05:58:19 UTC 2024 - Luigi Baldoni <aloisio@gmx.com>
10
11
- Update to version 3.6
12
_service:set_version:x265.spec
Added
170
1
2
+#
3
+# spec file for package x265
4
+#
5
+# Copyright (c) 2024 Packman Team <packman@links2linux.de>
6
+# Copyright (c) 2014 Torsten Gruner <t.gruner@katodev.de>
7
+#
8
+# All modifications and additions to the file contributed by third parties
9
+# remain the property of their copyright owners, unless otherwise agreed
10
+# upon. The license for this file, and modifications and additions to the
11
+# file, is the same license as for the pristine package itself (unless the
12
+# license for the pristine package is not an Open Source License, in which
13
+# case the license is the MIT License). An "Open Source License" is a
14
+# license that conforms to the Open Source Definition (Version 1.9)
15
+# published by the Open Source Initiative.
16
+
17
+# Please submit bugfixes or comments via https://bugs.links2linux.org/
18
+#
19
+
20
+
21
+%define sover 215
22
+%define libname lib%name
23
+%define libsoname %{libname}-%{sover}
24
+%define uver 4_1
25
+Name: x265
26
+Version: 4.1
27
+Release: 0
28
+Summary: A free h265/HEVC encoder - encoder binary
29
+License: GPL-2.0-or-later
30
+URL: https://bitbucket.org/multicoreware/x265_git
31
+Source0: %name-%version.tar
32
+Patch0: %name.patch
33
+Patch1: x265.pkgconfig.patch
34
+Patch3: 0001-Fix-arm-flags.patch
35
+Patch4: 0004-Do-not-build-with-assembly-support-on-arm.patch
36
+BuildRequires: cmake
37
+%if 0%{?suse_version} > 1500
38
+BuildRequires: gcc-c++
39
+%else
40
+BuildRequires: gcc13
41
+BuildRequires: gcc13-c++
42
+%endif
43
+BuildRequires: nasm >= 2.13
44
+BuildRequires: pkgconfig
45
+%ifarch x86_64
46
+BuildRequires: libnuma-devel >= 2.0.9
47
+%endif
48
+
49
+%description
50
+x265 is a free library for encoding next-generation H265/HEVC video
51
+streams.
52
+
53
+%package -n %{libsoname}
54
+Summary: A free H265/HEVC encoder - encoder binary
55
+
56
+%description -n %{libsoname}
57
+x265 is a free library for encoding next-generation H265/HEVC video
58
+streams.
59
+
60
+%package -n libhdr10plus-%{uver}
61
+Summary: A free HDR10+ library
62
+
63
+%description -n libhdr10plus-%{uver}
64
+A free library supporting HDR10+.
65
+
66
+%package -n %{libname}-devel
67
+Summary: Libraries and include file for the %{libname} encoder
68
+Requires: %{libsoname} = %version-%release
69
+Requires: libhdr10plus-%{uver} = %version-%release
70
+Provides: %name-devel = %version
71
+Obsoletes: %name-devel < %version
72
+
73
+%description -n %{libname}-devel
74
+x265 is a free library for encoding next-generation H265/HEVC video
75
+streams.
76
+
77
+%prep
78
+%autosetup -p1
79
+
80
+%build
81
+test -x "$(type -p gcc)" && CC="$_"
82
+test -x "$(type -p g++)" && CXX="$_"
83
+test -x "$(type -p gcc-13)" && CC="$_"
84
+test -x "$(type -p g++-13)" && CXX="$_"
85
+export CC="$(readlink -f ${CC})"
86
+export CXX="$(readlink -f ${CXX})"
87
+CFLAGS='%optflags -Wno-misleading-indentation -Wno-unused-parameter -Wno-unused-variable'
88
+CXXFLAGS='%optflags -Wno-misleading-indentation -Wno-unused-parameter -Wno-unused-variable'
89
+# set the version by hand
90
+sed -i~ "/^include(Version)/d" source/CMakeLists.txt
91
+diff -u "$_"~ "$_" && exit 1
92
+# force version number in the soname
93
+sed -i~ 's/hdr10plus-shared PROPERTIES OUTPUT_NAME hdr10plus/hdr10plus-shared PROPERTIES OUTPUT_NAME hdr10plus-%version/' \
94
+ source/CMakeLists.txt
95
+diff -u "$_"~ "$_" && exit 1
96
+
97
+SOURCE_DIR="$PWD"/source
98
+COMMON_FLAGS="-DENABLE_TESTS=OFF -DENABLE_PIC=ON -Wno-dev"
99
+HIGH_BIT_DEPTH_FLAGS="-DENABLE_CLI=OFF -DENABLE_SHARED=OFF -DEXPORT_C_API=OFF -DHIGH_BIT_DEPTH=ON"
100
+
101
+%define __sourcedir ./source
102
+
103
+# Build 10bit depth version of the library
104
+%define __builddir ./source/build-10bit
105
+%cmake $COMMON_FLAGS $HIGH_BIT_DEPTH_FLAGS \
106
+%ifarch i586
107
+ -DENABLE_ASSEMBLY=OFF
108
+%endif
109
+
110
+%make_build
111
+cd ../..
112
+
113
+# Build 12bit depth version of the library
114
+%define __builddir ./source/build-12bit
115
+%cmake $COMMON_FLAGS $HIGH_BIT_DEPTH_FLAGS -DMAIN12=ON \
116
+%ifarch i586
117
+ -DENABLE_ASSEMBLY=OFF
118
+%endif
119
+
120
+%make_build
121
+cd ../..
122
+
123
+mv source/build-10bit/libx265.a source/build-10bit/libx265_main10.a
124
+mv source/build-12bit/libx265.a source/build-12bit/libx265_main12.a
125
+
126
+# Build general version of the library linking in the 10/12bit depth versions
127
+%define __builddir ./source/build
128
+%cmake $COMMON_FLAGS \
129
+ -DENABLE_SHARED=ON \
130
+ -DX265_LATEST_TAG="%{sover}.0" \
131
+ -DX265_VERSION="%version" \
132
+ -DENABLE_HDR10_PLUS=ON \
133
+ -DENABLE_CLI=ON \
134
+ -DLINKED_10BIT=ON \
135
+ -DLINKED_12BIT=ON \
136
+ -DEXTRA_LINK_FLAGS="-L$SOURCE_DIR/build-10bit -L$SOURCE_DIR/build-12bit" \
137
+ -DEXTRA_LIB="x265_main10.a;x265_main12.a"
138
+%make_build
139
+cd ../../
140
+
141
+%install
142
+%cmake_install
143
+find %buildroot -type f -name "*.a" -delete -print0
144
+
145
+%check
146
+
147
+%post -n %{libsoname} -p /sbin/ldconfig
148
+%postun -n %{libsoname} -p /sbin/ldconfig
149
+
150
+%post -n libhdr10plus-%{uver} -p /sbin/ldconfig
151
+%postun -n libhdr10plus-%{uver} -p /sbin/ldconfig
152
+
153
+%files -n %{libsoname}
154
+%doc doc/reST/releasenotes.rst
155
+%_libdir/%{libname}.so.%{sover}*
156
+
157
+%files -n libhdr10plus-%{uver}
158
+%_libdir/libhdr10plus-%version.so
159
+
160
+%files
161
+%_bindir/*
162
+
163
+%files -n %{libname}-devel
164
+%license COPYING
165
+%_includedir/*
166
+%_libdir/pkgconfig/*.pc
167
+%_libdir/%{libname}.so
168
+
169
+%changelog
170
x265.spec
Changed
164
1
2
#
3
4
5
-%define sover 209
6
-%define libname lib%{name}
7
+%define sover 215
8
+%define libname lib%name
9
%define libsoname %{libname}-%{sover}
10
-%define uver 3_6
11
+%define uver 4_1
12
Name: x265
13
-Version: 3.6
14
+Version: 4.1
15
Release: 0
16
Summary: A free h265/HEVC encoder - encoder binary
17
License: GPL-2.0-or-later
18
-Group: Productivity/Multimedia/Video/Editors and Convertors
19
URL: https://bitbucket.org/multicoreware/x265_git
20
-Source0: https://bitbucket.org/multicoreware/x265_git/downloads/%{name}_%{version}.tar.gz
21
+Source0: %name-%version.tar
22
+Patch0: %name.patch
23
Patch1: x265.pkgconfig.patch
24
Patch3: 0001-Fix-arm-flags.patch
25
Patch4: 0004-Do-not-build-with-assembly-support-on-arm.patch
26
27
%if 0%{?suse_version} > 1500
28
BuildRequires: gcc-c++
29
%else
30
-%if 0%{?sle_version} > 150500
31
BuildRequires: gcc13
32
BuildRequires: gcc13-c++
33
-%else
34
-BuildRequires: gcc10
35
-BuildRequires: gcc10-c++
36
-%endif
37
%endif
38
BuildRequires: nasm >= 2.13
39
BuildRequires: pkgconfig
40
41
42
%package -n %{libsoname}
43
Summary: A free H265/HEVC encoder - encoder binary
44
-Group: Productivity/Multimedia/Video/Editors and Convertors
45
46
%description -n %{libsoname}
47
x265 is a free library for encoding next-generation H265/HEVC video
48
49
50
%package -n libhdr10plus-%{uver}
51
Summary: A free HDR10+ library
52
-Group: Productivity/Multimedia/Video/Editors and Convertors
53
54
%description -n libhdr10plus-%{uver}
55
A free library supporting HDR10+.
56
57
%package -n %{libname}-devel
58
Summary: Libraries and include file for the %{libname} encoder
59
-Group: Development/Libraries/C and C++
60
-Requires: %{libsoname} = %{version}-%{release}
61
-Requires: libhdr10plus-%{uver} = %{version}-%{release}
62
-Provides: %{name}-devel = %{version}
63
-Obsoletes: %{name}-devel < %{version}
64
+Requires: %{libsoname} = %version-%release
65
+Requires: libhdr10plus-%{uver} = %version-%release
66
+Provides: %name-devel = %version
67
+Obsoletes: %name-devel < %version
68
69
%description -n %{libname}-devel
70
x265 is a free library for encoding next-generation H265/HEVC video
71
streams.
72
73
%prep
74
-%autosetup -p1 -n %{name}_%{version}
75
+%autosetup -p1
76
77
%build
78
test -x "$(type -p gcc)" && CC="$_"
79
test -x "$(type -p g++)" && CXX="$_"
80
-test -x "$(type -p gcc-10)" && CC="$_"
81
-test -x "$(type -p g++-10)" && CXX="$_"
82
test -x "$(type -p gcc-13)" && CC="$_"
83
test -x "$(type -p g++-13)" && CXX="$_"
84
export CC="$(readlink -f ${CC})"
85
86
sed -i~ "/^include(Version)/d" source/CMakeLists.txt
87
diff -u "$_"~ "$_" && exit 1
88
# force version number in the soname
89
-sed -i~ 's/hdr10plus-shared PROPERTIES OUTPUT_NAME hdr10plus/hdr10plus-shared PROPERTIES OUTPUT_NAME hdr10plus-%{version}/' \
90
+sed -i~ 's/hdr10plus-shared PROPERTIES OUTPUT_NAME hdr10plus/hdr10plus-shared PROPERTIES OUTPUT_NAME hdr10plus-%version/' \
91
source/CMakeLists.txt
92
diff -u "$_"~ "$_" && exit 1
93
94
95
-DENABLE_ASSEMBLY=OFF
96
%endif
97
98
-make %{?_smp_mflags}
99
+%make_build
100
cd ../..
101
102
# Build 12bit depth version of the library
103
104
-DENABLE_ASSEMBLY=OFF
105
%endif
106
107
-make %{?_smp_mflags}
108
+%make_build
109
cd ../..
110
111
mv source/build-10bit/libx265.a source/build-10bit/libx265_main10.a
112
113
%cmake $COMMON_FLAGS \
114
-DENABLE_SHARED=ON \
115
-DX265_LATEST_TAG="%{sover}.0" \
116
- -DX265_VERSION="%{version}" \
117
+ -DX265_VERSION="%version" \
118
-DENABLE_HDR10_PLUS=ON \
119
-DENABLE_CLI=ON \
120
-DLINKED_10BIT=ON \
121
-DLINKED_12BIT=ON \
122
-DEXTRA_LINK_FLAGS="-L$SOURCE_DIR/build-10bit -L$SOURCE_DIR/build-12bit" \
123
-DEXTRA_LIB="x265_main10.a;x265_main12.a"
124
-make %{?_smp_mflags}
125
+%make_build
126
cd ../../
127
128
%install
129
%cmake_install
130
-find %{buildroot} -type f -name "*.a" -delete -print0
131
+find %buildroot -type f -name "*.a" -delete -print0
132
133
%check
134
135
136
%postun -n libhdr10plus-%{uver} -p /sbin/ldconfig
137
138
%files -n %{libsoname}
139
-%{_libdir}/%{libname}.so.%{sover}*
140
+%doc doc/reST/releasenotes.rst
141
+%_libdir/%{libname}.so.%{sover}*
142
143
%files -n libhdr10plus-%{uver}
144
-%{_libdir}/libhdr10plus-%{version}.so
145
+%_libdir/libhdr10plus-%version.so
146
147
%files
148
-%{_bindir}/%{name}
149
+%_bindir/*
150
151
%files -n %{libname}-devel
152
%license COPYING
153
-%doc readme.rst
154
-%{_includedir}/%{name}.h
155
-%{_includedir}/%{name}_config.h
156
-%{_includedir}/hdr10plus.h
157
-%{_libdir}/pkgconfig/%{name}.pc
158
-%{_libdir}/%{libname}.so
159
+%_includedir/*
160
+%_libdir/pkgconfig/*.pc
161
+%_libdir/%{libname}.so
162
163
%changelog
164
0001-Fix-arm-flags.patch
Changed
83
1
2
Subject: Fix arm* flags
3
4
---
5
- source/CMakeLists.txt | 7 ++-----
6
- 1 file changed, 2 insertions(+), 5 deletions(-)
7
+ source/CMakeLists.txt | 3 ---
8
+ source/cmake/FindNEON_DOTPROD.cmake | 2 +-
9
+ source/cmake/FindNEON_I8MM.cmake | 2 +-
10
+ source/cmake/FindSVE.cmake | 2 +-
11
+ source/cmake/FindSVE2.cmake | 4 ++--
12
+ 5 files changed, 5 insertions(+), 8 deletions(-)
13
14
-diff --git a/source/CMakeLists.txt b/source/CMakeLists.txt
15
-index ab5ddfe..eb9b19b 100755
16
--- a/source/CMakeLists.txt
17
+++ b/source/CMakeLists.txt
18
-@@ -253,10 +253,7 @@ if(GCC)
19
+@@ -274,10 +274,7 @@
20
elseif(ARM)
21
find_package(Neon)
22
if(CPU_HAS_NEON)
23
24
- set(ARM_ARGS -mcpu=native -mfloat-abi=hard -mfpu=vfp -marm)
25
endif()
26
endif()
27
- if(ARM64 OR CROSS_COMPILE_ARM64)
28
-@@ -265,13 +262,13 @@ if(GCC)
29
- find_package(SVE2)
30
- if(CPU_HAS_SVE2 OR CROSS_COMPILE_SVE2)
31
- message(STATUS "Found SVE2")
32
-- set(ARM_ARGS -O3 -march=armv8-a+sve2 -fPIC -flax-vector-conversions)
33
-+ set(ARM_ARGS -fPIC -flax-vector-conversions)
34
- add_definitions(-DHAVE_SVE2)
35
- add_definitions(-DHAVE_SVE)
36
- add_definitions(-DHAVE_NEON) # for NEON c/c++ primitives, as currently there is no implementation that use SVE2
37
- elseif(CPU_HAS_SVE OR CROSS_COMPILE_SVE)
38
- message(STATUS "Found SVE")
39
-- set(ARM_ARGS -O3 -march=armv8-a+sve -fPIC -flax-vector-conversions)
40
-+ set(ARM_ARGS -fPIC -flax-vector-conversions)
41
- add_definitions(-DHAVE_SVE)
42
- add_definitions(-DHAVE_NEON) # for NEON c/c++ primitives, as currently there is no implementation that use SVE
43
- elseif(CPU_HAS_NEON)
44
+ if(ARM64)
45
+--- a/source/cmake/FindNEON_DOTPROD.cmake
46
++++ b/source/cmake/FindNEON_DOTPROD.cmake
47
+@@ -17,5 +17,5 @@
48
+ endif()
49
+
50
+ if(has_dot_product)
51
+- set(CPU_HAS_NEON_DOTPROD 1)
52
++ set(CPU_HAS_NEON_DOTPROD 0)
53
+ endif()
54
+--- a/source/cmake/FindNEON_I8MM.cmake
55
++++ b/source/cmake/FindNEON_I8MM.cmake
56
+@@ -17,5 +17,5 @@
57
+ endif()
58
+
59
+ if(has_i8mm)
60
+- set(CPU_HAS_NEON_I8MM 1)
61
++ set(CPU_HAS_NEON_I8MM 0)
62
+ endif()
63
+--- a/source/cmake/FindSVE.cmake
64
++++ b/source/cmake/FindSVE.cmake
65
+@@ -17,5 +17,5 @@
66
+ endif()
67
+
68
+ if(sve_version)
69
+- set(CPU_HAS_SVE 1)
70
++ set(CPU_HAS_SVE 0)
71
+ endif()
72
+--- a/source/cmake/FindSVE2.cmake
73
++++ b/source/cmake/FindSVE2.cmake
74
+@@ -17,6 +17,6 @@
75
+ endif()
76
+
77
+ if(sve2_version)
78
+- set(CPU_HAS_SVE 1)
79
+- set(CPU_HAS_SVE2 1)
80
++ set(CPU_HAS_SVE 0)
81
++ set(CPU_HAS_SVE2 0)
82
+ endif()
83
0004-Do-not-build-with-assembly-support-on-arm.patch
Changed
26
1
2
Subject: Do not build with assembly support on arm*
3
4
---
5
- source/CMakeLists.txt | 9 ---------
6
+ source/CMakeLists.txt | 9 ---------
7
1 file changed, 9 deletions(-)
8
9
-diff --git a/source/CMakeLists.txt b/source/CMakeLists.txt
10
-index 672cc2d..f112330 100755
11
--- a/source/CMakeLists.txt
12
+++ b/source/CMakeLists.txt
13
-@@ -73,15 +73,6 @@ elseif(POWERMATCH GREATER "-1")
14
+@@ -72,15 +72,6 @@
15
add_definitions(-DPPC64=1)
16
message(STATUS "Detected POWER PPC64 target processor")
17
endif()
18
19
- set(ARM 1)
20
- add_definitions(-DX265_ARCH_ARM=1 -DHAVE_ARMV6=1)
21
elseif(ARM64MATCH GREATER "-1")
22
- #if(CROSS_COMPILE_ARM64)
23
- #message(STATUS "Cross compiling for ARM64 arch")
24
+ message(STATUS "Detected ARM64 target processor")
25
+ set(ARM64 1)
26
x265.patch
Added
17
1
2
+---
3
+ source/CMakeLists.txt | 2 +-
4
+ 1 file changed, 1 insertion(+), 1 deletion(-)
5
+
6
+--- a/source/CMakeLists.txt
7
++++ b/source/CMakeLists.txt
8
+@@ -13,7 +13,7 @@
9
+ cmake_policy(SET CMP0042 NEW) # MACOSX_RPATH
10
+ endif()
11
+ if(POLICY CMP0054)
12
+- cmake_policy(SET CMP0054 OLD) # Only interpret if() arguments as variables or keywords when unquoted
13
++ cmake_policy(SET CMP0054 NEW) # Only interpret if() arguments as variables or keywords when unquoted
14
+ endif()
15
+
16
+ project (x265)
17
x265.pkgconfig.patch
Changed
9
1
2
+---
3
+ source/x265.pc.in | 2 +-
4
+ 1 file changed, 1 insertion(+), 1 deletion(-)
5
+
6
--- a/source/x265.pc.in
7
+++ b/source/x265.pc.in
8
@@ -1,6 +1,6 @@
9
_service
Added
47
1
2
+<services>
3
+ <service name="tar_scm">
4
+ <param name="exclude">.gitignore</param>
5
+ <param name="exclude">.hgignore</param>
6
+ <param name="exclude">.hgtags</param>
7
+ <param name="exclude">.readthedocs.yaml</param>
8
+ <param name="exclude">build/README.txt</param>
9
+ <param name="exclude">build/aarch64-darwin</param>
10
+ <param name="exclude">build/aarch64-linux-clang</param>
11
+ <param name="exclude">build/ms*</param>
12
+ <param name="exclude">build/vc*</param>
13
+ <param name="exclude">build/xcode</param>
14
+ <param name="exclude">build</param>
15
+ <param name="exclude">doc/intra</param>
16
+ <param name="exclude">doc/reST/Makefile</param>
17
+ <param name="exclude">doc/reST/api.rst</param>
18
+ <param name="exclude">doc/reST/cli.rst</param>
19
+ <param name="exclude">doc/reST/conf.py</param>
20
+ <param name="exclude">doc/reST/index.rst</param>
21
+ <param name="exclude">doc/reST/introduction.rst</param>
22
+ <param name="exclude">doc/reST/lossless.rst</param>
23
+ <param name="exclude">doc/reST/presets.rst</param>
24
+ <param name="exclude">doc/reST/svthevc.rst</param>
25
+ <param name="exclude">doc/reST/threading.rst</param>
26
+ <param name="exclude">doc/reST/x265.rst</param>
27
+ <param name="exclude">doc/requirements.txt</param>
28
+ <param name="exclude">doc/uncrustify</param>
29
+ <param name="exclude">readme.rst</param>
30
+ <param name="exclude">source/common/ppc</param>
31
+ <param name="exclude">source/compat</param>
32
+ <param name="exclude">source/profile</param>
33
+ <param name="exclude">source/test</param>
34
+ <param name="filename">x265</param>
35
+ <param name="revision">32e25ffcf810c5fe284901859b369270824c4596</param>
36
+ <param name="scm">git</param>
37
+ <param name="submodules">disable</param>
38
+ <param name="url">https://bitbucket.org/multicoreware/x265_git.git</param>
39
+ <param name="versionformat">@PARENT_TAG@</param>
40
+ <param name="versionrewrite-pattern">v?(^\++)(.*)</param>
41
+ <param name="versionrewrite-replacement">\1</param>
42
+ </service>
43
+ <service name="set_version">
44
+ <param name="basename">x265</param>
45
+ </service>
46
+</services>
47
_service:tar_scm:x265-4.1.tar
Added
baselibs.conf
Changed
4
1
2
-libx265-209
3
+libx265-215
4
update.sh
Changed
20
1
2
-#!/bin/sh
3
+#!/bin/bash
4
5
-rm -f x265_*.tar.gz
6
-osc service disabledrun download_files
7
+rm -f x265_*.tar x265_*.tar.*z
8
+osc service ra
9
version=$(grep ^Version x265.spec|awk '{print $2}')
10
echo "The new version is:" $version
11
-api=$(tar xzfO x265_${version}.tar.gz x265_${version}/source/CMakeLists.txt|grep "set(X265_BUILD"|sed 's/^.* \(1-90-9*\).*$/\1/')
12
+api=$(tar xafO x265-${version}.tar x265-${version}/source/CMakeLists.txt|grep "set(X265_BUILD"|sed 's/^.* \(1-90-9*\).*$/\1/')
13
echo "The new api version is:" $api
14
echo "libx265-${api}" > baselibs.conf
15
-sed -i "/^%define sover/c%define sover ${api}" x265.spec
16
+sed -i "
17
+/^%define sover:blank:/c%define sover ${api}
18
+ /^%define uver:blank:/c%define uver ${version//./_}
19
+" x265.spec
20
x265-4.1.tar
Added
x265_3.6.tar.gz
Deleted