# Buildsheet autogenerated by ravenadm tool -- Do not edit. NAMEBASE= x265 VERSION= 4.1 KEYWORDS= multimedia VARIANTS= std SDESC[std]= 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_git/downloads/ DISTFILE[1]= x265_4.1.tar.gz:main DF_INDEX= 1 SPKGS[std]= set primary dev OPTIONS_AVAILABLE= none OPTIONS_STANDARD= none BUILD_DEPENDS= nasm:primary:std git:primary:std USES= cpe cmake c++:primary DISTNAME= x265_4.1/source LICENSE= GPLv2+:primary LICENSE_TERMS= primary:{{WRKDIR}}/TERMS LICENSE_FILE= GPLv2+:{{WRKSRC}}/../COPYING LICENSE_AWK= TERMS:"X265_H" LICENSE_SOURCE= TERMS:{{WRKSRC}}/x265.h LICENSE_SCHEME= solo CPE_PRODUCT= x265_high_efficiency_video_coding CPE_VENDOR= multicorewareinc FPC_EQUIVALENT= multimedia/x265 SOVERSION= 215 CMAKE_ARGS= -DENABLE_SHARED:BOOL=ON -Wno-dev post-install: ${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/x265 ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libx265.${LIBEXT} [FILE:618:descriptions/desc.primary] 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] a31699c6a89806b74b0151e5e6a7df65de4b49050482fe5ebf8a4379d7af8f29 1725279 x265_4.1.tar.gz [FILE:38:manifests/plist.primary] bin/x265 lib/libx265.so.%%SOVERSION%% [FILE:82:manifests/plist.dev] include/ x265.h x265_config.h lib/ libx265.a libx265.so lib/pkgconfig/x265.pc [FILE:1677:patches/patch-CMakeLists.txt] 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 2024-11-22 12:07:34 UTC +++ CMakeLists.txt @@ -6,18 +6,9 @@ if(NOT CMAKE_BUILD_TYPE) FORCE) endif() message(STATUS "cmake version ${CMAKE_VERSION}") -if(POLICY CMP0025) - cmake_policy(SET CMP0025 OLD) # report Apple's Clang as just Clang -endif() -if(POLICY CMP0042) - cmake_policy(SET CMP0042 NEW) # MACOSX_RPATH -endif() -if(POLICY CMP0054) - cmake_policy(SET CMP0054 OLD) # Only interpret if() arguments as variables or keywords when unquoted -endif() project (x265) -cmake_minimum_required (VERSION 2.8.8) # OBJECT libraries require 2.8.8 +cmake_minimum_required (VERSION 3.5) # OBJECT libraries require 2.8.8 include(CheckIncludeFiles) include(CheckFunctionExists) include(CheckSymbolExists) @@ -906,7 +897,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 2024-11-22 12:07:34 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 2024-11-22 12:07:34 UTC +++ encoder/analysis.cpp @@ -4232,7 +4232,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:408: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 2024-11-22 12:07:34 UTC +++ encoder/encoder.cpp @@ -118,6 +118,7 @@ VideoSignalTypePresets vstPresets[] = static const char* defaultAnalysisFileName = "x265_analysis.dat"; using namespace X265_NS; +using std::pow; Encoder::Encoder() {