summaryrefslogtreecommitdiff
path: root/graphics/qb3
diff options
context:
space:
mode:
Diffstat (limited to 'graphics/qb3')
-rw-r--r--graphics/qb3/Makefile32
-rw-r--r--graphics/qb3/distinfo3
-rw-r--r--graphics/qb3/files/patch-i38613
-rw-r--r--graphics/qb3/pkg-descr8
-rw-r--r--graphics/qb3/pkg-plist7
5 files changed, 63 insertions, 0 deletions
diff --git a/graphics/qb3/Makefile b/graphics/qb3/Makefile
new file mode 100644
index 000000000000..35728a128ba8
--- /dev/null
+++ b/graphics/qb3/Makefile
@@ -0,0 +1,32 @@
+PORTNAME= qb3
+PORTVERSION= 1.3.2
+DISTVERSIONPREFIX= V
+PORTREVISION= 1
+CATEGORIES= graphics
+
+MAINTAINER= sunpoet@FreeBSD.org
+COMMENT= Extremely Fast Lossless Image Compression
+WWW= https://github.com/lucianpls/QB3
+
+LICENSE= APACHE20
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+LIB_DEPENDS= libicd.so:graphics/libicd
+
+USES= cmake compiler:c++11-lang
+
+CMAKE_OFF= QB3_DEV
+CMAKE_ON= BUILD_CQB3 \
+ BUILD_SHARED_LIBS
+
+USE_GITHUB= yes
+GH_ACCOUNT= lucianpls
+GH_PROJECT= QB3
+
+OPTIONS_DEFINE= AVX2 SSE4
+OPTIONS_DEFAULT=AVX2 SSE4
+
+AVX2_CMAKE_BOOL= ENABLE_AVX2
+SSE4_CMAKE_BOOL= ENABLE_SSE4
+
+.include <bsd.port.mk>
diff --git a/graphics/qb3/distinfo b/graphics/qb3/distinfo
new file mode 100644
index 000000000000..78b10a75c48c
--- /dev/null
+++ b/graphics/qb3/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1748107896
+SHA256 (lucianpls-QB3-V1.3.2_GH0.tar.gz) = 4702b82da5e4b60f47e443cf2590e3de9878974c3823d9fb0fbfddfd1497ded9
+SIZE (lucianpls-QB3-V1.3.2_GH0.tar.gz) = 206810
diff --git a/graphics/qb3/files/patch-i386 b/graphics/qb3/files/patch-i386
new file mode 100644
index 000000000000..1036ecf583db
--- /dev/null
+++ b/graphics/qb3/files/patch-i386
@@ -0,0 +1,13 @@
+Reference: https://github.com/lucianpls/QB3/pull/27
+
+--- QB3lib/QB3encode.cpp.orig 2025-04-28 20:58:34 UTC
++++ QB3lib/QB3encode.cpp
+@@ -84,7 +84,7 @@ void qb3_set_encoder_stride(encsp p, size_t stride) {
+ // Valid values are 2 and above
+ // sign = true when the input data is signed
+ // away = true to round away from zero
+-bool qb3_set_encoder_quanta(encsp p, size_t q, bool away) {
++bool qb3_set_encoder_quanta(encsp p, uint64_t q, bool away) {
+ if (q < 1)
+ return false;
+ p->quanta = q;
diff --git a/graphics/qb3/pkg-descr b/graphics/qb3/pkg-descr
new file mode 100644
index 000000000000..4bf7f344311f
--- /dev/null
+++ b/graphics/qb3/pkg-descr
@@ -0,0 +1,8 @@
+QB3: Image/Raster Compression, Fast and Efficient
+- Better compression than PNG in most cases
+- Lossless compression and decompression rate of 500MB/sec for byte data,
+ 4GB/sec for 64 bit data
+- All integer types, signed and unsigned, 8 to 64bit per value
+- Lossless, or lossy by division with a small integer (quanta)
+- No significant memory footprint during encoding or decoding
+- No external dependencies, very low complexity
diff --git a/graphics/qb3/pkg-plist b/graphics/qb3/pkg-plist
new file mode 100644
index 000000000000..8fd451f8ee4d
--- /dev/null
+++ b/graphics/qb3/pkg-plist
@@ -0,0 +1,7 @@
+bin/cqb3
+cmake/libQB3Config.cmake
+cmake/libQB3ConfigVersion.cmake
+cmake/libQB3Targets-%%CMAKE_BUILD_TYPE%%.cmake
+cmake/libQB3Targets.cmake
+include/QB3.h
+lib/libQB3.so