diff options
author | jbeich <jbeich@FreeBSD.org> | 2016-09-28 10:13:33 +0800 |
---|---|---|
committer | jbeich <jbeich@FreeBSD.org> | 2016-09-28 10:13:33 +0800 |
commit | c4f689a929385540a68bef4de8c10ffb3a8cea96 (patch) | |
tree | 2962abc8d88b8a2791bdbdcc0c9e9ce52c12923a | |
parent | f89057c230ca39e8c8903fbc06bf5c1ad1516260 (diff) | |
download | freebsd-ports-gnome-c4f689a929385540a68bef4de8c10ffb3a8cea96.tar.gz freebsd-ports-gnome-c4f689a929385540a68bef4de8c10ffb3a8cea96.tar.zst freebsd-ports-gnome-c4f689a929385540a68bef4de8c10ffb3a8cea96.zip |
multimedia/kvazaar: add new port
The purpose of this academic open-source project is to develop a video
encoder for the emerging High Efficiency Video Coding (HEVC) standard.
This Kvazaar HEVC encoder is being developed towards the following goals:
1. Coding efficiency close to HEVC reference encoder (HM)
2. Modular encoder structure to simplify its data flow modeling
3. Efficient support for different parallelization approaches
4. Easy portability to different platforms
5. Optimized encoding speed without sacrificing its coding efficiency,
modularity, or portability
6. Reduced computation and memory resources without sacrificing its
coding efficiency, modularity, or portability
7. Excellent software readability and implementation documentation
Achieving these objectives requires encoder with design decisions that
make this open-source encoder unique:
1. The encoder is developed from the scratch (HM used as a reference)
2. The implementation language is platform-independent C
http://ultravideo.cs.tut.fi/#encoder
-rw-r--r-- | multimedia/Makefile | 2 | ||||
-rw-r--r-- | multimedia/kvazaar-devel/Makefile | 17 | ||||
-rw-r--r-- | multimedia/kvazaar-devel/distinfo | 5 | ||||
-rw-r--r-- | multimedia/kvazaar-devel/files/patch-src_strategies_x86__asm_picture-x86-asm.c | 22 | ||||
-rw-r--r-- | multimedia/kvazaar-devel/pkg-plist | 11 | ||||
-rw-r--r-- | multimedia/kvazaar/Makefile | 60 | ||||
-rw-r--r-- | multimedia/kvazaar/distinfo | 5 | ||||
-rw-r--r-- | multimedia/kvazaar/pkg-descr | 21 | ||||
-rw-r--r-- | multimedia/kvazaar/pkg-plist | 10 |
9 files changed, 153 insertions, 0 deletions
diff --git a/multimedia/Makefile b/multimedia/Makefile index fed4a59a12be..4f0859dc1f08 100644 --- a/multimedia/Makefile +++ b/multimedia/Makefile @@ -168,6 +168,8 @@ SUBDIR += kmplayer-kde4 SUBDIR += kodi SUBDIR += kplayer-kde4 + SUBDIR += kvazaar + SUBDIR += kvazaar-devel SUBDIR += l-smash SUBDIR += libaacs SUBDIR += libass diff --git a/multimedia/kvazaar-devel/Makefile b/multimedia/kvazaar-devel/Makefile new file mode 100644 index 000000000000..1ce24504695e --- /dev/null +++ b/multimedia/kvazaar-devel/Makefile @@ -0,0 +1,17 @@ +# $FreeBSD$ + +DISTVERSION= 0.8.3-275 +DISTVERSIONSUFFIX= -gcbfa824 +PORTREVISION= 0 +PKGNAMESUFFIX= -devel + +CONFLICTS_INSTALL= ${PORTNAME} + +MASTERDIR= ${.CURDIR}/../kvazaar +PATCHDIR= ${.CURDIR}/files +DISTINFO_FILE= ${.CURDIR}/distinfo +PLIST= ${.CURDIR}/pkg-plist + +OPTIONS_EXCLUDE= # + +.include "${MASTERDIR}/Makefile" diff --git a/multimedia/kvazaar-devel/distinfo b/multimedia/kvazaar-devel/distinfo new file mode 100644 index 000000000000..b7fcb96a86fb --- /dev/null +++ b/multimedia/kvazaar-devel/distinfo @@ -0,0 +1,5 @@ +TIMESTAMP = 1474878896 +SHA256 (ultravideo-kvazaar-v0.8.3-275-gcbfa824_GH0.tar.gz) = 536fec89646fbad9f9e92effb6a7cab0cfa931b8f6ef89b089a5836bd116f598 +SIZE (ultravideo-kvazaar-v0.8.3-275-gcbfa824_GH0.tar.gz) = 471195 +SHA256 (ultravideo-greatest-v0.9.2-78-g60e25ce_GH0.tar.gz) = d980debb49563021536ac51d956348c473f0622c2247717de5b325c9338a1cc2 +SIZE (ultravideo-greatest-v0.9.2-78-g60e25ce_GH0.tar.gz) = 11983 diff --git a/multimedia/kvazaar-devel/files/patch-src_strategies_x86__asm_picture-x86-asm.c b/multimedia/kvazaar-devel/files/patch-src_strategies_x86__asm_picture-x86-asm.c new file mode 100644 index 000000000000..98d598e98c05 --- /dev/null +++ b/multimedia/kvazaar-devel/files/patch-src_strategies_x86__asm_picture-x86-asm.c @@ -0,0 +1,22 @@ +./.libs/libkvazaar.so: undefined reference to `kvz_reg_sad_sse41' + +--- src/strategies/x86_asm/picture-x86-asm.c.orig 2016-09-27 17:49:45 UTC ++++ src/strategies/x86_asm/picture-x86-asm.c +@@ -81,13 +81,17 @@ static unsigned reg_sad_x86_asm(const kv + } + } + ++#if COMPILE_INTEL_SSE41 + if (width * height >= 16) { + // Call the vectorized general SAD SSE41 function when the block + // is big enough to make it worth it. + return kvz_reg_sad_sse41(data1, data2, width, height, stride1, stride2); + } else { ++#endif + return kvz_sad_other_avx(data1, data2, width, height, stride1); ++#if COMPILE_INTEL_SSE41 + } ++#endif + } + + #endif //defined(KVZ_COMPILE_ASM) diff --git a/multimedia/kvazaar-devel/pkg-plist b/multimedia/kvazaar-devel/pkg-plist new file mode 100644 index 000000000000..d32a3d102093 --- /dev/null +++ b/multimedia/kvazaar-devel/pkg-plist @@ -0,0 +1,11 @@ +bin/kvazaar +include/kvazaar.h +lib/libkvazaar.a +lib/libkvazaar.so +lib/libkvazaar.so.3 +lib/libkvazaar.so.3.12.0 +libdata/pkgconfig/kvazaar.pc +man/man1/kvazaar.1.gz +%%PORTDOCS%%%%DOCSDIR%%/COPYING +%%PORTDOCS%%%%DOCSDIR%%/CREDITS +%%PORTDOCS%%%%DOCSDIR%%/README.md diff --git a/multimedia/kvazaar/Makefile b/multimedia/kvazaar/Makefile new file mode 100644 index 000000000000..87a6e17a70a2 --- /dev/null +++ b/multimedia/kvazaar/Makefile @@ -0,0 +1,60 @@ +# $FreeBSD$ + +PORTNAME= kvazaar +DISTVERSIONPREFIX= v +DISTVERSION?= 0.8.3 +PORTREVISION?= 0 +CATEGORIES= multimedia + +MAINTAINER= jbeich@FreeBSD.org +COMMENT= H.265/HEVC encoder implementation written in C + +LICENSE= LGPL21+ + +USE_GITHUB= yes +GH_ACCOUNT= ultravideo +GH_PROJECT= greatest:greatest +GH_TAGNAME= v0.9.2-78-g60e25ce:greatest # 1.0.0 release actually +GH_SUBDIR= greatest:greatest + +CONFLICTS_INSTALL?= ${PORTNAME}-devel + +USES+= autoreconf compiler:c11 libtool pathfix +PATHFIX_MAKEFILEIN= Makefile.am +GNU_CONFIGURE= yes +TEST_TARGET= check +INSTALL_TARGET= install-strip +USE_LDCONFIG= yes + +OPTIONS_DEFINE= ASM CRYPTOPP +OPTIONS_DEFAULT=ASM +OPTIONS_EXCLUDE?=CRYPTOPP + +ASM_BUILD_DEPENDS= ${ASM_BUILD_DEPENDS_${ARCH}} +ASM_BUILD_DEPENDS_amd64=yasm:devel/yasm +ASM_BUILD_DEPENDS_i386= yasm:devel/yasm +ASM_CONFIGURE_ENABLE= asm + +CRYPTOPP_DESC= Selective encryption via Crypto++ library +CRYPTOPP_LIB_DEPENDS= libcryptopp.so:security/cryptopp +CRYPTOPP_USES= localbase pkgconfig +CRYPTOPP_CONFIGURE_ENV= cryptopp_CFLAGS=" " cryptopp_LIBS="-lcryptopp" +CRYPTOPP_CONFIGURE_WITH=cryptopp + +post-patch: + @${REINPLACE_CMD} 's/x86_64/&|amd64/' ${WRKSRC}/configure.ac + +post-patch-CRYPTOPP-on: +# XXX Force C++ linking to avoid error with Clang + @${ECHO_CMD} nodist_EXTRA_kvazaar_tests_SOURCES \ + = dummy.cpp >>${WRKSRC}/tests/Makefile.am + +post-patch-CRYPTOPP-off: +# XXX autoconf cannot ignore unexpanded but unused m4 macros + @${REINPLACE_CMD} -i .cryptopp.bak \ + -e '/PKG_CHECK_MODULES/,/^[[:space:]]*)/d' \ + ${WRKSRC}/configure.ac + +pre-install: do-test + +.include <bsd.port.mk> diff --git a/multimedia/kvazaar/distinfo b/multimedia/kvazaar/distinfo new file mode 100644 index 000000000000..4f8041ebeba0 --- /dev/null +++ b/multimedia/kvazaar/distinfo @@ -0,0 +1,5 @@ +TIMESTAMP = 1474878896 +SHA256 (ultravideo-kvazaar-v0.8.3_GH0.tar.gz) = a5cebc313bc2edcf631684e67c33227e56d803bfbc940cf8c2f3906b4f543a12 +SIZE (ultravideo-kvazaar-v0.8.3_GH0.tar.gz) = 429852 +SHA256 (ultravideo-greatest-v0.9.2-78-g60e25ce_GH0.tar.gz) = d980debb49563021536ac51d956348c473f0622c2247717de5b325c9338a1cc2 +SIZE (ultravideo-greatest-v0.9.2-78-g60e25ce_GH0.tar.gz) = 11983 diff --git a/multimedia/kvazaar/pkg-descr b/multimedia/kvazaar/pkg-descr new file mode 100644 index 000000000000..eee547e64e87 --- /dev/null +++ b/multimedia/kvazaar/pkg-descr @@ -0,0 +1,21 @@ +The purpose of this academic open-source project is to develop a video +encoder for the emerging High Efficiency Video Coding (HEVC) standard. +This Kvazaar HEVC encoder is being developed towards the following goals: + +1. Coding efficiency close to HEVC reference encoder (HM) +2. Modular encoder structure to simplify its data flow modeling +3. Efficient support for different parallelization approaches +4. Easy portability to different platforms +5. Optimized encoding speed without sacrificing its coding efficiency, + modularity, or portability +6. Reduced computation and memory resources without sacrificing its + coding efficiency, modularity, or portability +7. Excellent software readability and implementation documentation + +Achieving these objectives requires encoder with design decisions that +make this open-source encoder unique: + +1. The encoder is developed from the scratch (HM used as a reference) +2. The implementation language is platform-independent C + +WWW: http://ultravideo.cs.tut.fi/#encoder diff --git a/multimedia/kvazaar/pkg-plist b/multimedia/kvazaar/pkg-plist new file mode 100644 index 000000000000..2aba99ef6d1a --- /dev/null +++ b/multimedia/kvazaar/pkg-plist @@ -0,0 +1,10 @@ +bin/kvazaar +include/kvazaar.h +lib/libkvazaar.a +lib/libkvazaar.so +lib/libkvazaar.so.3 +lib/libkvazaar.so.3.2.0 +libdata/pkgconfig/kvazaar.pc +%%PORTDOCS%%%%DOCSDIR%%/COPYING +%%PORTDOCS%%%%DOCSDIR%%/CREDITS +%%PORTDOCS%%%%DOCSDIR%%/README.md |