summaryrefslogtreecommitdiff
path: root/multimedia/x265/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'multimedia/x265/Makefile')
-rw-r--r--multimedia/x265/Makefile90
1 files changed, 37 insertions, 53 deletions
diff --git a/multimedia/x265/Makefile b/multimedia/x265/Makefile
index 0f84465e8d1b..6ddc09a62e5a 100644
--- a/multimedia/x265/Makefile
+++ b/multimedia/x265/Makefile
@@ -1,6 +1,5 @@
PORTNAME= x265
-PORTVERSION= 3.6
-PORTREVISION= 1
+PORTVERSION= 4.1
CATEGORIES= multimedia
MASTER_SITES= https://bitbucket.org/multicoreware/x265_git/downloads/ \
http://ftp.videolan.org/pub/videolan/x265/
@@ -27,7 +26,10 @@ BB_TAG= Release_${DISTVERSION}
OPTIONS_DEFINE= VMAF
OPTIONS_DEFINE_amd64= SVTHEVC
+OPTIONS_DEFINE_powerpc64= ALTIVEC
+OPTIONS_DEFINE_powerpc64le= ${OPTIONS_DEFINE_powerpc64}
OPTIONS_DEFAULT= HI10P HI12P HI8P OPTIMIZED_FLAGS
+OPTIONS_DEFAULT_powerpc64le= ALTIVEC
OPTIONS_MULTI= PIXELWIDTH
OPTIONS_MULTI_PIXELWIDTH= HI10P HI12P HI8P
@@ -40,7 +42,7 @@ HI12P_DESC= Enable 12-bit pixels (may break on i386)
HI8P_DESC= Enable 8-bit pixel-width (you, probably, want this)
OPTIMIZED_FLAGS_DESC= Enable O3 optimization
SVTHEVC_DESC= HEVC encoding via SVT-HEVC
-VMAF_DESC= VMAF scores (broken: needs older VMAF)
+VMAF_DESC= VMAF scores
VMAF_USES= localbase:ldflags
DEBUG_CMAKE_ON= -DCMAKE_ASM_NASM_FLAGS:STRING="-g -O0"
@@ -53,12 +55,7 @@ VMAF_CMAKE_BOOL= ENABLE_LIBVMAF
.include <bsd.port.options.mk>
-.if ${ARCH} == powerpc64le
-CMAKE_ARGS+= -DCPU_POWER8=ON \
- -DENABLE_ALTIVEC=ON
-.endif
-
-.if !${ARCH:Mpowerpc64*} && !${ARCH:Marmv7}
+.if ${ARCH} == i386 && ${PORT_OPTIONS:MHI8P} || ${ARCH} == amd64
BUILD_DEPENDS= nasm:devel/nasm
.endif
@@ -71,6 +68,9 @@ CMAKE_ARGS+= -DMAIN12:BOOL=true
.if "${DEFAULT_DEPTH}" != "HI8P"
CMAKE_ARGS+= -DHIGH_BIT_DEPTH:BOOL=true
+.if ${ARCH} == i386
+CMAKE_ARGS+= -DENABLE_ASSEMBLY:BOOL=false
+.endif
.endif
CMAKE_OTHER_ARGS= ${CMAKE_ARGS:C/.*-D_END_CUSTOM_OPTIONS=1 +//W}
@@ -83,49 +83,39 @@ CFLAGS:= ${CFLAGS:N-O*} -O0 -g
CFLAGS:= ${CFLAGS:N-O*} -O3
.endif
-.for b in ${OTHER_DEPTHS:C/HI([0-9]+)P/\1/}
-EXTRA_LINK_FLAGS+= -L${WRKSRC:H}/${b}bit
-
-.if ${ARCH} == powerpc64le
+.if ${ARCH} == armv7
+CMAKE_ARGS+= -DENABLE_NEON:BOOL=true
+.endif
-.if ${b} != 8
-ASSEMBLY= false
+.if ${PORT_OPTIONS:MALTIVEC}
+CMAKE_ARGS+= -DENABLE_ALTIVEC=true \
+ -DCPU_POWER8=true
.else
-ASSEMBLY= true
+CMAKE_ARGS+= -DENABLE_ALTIVEC=false \
+ -DCPU_POWER8=false
.endif
-post-patch:
- ${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|' ${WRKSRC}/x265.h
-
-pre-build::
- @${ECHO_MSG} "---> Building the ${b}-bit library ---"
- ${MKDIR} ${WRKSRC:H}/${b}bit
- ${CMAKE_BIN} -S ${WRKSRC} -B ${WRKSRC:H}/${b}bit \
- ${CMAKE_OTHER_ARGS} ${b:C/1./-DHIGH_BIT_DEPTH:BOOL=true/} \
- -DMAIN${b}:BOOL=true -DENABLE_ALTIVEC=${ASSEMBLY} -DCPU_POWER8=true \
- -DEXPORT_C_API:BOOL=false -DENABLE_CLI=false
- ${SETENV} ${MAKE_ENV} ${MAKE_CMD} -C ${WRKSRC:H}/${b}bit ${MAKE_ARGS}
- ${LN} -f ${WRKSRC:H}/${b}bit/libx265.a ${WRKSRC:H}/${b}bit/libx265_${b}bit.a
- ${ECHO_MSG} "---> Built the ${b}-bit library ---"
+.for b in ${OTHER_DEPTHS:C/HI([0-9]+)P/\1/}
+EXTRA_LINK_FLAGS+= -L${WRKSRC:H}/$bbit
-.else
-.if ((${ARCH} == i386 || ${ARCH} == armv7) && $b != 8) || ${ARCH} == powerpc || ${ARCH} == powerpc64
+.if (${ARCH} == i386 || ${ARCH:Mpowerpc64*}) && $b != 8
ASSEMBLY= false
.else
ASSEMBLY= true
.endif
pre-build::
- @${ECHO_MSG} "---> Building the ${b}-bit library ---"
- ${MKDIR} ${WRKSRC:H}/${b}bit
- ${CMAKE_BIN} -S ${WRKSRC} -B ${WRKSRC:H}/${b}bit \
+ @${ECHO_MSG} "---> Building the $b-bit library ---"
+ ${MKDIR} ${WRKSRC:H}/$bbit
+ ${CMAKE_BIN} -S ${WRKSRC} -B ${WRKSRC:H}/$bbit \
${CMAKE_OTHER_ARGS} ${b:C/1./-DHIGH_BIT_DEPTH:BOOL=true/} \
- -DMAIN${b}:BOOL=true -DENABLE_ASSEMBLY:BOOL=${ASSEMBLY} -DCPU_POWER8=false -DENABLE_ALTIVEC:BOOL=false \
- -DEXPORT_C_API:BOOL=false -DENABLE_CLI=false
- ${SETENV} ${MAKE_ENV} ${MAKE_CMD} -C ${WRKSRC:H}/${b}bit ${MAKE_ARGS}
- ${LN} -f ${WRKSRC:H}/${b}bit/libx265.a ${WRKSRC:H}/${b}bit/libx265_${b}bit.a
- ${ECHO_MSG} "---> Built the ${b}-bit library ---"
-.endif
+ -DMAIN$b:BOOL=true -DENABLE_ASSEMBLY:BOOL=${ASSEMBLY} \
+ -DENABLE_ALTIVEC:BOOL=${ASSEMBLY} \
+ -DCPU_POWER8:BOOL=${ASSEMBLY} -DEXPORT_C_API:BOOL=false \
+ -DENABLE_CLI=false
+ ${SETENV} ${MAKE_ENV} ${MAKE_CMD} -C ${WRKSRC:H}/$bbit ${MAKE_ARGS}
+ ${LN} -f ${WRKSRC:H}/$bbit/libx265.a ${WRKSRC:H}/$bbit/libx265_$bbit.a
+ @${ECHO_MSG} "---> Built the $b-bit library ---"
.endfor
.if "${EXTRA_LINK_FLAGS}"
@@ -136,24 +126,18 @@ CMAKE_ARGS+= ${OTHER_DEPTHS:C/HI([0-9]+)P/-DLINKED_\1BIT:BOOL=true/}
CMAKE_ARGS+= -DENABLE_SHARED:BOOL=true
-.if ${ARCH} == i386 && ${DEFAULT_DEPTH} != "HI8P"
-CMAKE_ARGS+= -DENABLE_ASSEMBLY:BOOL=false
-.else
-.if !${ARCH:Mpowerpc*}
-CMAKE_ARGS+= -DENABLE_ASSEMBLY:BOOL=true
-.elif ${ARCH} == powerpc64le
-CMAKE_ARGS+= -DCPU_POWER8=ON \
- -DENABLE_ALTIVEC=ON
-.elif ${ARCH} == powerpc64
-CMAKE_ARGS+= -DCPU_POWER8=OFF \
- -DENABLE_ALTIVEC=OFF
-.endif
-
do-test:
+.if ${PORT_OPTIONS:MHI8P} || ${ARCH} != i386
${WRKDIR}/.build/test/TestBench
+.else
+ @${ECHO_MSG} On ${ARCH} TestBench is only built, when 8bit is enabled
.endif
CMAKE_ARGS+= -D_END_CUSTOM_OPTIONS=1
CMAKE_ARGS+= -DENABLE_PIC:BOOL=true
+.if !defined(DEVELOPER)
+CMAKE_ARGS+= -Wno-dev
+.endif
+
.include <bsd.port.mk>