diff options
author | Jan Beich <jbeich@FreeBSD.org> | 2019-03-10 17:10:56 +0000 |
---|---|---|
committer | Jan Beich <jbeich@FreeBSD.org> | 2019-03-10 17:10:56 +0000 |
commit | 71bb197b3aab49b09719d421fb6d759af74e4fb9 (patch) | |
tree | bf8ef7458d6c9930be312d5ef66088762504b776 /multimedia/x265 | |
parent | 8c5202b6db28e9d2b87d38bf4c165fd7f2c599a5 (diff) | |
download | ports-71bb197b3aab49b09719d421fb6d759af74e4fb9.tar.gz ports-71bb197b3aab49b09719d421fb6d759af74e4fb9.zip |
multimedia/x265: update to 3.0
- Add SVTHEVC option, see http://x265.org/x265-svt-hevc-house/
- Drop libmd patch due to rebase churn for what little value it provides
Changes: https://x265.readthedocs.io/en/latest/releasenotes.html#version-3-0
PR: 235906
Approved by: maintainer timeout (2 weeks)
Notes
Notes:
svn path=/head/; revision=495302
Diffstat (limited to 'multimedia/x265')
-rw-r--r-- | multimedia/x265/Makefile | 16 | ||||
-rw-r--r-- | multimedia/x265/distinfo | 12 | ||||
-rw-r--r-- | multimedia/x265/files/patch-bug-422 | 13 | ||||
-rw-r--r-- | multimedia/x265/files/patch-md5 | 33 | ||||
-rw-r--r-- | multimedia/x265/files/patch-source_CMakeLists.txt | 22 | ||||
-rw-r--r-- | multimedia/x265/files/patch-source_encoder_api.cpp | 45 | ||||
-rw-r--r-- | multimedia/x265/pkg-plist | 2 |
7 files changed, 85 insertions, 58 deletions
diff --git a/multimedia/x265/Makefile b/multimedia/x265/Makefile index ef472bf83b1f..5a504abd6abc 100644 --- a/multimedia/x265/Makefile +++ b/multimedia/x265/Makefile @@ -2,8 +2,7 @@ # $FreeBSD$ PORTNAME= x265 -PORTVERSION= 2.8 -PORTREVISION= 2 +PORTVERSION= 3.0 CATEGORIES= multimedia MASTER_SITES= https://downloads.videolan.org/pub/videolan/x265/ \ https://mirror.leaseweb.com/videolan/x265/ \ @@ -12,7 +11,7 @@ MASTER_SITES= https://downloads.videolan.org/pub/videolan/x265/ \ DISTNAME= ${PORTNAME}_${PORTVERSION} PATCH_SITES= http://hg.videolan.org/${PORTNAME}/raw-rev/ -PATCHFILES= 450421921079:-p2 +PATCHFILES+= 878541319ea1:-p1 a41325fc854f:-p1 # SVT-HEVC MAINTAINER= mi@aldan.algebra.com COMMENT= H.265/High Efficiency Video Coding (HEVC) format @@ -25,7 +24,7 @@ BUILD_DEPENDS= nasm:devel/nasm USES= cmake compiler:c++14-lang pathfix OPTIONS_DEFINE= DEBUG OPTIMIZED_FLAGS -OPTIONS_DEFINE_amd64= HI10P HI12P +OPTIONS_DEFINE_amd64= HI10P HI12P SVTHEVC DEBUG_PREVENTS= OPTIMIZED_FLAGS DEBUG_PREVENTS_MSG= Optimizations are incompatible with debugging code @@ -34,18 +33,23 @@ HI10P_CMAKE_BOOL= HIGH_BIT_DEPTH HI12P_CMAKE_BOOL= MAIN12 HI12P_IMPLIES= HI10P OPTIMIZED_FLAGS_VARS= CFLAGS+=-O3 CXXFLAGS+=-O3 +SVTHEVC_LIB_DEPENDS= libSvtHevcEnc.so:multimedia/svt-hevc +SVTHEVC_CMAKE_BOOL= ENABLE_SVT_HEVC +SVTHEVC_CMAKE_ON= -DSVT_HEVC_INCLUDE_DIR:PATH="${LOCALBASE}/include/svt-hevc" DEBUG_DESC= Enable debugging HI10P_DESC= Enable HI10P Support (64-bit only) HI12P_DESC= Enable HI12P Support (64-bit only) OPTIMIZED_FLAGS_DESC= Enable O3 optimization +SVTHEVC_DESC= HEVC encoding via SVT-HEVC USE_LDCONFIG= yes -CMAKE_ARGS= -DENABLE_PIC=on -DPLATFORM_LIBS=md -DENABLE_TESTS=on +CMAKE_ARGS= -DENABLE_PIC=on -DENABLE_TESTS=on CFLAGS_mips= -DNO_ATOMICS # cannot use lang/gcc CFLAGS_mips64= -DNO_ATOMICS # cannot use lang/gcc LDFLAGS_i386= -Wl,-znotext -EXTRACT_AFTER_ARGS+= --exclude "md5*" --exclude compat +EXTRACT_AFTER_ARGS+= --exclude compat +PATCH_WRKSRC= ${WRKSRC:H} WRKSRC= ${WRKDIR}/${PORTNAME}_${PORTVERSION}/source do-test: diff --git a/multimedia/x265/distinfo b/multimedia/x265/distinfo index be4b3fd9db1d..d555c822ffa0 100644 --- a/multimedia/x265/distinfo +++ b/multimedia/x265/distinfo @@ -1,5 +1,7 @@ -TIMESTAMP = 1531665864 -SHA256 (x265_2.8.tar.gz) = 6e59f9afc0c2b87a46f98e33b5159d56ffb3558a49d8e3d79cb7fdc6b7aaa863 -SIZE (x265_2.8.tar.gz) = 1379551 -SHA256 (450421921079) = 015d99bbcc60e184293cd86879f54d6f78559c9ff2cda32c5ad54e6113bc7fca -SIZE (450421921079) = 703 +TIMESTAMP = 1548236838 +SHA256 (x265_3.0.tar.gz) = c5b9fc260cabbc4a81561a448f4ce9cad7218272b4011feabc3a6b751b2f0662 +SIZE (x265_3.0.tar.gz) = 1398519 +SHA256 (878541319ea1) = cb135430143d4d0df4e1d7e5b9d7994f0b6279796f44f7b8b6e5159c00c92768 +SIZE (878541319ea1) = 86799 +SHA256 (a41325fc854f) = 5fb5a2d97cecf9920f5800364534f56584dbf805f1e215de9dbdeca025eb3ec8 +SIZE (a41325fc854f) = 912 diff --git a/multimedia/x265/files/patch-bug-422 b/multimedia/x265/files/patch-bug-422 deleted file mode 100644 index b26f06db7be1..000000000000 --- a/multimedia/x265/files/patch-bug-422 +++ /dev/null @@ -1,13 +0,0 @@ -See: - - https://bitbucket.org/multicoreware/x265/issues/422 - ---- common/pixel.cpp 2018-05-21 08:33:10 UTC -+++ common/pixel.cpp 2018-08-05 21:57:26 UTC -@@ -923,5 +923,5 @@ - { - for (int i = 0; i < count; i++) -- dst[i] = (uint16_t)(src[i] * 256.0); -+ dst[i] = (int16_t)(src[i] * 256.0); - } - diff --git a/multimedia/x265/files/patch-md5 b/multimedia/x265/files/patch-md5 deleted file mode 100644 index fea6f09f1d9b..000000000000 --- a/multimedia/x265/files/patch-md5 +++ /dev/null @@ -1,33 +0,0 @@ -Use FreeBSD's MD5-implementation instead of yet another bundled one. - - -mi - ---- common/CMakeLists.txt 2016-01-25 00:16:50.000000000 -0500 -+++ common/CMakeLists.txt 2016-02-02 17:57:52.620700000 -0500 -@@ -109,5 +109,4 @@ - threadpool.cpp threadpool.h - wavefront.h wavefront.cpp -- md5.cpp md5.h - bitstream.h bitstream.cpp - yuv.cpp yuv.h ---- common/picyuv.h 2016-01-25 00:16:50.000000000 -0500 -+++ common/picyuv.h 2016-02-02 21:52:24.690114000 -0500 -@@ -25,6 +25,8 @@ - #define X265_PICYUV_H - -+#include <sys/types.h> -+#include <md5.h> -+ - #include "common.h" --#include "md5.h" - #include "x265.h" - ---- encoder/frameencoder.cpp 2016-01-25 00:16:50.000000000 -0500 -+++ encoder/frameencoder.cpp 2016-02-02 18:06:58.918647000 -0500 -@@ -667,5 +667,5 @@ - m_seiReconPictureDigest.m_method = SEIDecodedPictureHash::MD5; - for (int i = 0; i < planes; i++) -- MD5Final(&m_state[i], m_seiReconPictureDigest.m_digest[i]); -+ MD5Final(m_seiReconPictureDigest.m_digest[i], &m_state[i]); - } - else if (m_param->decodedPictureHashSEI == 2) diff --git a/multimedia/x265/files/patch-source_CMakeLists.txt b/multimedia/x265/files/patch-source_CMakeLists.txt new file mode 100644 index 000000000000..d7c218ce3f51 --- /dev/null +++ b/multimedia/x265/files/patch-source_CMakeLists.txt @@ -0,0 +1,22 @@ +===> 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 + +--- source/CMakeLists.txt.orig 2019-01-23 09:47:18 UTC ++++ source/CMakeLists.txt +@@ -570,13 +570,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}) +-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) diff --git a/multimedia/x265/files/patch-source_encoder_api.cpp b/multimedia/x265/files/patch-source_encoder_api.cpp new file mode 100644 index 000000000000..6b65641169f5 --- /dev/null +++ b/multimedia/x265/files/patch-source_encoder_api.cpp @@ -0,0 +1,45 @@ +source/encoder/api.cpp:432:17: error: cannot jump from this + goto statement to its label + goto fail; + ^ +source/encoder/api.cpp:436:36: note: jump bypasses variable + initialization + EB_H265_ENC_CONFIGURATION* svtParam = (EB_H265_ENC_CONFIGURATION*)encoder->m_svtAppData->svtHevcParams; + ^ +source/encoder/api.cpp:413:17: error: cannot jump from this + goto statement to its label + goto fail; + ^ +source/encoder/api.cpp:436:36: note: jump bypasses variable + initialization + EB_H265_ENC_CONFIGURATION* svtParam = (EB_H265_ENC_CONFIGURATION*)encoder->m_svtAppData->svtHevcParams; + ^ +source/encoder/api.cpp:406:21: error: cannot jump from this + goto statement to its label + goto fail; + ^ +source/encoder/api.cpp:436:36: note: jump bypasses variable + initialization + EB_H265_ENC_CONFIGURATION* svtParam = (EB_H265_ENC_CONFIGURATION*)encoder->m_svtAppData->svtHevcParams; + ^ +3 errors generated. + +--- source/encoder/api.cpp.orig 2019-01-23 09:47:18 UTC ++++ source/encoder/api.cpp +@@ -355,6 +355,7 @@ int x265_encoder_encode(x265_encoder *enc, x265_nal ** + static unsigned char picSendDone = 0; + numEncoded = 0; + static int codedNal = 0, eofReached = 0; ++ EB_H265_ENC_CONFIGURATION* svtParam = NULL; + + if (encoder->m_param->bEnableSvtHevc) + { +@@ -433,7 +434,7 @@ int x265_encoder_encode(x265_encoder *enc, x265_nal ** + } + } + +- EB_H265_ENC_CONFIGURATION* svtParam = (EB_H265_ENC_CONFIGURATION*)encoder->m_svtAppData->svtHevcParams; ++ svtParam = (EB_H265_ENC_CONFIGURATION*)encoder->m_svtAppData->svtHevcParams; + if (eofReached && svtParam->codeEosNal == 0 && !codedNal) + { + EB_BUFFERHEADERTYPE *outputStreamPtr = 0; diff --git a/multimedia/x265/pkg-plist b/multimedia/x265/pkg-plist index 08f6668f2240..c7e971fda4b0 100644 --- a/multimedia/x265/pkg-plist +++ b/multimedia/x265/pkg-plist @@ -3,5 +3,5 @@ include/x265.h include/x265_config.h lib/libx265.a lib/libx265.so -lib/libx265.so.160 +lib/libx265.so.170 libdata/pkgconfig/x265.pc |