Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 16 Jun 2017 00:31:52 +0000 (UTC)
From:      Jan Beich <jbeich@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r443665 - in head/graphics: . vapoursynth-fmtconv vapoursynth-fmtconv/files
Message-ID:  <201706160031.v5G0Vq21057274@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: jbeich
Date: Fri Jun 16 00:31:52 2017
New Revision: 443665
URL: https://svnweb.freebsd.org/changeset/ports/443665

Log:
  graphics/vapoursynth-fmtconv: add new port
  
  Requested by:	Juho Kerola
  
  Fmtconv is a format-conversion plug-in for the Vapoursynth video
  processing engine.
  
  It does:
  * Resizing.
  * Bitdepth conversion with dithering.
  * Colorspace conversion (matrix, transfer characteristics and chromatic adaptation).
  
  It supports:
  * Pixel data types: 8-–12-, 14- and 16-bit integer, 32-bit float.
  * Colorspaces: RGB, Y, YUV in 4:4:4, 4:2:2, 4:2:0, 4:1:1 and YCgCo with the same chroma subsampling factors.
  * Progressive and interlaced content.
  
  Fmtconv is focussed primarily on quality and exactness rather than
  execution speed.  This does not mean it is slow or unoptimized, but
  fmtconv is clearly not on par with the fastest equivalent 8-bit
  filters.
  
  https://github.com/EleonoreMizo/fmtconv

Added:
  head/graphics/vapoursynth-fmtconv/
  head/graphics/vapoursynth-fmtconv/Makefile   (contents, props changed)
  head/graphics/vapoursynth-fmtconv/distinfo   (contents, props changed)
  head/graphics/vapoursynth-fmtconv/files/
  head/graphics/vapoursynth-fmtconv/files/patch-src_conc_Interlocked.hpp   (contents, props changed)
  head/graphics/vapoursynth-fmtconv/pkg-descr   (contents, props changed)
Modified:
  head/graphics/Makefile   (contents, props changed)

Modified: head/graphics/Makefile
==============================================================================
--- head/graphics/Makefile	Thu Jun 15 22:31:03 2017	(r443664)
+++ head/graphics/Makefile	Fri Jun 16 00:31:52 2017	(r443665)
@@ -1048,6 +1048,7 @@
     SUBDIR += uniconvw
     SUBDIR += unpaper
     SUBDIR += urt
+    SUBDIR += vapoursynth-fmtconv
     SUBDIR += vapoursynth-waifu2x-w2xc
     SUBDIR += variety
     SUBDIR += vcg

Added: head/graphics/vapoursynth-fmtconv/Makefile
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/graphics/vapoursynth-fmtconv/Makefile	Fri Jun 16 00:31:52 2017	(r443665)
@@ -0,0 +1,41 @@
+# $FreeBSD$
+
+PORTNAME=	fmtconv
+PORTVERSION=	r20
+CATEGORIES=	graphics
+PKGNAMEPREFIX=	vapoursynth-
+
+MAINTAINER=	jbeich@FreeBSD.org
+COMMENT=	Format conversion tools for Vapoursynth
+
+LICENSE=	WTFPL
+
+BUILD_DEPENDS=	${LOCALBASE}/include/vapoursynth/VapourSynth.h:multimedia/vapoursynth
+
+USE_GITHUB=	yes
+GH_ACCOUNT=	EleonoreMizo
+
+USES=		autoreconf compiler:c++11-lib gmake libtool pkgconfig
+EXCLUDE=	VapourSynth.h *.txt
+EXTRACT_AFTER_ARGS=	${EXCLUDE:S,^,--exclude ,}
+WRKSRC_SUBDIR=	build/unix
+PATCH_WRKSRC=	${WRKSRC:H:H}
+GNU_CONFIGURE=	yes
+CONFIGURE_ARGS=	--libdir="${DATADIR}"
+CPPFLAGS+=	`pkg-config vapoursynth --cflags`
+INSTALL_TARGET=	install-strip
+DATADIR=	${PREFIX}/lib/vapoursynth
+DOCSDIR=	${PREFIX}/share/doc/${PKGBASE}
+PLIST_FILES=	%%DATADIR%%/libfmtconv.so
+PORTDOCS=	*
+
+post-patch:
+	@${REINPLACE_CMD} -e 's/x86_64/&|amd64/' \
+		${WRKSRC}/configure.ac
+	@${REINPLACE_CMD} -e 's/-O3 //' ${WRKSRC}/Makefile.am
+
+post-install:
+	(cd ${PATCH_WRKSRC}/doc && ${COPYTREE_SHARE} \
+		"${PORTDOCS}" ${STAGEDIR}${DOCSDIR})
+
+.include <bsd.port.mk>

Added: head/graphics/vapoursynth-fmtconv/distinfo
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/graphics/vapoursynth-fmtconv/distinfo	Fri Jun 16 00:31:52 2017	(r443665)
@@ -0,0 +1,3 @@
+TIMESTAMP = 1458918419
+SHA256 (EleonoreMizo-fmtconv-r20_GH0.tar.gz) = 44f2f2be05a0265136ee1bb51bd08e5a47c6c1e856d0d045cde5a6bbd7b4350c
+SIZE (EleonoreMizo-fmtconv-r20_GH0.tar.gz) = 233504

Added: head/graphics/vapoursynth-fmtconv/files/patch-src_conc_Interlocked.hpp
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/graphics/vapoursynth-fmtconv/files/patch-src_conc_Interlocked.hpp	Fri Jun 16 00:31:52 2017	(r443665)
@@ -0,0 +1,63 @@
+https://github.com/EleonoreMizo/fmtconv/pull/9
+
+--- src/conc/Interlocked.hpp.orig	2016-03-25 15:06:59 UTC
++++ src/conc/Interlocked.hpp
+@@ -100,10 +100,6 @@ int32_t	Interlocked::cas (int32_t volatile &dest, int3
+ 		::LONG (comp)
+ 	));
+ 
+-#elif defined (__linux__)
+-
+-	return (__sync_val_compare_and_swap (&dest, comp, excg));
+-
+ #elif defined (__APPLE__)
+ 
+ 	return (::OSAtomicCompareAndSwap32Barrier (
+@@ -112,6 +108,10 @@ int32_t	Interlocked::cas (int32_t volatile &dest, int3
+ 		const_cast <int32_t *> (reinterpret_cast <int32_t volatile *> (&dest))
+ 	) ? comp : excg);
+ 
++#elif defined (__GNUC__)
++
++	return (__sync_val_compare_and_swap (&dest, comp, excg));
++
+ #else
+ 
+ 	#error Unknown platform
+@@ -214,10 +214,6 @@ int64_t	Interlocked::cas (int64_t volatile &dest, int6
+ 
+ 	return (old);
+ 
+-#elif defined (__linux__)
+-
+-	return (__sync_val_compare_and_swap (&dest, comp, excg));
+-
+ #elif defined (__APPLE__)
+ 
+ 	return (::OSAtomicCompareAndSwap64Barrier (
+@@ -226,6 +222,10 @@ int64_t	Interlocked::cas (int64_t volatile &dest, int6
+ 		const_cast <int64_t *> (reinterpret_cast <int64_t volatile *> (&dest))
+ 	) ? comp : excg);
+ 
++#elif defined (__GNUC__)
++
++	return (__sync_val_compare_and_swap (&dest, comp, excg));
++
+ #else
+ 
+ 	#error Unknown platform
+@@ -355,9 +355,13 @@ void	Interlocked::cas (Data128 &old, volatile Data128 
+ 
+ 	#endif
+ 
+-#elif defined (__linux__)
++#elif defined (__GNUC__)
+ 
+ 	old = __sync_val_compare_and_swap (&dest, comp, excg);
++
++#else
++
++	#error Unknown platform
+ 
+ #endif
+ }

Added: head/graphics/vapoursynth-fmtconv/pkg-descr
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/graphics/vapoursynth-fmtconv/pkg-descr	Fri Jun 16 00:31:52 2017	(r443665)
@@ -0,0 +1,21 @@
+Fmtconv is a format-conversion plug-in for the Vapoursynth video
+processing engine.
+
+It does:
+* Resizing.
+* Bitdepth conversion with dithering.
+* Colorspace conversion (matrix, transfer characteristics and
+  chromatic adaptation).
+
+It supports:
+* Pixel data types: 8--12-, 14- and 16-bit integer, 32-bit float.
+* Colorspaces: RGB, Y, YUV in 4:4:4, 4:2:2, 4:2:0, 4:1:1 and YCgCo
+  with the same chroma subsampling factors.
+* Progressive and interlaced content.
+
+Fmtconv is focussed primarily on quality and exactness rather than
+execution speed.  This does not mean it is slow or unoptimized, but
+fmtconv is clearly not on par with the fastest equivalent 8-bit
+filters.
+
+WWW: https://github.com/EleonoreMizo/fmtconv



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