Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 2 Feb 2020 18:50:20 +0000 (UTC)
From:      Mikhail Teterin <mi@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r524997 - head/multimedia/x265
Message-ID:  <202002021850.012IoKx4071141@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: mi
Date: Sun Feb  2 18:50:20 2020
New Revision: 524997
URL: https://svnweb.freebsd.org/changeset/ports/524997

Log:
  Actually enable all of the user-selected bit-widths.  Previously
  we were building only for the highest-selected value.
  
  PR:		multimedia/x265
  Submitted by:	Jamie Landeg-Jones

Modified:
  head/multimedia/x265/Makefile
  head/multimedia/x265/pkg-plist

Modified: head/multimedia/x265/Makefile
==============================================================================
--- head/multimedia/x265/Makefile	Sun Feb  2 18:34:55 2020	(r524996)
+++ head/multimedia/x265/Makefile	Sun Feb  2 18:50:20 2020	(r524997)
@@ -3,6 +3,7 @@
 
 PORTNAME=	x265
 PORTVERSION=	3.2.1
+PORTREVISION=	1
 CATEGORIES=	multimedia
 MASTER_SITES=	https://bitbucket.org/multicoreware/x265/downloads/ \
 		https://downloads.videolan.org/pub/videolan/x265/ \
@@ -17,20 +18,24 @@ COMMENT=	H.265/High Efficiency Video Coding (HEVC) for
 LICENSE=	GPLv2+
 LICENSE_FILE=	${WRKSRC:H}/COPYING
 
-BUILD_DEPENDS=	nasm:devel/nasm
+BUILD_DEPENDS=	${BUILD_DEPENDS_${ARCH}}
+BUILD_DEPENDS_amd64=	nasm:devel/nasm
+BUILD_DEPENDS_i386=	nasm:devel/nasm
 
 USES=		cmake compiler:c++14-lang pathfix
 
 OPTIONS_DEFINE=		DEBUG OPTIMIZED_FLAGS VMAF
-OPTIONS_DEFINE_amd64=	HI10P HI12P SVTHEVC
+OPTIONS_DEFAULT=	OPTIMIZED_FLAGS HI8P HI10P HI12P
+OPTIONS_DEFINE_amd64=	SVTHEVC
 
+OPTIONS_MULTI=		PixelWidth
+OPTIONS_MULTI_PixelWidth=HI8P HI10P HI12P
+
 DEBUG_PREVENTS=		OPTIMIZED_FLAGS
 DEBUG_PREVENTS_MSG=	Optimizations are incompatible with debugging code
-DEBUG_VARS_OFF=		CFLAGS+=-DNDEBUG CPPFLAGS+=-DNDEBUG 
-HI10P_CMAKE_BOOL=	HIGH_BIT_DEPTH
-HI12P_CMAKE_BOOL=	MAIN12
-HI12P_IMPLIES=		HI10P
-OPTIMIZED_FLAGS_VARS=	CFLAGS+=-O3 CXXFLAGS+=-O3
+DEBUG_VARS_OFF=		CFLAGS+=-DNDEBUG
+DEBUG_CMAKE_ON=		-DCMAKE_ASM_NASM_FLAGS:STRING="-g -O0"
+OPTIMIZED_FLAGS_VARS=	CFLAGS+=-O3
 SVTHEVC_LIB_DEPENDS=	libSvtHevcEnc.so:multimedia/svt-hevc
 SVTHEVC_CMAKE_BOOL=	ENABLE_SVT_HEVC
 SVTHEVC_CMAKE_ON=	-DSVT_HEVC_INCLUDE_DIR:PATH="${LOCALBASE}/include/svt-hevc"
@@ -39,20 +44,62 @@ VMAF_USES=		localbase:ldflags
 VMAF_CMAKE_BOOL=	ENABLE_LIBVMAF
 
 DEBUG_DESC=	Enable debugging
-HI10P_DESC=	Enable HI10P Support (64-bit only)
-HI12P_DESC=	Enable HI12P Support (64-bit only)
+HI8P_DESC=	Enable 8-bit pixel-width (you, probably, want this)
+HI10P_DESC=	Enable 10-bit pixels (may break on i386)
+HI12P_DESC=	Enable 12-bit pixels (may break on i386)
 OPTIMIZED_FLAGS_DESC=	Enable O3 optimization
 SVTHEVC_DESC=	HEVC encoding via SVT-HEVC
 VMAF_DESC=	Per frame and aggregate VMAF score
 
+OPTIONS_SUB=	yes
 USE_LDCONFIG=	yes
-CMAKE_ARGS=	-DENABLE_PIC=on -DENABLE_TESTS=on
+CMAKE_ARGS=	-DENABLE_PIC=on -DENABLE_TESTS=on	\
+		-DENABLE_HDR10_PLUS:BOOL=true
 LDFLAGS_i386=	-Wl,-znotext
 EXTRACT_AFTER_ARGS+=	--exclude compat
 PATCH_WRKSRC=	${WRKSRC:H}
 WRKSRC=		${WRKDIR}/${PORTNAME}_${PORTVERSION}/source
 
+.include <bsd.port.options.mk>
+
+DEFAULT_DEPTH=	${PORT_OPTIONS:MHI*P:O:ts/:T}
+OTHER_DEPTHS=	${PORT_OPTIONS:MHI*P:N${DEFAULT_DEPTH}}
+
+.if "${DEFAULT_DEPTH}" == "HI12P"
+CMAKE_ARGS+=	-DMAIN12:BOOL=true
+.endif
+
+.if "${DEFAULT_DEPTH}" != "HI8P"
+CMAKE_ARGS+=	-DHIGH_BIT_DEPTH:BOOL=true
+.endif
+
+CFLAGS+=	${OTHER_DEPTHS:C/HI([0-9]+)P/-DLINKED_\1BIT/}
+CMAKE_OTHER_ARGS=${CMAKE_ARGS:C/.*-D_END_CUSTOM_OPTIONS=1 +//W}
+
+.if ${PORT_OPTIONS:MDEBUG}
+CFLAGS:=	${CFLAGS:N-O*} -O0 -g
+.endif
+
+.for b in ${OTHER_DEPTHS:C/HI([0-9]+)P/\1/}
+EXTRA_LINK_FLAGS+=${WRKSRC:H}/$bbit/libx265.a
+pre-build::
+	@${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_SHARED:BOOL=false \
+		-DEXPORT_C_API:BOOL=false -DENABLE_CLI=false
+	${SETENV} ${MAKE_ENV} ${MAKE_CMD} -C ${WRKSRC:H}/$bbit ${MAKE_ARGS}
+	${ECHO_MSG} "---> Built the $b-bit library ---"
+.endfor
+
+.if "${EXTRA_LINK_FLAGS}"
+CMAKE_ARGS+=	-DEXTRA_LINK_FLAGS=${EXTRA_LINK_FLAGS:Q}
+.endif
+
+CMAKE_ARGS+=	-D_END_CUSTOM_OPTIONS=1
+
 do-test:
-	${WRKSRC}/test/TestBench
+	${WRKDIR}/.build/test/TestBench
 
 .include <bsd.port.mk>

Modified: head/multimedia/x265/pkg-plist
==============================================================================
--- head/multimedia/x265/pkg-plist	Sun Feb  2 18:34:55 2020	(r524996)
+++ head/multimedia/x265/pkg-plist	Sun Feb  2 18:50:20 2020	(r524997)
@@ -1,6 +1,9 @@
 bin/x265
+include/hdr10plus.h
 include/x265.h
 include/x265_config.h
+lib/libhdr10plus.a
+lib/libhdr10plus.so
 lib/libx265.a
 lib/libx265.so
 lib/libx265.so.179



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202002021850.012IoKx4071141>