diff options
| author | Ryan Steinmetz <zi@FreeBSD.org> | 2026-05-05 19:58:10 +0000 |
|---|---|---|
| committer | Ryan Steinmetz <zi@FreeBSD.org> | 2026-05-05 19:58:10 +0000 |
| commit | 51d7669d7a42a9e2975cc4fbdef2e4809f127143 (patch) | |
| tree | 7d46b0b48db18d7b61f6530f3ce4580fc84e3e9a | |
| parent | 9cdc1baa6392b40f31cb87fac60c60246d612871 (diff) | |
| -rw-r--r-- | multimedia/Makefile | 1 | ||||
| -rw-r--r-- | multimedia/funnelcake/Makefile | 41 | ||||
| -rw-r--r-- | multimedia/funnelcake/distinfo | 3 | ||||
| -rw-r--r-- | multimedia/funnelcake/files/pkg-message-FFMPEG | 8 | ||||
| -rw-r--r-- | multimedia/funnelcake/pkg-descr | 14 | ||||
| -rw-r--r-- | multimedia/funnelcake/pkg-plist | 6 |
6 files changed, 73 insertions, 0 deletions
diff --git a/multimedia/Makefile b/multimedia/Makefile index 165d8e5a1a85..d53bdca6640c 100644 --- a/multimedia/Makefile +++ b/multimedia/Makefile @@ -64,6 +64,7 @@ SUBDIR += filebot SUBDIR += flvmeta SUBDIR += fswebcam + SUBDIR += funnelcake SUBDIR += gaupol SUBDIR += gavl SUBDIR += get_iplayer diff --git a/multimedia/funnelcake/Makefile b/multimedia/funnelcake/Makefile new file mode 100644 index 000000000000..010e3a7548fb --- /dev/null +++ b/multimedia/funnelcake/Makefile @@ -0,0 +1,41 @@ +PORTNAME= funnelcake +PORTVERSION= 0.1.0 +CATEGORIES= multimedia + +MAINTAINER= toasty@dragondata.com +COMMENT= SIMD YUV scaler with HDR/SDR tonemapping +WWW= https://github.com/kdkd/funnelcake + +LICENSE= BSD2CLAUSEPATENT +LICENSE_NAME= BSD 2-Clause Plus Patent License +LICENSE_FILE= ${WRKSRC}/LICENSE.md +LICENSE_PERMS= dist-mirror dist-sell pkg-mirror pkg-sell auto-accept + +ONLY_FOR_ARCHS= aarch64 amd64 +ONLY_FOR_ARCHS_REASON= requires AVX2 (amd64) or NEON (aarch64) SIMD kernels + +USES= gmake +USE_GITHUB= yes +GH_ACCOUNT= kdkd + +USE_LDCONFIG= yes + +OPTIONS_DEFINE= FFMPEG OPTIMIZED +OPTIONS_SUB= yes + +FFMPEG_DESC= Enable support for benchmarking against ffmpeg +FFMPEG_LIB_DEPENDS= libswscale.so:multimedia/ffmpeg +FFMPEG_ALL_TARGET= all funnelcake_test +FFMPEG_VARS= PKGMESSAGE=${FILESDIR}/pkg-message-FFMPEG +OPTIMIZED_DESC= Enable host-specific optimizations +OPTIMIZED_VARS= OPTIMIZED_ENV=TUNE=native +TEST_TARGET= test +MAKE_ENV+= ${OPTIMIZED_ENV} + +post-install: + ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libfunnelcake.so.1 + +post-install-FFMPEG-on: + ${INSTALL_PROGRAM} ${WRKSRC}/funnelcake_test ${STAGEDIR}${PREFIX}/bin + +.include <bsd.port.mk> diff --git a/multimedia/funnelcake/distinfo b/multimedia/funnelcake/distinfo new file mode 100644 index 000000000000..310a21f771b4 --- /dev/null +++ b/multimedia/funnelcake/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1777922135 +SHA256 (kdkd-funnelcake-0.1.0_GH0.tar.gz) = 95f344c8af8ae8bb413ade2eb8dfdb0fe15fd35383d673d07a87cf44d65d3547 +SIZE (kdkd-funnelcake-0.1.0_GH0.tar.gz) = 229708 diff --git a/multimedia/funnelcake/files/pkg-message-FFMPEG b/multimedia/funnelcake/files/pkg-message-FFMPEG new file mode 100644 index 000000000000..ec885f68364f --- /dev/null +++ b/multimedia/funnelcake/files/pkg-message-FFMPEG @@ -0,0 +1,8 @@ +[ +{ type: install + message: <<EOM +You can run benchmarks with the following command: +funnelcake_test --bench +EOM +} +] diff --git a/multimedia/funnelcake/pkg-descr b/multimedia/funnelcake/pkg-descr new file mode 100644 index 000000000000..91a3564f0faf --- /dev/null +++ b/multimedia/funnelcake/pkg-descr @@ -0,0 +1,14 @@ +funnelcake is a SIMD-accelerated YUV image scaler and HDR/SDR tonemapper +written in C. It produces multiple downscaled outputs from a single +input frame in one fused pass, which avoids the redundant memory +traffic of running an external scaler per output size. + +Features: +- Power-of-two and thirds (1/2, 1/3, 1/4, 2/3, ...) downscale ratios + and integer upscale, all in a single pass over the source. +- 8-bit SDR (I420, NV12) and 10-bit HDR (I010, P010, I210, P210) + pixel formats. +- HDR-to-SDR tonemapping with PQ (SMPTE 2084) and HLG transfer curves, + and a custom-LUT path for application-supplied curves. +- Hand-tuned SIMD kernels: AVX2 on amd64, NEON on aarch64. + Detection is at runtime; falls back to a portable scalar path. diff --git a/multimedia/funnelcake/pkg-plist b/multimedia/funnelcake/pkg-plist new file mode 100644 index 000000000000..7025e4d038bb --- /dev/null +++ b/multimedia/funnelcake/pkg-plist @@ -0,0 +1,6 @@ +%%FFMPEG%%bin/funnelcake_test +include/funnelcake.h +lib/libfunnelcake.a +lib/libfunnelcake.so +lib/libfunnelcake.so.1 +libdata/pkgconfig/funnelcake.pc |
