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>