svn commit: r443665 - in head/graphics: . vapoursynth-fmtconv vapoursynth-fmtconv/files
Jan Beich
jbeich at FreeBSD.org
Fri Jun 16 00:31:53 UTC 2017
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 at 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
More information about the svn-ports-all
mailing list