View | Details | Raw Unified | Return to bug 247035 | Differences between
and this patch

Collapse All | Expand All

(-)b/multimedia/x265/Makefile (-17 / +22 lines)
Lines 2-15 Link Here
2
# $FreeBSD$
2
# $FreeBSD$
3
3
4
PORTNAME=	x265
4
PORTNAME=	x265
5
PORTVERSION=	3.2.1
5
PORTVERSION=	3.4
6
PORTREVISION=	2
7
CATEGORIES=	multimedia
6
CATEGORIES=	multimedia
8
MASTER_SITES=	https://bitbucket.org/multicoreware/x265/downloads/ \
7
MASTER_SITES=	https://bitbucket.org/multicoreware/x265/downloads/
9
		https://downloads.videolan.org/pub/videolan/x265/ \
10
		https://mirror.leaseweb.com/videolan/x265/ \
11
		http://downloads.videolan.org/pub/videolan/x265/ \
12
		http://mirror.leaseweb.com/videolan/x265/
13
DISTNAME=	${PORTNAME}_${PORTVERSION}
8
DISTNAME=	${PORTNAME}_${PORTVERSION}
14
9
15
MAINTAINER=	mi@aldan.algebra.com
10
MAINTAINER=	mi@aldan.algebra.com
Lines 18-32 COMMENT= H.265/High Efficiency Video Coding (HEVC) format Link Here
18
LICENSE=	GPLv2+
13
LICENSE=	GPLv2+
19
LICENSE_FILE=	${WRKSRC:H}/COPYING
14
LICENSE_FILE=	${WRKSRC:H}/COPYING
20
15
21
BUILD_DEPENDS=	${BUILD_DEPENDS_${ARCH}}
22
BUILD_DEPENDS_amd64=	nasm:devel/nasm
23
BUILD_DEPENDS_i386=	nasm:devel/nasm
24
25
USES=		cmake compiler:c++14-lang pathfix
16
USES=		cmake compiler:c++14-lang pathfix
26
17
27
OPTIONS_DEFINE=		DEBUG OPTIMIZED_FLAGS VMAF
18
OPTIONS_DEFINE=		DEBUG OPTIMIZED_FLAGS VMAF
28
OPTIONS_DEFAULT=	OPTIMIZED_FLAGS HI8P HI10P HI12P
19
OPTIONS_DEFAULT=	OPTIMIZED_FLAGS HI8P HI10P HI12P
29
OPTIONS_DEFINE_amd64=	SVTHEVC
20
OPTIONS_DEFINE_aarch64=	ASM
21
OPTIONS_DEFINE_amd64=	ASM SVTHEVC
22
OPTIONS_DEFINE_i386=	ASM
23
OPTIONS_DEFAULT_amd64=	ASM
30
24
31
OPTIONS_MULTI=		PixelWidth
25
OPTIONS_MULTI=		PixelWidth
32
OPTIONS_MULTI_PixelWidth=HI8P HI10P HI12P
26
OPTIONS_MULTI_PixelWidth=HI8P HI10P HI12P
Lines 44-57 VMAF_USES= localbase:ldflags Link Here
44
VMAF_CMAKE_BOOL=	ENABLE_LIBVMAF
38
VMAF_CMAKE_BOOL=	ENABLE_LIBVMAF
45
39
46
DEBUG_DESC=	Enable debugging
40
DEBUG_DESC=	Enable debugging
47
HI8P_DESC=	Enable 8-bit pixel-width (you, probably, want this)
41
HI8P_DESC=	Enable 8-bit pixel-width (you probably want this)
48
HI10P_DESC=	Enable 10-bit pixels (may break on i386)
42
HI10P_DESC=	Enable 10-bit pixels (may break on i386)
49
HI12P_DESC=	Enable 12-bit pixels (may break on i386)
43
HI12P_DESC=	Enable 12-bit pixels (may break on i386)
50
OPTIMIZED_FLAGS_DESC=	Enable O3 optimization
44
OPTIMIZED_FLAGS_DESC=	Enable O3 optimization
51
SVTHEVC_DESC=	HEVC encoding via SVT-HEVC
45
SVTHEVC_DESC=	HEVC encoding via SVT-HEVC
52
VMAF_DESC=	Per frame and aggregate VMAF score
46
VMAF_DESC=	Per frame and aggregate VMAF score
53
47
54
OPTIONS_SUB=	yes
55
USE_LDCONFIG=	yes
48
USE_LDCONFIG=	yes
56
CMAKE_ARGS=	-DENABLE_TESTS=on -DENABLE_HDR10_PLUS:BOOL=true
49
CMAKE_ARGS=	-DENABLE_TESTS=on -DENABLE_HDR10_PLUS:BOOL=true
57
LDFLAGS_i386=	-Wl,-znotext
50
LDFLAGS_i386=	-Wl,-znotext
Lines 61-66 WRKSRC= ${WRKDIR}/${PORTNAME}_${PORTVERSION}/source Link Here
61
54
62
.include <bsd.port.options.mk>
55
.include <bsd.port.options.mk>
63
56
57
.if ${ARCH} == aarch64 && ${PORT_OPTIONS:MASM}
58
BUILD_DEPENDS=	as:devel/binutils
59
USE_GCC=	yes
60
ASM_PREVENTS=	HI10P HI12P
61
ASM_PREVENTS_MSG=	Currently HI10P and HI12P doesn't build with assembly
62
.endif
63
64
.if ${ARCH} != aarch64 && ${PORT_OPTIONS:MASM}
65
BUILD_DEPENDS=	nasm:devel/nasm
66
.endif
67
64
DEFAULT_DEPTH=	${PORT_OPTIONS:MHI*P:O:ts/:T}
68
DEFAULT_DEPTH=	${PORT_OPTIONS:MHI*P:O:ts/:T}
65
OTHER_DEPTHS=	${PORT_OPTIONS:MHI*P:N${DEFAULT_DEPTH}}
69
OTHER_DEPTHS=	${PORT_OPTIONS:MHI*P:N${DEFAULT_DEPTH}}
66
70
Lines 69-75 CMAKE_ARGS+= -DMAIN12:BOOL=true Link Here
69
.endif
73
.endif
70
74
71
.if "${DEFAULT_DEPTH}" != "HI8P"
75
.if "${DEFAULT_DEPTH}" != "HI8P"
72
CMAKE_ARGS+=   -DHIGH_BIT_DEPTH:BOOL=true
76
CMAKE_ARGS+=	-DHIGH_BIT_DEPTH:BOOL=true
73
.endif
77
.endif
74
78
75
CMAKE_OTHER_ARGS=${CMAKE_ARGS:C/.*-D_END_CUSTOM_OPTIONS=1 +//W}
79
CMAKE_OTHER_ARGS=${CMAKE_ARGS:C/.*-D_END_CUSTOM_OPTIONS=1 +//W}
Lines 81-87 CFLAGS:= ${CFLAGS:N-O*} -O0 -g Link Here
81
.for b in ${OTHER_DEPTHS:C/HI([0-9]+)P/\1/}
85
.for b in ${OTHER_DEPTHS:C/HI([0-9]+)P/\1/}
82
EXTRA_LINK_FLAGS+=-L${WRKSRC:H}/$bbit
86
EXTRA_LINK_FLAGS+=-L${WRKSRC:H}/$bbit
83
87
84
.if ${ARCH} == i386 && $b != 8 || ! ${BUILD_DEPENDS:Mnasm*}
88
.if ${ARCH} == i386 && $b != 8 || ! ${PORT_OPTIONS:MASM}
85
ASSEMBLY=false
89
ASSEMBLY=false
86
.else
90
.else
87
ASSEMBLY=true
91
ASSEMBLY=true
Lines 107-116 CMAKE_ARGS+= ${OTHER_DEPTHS:C/HI([0-9]+)P/-DLINKED_\1BIT:BOOL=true/} Link Here
107
111
108
CMAKE_ARGS+=	-DENABLE_SHARED:BOOL=true
112
CMAKE_ARGS+=	-DENABLE_SHARED:BOOL=true
109
113
110
.if ${ARCH} == i386 && ${DEFAULT_DEPTH} != "HI8P" || ! ${BUILD_DEPENDS:Mnasm*}
114
.if ${ARCH} == i386 && ${DEFAULT_DEPTH} != "HI8P" || ! ${PORT_OPTIONS:MASM}
111
CMAKE_ARGS+=	-DENABLE_ASSEMBLY:BOOL=false
115
CMAKE_ARGS+=	-DENABLE_ASSEMBLY:BOOL=false
112
.else
116
.else
113
CMAKE_ARGS+=	-DENABLE_ASSEMBLY:BOOL=true
117
CMAKE_ARGS+=	-DENABLE_ASSEMBLY:BOOL=true
118
114
do-test:
119
do-test:
115
	${WRKDIR}/.build/test/TestBench
120
	${WRKDIR}/.build/test/TestBench
116
.endif
121
.endif
(-)b/multimedia/x265/distinfo (-3 / +3 lines)
Lines 1-3 Link Here
1
TIMESTAMP = 1572350105
1
TIMESTAMP = 1591425294
2
SHA256 (x265_3.2.1.tar.gz) = fb9badcf92364fd3567f8b5aa0e5e952aeea7a39a2b864387cec31e3b58cbbcc
2
SHA256 (x265_3.4.tar.gz) = c2047f23a6b729e5c70280d23223cb61b57bfe4ad4e8f1471eeee2a61d148672
3
SIZE (x265_3.2.1.tar.gz) = 1426255
3
SIZE (x265_3.4.tar.gz) = 1469365
(-)b/multimedia/x265/files/patch-source_CMakeLists.txt (-18 / +11 lines)
Lines 1-34 Link Here
1
===> Checking for items in STAGEDIR missing from pkg-plist
1
--- source/CMakeLists.txt.orig	2020-06-06 08:18:40 UTC
2
Error: Orphaned: bin/libSvtHevcEnc.so
3
Error: Orphaned: include/EbApi.h
4
Error: Orphaned: include/EbErrorCodes.h
5
Error: Orphaned: include/EbTime.h
6
7
libx265.so.179: undefined reference to `compute_vmaf'
8
9
--- source/CMakeLists.txt.orig	2019-01-23 09:47:18 UTC
10
+++ source/CMakeLists.txt
2
+++ source/CMakeLists.txt
11
@@ -570,13 +570,6 @@ if(ENABLE_HDR10_PLUS)
3
@@ -592,12 +592,6 @@ if(ENABLE_HDR10_PLUS)
12
         ARCHIVE DESTINATION ${LIB_INSTALL_DIR})
4
         ARCHIVE DESTINATION ${LIB_INSTALL_DIR})
13
 endif()
5
 endif()
14
 
6
 
15
-if(SVTHEVC_FOUND)
7
-if(SVTHEVC_FOUND)
16
-    install(FILES "${SVT_HEVC_INCLUDE_DIR}/EbApi.h" DESTINATION include)
8
-    install(FILES "${SVT_HEVC_INCLUDE_DIR}/EbApi.h" DESTINATION include)
17
-    install(FILES "${SVT_HEVC_INCLUDE_DIR}/EbErrorCodes.h" DESTINATION include)
9
-    install(FILES "${SVT_HEVC_INCLUDE_DIR}/EbErrorCodes.h" DESTINATION include)
18
-    install(FILES "${SVT_HEVC_INCLUDE_DIR}/EbTime.h" DESTINATION include)
10
-    install(FILES "${SVT_HEVC_LIBRARY}" DESTINATION ${LIB_INSTALL_DIR})
19
-    install(FILES "${SVT_HEVC_LIBRARY}" DESTINATION ${BIN_INSTALL_DIR})
20
-endif()
11
-endif()
21
-
12
-
22
 install(FILES x265.h "${PROJECT_BINARY_DIR}/x265_config.h" DESTINATION include)
13
 install(FILES x265.h "${PROJECT_BINARY_DIR}/x265_config.h" DESTINATION include)
23
 if((WIN32 AND ENABLE_CLI) OR (WIN32 AND ENABLE_SHARED))
14
 if((WIN32 AND ENABLE_CLI) OR (WIN32 AND ENABLE_SHARED))
24
     if(MSVC_IDE)
15
     if(MSVC_IDE)
25
@@ -627,6 +620,9 @@ if(ENABLE_SHARED)
16
@@ -649,7 +643,10 @@ if(ENABLE_SHARED)
26
     endif()
27
     if(EXTRA_LIB)
17
     if(EXTRA_LIB)
28
         target_link_libraries(x265-shared ${EXTRA_LIB})
18
         target_link_libraries(x265-shared ${EXTRA_LIB})
29
+    endif()
30
+    if(ENABLE_LIBVMAF)
31
+        target_link_libraries(x265-shared ${VMAF})
32
     endif()
19
     endif()
33
 	 target_link_libraries(x265-shared ${PLATFORM_LIBS})
20
-	 target_link_libraries(x265-shared ${PLATFORM_LIBS})
21
+    if(ENABLE_LIBVMAF)
22
+	target_link_libraries(x265-shared ${VMAF})
23
+    endif()
24
+	target_link_libraries(x265-shared ${PLATFORM_LIBS})
34
     if(SVTHEVC_FOUND)
25
     if(SVTHEVC_FOUND)
26
         target_link_libraries(x265-shared ${SVT_HEVC_LIBRARY})
27
     endif(SVTHEVC_FOUND)
(-)b/multimedia/x265/files/patch-source_cmake_Findsvthevc.cmake (+11 lines)
Added Link Here
1
--- source/cmake/Findsvthevc.cmake.orig	2020-06-06 07:11:33 UTC
2
+++ source/cmake/Findsvthevc.cmake
3
@@ -38,7 +38,7 @@ if(SVT_HEVC_INCLUDE_DIR)
4
         string(REGEX MATCH "SVT_VERSION_PATCHLEVEL  \\(([0-9]*)\\)" _ ${version})
5
         set(SVT_VERSION_PATCHLEVEL ${CMAKE_MATCH_1})
6
 
7
-        if(NOT ${SVT_VERSION_MAJOR} EQUAL "1" OR NOT ${SVT_VERSION_MINOR} EQUAL "4" OR NOT ${SVT_VERSION_PATCHLEVEL} EQUAL "1")
8
+        if(NOT ${SVT_VERSION_MAJOR} EQUAL "1" OR NOT ${SVT_VERSION_MINOR} EQUAL "4" OR NOT ${SVT_VERSION_PATCHLEVEL} GREATER_EQUAL "1")
9
             message (SEND_ERROR "-- Found SVT-HEVC Lib Version: ${SVT_VERSION_MAJOR}.${SVT_VERSION_MINOR}.${SVT_VERSION_PATCHLEVEL} which doesn't match the required version: ${SVT_VERSION_MAJOR_REQUIRED}.${SVT_VERSION_MINOR_REQUIRED}.${SVT_VERSION_PATCHLEVEL_REQUIRED}; Aborting configure  ")
10
         else()
11
             message(STATUS "-- Found SVT-HEVC Lib Version: ${SVT_VERSION_MAJOR}.${SVT_VERSION_MINOR}.${SVT_VERSION_PATCHLEVEL}")
(-)b/multimedia/x265/files/patch-source_common_version.cpp (+20 lines)
Added Link Here
1
--- source/common/version.cpp.orig	2020-05-29 17:39:35 UTC
2
+++ source/common/version.cpp
3
@@ -63,6 +63,8 @@
4
 #define ONOS    "[Linux]"
5
 #elif __OpenBSD__
6
 #define ONOS    "[OpenBSD]"
7
+#elif __FreeBSD__
8
+#define ONOS	"[FreeBSD]"
9
 #elif  __CYGWIN__
10
 #define ONOS    "[Cygwin]"
11
 #elif __APPLE__
12
@@ -71,7 +73,7 @@
13
 #define ONOS    "[Unk-OS]"
14
 #endif
15
 
16
-#if X86_64
17
+#if defined(X86_64) || X265_ARCH_ARM64
18
 #define BITS    "[64 bit]"
19
 #else
20
 #define BITS    "[32 bit]"
(-)b/multimedia/x265/files/patch-source_dynamicHDR10_CMakeLists.txt (+28 lines)
Added Link Here
1
--- source/dynamicHDR10/CMakeLists.txt.orig	2020-06-06 13:37:44 UTC
2
+++ source/dynamicHDR10/CMakeLists.txt
3
@@ -42,18 +42,6 @@ if(GCC)
4
             endif()
5
         endif()
6
     endif()
7
-    if(ARM AND CROSS_COMPILE_ARM)
8
-        set(ARM_ARGS -march=armv6 -mfloat-abi=soft -mfpu=vfp -marm -fPIC)
9
-    elseif(ARM)
10
-        find_package(Neon)
11
-        if(CPU_HAS_NEON)
12
-            set(ARM_ARGS -mcpu=native -mfloat-abi=hard -mfpu=neon -marm -fPIC)
13
-            add_definitions(-DHAVE_NEON)
14
-        else()
15
-            set(ARM_ARGS -mcpu=native -mfloat-abi=hard -mfpu=vfp -marm)
16
-        endif()
17
-    endif()
18
-    add_definitions(${ARM_ARGS})
19
     if(FPROFILE_GENERATE)
20
         if(INTEL_CXX)
21
             add_definitions(-prof-gen -prof-dir="${CMAKE_CURRENT_BINARY_DIR}")
22
@@ -150,4 +138,4 @@ set(BIN_INSTALL_DIR bin CACHE STRING "Install location
23
 option(ENABLE_SHARED "Build shared library" OFF)
24
 
25
 install(FILES hdr10plus.h DESTINATION include)
26
-endif()
27
\ No newline at end of file
28
+endif()
(-)a/multimedia/x265/files/patch-source_encoder_api.cpp (-17 lines)
Removed Link Here
1
Chase https://github.com/Netflix/vmaf/commit/82a86e040371
2
3
source/encoder/api.cpp:36:10: fatal error: 'libvmaf.h' file not found
4
#include "libvmaf.h"
5
         ^~~~~~~~~~~
6
7
--- source/encoder/api.cpp.orig	2019-10-29 11:55:05 UTC
8
+++ source/encoder/api.cpp
9
@@ -33,7 +33,7 @@
10
 #include "svt.h"
11
 
12
 #if ENABLE_LIBVMAF
13
-#include "libvmaf.h"
14
+#include "libvmaf/libvmaf.h"
15
 #endif
16
 
17
 /* multilib namespace reflectors */
(-)a/multimedia/x265/files/patch-source_encoder_svt.h (-18 lines)
Removed Link Here
1
https://bitbucket.org/multicoreware/x265/issues/509/x265-fails-to-build-with-current-svt-hevc
2
3
In file included from source/encoder/analysis.cpp:35:
4
In file included from source/encoder/encoder.h:34:
5
source/encoder/svt.h:32:10: fatal error: 'EbTime.h' file not found
6
#include "EbTime.h"
7
         ^~~~~~~~~~
8
9
--- source/encoder/svt.h.orig	2019-07-31 04:59:54 UTC
10
+++ source/encoder/svt.h
11
@@ -29,7 +29,6 @@
12
 
13
 #include "EbApi.h"
14
 #include "EbErrorCodes.h"
15
-#include "EbTime.h"
16
 
17
 namespace X265_NS {
18
 
(-)b/multimedia/x265/pkg-plist (-2 / +1 lines)
Lines 6-10 lib/libhdr10plus.a Link Here
6
lib/libhdr10plus.so
6
lib/libhdr10plus.so
7
lib/libx265.a
7
lib/libx265.a
8
lib/libx265.so
8
lib/libx265.so
9
lib/libx265.so.179
9
lib/libx265.so.192
10
libdata/pkgconfig/x265.pc
10
libdata/pkgconfig/x265.pc
11
- 

Return to bug 247035