[vlc-commits] contrib: update libplacebo to v0.2.0

Thomas Guillem git at videolan.org
Thu Jan 4 12:09:54 CET 2018


vlc | branch: master | Thomas Guillem <thomas at gllm.fr> | Tue Jan  2 11:33:08 2018 +0100| [3fe327c6229f029cee642322017b1fcf1695db5b] | committer: Thomas Guillem

contrib: update libplacebo to v0.2.0

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=3fe327c6229f029cee642322017b1fcf1695db5b
---

 .../src/libplacebo/0001-build-use-a-Makefile.patch |  35 ++++---
 .../libplacebo/0002-build-fix-win32-build.patch    | 104 ++-------------------
 contrib/src/libplacebo/0003-2.0-fixup.patch        |  66 +++++++++++++
 ...licitly-set-a-category-mask-for-newlocale.patch |  32 -------
 contrib/src/libplacebo/SHA512SUMS                  |   2 +-
 contrib/src/libplacebo/rules.mak                   |   4 +-
 6 files changed, 96 insertions(+), 147 deletions(-)

diff --git a/contrib/src/libplacebo/0001-build-use-a-Makefile.patch b/contrib/src/libplacebo/0001-build-use-a-Makefile.patch
index 42b08c8c7a..1d0976ce46 100644
--- a/contrib/src/libplacebo/0001-build-use-a-Makefile.patch
+++ b/contrib/src/libplacebo/0001-build-use-a-Makefile.patch
@@ -1,25 +1,34 @@
-From 2f3ec424ca2dcfdd1abe5f1774c35aea1c9b0088 Mon Sep 17 00:00:00 2001
+From 3899884d6c15251255b8217ae19f78a8f5d0a08c Mon Sep 17 00:00:00 2001
 From: Thomas Guillem <thomas at gllm.fr>
 Date: Mon, 30 Oct 2017 14:32:03 +0100
-Subject: [PATCH 1/2] build: use a Makefile
+Subject: [PATCH 1/3] build: use a Makefile
 
 Only needed for VLC 3.0
 ---
- Makefile     | 38 ++++++++++++++++++++++++++++++++++++++
+ Makefile     | 45 +++++++++++++++++++++++++++++++++++++++++++++
  src/config.h | 41 +++++++++++++++++++++++++++++++++++++++++
- 2 files changed, 79 insertions(+)
+ 2 files changed, 86 insertions(+)
  create mode 100644 Makefile
  create mode 100644 src/config.h
 
 diff --git a/Makefile b/Makefile
 new file mode 100644
-index 0000000..13f661b
+index 0000000..4c431cf
 --- /dev/null
 +++ b/Makefile
-@@ -0,0 +1,38 @@
-+SRCS := colorspace.c common.c context.c dispatch.c filters.c ra.c shaders.c \
+@@ -0,0 +1,45 @@
++SRCS := colorspace.c common.c context.c dither.c dispatch.c filters.c ra.c renderer.c shaders.c \
 +	shaders/colorspace.c shaders/sampling.c spirv.c bstr/bstr.c siphash.c \
-+	ta/ta.c ta/ta_utils.c ta/talloc.c osdep/printf_useloc_posix.c
++	ta/ta.c ta/ta_utils.c ta/talloc.c
++
++ifdef HAVE_WIN32
++SRCS += osdep/printf_useloc_win.c
++CFLAGS += -DPTW32_STATIC_LIB
++lpthread_libs = -lpthreadGC2 -lws2_32
++else
++SRCS += osdep/printf_useloc_posix.c
++lpthread_libs = $(shell $(LD) -lpthread && echo "-lpthread" || echo "")
++endif
 +
 +OBJS = $(patsubst %.c, $(OBJDIR)src/%.o, $(SRCS))
 +
@@ -32,8 +41,6 @@ index 0000000..13f661b
 +
 +all: $(targets)
 +
-+lpthread_libs = $(shell $(LD) -lpthread && echo "-lpthread" || echo "")
-+
 +install: $(targets)
 +	rm -rf $(PREFIX)/include/libplacebo
 +	mkdir -p $(PREFIX)/lib/pkgconfig/ $(PREFIX)/include/libplacebo
@@ -42,7 +49,7 @@ index 0000000..13f661b
 +	cp libplacebo.a $(PREFIX)/lib/
 +	@echo "Name: libplacebo" > $(PREFIX)/lib/pkgconfig/libplacebo.pc
 +	@echo "Description: Reusable library for GPU-accelerated video/image rendering" >> $(PREFIX)/lib/pkgconfig/libplacebo.pc
-+	@echo "Version: 0.1.2" >> $(PREFIX)/lib/pkgconfig/libplacebo.pc
++	@echo "Version: 0.2.0" >> $(PREFIX)/lib/pkgconfig/libplacebo.pc
 +	@echo "Libs: -L$(PREFIX)/lib -lplacebo $(lpthread_libs)" >> $(PREFIX)/lib/pkgconfig/libplacebo.pc
 +	@echo "Cflags: -I$(PREFIX)/include" >> $(PREFIX)/lib/pkgconfig/libplacebo.pc
 +
@@ -57,7 +64,7 @@ index 0000000..13f661b
 +	rm -f $(targets)
 diff --git a/src/config.h b/src/config.h
 new file mode 100644
-index 0000000..d49992f
+index 0000000..85aac82
 --- /dev/null
 +++ b/src/config.h
 @@ -0,0 +1,41 @@
@@ -86,13 +93,13 @@ index 0000000..d49992f
 +
 +// Increased any time the API changes. (Note: Does not reset when PL_MAJOR_VER
 +// is increased)
-+#define PL_API_VER 1
++#define PL_API_VER 2
 +
 +// Increased any time a fix is made to a given API version.
 +#define PL_FIX_VER 0
 +
 +// Friendly name (`git describe`) for the overall version of the library
-+#define PL_VERSION "v0.1.0"
++#define PL_VERSION "v0.2.0"
 +
 +// Feature tests. These aren't described in further detail, but may be useful
 +// for programmers wanting to programmatically check for feature support
diff --git a/contrib/src/libplacebo/0002-build-fix-win32-build.patch b/contrib/src/libplacebo/0002-build-fix-win32-build.patch
index a87b38e568..53b4499d47 100644
--- a/contrib/src/libplacebo/0002-build-fix-win32-build.patch
+++ b/contrib/src/libplacebo/0002-build-fix-win32-build.patch
@@ -1,92 +1,15 @@
-From 91ec35bff6d1b45d79a81566b03b399c87784d85 Mon Sep 17 00:00:00 2001
+From 158a429154af39896a7c6edcd0d07e83b2a4368e Mon Sep 17 00:00:00 2001
 From: Thomas Guillem <thomas at gllm.fr>
 Date: Mon, 13 Nov 2017 15:00:04 +0100
-Subject: [PATCH 2/2] build: fix win32 build
+Subject: [PATCH 2/3] build: fix win32 build
 
- - Remove pthread (disable TA_MEMORY_DEBUGGING and always init/deinit).
-
- - Remove msvcr100.dll dependency. This dell  is not avaible on old Windows
-   versions. Don't set locale on Windows, this doesn't seem to have any
-   consequences with VLC on windows (tested with US/FR locales).
+Remove msvcr100.dll dependency. This dll  is not avaible on old Windows
+versions. Don't set locale on Windows, this doesn't seem to have any
+consequences with VLC on windows (tested with US/FR locales).
 ---
- Makefile                      |  9 ++++++++-
- src/context.c                 | 12 ++++++++++++
  src/osdep/printf_useloc_win.c | 18 ++++++------------
- src/ta/ta.c                   |  4 ++++
- 4 files changed, 30 insertions(+), 13 deletions(-)
+ 1 file changed, 6 insertions(+), 12 deletions(-)
 
-diff --git a/Makefile b/Makefile
-index 13f661b..0d29744 100644
---- a/Makefile
-+++ b/Makefile
-@@ -1,6 +1,13 @@
- SRCS := colorspace.c common.c context.c dispatch.c filters.c ra.c shaders.c \
- 	shaders/colorspace.c shaders/sampling.c spirv.c bstr/bstr.c siphash.c \
--	ta/ta.c ta/ta_utils.c ta/talloc.c osdep/printf_useloc_posix.c
-+	ta/ta.c ta/ta_utils.c ta/talloc.c
-+
-+ifdef HAVE_WIN32
-+SRCS += osdep/printf_useloc_win.c
-+else
-+SRCS += osdep/printf_useloc_posix.c
-+lpthread_libs = $(shell $(LD) -lpthread && echo "-lpthread" || echo "")
-+endif
- 
- OBJS = $(patsubst %.c, $(OBJDIR)src/%.o, $(SRCS))
- 
-diff --git a/src/context.c b/src/context.c
-index a325fb8..312e9d7 100644
---- a/src/context.c
-+++ b/src/context.c
-@@ -17,13 +17,17 @@
- 
- #include <stdio.h>
- #include <locale.h>
-+#ifndef _WIN32
- #include <pthread.h>
-+#endif
- 
- #include "common.h"
- #include "context.h"
- 
-+#ifndef _WIN32
- static pthread_mutex_t pl_ctx_mutex = PTHREAD_MUTEX_INITIALIZER;
- static int pl_ctx_refcount;
-+#endif
- 
- static void global_init(void)
- {
-@@ -59,11 +63,15 @@ struct pl_context *pl_context_create(int api_ver,
-         abort();
-     }
- 
-+#ifdef _WIN32
-+    global_init();
-+#else
-     // Do global initialization only when refcount is 0
-     pthread_mutex_lock(&pl_ctx_mutex);
-     if (pl_ctx_refcount++ == 0)
-         global_init();
-     pthread_mutex_unlock(&pl_ctx_mutex);
-+#endif
- 
-     struct pl_context *ctx = talloc_zero(NULL, struct pl_context);
-     ctx->params = *PL_DEF(params, &pl_context_default_params);
-@@ -77,10 +85,14 @@ void pl_context_destroy(struct pl_context **ctx)
-     TA_FREEP(ctx);
- 
-     // Do global uninitialization only when refcount reaches 0
-+#ifdef _WIN32
-+    global_uninit();
-+#else
-     pthread_mutex_lock(&pl_ctx_mutex);
-     if (--pl_ctx_refcount == 0)
-         global_uninit();
-     pthread_mutex_unlock(&pl_ctx_mutex);
-+#endif
- }
- 
- static FILE *default_stream(void *stream, enum pl_log_level level)
 diff --git a/src/osdep/printf_useloc_win.c b/src/osdep/printf_useloc_win.c
 index 0c4c3be..fc56f90 100644
 --- a/src/osdep/printf_useloc_win.c
@@ -141,21 +64,6 @@ index 0c4c3be..fc56f90 100644
  }
  
  #define WRAP(fn, ...)                               \
-diff --git a/src/ta/ta.c b/src/ta/ta.c
-index c6f8116..dec9cb7 100644
---- a/src/ta/ta.c
-+++ b/src/ta/ta.c
-@@ -29,6 +29,10 @@
- #define TA_MEMORY_DEBUGGING
- #endif
- 
-+#ifdef _WIN32
-+#undef TA_MEMORY_DEBUGGING
-+#endif
-+
- struct ta_header {
-     size_t size;                // size of the user allocation
-     struct ta_header *prev;     // ring list containing siblings
 -- 
 2.11.0
 
diff --git a/contrib/src/libplacebo/0003-2.0-fixup.patch b/contrib/src/libplacebo/0003-2.0-fixup.patch
new file mode 100644
index 0000000000..4eecf94e6a
--- /dev/null
+++ b/contrib/src/libplacebo/0003-2.0-fixup.patch
@@ -0,0 +1,66 @@
+From e8f45790dbf39ac39ac81ef47bde84fd92282ae2 Mon Sep 17 00:00:00 2001
+From: Niklas Haas <git at haasn.xyz>
+Date: Tue, 26 Dec 2017 04:14:53 +0100
+Subject: [PATCH 3/3] 2.0 fixup
+
+Include the following commits:
+
+- shaders: fix typo in comment
+- dither: minor fixes
+- shaders: fix typo in gamut warning shader
+---
+ src/dither.c                                | 3 ++-
+ src/include/libplacebo/shaders/colorspace.h | 2 +-
+ src/shaders/colorspace.c                    | 2 +-
+ 3 files changed, 4 insertions(+), 3 deletions(-)
+
+diff --git a/src/dither.c b/src/dither.c
+index 4a08e5c..e2b54ae 100644
+--- a/src/dither.c
++++ b/src/dither.c
+@@ -34,6 +34,7 @@
+ void pl_generate_bayer_matrix(float *data, int size)
+ {
+     pl_assert(size >= 0);
++
+     // Start with a single entry of 0
+     data[0] = 0;
+ 
+@@ -73,7 +74,7 @@ struct ctx {
+ 
+ static void makegauss(struct ctx *k, unsigned int sizeb)
+ {
+-    assert(sizeb >= 1 && sizeb <= MAX_SIZEB);
++    pl_assert(sizeb >= 1 && sizeb <= MAX_SIZEB);
+ 
+     k->sizeb = sizeb;
+     k->size = 1 << k->sizeb;
+diff --git a/src/include/libplacebo/shaders/colorspace.h b/src/include/libplacebo/shaders/colorspace.h
+index fb80bea..82bfc69 100644
+--- a/src/include/libplacebo/shaders/colorspace.h
++++ b/src/include/libplacebo/shaders/colorspace.h
+@@ -159,7 +159,7 @@ enum pl_dither_method {
+     // Dither with blue noise. Very high quality, but requires the use of a
+     // LUT. Warning: Computing a blue noise texture with a large size can be
+     // very slow, however this only needs to be performed once. Even so, using
+-    // this with a `lut_size` greater than 8 is generally ill-advised. This is
++    // this with a `lut_size` greater than 6 is generally ill-advised. This is
+     // the preferred/default dither method.
+     PL_DITHER_BLUE_NOISE,
+ 
+diff --git a/src/shaders/colorspace.c b/src/shaders/colorspace.c
+index b85e1b2..6d467f5 100644
+--- a/src/shaders/colorspace.c
++++ b/src/shaders/colorspace.c
+@@ -749,7 +749,7 @@ void pl_shader_color_map(struct pl_shader *sh,
+     if (params->gamut_warning) {
+         GLSL("if (any(greaterThan(color.rgb, vec3(1.01))) ||\n"
+              "    any(lessThan(color.rgb, vec3(-0.01))))\n"
+-             "    color.rgb = vec3(1.0) - color.rgb;) // invert\n");
++             "    color.rgb = vec3(1.0) - color.rgb; // invert\n");
+     }
+ 
+     if (src.light != dst.light)
+-- 
+2.11.0
+
diff --git a/contrib/src/libplacebo/0003-osdep-explicitly-set-a-category-mask-for-newlocale.patch b/contrib/src/libplacebo/0003-osdep-explicitly-set-a-category-mask-for-newlocale.patch
deleted file mode 100644
index c855a7c3ae..0000000000
--- a/contrib/src/libplacebo/0003-osdep-explicitly-set-a-category-mask-for-newlocale.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From e0a1db693f38eb40437b1aaa81a72848ce02210b Mon Sep 17 00:00:00 2001
-From: ePirat <epirat07 at gmail.com>
-Date: Thu, 16 Nov 2017 03:53:40 +0100
-Subject: [PATCH 3/3] osdep: explicitly set a category mask for newlocale
-
-While on Linux it works fine to not specify one, as Linux will fill all
-not given ones from the POSIX locale, on BSD using `xlocale.h` this does
-not work.
-
-When no base locale is given, BSD uses the current locale and fills not
-matching bitmasks with values from that one, not with values from the
-POSIX locale.
----
- src/osdep/printf_useloc_posix.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/osdep/printf_useloc_posix.c b/src/osdep/printf_useloc_posix.c
-index 9bb1812..7ddc01f 100644
---- a/src/osdep/printf_useloc_posix.c
-+++ b/src/osdep/printf_useloc_posix.c
-@@ -31,7 +31,7 @@ static locale_t cloc;
- 
- void printf_c_init()
- {
--    cloc = newlocale(0, "C", (locale_t) 0);
-+    cloc = newlocale(LC_NUMERIC_MASK, "C", (locale_t) 0);
-     if (!cloc)
-         abort();
- }
--- 
-2.11.0
-
diff --git a/contrib/src/libplacebo/SHA512SUMS b/contrib/src/libplacebo/SHA512SUMS
index 7dbcd483b8..bf8160d6b6 100644
--- a/contrib/src/libplacebo/SHA512SUMS
+++ b/contrib/src/libplacebo/SHA512SUMS
@@ -1 +1 @@
-e36eaee9149ac7925db20c6d2087d480c999c564482dad18789521d128da54a75c9738cc094ee32e00178842a76f123f563df677ed2dbe4367a4ecacca6a125a  libplacebo-0.1.2.tar.gz
+5b1079d21684ffe7bb7e1984bdff8ed3b2a4c5d0454758ed9764bab3947fed693147ace9ec877f758e1c5c466a560fceaf4975666ca26d47c2278182dc60e2eb  libplacebo-0.2.0.tar.gz
diff --git a/contrib/src/libplacebo/rules.mak b/contrib/src/libplacebo/rules.mak
index f9dcaf2dc4..2457d41ae1 100644
--- a/contrib/src/libplacebo/rules.mak
+++ b/contrib/src/libplacebo/rules.mak
@@ -1,6 +1,6 @@
 # libplacebo
 
-PLACEBO_VERSION := 0.1.2
+PLACEBO_VERSION := 0.2.0
 PLACEBO_URL := https://github.com/haasn/libplacebo/archive/v$(PLACEBO_VERSION).tar.gz
 PLACEBO_ARCHIVE = libplacebo-$(PLACEBO_VERSION).tar.gz
 
@@ -28,7 +28,7 @@ libplacebo: $(PLACEBO_ARCHIVE) .sum-libplacebo
 ifdef HAVE_WIN32
 	$(APPLY) $(SRC)/libplacebo/0002-build-fix-win32-build.patch
 endif
-	$(APPLY) $(SRC)/libplacebo/0003-osdep-explicitly-set-a-category-mask-for-newlocale.patch
+	$(APPLY) $(SRC)/libplacebo/0003-2.0-fixup.patch
 	$(MOVE)
 
 .libplacebo: libplacebo



More information about the vlc-commits mailing list