Sat Apr 10 08:36:03 2021 UTC ()
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.


(adam)
diff -r1.33 -r1.34 pkgsrc/multimedia/x265/Makefile
diff -r1.25 -r1.26 pkgsrc/multimedia/x265/PLIST
diff -r1.34 -r1.35 pkgsrc/multimedia/x265/distinfo
diff -r1.1 -r1.2 pkgsrc/multimedia/x265/patches/patch-CMakeLists.txt
diff -r0 -r1.1 pkgsrc/multimedia/x265/patches/patch-common_version.cpp

cvs diff -r1.33 -r1.34 pkgsrc/multimedia/x265/Makefile (expand / switch to unified diff)

--- pkgsrc/multimedia/x265/Makefile 2020/10/29 23:58:07 1.33
+++ pkgsrc/multimedia/x265/Makefile 2021/04/10 08:36:03 1.34
@@ -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
3DISTNAME= x265_3.4 3DISTNAME= x265_3.5
4PKGNAME= ${DISTNAME:S/_/-/} 4PKGNAME= ${DISTNAME:S/_/-/}
5CATEGORIES= multimedia 5CATEGORIES= multimedia
6MASTER_SITES= https://bitbucket.org/multicoreware/x265/downloads/ 6MASTER_SITES= https://bitbucket.org/multicoreware/x265_git/downloads/
7 7
8MAINTAINER= pkgsrc-users@NetBSD.org 8MAINTAINER= pkgsrc-users@NetBSD.org
9HOMEPAGE= http://www.x265.org/ 9HOMEPAGE= http://www.x265.org/
10COMMENT= High Efficiency Video Coding (HEVC) 10COMMENT= High Efficiency Video Coding (HEVC)
11LICENSE= gnu-gpl-v2 11LICENSE= gnu-gpl-v2
12 12
13WRKSRC= ${WRKDIR}/${DISTNAME}/source 13WRKSRC= ${WRKDIR}/${DISTNAME}/source
14 14
15.include "../../mk/bsd.prefs.mk" 15USE_CMAKE= yes
 16USE_LANGUAGES= c c++
 17
 18CMAKE_ARGS+= -DENABLE_PIC=ON
 19# Set version here instead of relying on git; see patch-CMakeLists.txt
 20CMAKE_ARGS+= -DX265_VERSION=${PKGVERSION_NOREV}
 21CMAKE_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
20CMAKE_ARGS+= -DENABLE_ASSEMBLY=OFF 29CMAKE_ARGS+= -DENABLE_ASSEMBLY=OFF
21. else 30. else
22TOOL_DEPENDS+= nasm>=2.13.0:../../devel/nasm 31TOOL_DEPENDS+= nasm>=2.13.0:../../devel/nasm
23. endif 32. endif
24.endif 33.endif
25 34
26CMAKE_ARGS+= -DENABLE_PIC=ON 
27 
28USE_CMAKE= yes 
29USE_LANGUAGES= c c++ 
30 
31.include "options.mk" 
32 
33.include "../../mk/bsd.pkg.mk" 35.include "../../mk/bsd.pkg.mk"

cvs diff -r1.25 -r1.26 pkgsrc/multimedia/x265/PLIST (expand / switch to unified diff)

--- pkgsrc/multimedia/x265/PLIST 2020/05/30 06:10:40 1.25
+++ pkgsrc/multimedia/x265/PLIST 2021/04/10 08:36:03 1.26
@@ -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 $
2bin/x265 2bin/x265
3include/x265.h 3include/x265.h
4include/x265_config.h 4include/x265_config.h
5lib/libx265.a 5lib/libx265.a
6lib/libx265.so 6lib/libx265.so
7lib/libx265.so.192 7lib/libx265.so.199
8lib/pkgconfig/x265.pc 8lib/pkgconfig/x265.pc

cvs diff -r1.34 -r1.35 pkgsrc/multimedia/x265/distinfo (expand / switch to unified diff)

--- pkgsrc/multimedia/x265/distinfo 2020/05/30 06:10:40 1.34
+++ pkgsrc/multimedia/x265/distinfo 2021/04/10 08:36:03 1.35
@@ -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
3SHA1 (x265_3.4.tar.gz) = 5bc27f7d4504fef1ea429551319c9bab49f6df4a 3SHA1 (x265_3.5.tar.gz) = dc8e70f441991289a9a34fd37e1649d59435bfae
4RMD160 (x265_3.4.tar.gz) = e97d3fcdcceadeef20bd4287ef0ce3400ade1707 4RMD160 (x265_3.5.tar.gz) = 07687818611d34e0fdec3360f905397095fe51d8
5SHA512 (x265_3.4.tar.gz) = 576b18711935e7da8433b2170d24ed159eb12ff1a18399360afa1b2132db33b463145c65ed918f667528ee954bbdfb5c69e5480f1c1df801515cefc592f3206e 5SHA512 (x265_3.5.tar.gz) = 230e683239c3e262096ba96246c6f67229a1625d163f86647a411733bb1cf349685858aee3017bce818bb6992448d0abaa9241615a5b620561ce47ecb164f997
6Size (x265_3.4.tar.gz) = 1469365 bytes 6Size (x265_3.5.tar.gz) = 1537044 bytes
7SHA1 (patch-CMakeLists.txt) = fbf4d08133a48b342a060f1b45bab0253455a1b1 7SHA1 (patch-CMakeLists.txt) = 60cc9452ae7aed5687fb95a75ad8b3aee3bf3624
8SHA1 (patch-common_cpu.cpp) = 86dd8d4a3f9cf51312cd93695beace4c4becb8c6 8SHA1 (patch-common_cpu.cpp) = 86dd8d4a3f9cf51312cd93695beace4c4becb8c6
9SHA1 (patch-common_cpu.h) = 33e3bb9bc9cb60735aa09efa185c474ebd3e6af5 9SHA1 (patch-common_cpu.h) = 33e3bb9bc9cb60735aa09efa185c474ebd3e6af5
10SHA1 (patch-common_quant.cpp) = 810ba9af4ec6a767af18fe59a10feb0bca626777 10SHA1 (patch-common_quant.cpp) = 810ba9af4ec6a767af18fe59a10feb0bca626777
 11SHA1 (patch-common_version.cpp) = a1120089986e757395fa1d85b77e75d85acbc24f
11SHA1 (patch-encoder_analysis.cpp) = 28b23506e7ffbb3e019eb2ae9f749054cc865c9f 12SHA1 (patch-encoder_analysis.cpp) = 28b23506e7ffbb3e019eb2ae9f749054cc865c9f
12SHA1 (patch-encoder_encoder.cpp) = 907db18c8e9afd51684ed886da70c23ac3d3652a 13SHA1 (patch-encoder_encoder.cpp) = 907db18c8e9afd51684ed886da70c23ac3d3652a

cvs diff -r1.1 -r1.2 pkgsrc/multimedia/x265/patches/patch-CMakeLists.txt (expand / switch to unified diff)

--- pkgsrc/multimedia/x265/patches/patch-CMakeLists.txt 2017/02/13 13:39:55 1.1
+++ pkgsrc/multimedia/x265/patches/patch-CMakeLists.txt 2021/04/10 08:36:03 1.2
@@ -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
 3Get X265_VERSION and X265_LATEST_TAG from outside.
2 4
3Solaris ld: Provided assembler is not PIC, so we pass "-mimpure-text" 5Solaris 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
6Solaris ld: Passing "-Wa,--noexecstack" to gcc will generate an ELF section 8Solaris 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})

File Added: pkgsrc/multimedia/x265/patches/patch-common_version.cpp
$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__