svn commit: r549401 - in head/multimedia/x265: . files
Mikhail Teterin
mi at FreeBSD.org
Sun Sep 20 22:17:54 UTC 2020
Author: mi
Date: Sun Sep 20 22:17:52 2020
New Revision: 549401
URL: https://svnweb.freebsd.org/changeset/ports/549401
Log:
Upgrade from 3.2 to 3.4. Resolve incompatibilities with newer
SVTHEVC.
PR: 247035, 248479
Sponsored by: United Marsupials
Added:
head/multimedia/x265/files/patch-source_abrEncApp.cpp (contents, props changed)
head/multimedia/x265/files/patch-source_cmake_Findsvthevc.cmake (contents, props changed)
head/multimedia/x265/files/patch-source_common_version.cpp (contents, props changed)
head/multimedia/x265/files/patch-source_dynamicHDR10_CMakeLists.txt (contents, props changed)
Deleted:
head/multimedia/x265/files/patch-source_encoder_api.cpp
head/multimedia/x265/files/patch-source_encoder_svt.h
Modified:
head/multimedia/x265/Makefile
head/multimedia/x265/distinfo
head/multimedia/x265/files/patch-source_CMakeLists.txt
head/multimedia/x265/pkg-plist
Modified: head/multimedia/x265/Makefile
==============================================================================
--- head/multimedia/x265/Makefile Sun Sep 20 22:12:22 2020 (r549400)
+++ head/multimedia/x265/Makefile Sun Sep 20 22:17:52 2020 (r549401)
@@ -2,14 +2,9 @@
# $FreeBSD$
PORTNAME= x265
-PORTVERSION= 3.2.1
-PORTREVISION= 4
+PORTVERSION= 3.4
CATEGORIES= multimedia
-MASTER_SITES= https://bitbucket.org/multicoreware/x265/downloads/ \
- https://downloads.videolan.org/pub/videolan/x265/ \
- https://mirror.leaseweb.com/videolan/x265/ \
- http://downloads.videolan.org/pub/videolan/x265/ \
- http://mirror.leaseweb.com/videolan/x265/
+MASTER_SITES= https://bitbucket.org/multicoreware/x265/downloads/
DISTNAME= ${PORTNAME}_${PORTVERSION}
MAINTAINER= mi at aldan.algebra.com
@@ -18,19 +13,19 @@ COMMENT= H.265/High Efficiency Video Coding (HEVC) for
LICENSE= GPLv2+
LICENSE_FILE= ${WRKSRC:H}/COPYING
-BUILD_DEPENDS= ${BUILD_DEPENDS_${ARCH}}
-BUILD_DEPENDS_amd64= nasm:devel/nasm
-BUILD_DEPENDS_i386= nasm:devel/nasm
+USES= cmake compiler:c++14-lang pathfix dos2unix
-USES= cmake compiler:c++14-lang pathfix
-
OPTIONS_DEFINE= DEBUG OPTIMIZED_FLAGS VMAF
OPTIONS_DEFAULT= OPTIMIZED_FLAGS HI8P HI10P HI12P
-OPTIONS_DEFINE_amd64= SVTHEVC
+OPTIONS_DEFINE_aarch64= ASM
+OPTIONS_DEFINE_amd64= ASM SVTHEVC
+OPTIONS_DEFINE_i386= ASM
+OPTIONS_DEFAULT_amd64= ASM
OPTIONS_MULTI= PixelWidth
OPTIONS_MULTI_PixelWidth=HI8P HI10P HI12P
+DOS2UNIX_FILES= abrEncApp.cpp
DEBUG_PREVENTS= OPTIMIZED_FLAGS
DEBUG_PREVENTS_MSG= Optimizations are incompatible with debugging code
DEBUG_VARS_OFF= CFLAGS+=-DNDEBUG
@@ -42,6 +37,7 @@ SVTHEVC_CMAKE_ON= -DSVT_HEVC_INCLUDE_DIR:PATH="${LOCAL
VMAF_LIB_DEPENDS= libvmaf.so:multimedia/vmaf
VMAF_USES= localbase:ldflags
VMAF_CMAKE_BOOL= ENABLE_LIBVMAF
+VMAF_CMAKE_ON= -DVMAF_INCLUDE_DIR:PATH="${LOCALBASE}/include/libvmaf"
DEBUG_DESC= Enable debugging
HI8P_DESC= Enable 8-bit pixel-width (you, probably, want this)
@@ -51,7 +47,6 @@ OPTIMIZED_FLAGS_DESC= Enable O3 optimization
SVTHEVC_DESC= HEVC encoding via SVT-HEVC
VMAF_DESC= Per frame and aggregate VMAF score
-OPTIONS_SUB= yes
USE_LDCONFIG= yes
CMAKE_ARGS= -DENABLE_TESTS=on -DENABLE_HDR10_PLUS:BOOL=true
LDFLAGS_i386= -Wl,-znotext
@@ -61,6 +56,17 @@ WRKSRC= ${WRKDIR}/${PORTNAME}_${PORTVERSION}/source
.include <bsd.port.options.mk>
+.if ${ARCH} == aarch64 && ${PORT_OPTIONS:MASM}
+BUILD_DEPENDS= as:devel/binutils
+USE_GCC= yes
+ASM_PREVENTS= HI10P HI12P
+ASM_PREVENTS_MSG= Currently HI10P and HI12P doesn't build with assembly
+.endif
+
+.if ${ARCH} != aarch64 && ${PORT_OPTIONS:MASM}
+BUILD_DEPENDS= nasm:devel/nasm
+.endif
+
DEFAULT_DEPTH= ${PORT_OPTIONS:MHI*P:O:ts/:T}
OTHER_DEPTHS= ${PORT_OPTIONS:MHI*P:N${DEFAULT_DEPTH}}
@@ -69,7 +75,7 @@ CMAKE_ARGS+= -DMAIN12:BOOL=true
.endif
.if "${DEFAULT_DEPTH}" != "HI8P"
-CMAKE_ARGS+= -DHIGH_BIT_DEPTH:BOOL=true
+CMAKE_ARGS+= -DHIGH_BIT_DEPTH:BOOL=true
.endif
CMAKE_OTHER_ARGS=${CMAKE_ARGS:C/.*-D_END_CUSTOM_OPTIONS=1 +//W}
@@ -81,7 +87,7 @@ CFLAGS:= ${CFLAGS:N-O*} -O0 -g
.for b in ${OTHER_DEPTHS:C/HI([0-9]+)P/\1/}
EXTRA_LINK_FLAGS+=-L${WRKSRC:H}/$bbit
-.if ${ARCH} == i386 && $b != 8 || ! ${BUILD_DEPENDS:Mnasm*}
+.if ${ARCH} == i386 && $b != 8 || ! ${PORT_OPTIONS:MASM}
ASSEMBLY=false
.else
ASSEMBLY=true
@@ -95,7 +101,7 @@ pre-build::
-DMAIN$b:BOOL=true -DENABLE_ASSEMBLY:BOOL=${ASSEMBLY} \
-DEXPORT_C_API:BOOL=false -DENABLE_CLI=false
${SETENV} ${MAKE_ENV} ${MAKE_CMD} -C ${WRKSRC:H}/$bbit ${MAKE_ARGS}
- ${LN} ${WRKSRC:H}/$bbit/libx265.a ${WRKSRC:H}/$bbit/libx265_$bbit.a
+ ${LN} -f ${WRKSRC:H}/$bbit/libx265.a ${WRKSRC:H}/$bbit/libx265_$bbit.a
${ECHO_MSG} "---> Built the $b-bit library ---"
.endfor
@@ -107,10 +113,11 @@ CMAKE_ARGS+= ${OTHER_DEPTHS:C/HI([0-9]+)P/-DLINKED_\1B
CMAKE_ARGS+= -DENABLE_SHARED:BOOL=true
-.if ${ARCH} == i386 && ${DEFAULT_DEPTH} != "HI8P" || ! ${BUILD_DEPENDS:Mnasm*}
+.if ${ARCH} == i386 && ${DEFAULT_DEPTH} != "HI8P" || ! ${PORT_OPTIONS:MASM}
CMAKE_ARGS+= -DENABLE_ASSEMBLY:BOOL=false
.else
CMAKE_ARGS+= -DENABLE_ASSEMBLY:BOOL=true
+
do-test:
${WRKDIR}/.build/test/TestBench
.endif
Modified: head/multimedia/x265/distinfo
==============================================================================
--- head/multimedia/x265/distinfo Sun Sep 20 22:12:22 2020 (r549400)
+++ head/multimedia/x265/distinfo Sun Sep 20 22:17:52 2020 (r549401)
@@ -1,3 +1,3 @@
-TIMESTAMP = 1572350105
-SHA256 (x265_3.2.1.tar.gz) = fb9badcf92364fd3567f8b5aa0e5e952aeea7a39a2b864387cec31e3b58cbbcc
-SIZE (x265_3.2.1.tar.gz) = 1426255
+TIMESTAMP = 1591425294
+SHA256 (x265_3.4.tar.gz) = c2047f23a6b729e5c70280d23223cb61b57bfe4ad4e8f1471eeee2a61d148672
+SIZE (x265_3.4.tar.gz) = 1469365
Modified: head/multimedia/x265/files/patch-source_CMakeLists.txt
==============================================================================
--- head/multimedia/x265/files/patch-source_CMakeLists.txt Sun Sep 20 22:12:22 2020 (r549400)
+++ head/multimedia/x265/files/patch-source_CMakeLists.txt Sun Sep 20 22:17:52 2020 (r549401)
@@ -1,34 +1,32 @@
-===> Checking for items in STAGEDIR missing from pkg-plist
-Error: Orphaned: bin/libSvtHevcEnc.so
-Error: Orphaned: include/EbApi.h
-Error: Orphaned: include/EbErrorCodes.h
-Error: Orphaned: include/EbTime.h
-
-libx265.so.179: undefined reference to `compute_vmaf'
-
---- source/CMakeLists.txt.orig 2019-01-23 09:47:18 UTC
+--- source/CMakeLists.txt.orig 2020-06-06 08:18:40 UTC
+++ source/CMakeLists.txt
-@@ -570,13 +570,6 @@ if(ENABLE_HDR10_PLUS)
+@@ -122,3 +122,4 @@
+ if(ENABLE_LIBVMAF)
+ add_definitions(-DENABLE_LIBVMAF)
++ include_directories(${VMAF_INCLUDE_DIR})
+ endif()
+@@ -592,12 +592,6 @@ if(ENABLE_HDR10_PLUS)
ARCHIVE DESTINATION ${LIB_INSTALL_DIR})
endif()
-if(SVTHEVC_FOUND)
- install(FILES "${SVT_HEVC_INCLUDE_DIR}/EbApi.h" DESTINATION include)
- install(FILES "${SVT_HEVC_INCLUDE_DIR}/EbErrorCodes.h" DESTINATION include)
-- install(FILES "${SVT_HEVC_INCLUDE_DIR}/EbTime.h" DESTINATION include)
-- install(FILES "${SVT_HEVC_LIBRARY}" DESTINATION ${BIN_INSTALL_DIR})
+- install(FILES "${SVT_HEVC_LIBRARY}" DESTINATION ${LIB_INSTALL_DIR})
-endif()
-
install(FILES x265.h "${PROJECT_BINARY_DIR}/x265_config.h" DESTINATION include)
if((WIN32 AND ENABLE_CLI) OR (WIN32 AND ENABLE_SHARED))
if(MSVC_IDE)
-@@ -627,6 +620,9 @@ if(ENABLE_SHARED)
- endif()
+@@ -649,7 +643,10 @@ if(ENABLE_SHARED)
if(EXTRA_LIB)
target_link_libraries(x265-shared ${EXTRA_LIB})
-+ endif()
-+ if(ENABLE_LIBVMAF)
-+ target_link_libraries(x265-shared ${VMAF})
endif()
- target_link_libraries(x265-shared ${PLATFORM_LIBS})
+- target_link_libraries(x265-shared ${PLATFORM_LIBS})
++ if(ENABLE_LIBVMAF)
++ target_link_libraries(x265-shared ${VMAF})
++ endif()
++ target_link_libraries(x265-shared ${PLATFORM_LIBS})
if(SVTHEVC_FOUND)
+ target_link_libraries(x265-shared ${SVT_HEVC_LIBRARY})
+ endif(SVTHEVC_FOUND)
Added: head/multimedia/x265/files/patch-source_abrEncApp.cpp
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/multimedia/x265/files/patch-source_abrEncApp.cpp Sun Sep 20 22:17:52 2020 (r549401)
@@ -0,0 +1,9 @@
+--- source/abrEncApp.cpp 2020-05-29 13:39:35.000000000 -0400
++++ source/abrEncApp.cpp 2020-07-19 17:37:32.365958000 -0400
+@@ -815,5 +815,5 @@
+ if (m_param->csvfn && !b_ctrl_c)
+ #if ENABLE_LIBVMAF
+- api->vmaf_encoder_log(m_encoder, m_cliopt.argCount, m_cliopt.argString, m_cliopt.param, vmafdata);
++ api->vmaf_encoder_log(m_encoder, m_cliopt.argCnt, m_cliopt.argString, m_cliopt.param, vmafdata);
+ #else
+ api->encoder_log(m_encoder, m_cliopt.argCnt, m_cliopt.argString);
Added: head/multimedia/x265/files/patch-source_cmake_Findsvthevc.cmake
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/multimedia/x265/files/patch-source_cmake_Findsvthevc.cmake Sun Sep 20 22:17:52 2020 (r549401)
@@ -0,0 +1,13 @@
+--- source/cmake/Findsvthevc.cmake 2020-05-29 17:39:35.000000000 +0000
++++ source/cmake/Findsvthevc.cmake 2020-08-07 02:26:55.307048000 +0000
+@@ -39,9 +39,5 @@
+ set(SVT_VERSION_PATCHLEVEL ${CMAKE_MATCH_1})
+
+- if(NOT ${SVT_VERSION_MAJOR} EQUAL "1" OR NOT ${SVT_VERSION_MINOR} EQUAL "4" OR NOT ${SVT_VERSION_PATCHLEVEL} EQUAL "1")
+- 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 ")
+- else()
+- message(STATUS "-- Found SVT-HEVC Lib Version: ${SVT_VERSION_MAJOR}.${SVT_VERSION_MINOR}.${SVT_VERSION_PATCHLEVEL}")
+- endif()
++ message(STATUS "-- Found SVT-HEVC Lib Version: ${SVT_VERSION_MAJOR}.${SVT_VERSION_MINOR}.${SVT_VERSION_PATCHLEVEL}")
+ else()
+ message (SEND_ERROR "-- Required version of SVT-HEVC Lib: ${SVT_VERSION_MAJOR_REQUIRED}.${SVT_VERSION_MINOR_REQUIRED}.${SVT_VERSION_PATCHLEVEL_REQUIRED}; Aborting configure ")
Added: head/multimedia/x265/files/patch-source_common_version.cpp
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/multimedia/x265/files/patch-source_common_version.cpp Sun Sep 20 22:17:52 2020 (r549401)
@@ -0,0 +1,20 @@
+--- source/common/version.cpp.orig 2020-05-29 17:39:35 UTC
++++ source/common/version.cpp
+@@ -63,6 +63,8 @@
+ #define ONOS "[Linux]"
+ #elif __OpenBSD__
+ #define ONOS "[OpenBSD]"
++#elif __FreeBSD__
++#define ONOS "[FreeBSD]"
+ #elif __CYGWIN__
+ #define ONOS "[Cygwin]"
+ #elif __APPLE__
+@@ -71,7 +73,7 @@
+ #define ONOS "[Unk-OS]"
+ #endif
+
+-#if X86_64
++#if defined(X86_64) || X265_ARCH_ARM64
+ #define BITS "[64 bit]"
+ #else
+ #define BITS "[32 bit]"
Added: head/multimedia/x265/files/patch-source_dynamicHDR10_CMakeLists.txt
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/multimedia/x265/files/patch-source_dynamicHDR10_CMakeLists.txt Sun Sep 20 22:17:52 2020 (r549401)
@@ -0,0 +1,28 @@
+--- source/dynamicHDR10/CMakeLists.txt.orig 2020-06-06 13:37:44 UTC
++++ source/dynamicHDR10/CMakeLists.txt
+@@ -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 "Install location
+ option(ENABLE_SHARED "Build shared library" OFF)
+
+ install(FILES hdr10plus.h DESTINATION include)
+-endif()
+\ No newline at end of file
++endif()
Modified: head/multimedia/x265/pkg-plist
==============================================================================
--- head/multimedia/x265/pkg-plist Sun Sep 20 22:12:22 2020 (r549400)
+++ head/multimedia/x265/pkg-plist Sun Sep 20 22:17:52 2020 (r549401)
@@ -6,5 +6,5 @@ lib/libhdr10plus.a
lib/libhdr10plus.so
lib/libx265.a
lib/libx265.so
-lib/libx265.so.179
+lib/libx265.so.192
libdata/pkgconfig/x265.pc
More information about the svn-ports-all
mailing list