x265: updated to 3.5 Version 3.5 New feature Real-time VBV for ABR (Average BitRate) encodes in 窶菟ass 2 using --vbv-live-multi-pass: Improves VBV compliance with no significant impact on coding efficiency. Enhancements to existing features Improved hist-based scene cut algorithm: Reduces false positives by leveraging motion and scene transition info. Support for RADL pictures at IDR scene cuts: Improves coding efficiency with no significant impact on performance. Bidirectional scene cut aware Frame Quantizer Selection: Saves bits than forward masking with no noticeable perceptual quality difference. API changes Additions to x265_param structure to support the newly added features and encoder enhancements. New x265_param options --min-vbv-fullness and --max-vbv-fullness to control min and max VBV fullness. Bug fixes Incorrect VBV lookahead in --analysis-load + --scale-factor. Encoder hang when VBV is used with slices. QP spikes in the row-level VBV rate-control when WPP enabled. Encoder crash in --abr-ladder.diff -r1.33 -r1.34 pkgsrc/multimedia/x265/Makefile
(adam)
@@ -1,33 +1,35 @@ | @@ -1,33 +1,35 @@ | |||
1 | # $NetBSD: Makefile,v 1.33 2020/10/29 23:58:07 wiz Exp $ | 1 | # $NetBSD: Makefile,v 1.34 2021/04/10 08:36:03 adam Exp $ | |
2 | 2 | |||
3 | DISTNAME= x265_3.4 | 3 | DISTNAME= x265_3.5 | |
4 | PKGNAME= ${DISTNAME:S/_/-/} | 4 | PKGNAME= ${DISTNAME:S/_/-/} | |
5 | CATEGORIES= multimedia | 5 | CATEGORIES= multimedia | |
6 | MASTER_SITES= https://bitbucket.org/multicoreware/x265/downloads/ | 6 | MASTER_SITES= https://bitbucket.org/multicoreware/x265_git/downloads/ | |
7 | 7 | |||
8 | MAINTAINER= pkgsrc-users@NetBSD.org | 8 | MAINTAINER= pkgsrc-users@NetBSD.org | |
9 | HOMEPAGE= http://www.x265.org/ | 9 | HOMEPAGE= http://www.x265.org/ | |
10 | COMMENT= High Efficiency Video Coding (HEVC) | 10 | COMMENT= High Efficiency Video Coding (HEVC) | |
11 | LICENSE= gnu-gpl-v2 | 11 | LICENSE= gnu-gpl-v2 | |
12 | 12 | |||
13 | WRKSRC= ${WRKDIR}/${DISTNAME}/source | 13 | WRKSRC= ${WRKDIR}/${DISTNAME}/source | |
14 | 14 | |||
15 | .include "../../mk/bsd.prefs.mk" | 15 | USE_CMAKE= yes | |
16 | USE_LANGUAGES= c c++ | |||
17 | ||||
18 | CMAKE_ARGS+= -DENABLE_PIC=ON | |||
19 | # Set version here instead of relying on git; see patch-CMakeLists.txt | |||
20 | CMAKE_ARGS+= -DX265_VERSION=${PKGVERSION_NOREV} | |||
21 | CMAKE_ARGS+= -DX265_LATEST_TAG=${PKGVERSION_NOREV} | |||
22 | ||||
23 | .include "options.mk" | |||
16 | 24 | |||
25 | .include "../../mk/bsd.prefs.mk" | |||
17 | .if ${MACHINE_ARCH} == "x86_64" || ${MACHINE_ARCH} == "i386" | 26 | .if ${MACHINE_ARCH} == "x86_64" || ${MACHINE_ARCH} == "i386" | |
18 | . if ${OPSYS} == "NetBSD" && ${MACHINE_ARCH} == "i386" | 27 | . if ${OPSYS} == "NetBSD" && ${MACHINE_ARCH} == "i386" | |
19 | # Avoid text relocations | 28 | # Avoid text relocations | |
20 | CMAKE_ARGS+= -DENABLE_ASSEMBLY=OFF | 29 | CMAKE_ARGS+= -DENABLE_ASSEMBLY=OFF | |
21 | . else | 30 | . else | |
22 | TOOL_DEPENDS+= nasm>=2.13.0:../../devel/nasm | 31 | TOOL_DEPENDS+= nasm>=2.13.0:../../devel/nasm | |
23 | . endif | 32 | . endif | |
24 | .endif | 33 | .endif | |
25 | 34 | |||
26 | CMAKE_ARGS+= -DENABLE_PIC=ON | |||
27 | ||||
28 | USE_CMAKE= yes | |||
29 | USE_LANGUAGES= c c++ | |||
30 | ||||
31 | .include "options.mk" | |||
32 | ||||
33 | .include "../../mk/bsd.pkg.mk" | 35 | .include "../../mk/bsd.pkg.mk" |
@@ -1,8 +1,8 @@ | @@ -1,8 +1,8 @@ | |||
1 | @comment $NetBSD: PLIST,v 1.25 2020/05/30 06:10:40 adam Exp $ | 1 | @comment $NetBSD: PLIST,v 1.26 2021/04/10 08:36:03 adam Exp $ | |
2 | bin/x265 | 2 | bin/x265 | |
3 | include/x265.h | 3 | include/x265.h | |
4 | include/x265_config.h | 4 | include/x265_config.h | |
5 | lib/libx265.a | 5 | lib/libx265.a | |
6 | lib/libx265.so | 6 | lib/libx265.so | |
7 | lib/libx265.so.192 | 7 | lib/libx265.so.199 | |
8 | lib/pkgconfig/x265.pc | 8 | lib/pkgconfig/x265.pc |
@@ -1,12 +1,13 @@ | @@ -1,12 +1,13 @@ | |||
1 | $NetBSD: distinfo,v 1.34 2020/05/30 06:10:40 adam Exp $ | 1 | $NetBSD: distinfo,v 1.35 2021/04/10 08:36:03 adam Exp $ | |
2 | 2 | |||
3 | SHA1 (x265_3.4.tar.gz) = 5bc27f7d4504fef1ea429551319c9bab49f6df4a | 3 | SHA1 (x265_3.5.tar.gz) = dc8e70f441991289a9a34fd37e1649d59435bfae | |
4 | RMD160 (x265_3.4.tar.gz) = e97d3fcdcceadeef20bd4287ef0ce3400ade1707 | 4 | RMD160 (x265_3.5.tar.gz) = 07687818611d34e0fdec3360f905397095fe51d8 | |
5 | SHA512 (x265_3.4.tar.gz) = 576b18711935e7da8433b2170d24ed159eb12ff1a18399360afa1b2132db33b463145c65ed918f667528ee954bbdfb5c69e5480f1c1df801515cefc592f3206e | 5 | SHA512 (x265_3.5.tar.gz) = 230e683239c3e262096ba96246c6f67229a1625d163f86647a411733bb1cf349685858aee3017bce818bb6992448d0abaa9241615a5b620561ce47ecb164f997 | |
6 | Size (x265_3.4.tar.gz) = 1469365 bytes | 6 | Size (x265_3.5.tar.gz) = 1537044 bytes | |
7 | SHA1 (patch-CMakeLists.txt) = fbf4d08133a48b342a060f1b45bab0253455a1b1 | 7 | SHA1 (patch-CMakeLists.txt) = 60cc9452ae7aed5687fb95a75ad8b3aee3bf3624 | |
8 | SHA1 (patch-common_cpu.cpp) = 86dd8d4a3f9cf51312cd93695beace4c4becb8c6 | 8 | SHA1 (patch-common_cpu.cpp) = 86dd8d4a3f9cf51312cd93695beace4c4becb8c6 | |
9 | SHA1 (patch-common_cpu.h) = 33e3bb9bc9cb60735aa09efa185c474ebd3e6af5 | 9 | SHA1 (patch-common_cpu.h) = 33e3bb9bc9cb60735aa09efa185c474ebd3e6af5 | |
10 | SHA1 (patch-common_quant.cpp) = 810ba9af4ec6a767af18fe59a10feb0bca626777 | 10 | SHA1 (patch-common_quant.cpp) = 810ba9af4ec6a767af18fe59a10feb0bca626777 | |
11 | SHA1 (patch-common_version.cpp) = a1120089986e757395fa1d85b77e75d85acbc24f | |||
11 | SHA1 (patch-encoder_analysis.cpp) = 28b23506e7ffbb3e019eb2ae9f749054cc865c9f | 12 | SHA1 (patch-encoder_analysis.cpp) = 28b23506e7ffbb3e019eb2ae9f749054cc865c9f | |
12 | SHA1 (patch-encoder_encoder.cpp) = 907db18c8e9afd51684ed886da70c23ac3d3652a | 13 | SHA1 (patch-encoder_encoder.cpp) = 907db18c8e9afd51684ed886da70c23ac3d3652a |
@@ -1,24 +1,34 @@ | @@ -1,24 +1,34 @@ | |||
1 | $NetBSD: patch-CMakeLists.txt,v 1.1 2017/02/13 13:39:55 fhajny Exp $ | 1 | $NetBSD: patch-CMakeLists.txt,v 1.2 2021/04/10 08:36:03 adam Exp $ | |
2 | ||||
3 | Get X265_VERSION and X265_LATEST_TAG from outside. | |||
2 | 4 | |||
3 | Solaris ld: Provided assembler is not PIC, so we pass "-mimpure-text" | 5 | Solaris ld: Provided assembler is not PIC, so we pass "-mimpure-text" | |
4 | to the compiler so it doesn't send "-ztext" to ld. | 6 | to the compiler so it doesn't send "-ztext" to ld. | |
5 | 7 | |||
6 | Solaris ld: Passing "-Wa,--noexecstack" to gcc will generate an ELF section | 8 | Solaris ld: Passing "-Wa,--noexecstack" to gcc will generate an ELF section | |
7 | requesting a non executable stack. I don't know if Solaris ld | 9 | requesting a non executable stack. I don't know if Solaris ld | |
8 | is complying or just ignoring it. | 10 | is complying or just ignoring it. | |
9 | 11 | |||
10 | --- CMakeLists.txt.OLD 2017-01-27 02:42:21.295232904 +0000 | 12 | --- CMakeLists.txt.orig 2021-03-16 12:53:00.000000000 +0000 | |
11 | +++ CMakeLists.txt 2017-01-27 02:51:32.144600352 +0000 | 13 | +++ CMakeLists.txt | |
12 | @@ -523,7 +523,11 @@ | 14 | @@ -485,7 +485,6 @@ if(POWER) | |
15 | endif() | |||
16 | endif() | |||
17 | ||||
18 | -include(Version) # determine X265_VERSION and X265_LATEST_TAG | |||
19 | include_directories(. common encoder "${PROJECT_BINARY_DIR}") | |||
20 | ||||
21 | option(ENABLE_PPA "Enable PPA profiling instrumentation" OFF) | |||
22 | @@ -665,7 +664,11 @@ if(ENABLE_SHARED) | |||
13 | elseif(CYGWIN) | 23 | elseif(CYGWIN) | |
14 | # Cygwin is not officially supported or tested. MinGW with msys is recommended. | 24 | # Cygwin is not officially supported or tested. MinGW with msys is recommended. | |
15 | else() | 25 | else() | |
16 | - list(APPEND LINKER_OPTIONS "-Wl,-Bsymbolic,-znoexecstack") | 26 | - list(APPEND LINKER_OPTIONS "-Wl,-Bsymbolic,-znoexecstack") | |
17 | + if(${CMAKE_SYSTEM_NAME} MATCHES "SunOS") | 27 | + if(${CMAKE_SYSTEM_NAME} MATCHES "SunOS") | |
18 | + list(APPEND LINKER_OPTIONS "-mimpure-text -Wa,--noexecstack") | 28 | + list(APPEND LINKER_OPTIONS "-mimpure-text -Wa,--noexecstack") | |
19 | + else() | 29 | + else() | |
20 | + list(APPEND LINKER_OPTIONS "-Wl,-Bsymbolic,-znoexecstack") | 30 | + list(APPEND LINKER_OPTIONS "-Wl,-Bsymbolic,-znoexecstack") | |
21 | + endif() | 31 | + endif() | |
22 | endif() | 32 | endif() | |
23 | endif() | 33 | endif() | |
24 | set_target_properties(x265-shared PROPERTIES SOVERSION ${X265_BUILD}) | 34 | set_target_properties(x265-shared PROPERTIES SOVERSION ${X265_BUILD}) |
$NetBSD: patch-common_version.cpp,v 1.1 2021/04/10 08:36:03 adam Exp $
Recognise NetBSD.
--- common/version.cpp.orig 2021-04-10 08:24:32.907512619 +0000
+++ common/version.cpp
@@ -61,6 +61,8 @@
#define ONOS "[Windows]"
#elif __linux
#define ONOS "[Linux]"
+#elif __NetBSD__
+#define ONOS "[NetBSD]"
#elif __OpenBSD__
#define ONOS "[OpenBSD]"
#elif __CYGWIN__