Ravenports generated: 10 Feb 2024 22:55
[ravenports.git] / bucket_0C / x265
1 # Buildsheet autogenerated by ravenadm tool -- Do not edit.
2
3 NAMEBASE=               x265
4 VERSION=                3.5
5 REVISION=               1
6 KEYWORDS=               multimedia
7 VARIANTS=               standard
8 SDESC[standard]=        Library for encoding h.265/HEVC video streams
9 HOMEPAGE=               https://www.videolan.org/developers/x265.html
10 CONTACT=                nobody
11
12 DOWNLOAD_GROUPS=        main
13 SITES[main]=            https://bitbucket.org/multicoreware/x265_git/downloads/
14 DISTFILE[1]=            x265_3.5.tar.gz:main
15 DF_INDEX=               1
16 SPKGS[standard]=        complete
17                         primary
18                         dev
19
20 OPTIONS_AVAILABLE=      none
21 OPTIONS_STANDARD=       none
22
23 BUILD_DEPENDS=          nasm:primary:standard
24                         git:primary:lite
25
26 USES=                   cpe cmake c++:primary
27
28 DISTNAME=               x265_3.5/source
29
30 LICENSE=                GPLv2+:primary
31 LICENSE_TERMS=          primary:{{WRKDIR}}/TERMS
32 LICENSE_FILE=           GPLv2+:{{WRKSRC}}/../COPYING
33 LICENSE_AWK=            TERMS:"X265_H"
34 LICENSE_SOURCE=         TERMS:{{WRKSRC}}/x265.h
35 LICENSE_SCHEME=         solo
36
37 CPE_PRODUCT=            x265_high_efficiency_video_coding
38 CPE_VENDOR=             multicorewareinc
39 FPC_EQUIVALENT=         multimedia/x265
40
41 SOVERSION=              199
42
43 CMAKE_ARGS=             -DENABLE_SHARED:BOOL=ON
44
45 post-install:
46         ${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/x265
47         ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libx265.${LIBEXT}
48
49 [FILE:618:descriptions/desc.primary]
50 High Efficiency Video Coding (HEVC) is the latest generation video compression
51 standard.
52
53   * This standard was developed by the ISO/IEC Moving Picture Experts Group
54     (MPEG) and ITU-T Video Coding Experts Group (VCEG), through their Joint
55     Collaborative Team on Video Coding (JCT-VC)
56
57   * HEVC is also known as ISO/IEC 23008-2 MPEG-H Part 2 and ITU-T H.265
58
59   * HEVC provides superior video quality and up to twice the data compression
60     as the previous standard (H.264/MPEG-4 AVC)
61
62   * HEVC can support 8K Ultra High Definition video, with a picture size up to
63     8192x4320 pixels
64
65 WWW: http://www.x265.org/
66
67
68 [FILE:94:distinfo]
69 e70a3335cacacbba0b3a20ec6fecd6783932288ebc8163ad74bcc9606477cae8      1537044 x265_3.5.tar.gz
70
71
72 [FILE:38:manifests/plist.primary]
73 bin/x265
74 lib/libx265.so.%%SOVERSION%%
75
76
77 [FILE:82:manifests/plist.dev]
78 include/
79  x265.h
80  x265_config.h
81 lib/
82  libx265.a
83  libx265.so
84 lib/pkgconfig/x265.pc
85
86
87 [FILE:1067:patches/patch-CMakeLists.txt]
88 $NetBSD: patch-CMakeLists.txt,v 1.1 2017/02/13 13:39:55 fhajny Exp $
89
90 Solaris ld: Provided assembler is not PIC, so we pass "-mimpure-text"
91             to the compiler so it doesn't send "-ztext" to ld.
92
93 Solaris ld: Passing "-Wa,--noexecstack" to gcc will generate an ELF section
94             requesting a non executable stack. I don't know if Solaris ld
95             is complying or just ignoring it.
96
97 --- CMakeLists.txt.orig 2021-03-16 12:53:00 UTC
98 +++ CMakeLists.txt
99 @@ -665,7 +665,11 @@ if(ENABLE_SHARED)
100          elseif(CYGWIN)
101              # Cygwin is not officially supported or tested. MinGW with msys is recommended.
102          else()
103 -            list(APPEND LINKER_OPTIONS "-Wl,-Bsymbolic,-znoexecstack")
104 +            if(${CMAKE_SYSTEM_NAME} MATCHES "SunOS")
105 +                list(APPEND LINKER_OPTIONS "-mimpure-text -Wa,--noexecstack")
106 +            else()
107 +                list(APPEND LINKER_OPTIONS "-Wl,-Bsymbolic,-znoexecstack")
108 +            endif()
109          endif()
110      endif()
111      set_target_properties(x265-shared PROPERTIES SOVERSION ${X265_BUILD})
112
113
114 [FILE:627:patches/patch-common_common.cpp]
115 --- common/common.cpp.orig      2021-03-16 12:53:00 UTC
116 +++ common/common.cpp
117 @@ -35,6 +35,27 @@
118  #include <sys/time.h>
119  #endif
120  
121 +#ifdef __sun__
122 +#define posix_memalign illumos_memalign
123 +static int
124 +posix_memalign(void **memptr, size_t alignment, size_t size)
125 +{
126 +       void *ptr = NULL;
127 +       int error = 0;
128 +
129 +       if (alignment == 0 ||
130 +           (alignment & (sizeof (void *) - 1)) != 0 ||
131 +           (alignment & (alignment - 1)) != 0)
132 +               error = EINVAL;
133 +       else if (size != 0 &&
134 +           (ptr = memalign(alignment, size)) == NULL)
135 +               error = ENOMEM;
136 +
137 +       *memptr = ptr;
138 +       return (error);
139 +}
140 +#endif
141 +
142  namespace X265_NS {
143  
144  #if CHECKED_BUILD || _DEBUG
145
146
147 [FILE:431:patches/patch-encoder_analysis.cpp]
148 --- encoder/analysis.cpp.orig   2021-03-16 12:53:00 UTC
149 +++ encoder/analysis.cpp
150 @@ -3739,7 +3739,7 @@ void Analysis::normFactor(const pixel* s
151  
152      // 2. Calculate ac component
153      uint64_t z_k = 0;
154 -    int block = (int)(((log(blockSize) / log(2)) - 2) + 0.5);
155 +    int block = (int)(((std::log(blockSize) / std::log(2)) - 2) + 0.5);
156      primitives.cu[block].normFact(src, blockSize, shift, &z_k);
157  
158      // Remove the DC part
159
160
161 [FILE:400:patches/patch-encoder_encoder.cpp]
162 $NetBSD: patch-encoder_encoder.cpp,v 1.3 2018/05/25 14:42:07 jperkin Exp $
163
164 Fix error: call of overloaded 'pow(int, int)' is ambiguous
165
166 --- encoder/encoder.cpp.orig    2021-03-16 12:53:00 UTC
167 +++ encoder/encoder.cpp
168 @@ -85,6 +85,7 @@ DolbyVisionProfileSpec dovi[] =
169  static const char* defaultAnalysisFileName = "x265_analysis.dat";
170  
171  using namespace X265_NS;
172 +using std::pow;
173  
174  Encoder::Encoder()
175  {
176