From owner-svn-ports-head@freebsd.org Fri Jun 16 00:31:53 2017 Return-Path: Delivered-To: svn-ports-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id BF7CCBF24FC; Fri, 16 Jun 2017 00:31:53 +0000 (UTC) (envelope-from jbeich@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 9177D65C69; Fri, 16 Jun 2017 00:31:53 +0000 (UTC) (envelope-from jbeich@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v5G0VqUU057280; Fri, 16 Jun 2017 00:31:52 GMT (envelope-from jbeich@FreeBSD.org) Received: (from jbeich@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v5G0Vq21057274; Fri, 16 Jun 2017 00:31:52 GMT (envelope-from jbeich@FreeBSD.org) Message-Id: <201706160031.v5G0Vq21057274@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jbeich set sender to jbeich@FreeBSD.org using -f From: Jan Beich Date: Fri, 16 Jun 2017 00:31:52 +0000 (UTC) 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 X-SVN-Group: ports-head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-ports-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the ports tree for head List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 16 Jun 2017 00:31:53 -0000 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 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 (reinterpret_cast (&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 (reinterpret_cast (&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