# Buildsheet autogenerated by ravenadm tool -- Do not edit. NAMEBASE= x265 VERSION= 3.3 KEYWORDS= multimedia VARIANTS= standard SDESC[standard]= Library for encoding h.265/HEVC video streams HOMEPAGE= https://www.videolan.org/developers/x265.html CONTACT= nobody DOWNLOAD_GROUPS= main SITES[main]= https://bitbucket.org/multicoreware/x265/downloads/ DISTFILE[1]= x265_3.3.tar.gz:main DF_INDEX= 1 SPKGS[standard]= single OPTIONS_AVAILABLE= none OPTIONS_STANDARD= none BUILD_DEPENDS= yasm:single:standard USES= cmake c++:single DISTNAME= x265_3.3/source LICENSE= GPLv2+:single LICENSE_TERMS= single:{{WRKDIR}}/x265_3.3/source/x265.h LICENSE_FILE= GPLv2+:{{WRKDIR}}/x265_3.3/COPYING LICENSE_SCHEME= solo FPC_EQUIVALENT= multimedia/x265 SOVERSION= 188 post-install: ${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/x265 ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libx265.${LIBEXT} [FILE:618:descriptions/desc.single] High Efficiency Video Coding (HEVC) is the latest generation video compression standard. * This standard was developed by the ISO/IEC Moving Picture Experts Group (MPEG) and ITU-T Video Coding Experts Group (VCEG), through their Joint Collaborative Team on Video Coding (JCT-VC) * HEVC is also known as ISO/IEC 23008-2 MPEG-H Part 2 and ITU-T H.265 * HEVC provides superior video quality and up to twice the data compression as the previous standard (H.264/MPEG-4 AVC) * HEVC can support 8K Ultra High Definition video, with a picture size up to 8192x4320 pixels WWW: http://www.x265.org/ [FILE:94:distinfo] f26e148ed1f4dfb33fd1eb3ff5e60e08078d1b2017e88bcbb045b3fb58300b9c 1438685 x265_3.3.tar.gz [FILE:117:manifests/plist.single] bin/x265 include/ x265.h x265_config.h lib/ libx265.a libx265.so libx265.so.%%SOVERSION%% lib/pkgconfig/x265.pc [FILE:1067:patches/patch-CMakeLists.txt] $NetBSD: patch-CMakeLists.txt,v 1.1 2017/02/13 13:39:55 fhajny Exp $ Solaris ld: Provided assembler is not PIC, so we pass "-mimpure-text" to the compiler so it doesn't send "-ztext" to ld. Solaris ld: Passing "-Wa,--noexecstack" to gcc will generate an ELF section requesting a non executable stack. I don't know if Solaris ld is complying or just ignoring it. --- CMakeLists.txt.orig 2019-10-29 11:55:05 UTC +++ CMakeLists.txt @@ -644,7 +644,11 @@ if(ENABLE_SHARED) elseif(CYGWIN) # Cygwin is not officially supported or tested. MinGW with msys is recommended. else() - list(APPEND LINKER_OPTIONS "-Wl,-Bsymbolic,-znoexecstack") + if(${CMAKE_SYSTEM_NAME} MATCHES "SunOS") + list(APPEND LINKER_OPTIONS "-mimpure-text -Wa,--noexecstack") + else() + list(APPEND LINKER_OPTIONS "-Wl,-Bsymbolic,-znoexecstack") + endif() endif() endif() set_target_properties(x265-shared PROPERTIES SOVERSION ${X265_BUILD}) [FILE:627:patches/patch-common_common.cpp] --- common/common.cpp.orig 2019-10-29 11:55:05 UTC +++ common/common.cpp @@ -35,6 +35,27 @@ #include #endif +#ifdef __sun__ +#define posix_memalign illumos_memalign +static int +posix_memalign(void **memptr, size_t alignment, size_t size) +{ + void *ptr = NULL; + int error = 0; + + if (alignment == 0 || + (alignment & (sizeof (void *) - 1)) != 0 || + (alignment & (alignment - 1)) != 0) + error = EINVAL; + else if (size != 0 && + (ptr = memalign(alignment, size)) == NULL) + error = ENOMEM; + + *memptr = ptr; + return (error); +} +#endif + namespace X265_NS { #if CHECKED_BUILD || _DEBUG [FILE:431:patches/patch-encoder_analysis.cpp] --- encoder/analysis.cpp.orig 2019-10-29 11:55:05 UTC +++ encoder/analysis.cpp @@ -3706,7 +3706,7 @@ void Analysis::normFactor(const pixel* s // 2. Calculate ac component uint64_t z_k = 0; - int block = (int)(((log(blockSize) / log(2)) - 2) + 0.5); + int block = (int)(((std::log(blockSize) / std::log(2)) - 2) + 0.5); primitives.cu[block].normFact(src, blockSize, shift, &z_k); // Remove the DC part [FILE:400:patches/patch-encoder_encoder.cpp] $NetBSD: patch-encoder_encoder.cpp,v 1.3 2018/05/25 14:42:07 jperkin Exp $ Fix error: call of overloaded 'pow(int, int)' is ambiguous --- encoder/encoder.cpp.orig 2019-10-29 11:55:05 UTC +++ encoder/encoder.cpp @@ -84,6 +84,7 @@ DolbyVisionProfileSpec dovi[] = static const char* defaultAnalysisFileName = "x265_analysis.dat"; using namespace X265_NS; +using std::pow; Encoder::Encoder() {