graphics/libbpg: 0.9.5 -> 0.9.7

- Re-enabling the default options based on the new defaults in Makefile
- Linking against port installed libx265 (not internal copy)
- Increased the memory size of the JS decoder to 32 MiB and avoid
  polluting the global namespace.
- Published the Emscripten patches which reduce the size of the
  generated JS code.
- Faster encoding (x265 is the default encoder and is built in bpgenc).
- Added monochrome support to x265.
- Fixed metadata handling.

PR:		209554
Submitted by:	Matthieu Volat <mazhe@alkumuna.eu>
This commit is contained in:
Kurt Jaeger 2016-05-18 05:33:50 +00:00
parent 593d4f5dde
commit 80a9c2e850
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=415426
4 changed files with 52 additions and 14 deletions

View File

@ -2,8 +2,7 @@
# $FreeBSD$
PORTNAME= libbpg
PORTVERSION= 0.9.5
PORTREVISION= 2
PORTVERSION= 0.9.7
CATEGORIES= graphics
MASTER_SITES= http://bellard.org/bpg/
@ -16,18 +15,20 @@ LICENSE_COMB= multi
LIB_DEPENDS= libpng.so:graphics/png
OPTIONS_DEFINE= SDL JCTVC X265
OPTIONS_DEFAULT=SDL JCTVC
OPTIONS_DEFAULT=SDL X265
OPTIONS_SUB= yes
USE_LDCONFIG= yes
SDL_USE= SDL=image
X265_LIB_DEPENDS= libx265.so:multimedia/x265
X265_VARS= x265_libs=${PREFIX}/lib/libx265.so
JCTVC_DESC= Enable JCTVC (best quality but slow) for the encoder
JCTVCHI_DESC= Use bit depths > 12 with JCTVC (experimental)
USES= compiler:c++11-lib gmake jpeg
CFLAGS+= -fPIC -I${LOCALBASE}/include
LDFLAGS+= -L${LOCALBASE}/lib
MAKE_ARGS+= X265_LIBS=${X265_LIBS}
do-configure-JCTVC-off:
${REINPLACE_CMD} -e 's/^USE_JCTVC=y$$/#USE_JCTVC=/' ${WRKSRC}/Makefile
@ -35,9 +36,8 @@ do-configure-JCTVC-off:
do-configure-SDL-off:
${REINPLACE_CMD} -e 's/^USE_BPGVIEW=y$$/#USE_BPGVIEW=/' ${WRKSRC}/Makefile
do-configure-X265-on:
${REINPLACE_CMD} -e 's/^#USE_JCTVC_HIGH_BIT_DEPTH=y$$/USE_JCTVC_HIGH_BIT_DEPTH=y/' ${WRKSRC}/Makefile
${REINPLACE_CMD} -e 's/^#USE_X265=y$$/USE_X265=y/' ${WRKSRC}/Makefile
do-configure-X265-off:
${REINPLACE_CMD} -e 's/^USE_X265=y$$/#USE_X265=/' ${WRKSRC}/Makefile
post-install:
${INSTALL_DATA} ${WRKSRC}/libbpg.h ${STAGEDIR}${PREFIX}/include

View File

@ -1,2 +1,3 @@
SHA256 (libbpg-0.9.5.tar.gz) = 30de1d0099920e24b7c9aae4d4e6b62f446823f0a1d52eb195dfc25c662ee203
SIZE (libbpg-0.9.5.tar.gz) = 1039871
TIMESTAMP = 1463397263
SHA256 (libbpg-0.9.7.tar.gz) = 05035862ff4ffca0280261871486f44e74c4af4337c931e0858483551e6efe25
SIZE (libbpg-0.9.7.tar.gz) = 2028932

View File

@ -1,4 +1,4 @@
--- Makefile.orig 2015-01-11 16:17:07 UTC
--- Makefile.orig 2016-05-15 09:06:19 UTC
+++ Makefile
@@ -17,7 +17,7 @@ USE_BPGVIEW=y
# Enable for compilation on MacOS X
@ -38,8 +38,8 @@
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
@@ -54,14 +55,17 @@ EMLDFLAGS+=-s NO_FILESYSTEM=1 -s NO_BROW
EMLDFLAGS+=-O3 --memory-init-file 0 --closure 0 --pre-js pre.js --post-js post.js
EMCFLAGS:=$(CFLAGS)
-LDFLAGS=-g
@ -61,7 +61,7 @@
PROGS=bpgdec$(EXE) bpgenc$(EXE)
ifdef USE_BPGVIEW
@@ -70,7 +74,7 @@ ifdef USE_EMCC
@@ -71,7 +75,7 @@ ifdef USE_EMCC
PROGS+=bpgdec.js bpgdec8.js bpgdec8a.js
endif
@ -70,7 +70,44 @@
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
@@ -99,35 +103,12 @@ BPGENC_LIBS:=
ifdef USE_X265
-X265_LIBS:=./x265.out/8bit/libx265.a ./x265.out/10bit/libx265.a ./x265.out/12bit/libx265.a
BPGENC_OBJS+=x265_glue.o $(X265_LIBS)
+BPGENC_LIBS+=$(X265_LIBS)
bpgenc.o: CFLAGS+=-DUSE_X265
-x265_glue.o: CFLAGS+=-I./x265/source -I./x265.out/8bit
-x265_glue.o: $(X265_LIBS)
-
-ifdef CONFIG_WIN32
-CMAKE_OPTS:=-DCMAKE_TOOLCHAIN_FILE=../../x265/build/msys/toolchain-x86_64-w64-mingw32.cmake
-else
-CMAKE_OPTS:=
-endif
-
-x265.out:
- mkdir -p x265.out/8bit x265.out/10bit x265.out/12bit
- cd x265.out/12bit && cmake ../../x265/source $(CMAKE_OPTS) -DHIGH_BIT_DEPTH=ON -DEXPORT_C_API=OFF -DENABLE_SHARED=OFF -DENABLE_CLI=OFF -DMAIN12=ON
- cd x265.out/10bit && cmake ../../x265/source $(CMAKE_OPTS) -DHIGH_BIT_DEPTH=ON -DEXPORT_C_API=OFF -DENABLE_SHARED=OFF -DENABLE_CLI=OFF -DMAIN10=ON
- cd x265.out/8bit && cmake ../../x265/source $(CMAKE_OPTS) -DLINKED_10BIT=ON -DLINKED_12BIT=ON -DENABLE_SHARED=OFF -DENABLE_CLI=OFF
-
-# use this target to manually rebuild x265
-x265_make: | x265.out
- $(MAKE) -C x265.out/12bit
- $(MAKE) -C x265.out/10bit
- $(MAKE) -C x265.out/8bit
x265_clean:
- rm -rf x265.out
-
-$(X265_LIBS): x265_make
else
@@ -190,6 +171,9 @@ bpgenc.o: CFLAGS+=-Wno-unused-but-set-va
libbpg.a: $(LIBBPG_OBJS)
$(AR) rcs $@ $^

View File

@ -1,4 +1,4 @@
--- jctvc/TLibCommon/TComPicYuv.cpp.orig 2015-01-11 16:17:07 UTC
--- jctvc/TLibCommon/TComPicYuv.cpp.orig 2016-05-15 09:06:19 UTC
+++ jctvc/TLibCommon/TComPicYuv.cpp
@@ -41,7 +41,7 @@