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
This commit is contained in:
parent
c86e355bb2
commit
174ead1633
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=422840
9 changed files with 153 additions and 0 deletions
|
@ -168,6 +168,8 @@
|
|||
SUBDIR += kmplayer-kde4
|
||||
SUBDIR += kodi
|
||||
SUBDIR += kplayer-kde4
|
||||
SUBDIR += kvazaar
|
||||
SUBDIR += kvazaar-devel
|
||||
SUBDIR += l-smash
|
||||
SUBDIR += libaacs
|
||||
SUBDIR += libass
|
||||
|
|
17
multimedia/kvazaar-devel/Makefile
Normal file
17
multimedia/kvazaar-devel/Makefile
Normal file
|
@ -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"
|
5
multimedia/kvazaar-devel/distinfo
Normal file
5
multimedia/kvazaar-devel/distinfo
Normal file
|
@ -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
|
|
@ -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)
|
11
multimedia/kvazaar-devel/pkg-plist
Normal file
11
multimedia/kvazaar-devel/pkg-plist
Normal file
|
@ -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
|
60
multimedia/kvazaar/Makefile
Normal file
60
multimedia/kvazaar/Makefile
Normal file
|
@ -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>
|
5
multimedia/kvazaar/distinfo
Normal file
5
multimedia/kvazaar/distinfo
Normal file
|
@ -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
|
21
multimedia/kvazaar/pkg-descr
Normal file
21
multimedia/kvazaar/pkg-descr
Normal file
|
@ -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
|
10
multimedia/kvazaar/pkg-plist
Normal file
10
multimedia/kvazaar/pkg-plist
Normal file
|
@ -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
|
Loading…
Reference in a new issue