Index: graphics/libbpg/Makefile =================================================================== --- graphics/libbpg/Makefile (revision 0) +++ graphics/libbpg/Makefile (working copy) @@ -0,0 +1,56 @@ +# Created by: Matthieu Volat +# $FreeBSD$ + +PORTNAME= libbpg +PORTVERSION= 0.9.5 +CATEGORIES= graphics +MASTER_SITES= http://bellard.org/bpg/ + +MAINTAINER= mazhe@alkumuna.eu +COMMENT= BPG (Better Portable Graphics) is a new image format + +LICENSE= BSD2CLAUSE LGPL21 +LICENSE_COMB= multi + +LIB_DEPENDS= libjpeg.so:${PORTSDIR}/graphics/jpeg \ + libpng.so:${PORTSDIR}/graphics/png + +OPTIONS_DEFINE= SDL JCTVC X265 +OPTIONS_DEFAULT=SDL JCTVC +OPTIONS_SUB= yes + +USE_LDCONFIG= yes +SDL_USE= SDL=image +X265_LIB_DEPENDS= libx265.so:${PORTSDIR}/multimedia/x265 + +.include + +JCTVC_DESC= Enable JCTVC (best quality but slow) for the encoder +JCTVCHI_DESC= Use bit depths > 12 with JCTVC (experimental) +USES= gmake compiler:c++11-lib +CFLAGS+= -fPIC -I${LOCALBASE}/include +LDFLAGS+= -L${LOCALBASE}/lib + +do-configure: +.if ! ${PORT_OPTIONS:MSDL} + ${REINPLACE_CMD} -e 's/^USE_BPGVIEW=y$$/#USE_BPGVIEW=/' ${WRKSRC}/Makefile +.endif +.if ! ${PORT_OPTIONS:MJCTVC} + ${REINPLACE_CMD} -e 's/^USE_JCTVC=y$$/#USE_JCTVC=/' ${WRKSRC}/Makefile +.endif +.if ${PORT_OPTIONS:MX265} + ${REINPLACE_CMD} -e 's/^#USE_JCTVC_HIGH_BIT_DEPTH=y$$/USE_JCTVC_HIGH_BIT_DEPTH=y/' ${WRKSRC}/Makefile +.endif +.if ${PORT_OPTIONS:MX265} + ${REINPLACE_CMD} -e 's/^#USE_X265=y$$/USE_X265=y/' ${WRKSRC}/Makefile +.endif + +post-install: +.if ${PORT_OPTIONS:MSDL} + ${INSTALL_PROGRAM} ${WRKSRC}/bpgview ${STAGEDIR}${PREFIX}/bin +.endif + ${INSTALL_DATA} ${WRKSRC}/libbpg.h ${STAGEDIR}${PREFIX}/include + ${INSTALL_LIB} ${WRKSRC}/libbpg.a ${STAGEDIR}${PREFIX}/lib + ${INSTALL_LIB} ${WRKSRC}/libbpg.so ${STAGEDIR}${PREFIX}/lib + +.include Index: graphics/libbpg/distinfo =================================================================== --- graphics/libbpg/distinfo (revision 0) +++ graphics/libbpg/distinfo (working copy) @@ -0,0 +1,2 @@ +SHA256 (libbpg-0.9.5.tar.gz) = 30de1d0099920e24b7c9aae4d4e6b62f446823f0a1d52eb195dfc25c662ee203 +SIZE (libbpg-0.9.5.tar.gz) = 1039871 Index: graphics/libbpg/files/patch-Makefile =================================================================== --- graphics/libbpg/files/patch-Makefile (revision 0) +++ graphics/libbpg/files/patch-Makefile (working copy) @@ -0,0 +1,82 @@ +--- Makefile.orig 2015-01-11 16:17:07 UTC ++++ Makefile +@@ -17,7 +17,7 @@ USE_BPGVIEW=y + # Enable for compilation on MacOS X + #CONFIG_APPLE=y + # Installation prefix +-prefix=/usr/local ++prefix=${DESTDIR}${PREFIX} + + + ################################# +@@ -31,19 +31,20 @@ CROSS_PREFIX:= + EXE:= + endif + +-CC=$(CROSS_PREFIX)gcc +-CXX=$(CROSS_PREFIX)g++ +-AR=$(CROSS_PREFIX)ar ++CC?=$(CROSS_PREFIX)gcc ++CXX?=$(CROSS_PREFIX)g++ ++AR?=$(CROSS_PREFIX)ar ++LD?=$(CROSS_PREFIX)ld + EMCC=emcc + + PWD:=$(shell pwd) + +-CFLAGS:=-Os -Wall -MMD -fno-asynchronous-unwind-tables -fdata-sections -ffunction-sections -fno-math-errno -fno-signed-zeros -fno-tree-vectorize -fomit-frame-pointer +-CFLAGS+=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_REENTRANT +-CFLAGS+=-I. +-CFLAGS+=-DCONFIG_BPG_VERSION=\"$(shell cat VERSION)\" ++CFLAGS_DIST:=-Os -Wall -MMD -fno-asynchronous-unwind-tables -fdata-sections -ffunction-sections -fno-math-errno -fno-signed-zeros -fno-tree-vectorize -fomit-frame-pointer ++CFLAGS_DIST+=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_REENTRANT ++CFLAGS_DIST+=-I. ++CFLAGS_DIST+=-DCONFIG_BPG_VERSION=\"$(shell cat VERSION)\" + ifdef USE_JCTVC_HIGH_BIT_DEPTH +-CFLAGS+=-DRExt__HIGH_BIT_DEPTH_SUPPORT ++CFLAGS_DIST+=-DRExt__HIGH_BIT_DEPTH_SUPPORT + endif + + # Emscriptem config +@@ -53,14 +54,17 @@ EMLDFLAGS+=-s NO_FILESYSTEM=1 -s NO_BROW + EMLDFLAGS+=-O3 --memory-init-file 0 --closure 1 --post-js post.js + EMCFLAGS:=$(CFLAGS) + +-LDFLAGS=-g ++LDFLAGS_DIST=-g + ifdef CONFIG_APPLE +-LDFLAGS+=-Wl,-dead_strip ++LDFLAGS_DIST+=-Wl,-dead_strip + else +-LDFLAGS+=-Wl,--gc-sections ++LDFLAGS_DIST+=-Wl,--gc-sections + endif +-CFLAGS+=-g +-CXXFLAGS=$(CFLAGS) ++CFLAGS_DIST+=-g ++ ++CFLAGS:=${CFLAGS_DIST} ${CFLAGS} ++LDFLAGS:=${LDFLAGS_DIST} ${LDFLAGS} ++CXXFLAGS=${CFLAGS} + + PROGS=bpgdec$(EXE) bpgenc$(EXE) + ifdef USE_BPGVIEW +@@ -70,7 +74,7 @@ ifdef USE_EMCC + PROGS+=bpgdec.js bpgdec8.js bpgdec8a.js + endif + +-all: $(PROGS) ++all: libbpg.a libbpg.so $(PROGS) + + LIBBPG_OBJS:=$(addprefix libavcodec/, \ + hevc_cabac.o hevc_filter.o hevc.o hevcpred.o hevc_refs.o\ +@@ -158,6 +162,9 @@ bpgenc.o: CFLAGS+=-Wno-unused-but-set-va + libbpg.a: $(LIBBPG_OBJS) + $(AR) rcs $@ $^ + ++libbpg.so: $(LIBBPG_OBJS) ++ $(CC) $(LDFLAGS) -shared -o $@ $^ ++ + bpgdec$(EXE): bpgdec.o libbpg.a + $(CC) $(LDFLAGS) -o $@ $^ $(BPGDEC_LIBS) + Index: graphics/libbpg/files/patch-jctvc_TLibCommon_TComPicYuv.cpp =================================================================== --- graphics/libbpg/files/patch-jctvc_TLibCommon_TComPicYuv.cpp (revision 0) +++ graphics/libbpg/files/patch-jctvc_TLibCommon_TComPicYuv.cpp (working copy) @@ -0,0 +1,11 @@ +--- jctvc/TLibCommon/TComPicYuv.cpp.orig 2015-01-11 16:17:07 UTC ++++ jctvc/TLibCommon/TComPicYuv.cpp +@@ -41,7 +41,7 @@ + + #ifdef __APPLE__ + #include +-#else ++#elif __Linux__ + #include + #endif + Index: graphics/libbpg/pkg-descr =================================================================== --- graphics/libbpg/pkg-descr (revision 0) +++ graphics/libbpg/pkg-descr (working copy) @@ -0,0 +1,17 @@ +BPG (Better Portable Graphics) is a new image format. Its purpose is to +replace the JPEG image format when quality or file size is an issue. Its +main advantages are: + - High compression ratio. Files are much smaller than JPEG for similar + quality. + - Supported by most Web browsers with a small Javascript decoder (gzipped + size: 56 KB). + - Based on a subset of the HEVC open video compression standard. + - Supports the same chroma formats as JPEG (grayscale, YCbCr 4:2:0, 4:2:2, + 4:4:4) to reduce the losses during the conversion. An alpha channel is + supported. The RGB, YCgCo and CMYK color spaces are also supported. + - Native support of 8 to 14 bits per channel for a higher dynamic range. + - Lossless compression is supported. + - Various metadata (such as EXIF, ICC profile, XMP) can be included. + - Animation support. + +WWW: http://bellard.org/bpg/ Index: graphics/libbpg/pkg-plist =================================================================== --- graphics/libbpg/pkg-plist (revision 0) +++ graphics/libbpg/pkg-plist (working copy) @@ -0,0 +1,6 @@ +bin/bpgdec +bin/bpgenc +%%SDL%%bin/bpgview +include/libbpg.h +lib/libbpg.a +lib/libbpg.so