Overview

Request 6063 (accepted)

No description set
Submit package Staging / x265 to package Essentials / x265

x265.changes Changed
x
 
1
@@ -1,4 +1,53 @@
2
 -------------------------------------------------------------------
3
+Thu Jun 13 05:58:19 UTC 2024 - Luigi Baldoni <aloisio@gmx.com>
4
+
5
+- Update to version 3.6
6
+  New features:
7
+  * Segment based Ratecontrol (SBRC) feature
8
+  * Motion-Compensated Spatio-Temporal Filtering
9
+  * Scene-cut aware qp - BBAQ (Bidirectional Boundary Aware
10
+    Quantization)
11
+  * Histogram-Based Scene Change Detection
12
+  * Film-Grain characteristics as a SEI message to support Film
13
+    Grain Synthesis(FGS)
14
+  * Add temporal layer implementation(Hierarchical B-frame
15
+    implementation)
16
+  Enhancements to existing features:
17
+  * Added Dolby Vision 8.4 Profile Support
18
+  API changes:
19
+  * Add Segment based Ratecontrol(SBRC) feature: "--no-sbrc".
20
+  * Add command line parameter for mcstf feature: "--no-mctf".
21
+  * Add command line parameters for the scene cut aware qp
22
+    feature: "--scenecut-aware-qp" and "--masking-strength".
23
+  * Add command line parameters for Histogram-Based Scene Change
24
+    Detection: "--hist-scenecut".
25
+  * Add film grain characteristics as a SEI message to the
26
+    bitstream: "--film-grain <filename>"
27
+  * cli: add new option --cra-nal (Force nal type to CRA to all
28
+    frames expect for the first frame, works only with keyint 1)
29
+  Optimizations:
30
+  * ARM64 NEON optimizations:- Several time-consuming C
31
+    functions have been optimized for the targeted platform -
32
+    aarch64. The overall performance increased by around 20%.
33
+  * SVE/SVE2 optimizations
34
+  Bug fixes:
35
+  * Linux bug to utilize all the cores
36
+  * Crash with hist-scenecut build when source resolution is not
37
+    multiple of minCuSize
38
+  * 32bit and 64bit builds generation for ARM
39
+  * bugs in zonefile feature (Reflect Zonefile Parameters inside
40
+    Lookahead, extra IDR issue, Avg I Slice QP value issue etc..)
41
+  * Add x86 ASM implementation for subsampling luma
42
+  * Fix for abrladder segfault with load reuse level 1
43
+  * Reorder miniGOP based on temporal layer hierarchy and add
44
+    support for more B frame
45
+  * Add MacOS aarch64 build support
46
+  * Fix boundary condition issue for Gaussian filter
47
+- Drop arm.patch and replace it with 0001-Fix-arm-flags.patch
48
+  and 0004-Do-not-build-with-assembly-support-on-arm.patch
49
+  (courtesy of Debian)
50
+
51
+-------------------------------------------------------------------
52
 Wed May 19 13:21:09 UTC 2021 - Luigi Baldoni <aloisio@gmx.com>
53
 
54
 - Build libx265_main10 and libx265_main12 unconditionally and
55
x265.spec Changed
46
 
1
@@ -1,7 +1,7 @@
2
 #
3
 # spec file for package x265
4
 #
5
-# Copyright (c) 2021 Packman Team <packman@links2linux.de>
6
+# Copyright (c) 2024 Packman Team <packman@links2linux.de>
7
 # Copyright (c) 2014 Torsten Gruner <t.gruner@katodev.de>
8
 #
9
 # All modifications and additions to the file contributed by third parties
10
@@ -17,21 +17,22 @@
11
 #
12
 
13
 
14
-%define sover   199
15
+%define sover   209
16
 %define libname lib%{name}
17
 %define libsoname %{libname}-%{sover}
18
-%define uver    3_5
19
+%define uver    3_6
20
 Name:           x265
21
-Version:        3.5
22
+Version:        3.6
23
 Release:        0
24
 Summary:        A free h265/HEVC encoder - encoder binary
25
 License:        GPL-2.0-or-later
26
 Group:          Productivity/Multimedia/Video/Editors and Convertors
27
 URL:            https://bitbucket.org/multicoreware/x265_git
28
 Source0:        https://bitbucket.org/multicoreware/x265_git/downloads/%{name}_%{version}.tar.gz
29
-Patch0:         arm.patch
30
 Patch1:         x265.pkgconfig.patch
31
 Patch2:         x265-fix_enable512.patch
32
+Patch3:         0001-Fix-arm-flags.patch
33
+Patch4:         0004-Do-not-build-with-assembly-support-on-arm.patch
34
 BuildRequires:  cmake >= 2.8.8
35
 BuildRequires:  gcc-c++
36
 BuildRequires:  nasm >= 2.13
37
@@ -130,6 +131,8 @@
38
 %cmake_install
39
 find %{buildroot} -type f -name "*.a" -delete -print0
40
 
41
+%check
42
+
43
 %post -n %{libsoname} -p /sbin/ldconfig
44
 %postun -n %{libsoname} -p /sbin/ldconfig
45
 
46
0001-Fix-arm-flags.patch Added
41
 
1
@@ -0,0 +1,39 @@
2
+From: Sebastian Ramacher <sramacher@debian.org>
3
+Date: Sun, 21 Jun 2020 17:54:56 +0200
4
+Subject: Fix arm* flags
5
+
6
+---
7
+ source/CMakeLists.txt | 7 ++-----
8
+ 1 file changed, 2 insertions(+), 5 deletions(-)
9
+
10
+diff --git a/source/CMakeLists.txt b/source/CMakeLists.txt
11
+index ab5ddfe..eb9b19b 100755
12
+--- a/source/CMakeLists.txt
13
++++ b/source/CMakeLists.txt
14
+@@ -253,10 +253,7 @@ if(GCC)
15
+     elseif(ARM)
16
+         find_package(Neon)
17
+         if(CPU_HAS_NEON)
18
+-            set(ARM_ARGS -mcpu=native -mfloat-abi=hard -mfpu=neon -marm -fPIC)
19
+             add_definitions(-DHAVE_NEON)
20
+-        else()
21
+-            set(ARM_ARGS -mcpu=native -mfloat-abi=hard -mfpu=vfp -marm)
22
+         endif()
23
+     endif()
24
+   if(ARM64 OR CROSS_COMPILE_ARM64)
25
+@@ -265,13 +262,13 @@ if(GCC)
26
+         find_package(SVE2)
27
+         if(CPU_HAS_SVE2 OR CROSS_COMPILE_SVE2)
28
+             message(STATUS "Found SVE2")
29
+-          set(ARM_ARGS -O3 -march=armv8-a+sve2 -fPIC -flax-vector-conversions)
30
++          set(ARM_ARGS -fPIC -flax-vector-conversions)
31
+             add_definitions(-DHAVE_SVE2)
32
+             add_definitions(-DHAVE_SVE)
33
+             add_definitions(-DHAVE_NEON) # for NEON c/c++ primitives, as currently there is no implementation that use SVE2
34
+         elseif(CPU_HAS_SVE OR CROSS_COMPILE_SVE)
35
+             message(STATUS "Found SVE")
36
+-          set(ARM_ARGS -O3 -march=armv8-a+sve -fPIC -flax-vector-conversions)
37
++          set(ARM_ARGS -fPIC -flax-vector-conversions)
38
+             add_definitions(-DHAVE_SVE)
39
+             add_definitions(-DHAVE_NEON) # for NEON c/c++ primitives, as currently there is no implementation that use SVE
40
+         elseif(CPU_HAS_NEON)
41
0004-Do-not-build-with-assembly-support-on-arm.patch Added
30
 
1
@@ -0,0 +1,28 @@
2
+From: Sebastian Ramacher <sramacher@debian.org>
3
+Date: Fri, 31 May 2024 23:38:23 +0200
4
+Subject: Do not build with assembly support on arm*
5
+
6
+---
7
+ source/CMakeLists.txt | 9 ---------
8
+ 1 file changed, 9 deletions(-)
9
+
10
+diff --git a/source/CMakeLists.txt b/source/CMakeLists.txt
11
+index 672cc2d..f112330 100755
12
+--- a/source/CMakeLists.txt
13
++++ b/source/CMakeLists.txt
14
+@@ -73,15 +73,6 @@ elseif(POWERMATCH GREATER "-1")
15
+         add_definitions(-DPPC64=1)
16
+         message(STATUS "Detected POWER PPC64 target processor")
17
+     endif()
18
+-elseif(ARMMATCH GREATER "-1")
19
+-    if(CROSS_COMPILE_ARM)
20
+-        message(STATUS "Cross compiling for ARM arch")
21
+-    else()
22
+-        set(CROSS_COMPILE_ARM 0)
23
+-    endif()
24
+-  message(STATUS "Detected ARM target processor")
25
+-    set(ARM 1)
26
+-    add_definitions(-DX265_ARCH_ARM=1 -DHAVE_ARMV6=1)
27
+ elseif(ARM64MATCH GREATER "-1")
28
+     #if(CROSS_COMPILE_ARM64)
29
+         #message(STATUS "Cross compiling for ARM64 arch")
30
arm.patch Deleted
110
 
1
@@ -1,108 +0,0 @@
2
-Index: x265_3.4/source/CMakeLists.txt
3
-===================================================================
4
---- x265_3.4.orig/source/CMakeLists.txt
5
-+++ x265_3.4/source/CMakeLists.txt
6
-@@ -64,26 +64,26 @@ elseif(POWERMATCH GREATER "-1")
7
-         add_definitions(-DPPC64=1)
8
-         message(STATUS "Detected POWER PPC64 target processor")
9
-     endif()
10
--elseif(ARMMATCH GREATER "-1")
11
--    if(CROSS_COMPILE_ARM)
12
--        message(STATUS "Cross compiling for ARM arch")
13
--    else()
14
--        set(CROSS_COMPILE_ARM 0)
15
--    endif()
16
--    set(ARM 1)
17
--    if("${CMAKE_SIZEOF_VOID_P}" MATCHES 8)
18
--        message(STATUS "Detected ARM64 target processor")
19
--        set(ARM64 1)
20
--        add_definitions(-DX265_ARCH_ARM=1 -DX265_ARCH_ARM64=1 -DHAVE_ARMV6=0)
21
--    else()
22
--        message(STATUS "Detected ARM target processor")
23
--        add_definitions(-DX265_ARCH_ARM=1 -DX265_ARCH_ARM64=0 -DHAVE_ARMV6=1)
24
--    endif()
25
-+elseif(${SYSPROC} MATCHES "armv5.*")
26
-+    message(STATUS "Detected ARMV5 system processor")
27
-+    set(ARMV5 1)
28
-+    add_definitions(-DX265_ARCH_ARM=1 -DX265_ARCH_ARM64=0 -DHAVE_ARMV6=0 -DHAVE_NEON=0)
29
-+elseif(${SYSPROC} STREQUAL "armv6l")
30
-+    message(STATUS "Detected ARMV6 system processor")
31
-+    set(ARMV6 1)
32
-+    add_definitions(-DX265_ARCH_ARM=1 -DX265_ARCH_ARM64=0 -DHAVE_ARMV6=1 -DHAVE_NEON=0)
33
-+elseif(${SYSPROC} STREQUAL "armv7l")
34
-+    message(STATUS "Detected ARMV7 system processor")
35
-+    set(ARMV7 1)
36
-+    add_definitions(-DX265_ARCH_ARM=1 -DX265_ARCH_ARM64=0 -DHAVE_ARMV6=1 -DHAVE_NEON=0)
37
-+elseif(${SYSPROC} STREQUAL "aarch64")
38
-+    message(STATUS "Detected AArch64 system processor")
39
-+    set(ARMV7 1)
40
-+    add_definitions(-DX265_ARCH_ARM=1 -DX265_ARCH_ARM64=1 -DHAVE_ARMV6=0 -DHAVE_NEON=0)
41
- else()
42
-     message(STATUS "CMAKE_SYSTEM_PROCESSOR value `${CMAKE_SYSTEM_PROCESSOR}` is unknown")
43
-     message(STATUS "Please add this value near ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE}")
44
- endif()
45
--
46
- if(UNIX)
47
-     list(APPEND PLATFORM_LIBS pthread)
48
-     find_library(LIBRT rt)
49
-@@ -238,28 +238,9 @@ if(GCC)
50
-             endif()
51
-         endif()
52
-     endif()
53
--    if(ARM AND CROSS_COMPILE_ARM)
54
--        if(ARM64)
55
--            set(ARM_ARGS -fPIC)
56
--        else()
57
--            set(ARM_ARGS -march=armv6 -mfloat-abi=soft -mfpu=vfp -marm -fPIC)
58
--        endif()
59
--        message(STATUS "cross compile arm")
60
--    elseif(ARM)
61
--        if(ARM64)
62
--            set(ARM_ARGS -fPIC)
63
--            add_definitions(-DHAVE_NEON)
64
--        else()
65
--            find_package(Neon)
66
--            if(CPU_HAS_NEON)
67
--                set(ARM_ARGS -mcpu=native -mfloat-abi=hard -mfpu=neon -marm -fPIC)
68
--                add_definitions(-DHAVE_NEON)
69
--            else()
70
--                set(ARM_ARGS -mcpu=native -mfloat-abi=hard -mfpu=vfp -marm)
71
--            endif()
72
--        endif()
73
-+    if(ARMV7)
74
-+        add_definitions(-fPIC)
75
-     endif()
76
--    add_definitions(${ARM_ARGS})
77
-     if(FPROFILE_GENERATE)
78
-         if(INTEL_CXX)
79
-             add_definitions(-prof-gen -prof-dir="${CMAKE_CURRENT_BINARY_DIR}")
80
-Index: x265_3.4/source/common/cpu.cpp
81
-===================================================================
82
---- x265_3.4.orig/source/common/cpu.cpp
83
-+++ x265_3.4/source/common/cpu.cpp
84
-@@ -39,7 +39,7 @@
85
- #include <machine/cpu.h>
86
- #endif
87
- 
88
--#if X265_ARCH_ARM && !defined(HAVE_NEON)
89
-+#if X265_ARCH_ARM && (!defined(HAVE_NEON) || HAVE_NEON==0)
90
- #include <signal.h>
91
- #include <setjmp.h>
92
- static sigjmp_buf jmpbuf;
93
-@@ -350,7 +350,6 @@ uint32_t cpu_detect(bool benableavx512)
94
-     }
95
- 
96
-     canjump = 1;
97
--    PFX(cpu_neon_test)();
98
-     canjump = 0;
99
-     signal(SIGILL, oldsig);
100
- #endif // if !HAVE_NEON
101
-@@ -366,7 +365,7 @@ uint32_t cpu_detect(bool benableavx512)
102
-     // which may result in incorrect detection and the counters stuck enabled.
103
-     // right now Apple does not seem to support performance counters for this test
104
- #ifndef __MACH__
105
--    flags |= PFX(cpu_fast_neon_mrc_test)() ? X265_CPU_FAST_NEON_MRC : 0;
106
-+    //flags |= PFX(cpu_fast_neon_mrc_test)() ? X265_CPU_FAST_NEON_MRC : 0;
107
- #endif
108
-     // TODO: write dual issue test? currently it's A8 (dual issue) vs. A9 (fast mrc)
109
- #elif X265_ARCH_ARM64
110
baselibs.conf Changed
4
 
1
@@ -1,1 +1,1 @@
2
-libx265-199
3
+libx265-209
4
x265_3.5.tar.gz -> x265_3.6.tar.gz Changed
Refresh
Refresh
Request History
Luigi Baldoni's avatar

Aloysius created request 9 months ago


Luigi Baldoni's avatar

Aloysius accepted request 9 months ago