Lines 3-8
Link Here
|
3 |
|
3 |
|
4 |
PORTNAME= x265 |
4 |
PORTNAME= x265 |
5 |
PORTVERSION= 3.2.1 |
5 |
PORTVERSION= 3.2.1 |
|
|
6 |
PORTREVISION= 1 |
6 |
CATEGORIES= multimedia |
7 |
CATEGORIES= multimedia |
7 |
MASTER_SITES= https://bitbucket.org/multicoreware/x265/downloads/ \ |
8 |
MASTER_SITES= https://bitbucket.org/multicoreware/x265/downloads/ \ |
8 |
https://downloads.videolan.org/pub/videolan/x265/ \ |
9 |
https://downloads.videolan.org/pub/videolan/x265/ \ |
Lines 17-36
Link Here
|
17 |
LICENSE= GPLv2+ |
18 |
LICENSE= GPLv2+ |
18 |
LICENSE_FILE= ${WRKSRC:H}/COPYING |
19 |
LICENSE_FILE= ${WRKSRC:H}/COPYING |
19 |
|
20 |
|
20 |
BUILD_DEPENDS= nasm:devel/nasm |
21 |
BUILD_DEPENDS= ${BUILD_DEPENDS_${ARCH}} |
|
|
22 |
BUILD_DEPENDS_amd64= nasm:devel/nasm |
23 |
BUILD_DEPENDS_i386= nasm:devel/nasm |
21 |
|
24 |
|
22 |
USES= cmake compiler:c++14-lang pathfix |
25 |
USES= cmake compiler:c++14-lang pathfix |
23 |
|
26 |
|
24 |
OPTIONS_DEFINE= DEBUG OPTIMIZED_FLAGS VMAF |
27 |
OPTIONS_DEFINE= DEBUG OPTIMIZED_FLAGS VMAF |
25 |
OPTIONS_DEFINE_amd64= HI10P HI12P SVTHEVC |
28 |
OPTIONS_DEFAULT= OPTIMIZED_FLAGS HI8P HI10P HI12P |
|
|
29 |
OPTIONS_DEFINE_amd64= SVTHEVC |
26 |
|
30 |
|
|
|
31 |
OPTIONS_MULTI= PixelWidth |
32 |
OPTIONS_MULTI_PixelWidth=HI8P HI10P HI12P |
33 |
|
27 |
DEBUG_PREVENTS= OPTIMIZED_FLAGS |
34 |
DEBUG_PREVENTS= OPTIMIZED_FLAGS |
28 |
DEBUG_PREVENTS_MSG= Optimizations are incompatible with debugging code |
35 |
DEBUG_PREVENTS_MSG= Optimizations are incompatible with debugging code |
29 |
DEBUG_VARS_OFF= CFLAGS+=-DNDEBUG CPPFLAGS+=-DNDEBUG |
36 |
DEBUG_VARS_OFF= CFLAGS+=-DNDEBUG |
30 |
HI10P_CMAKE_BOOL= HIGH_BIT_DEPTH |
37 |
DEBUG_CMAKE_ON= -DCMAKE_ASM_NASM_FLAGS:STRING="-g -O0" |
31 |
HI12P_CMAKE_BOOL= MAIN12 |
38 |
OPTIMIZED_FLAGS_VARS= CFLAGS+=-O3 |
32 |
HI12P_IMPLIES= HI10P |
|
|
33 |
OPTIMIZED_FLAGS_VARS= CFLAGS+=-O3 CXXFLAGS+=-O3 |
34 |
SVTHEVC_LIB_DEPENDS= libSvtHevcEnc.so:multimedia/svt-hevc |
39 |
SVTHEVC_LIB_DEPENDS= libSvtHevcEnc.so:multimedia/svt-hevc |
35 |
SVTHEVC_CMAKE_BOOL= ENABLE_SVT_HEVC |
40 |
SVTHEVC_CMAKE_BOOL= ENABLE_SVT_HEVC |
36 |
SVTHEVC_CMAKE_ON= -DSVT_HEVC_INCLUDE_DIR:PATH="${LOCALBASE}/include/svt-hevc" |
41 |
SVTHEVC_CMAKE_ON= -DSVT_HEVC_INCLUDE_DIR:PATH="${LOCALBASE}/include/svt-hevc" |
Lines 39-58
Link Here
|
39 |
VMAF_CMAKE_BOOL= ENABLE_LIBVMAF |
44 |
VMAF_CMAKE_BOOL= ENABLE_LIBVMAF |
40 |
|
45 |
|
41 |
DEBUG_DESC= Enable debugging |
46 |
DEBUG_DESC= Enable debugging |
42 |
HI10P_DESC= Enable HI10P Support (64-bit only) |
47 |
HI8P_DESC= Enable 8-bit pixel-width (you, probably, want this) |
43 |
HI12P_DESC= Enable HI12P Support (64-bit only) |
48 |
HI10P_DESC= Enable 10-bit pixels (may break on i386) |
|
|
49 |
HI12P_DESC= Enable 12-bit pixels (may break on i386) |
44 |
OPTIMIZED_FLAGS_DESC= Enable O3 optimization |
50 |
OPTIMIZED_FLAGS_DESC= Enable O3 optimization |
45 |
SVTHEVC_DESC= HEVC encoding via SVT-HEVC |
51 |
SVTHEVC_DESC= HEVC encoding via SVT-HEVC |
46 |
VMAF_DESC= Per frame and aggregate VMAF score |
52 |
VMAF_DESC= Per frame and aggregate VMAF score |
47 |
|
53 |
|
|
|
54 |
OPTIONS_SUB= yes |
48 |
USE_LDCONFIG= yes |
55 |
USE_LDCONFIG= yes |
49 |
CMAKE_ARGS= -DENABLE_PIC=on -DENABLE_TESTS=on |
56 |
CMAKE_ARGS= -DENABLE_PIC=on -DENABLE_TESTS=on \ |
|
|
57 |
-DENABLE_HDR10_PLUS:BOOL=true |
50 |
LDFLAGS_i386= -Wl,-znotext |
58 |
LDFLAGS_i386= -Wl,-znotext |
51 |
EXTRACT_AFTER_ARGS+= --exclude compat |
59 |
EXTRACT_AFTER_ARGS+= --exclude compat |
52 |
PATCH_WRKSRC= ${WRKSRC:H} |
60 |
PATCH_WRKSRC= ${WRKSRC:H} |
53 |
WRKSRC= ${WRKDIR}/${PORTNAME}_${PORTVERSION}/source |
61 |
WRKSRC= ${WRKDIR}/${PORTNAME}_${PORTVERSION}/source |
54 |
|
62 |
|
|
|
63 |
.include <bsd.port.options.mk> |
64 |
|
65 |
DEFAULT_DEPTH= ${PORT_OPTIONS:MHI*P:O:ts/:T} |
66 |
OTHER_DEPTHS= ${PORT_OPTIONS:MHI*P:N${DEFAULT_DEPTH}} |
67 |
|
68 |
.if "${DEFAULT_DEPTH}" == "HI12P" |
69 |
CMAKE_ARGS+= -DMAIN12:BOOL=true |
70 |
.endif |
71 |
|
72 |
.if "${DEFAULT_DEPTH}" != "HI8P" |
73 |
CMAKE_ARGS+= -DHIGH_BIT_DEPTH:BOOL=true |
74 |
.endif |
75 |
|
76 |
CFLAGS+= ${OTHER_DEPTHS:C/HI([0-9]+)P/-DLINKED_\1BIT/} |
77 |
CMAKE_OTHER_ARGS=${CMAKE_ARGS:C/.*-D_END_CUSTOM_OPTIONS=1 +//W} |
78 |
|
79 |
.if ${PORT_OPTIONS:MDEBUG} |
80 |
CFLAGS:= ${CFLAGS:N-O*} -O0 -g |
81 |
.endif |
82 |
|
83 |
.for b in ${OTHER_DEPTHS:C/HI([0-9]+)P/\1/} |
84 |
EXTRA_LINK_FLAGS+=${WRKSRC:H}/$bbit/libx265.a |
85 |
pre-build:: |
86 |
@${ECHO_MSG} "---> Building the $b-bit library ---" |
87 |
${MKDIR} ${WRKSRC:H}/$bbit |
88 |
${CMAKE_BIN} -S ${WRKSRC} -B ${WRKSRC:H}/$bbit \ |
89 |
${CMAKE_OTHER_ARGS} ${b:C/1./-DHIGH_BIT_DEPTH:BOOL=true/} \ |
90 |
-DMAIN$b:BOOL=true -DENABLE_SHARED:BOOL=false \ |
91 |
-DEXPORT_C_API:BOOL=false -DENABLE_CLI=false |
92 |
${SETENV} ${MAKE_ENV} ${MAKE_CMD} -C ${WRKSRC:H}/$bbit ${MAKE_ARGS} |
93 |
${ECHO_MSG} "---> Built the $b-bit library ---" |
94 |
.endfor |
95 |
|
96 |
.if "${EXTRA_LINK_FLAGS}" |
97 |
CMAKE_ARGS+= -DEXTRA_LINK_FLAGS=${EXTRA_LINK_FLAGS:Q} |
98 |
.endif |
99 |
|
100 |
CMAKE_ARGS+= -D_END_CUSTOM_OPTIONS=1 |
101 |
|
55 |
do-test: |
102 |
do-test: |
56 |
${WRKSRC}/test/TestBench |
103 |
${WRKDIR}/.build/test/TestBench |
57 |
|
104 |
|
58 |
.include <bsd.port.mk> |
105 |
.include <bsd.port.mk> |