Skip to content

vlc doesn't build with libplacebo 6.338

If I build vlc 3.0.20 with libplacebo 6.338 on Arch Linux, libplacebo fails to build with just the following build commands:

./configure \
	--prefix=/usr \
	--sysconfdir=/etc \
	--with-kde-solid=/usr/share/solid/actions

make

And the following output:

      |     PL_TONE_MAP_LUMA
video_output/opengl/fragment_shaders.c:554:1: warning: control reaches end of non-void function [-Wreturn-type]
  554 | }
      | ^
make[4]: *** [Makefile:22512: video_output/opengl/libgl_plugin_la-fragment_shaders.lo] Error 1
video_output/opengl/vout_helper.h:138:5: error: ‘PL_TONE_MAPPING_CLIP’ undeclared here (not in a function)
  138 |     PL_TONE_MAPPING_CLIP,
      |     ^~~~~~~~~~~~~~~~~~~~
video_output/opengl/display.c: In function ‘vlc_entry__3_0_0f’:
video_output/opengl/display.c:71:5: warning: ‘intent’ is deprecated [-Wdeprecated-declarations]
   71 |     add_glopts ()
      |     ^~~~~~~~~~
In file included from video_output/opengl/vout_helper.h:35:
/usr/include/libplacebo/shaders/colorspace.h:310:30: note: declared here
  310 |     enum pl_rendering_intent intent PL_DEPRECATED;  // see `gamut_mapping`
      |                              ^~~~~~
video_output/opengl/display.c:71:5: warning: ‘tone_mapping_param’ is deprecated [-Wdeprecated-declarations]
   71 |     add_glopts ()
      |     ^~~~~~~~~~
/usr/include/libplacebo/shaders/colorspace.h:308:11: note: declared here
  308 |     float tone_mapping_param PL_DEPRECATED;         // see `tone_constants`
      |           ^~~~~~~~~~~~~~~~~~
In file included from video_output/opengl/display.c:31:
video_output/opengl/vout_helper.h:193:60: error: ‘const struct pl_color_map_params’ has no member named ‘desaturation_strength’
  193 |     add_float("desat-strength", pl_color_map_default_params.desaturation_strength, \
      |                                                            ^
../include/vlc_plugin.h:246:54: note: in definition of macro ‘vlc_config_set’
  246 | #define vlc_config_set(...) vlc_set (opaque, config, __VA_ARGS__)
      |                                                      ^~~~~~~~~~~
video_output/opengl/vout_helper.h:193:5: note: in expansion of macro ‘add_float’
  193 |     add_float("desat-strength", pl_color_map_default_params.desaturation_strength, \
      |     ^~~~~~~~~
video_output/opengl/vout_helper.h:228:5: note: in expansion of macro ‘add_desat_params’
  228 |     add_desat_params()
      |     ^~~~~~~~~~~~~~~~
video_output/opengl/vout_helper.h:238:5: note: in expansion of macro ‘add_glopts_placebo’
  238 |     add_glopts_placebo ()
      |     ^~~~~~~~~~~~~~~~~~
video_output/opengl/display.c:71:5: note: in expansion of macro ‘add_glopts’
   71 |     add_glopts ()
      |     ^~~~~~~~~~
video_output/opengl/vout_helper.h:195:60: error: ‘const struct pl_color_map_params’ has no member named ‘desaturation_exponent’
  195 |     add_float("desat-exponent", pl_color_map_default_params.desaturation_exponent, \
      |                                                            ^
../include/vlc_plugin.h:246:54: note: in definition of macro ‘vlc_config_set’
  246 | #define vlc_config_set(...) vlc_set (opaque, config, __VA_ARGS__)
      |                                                      ^~~~~~~~~~~
video_output/opengl/vout_helper.h:195:5: note: in expansion of macro ‘add_float’
  195 |     add_float("desat-exponent", pl_color_map_default_params.desaturation_exponent, \
      |     ^~~~~~~~~
video_output/opengl/vout_helper.h:228:5: note: in expansion of macro ‘add_desat_params’
  228 |     add_desat_params()
      |     ^~~~~~~~~~~~~~~~
video_output/opengl/vout_helper.h:238:5: note: in expansion of macro ‘add_glopts_placebo’
  238 |     add_glopts_placebo ()
      |     ^~~~~~~~~~~~~~~~~~
video_output/opengl/display.c:71:5: note: in expansion of macro ‘add_glopts’
   71 |     add_glopts ()
      |     ^~~~~~~~~~
video_output/opengl/vout_helper.h:197:56: error: ‘const struct pl_color_map_params’ has no member named ‘desaturation_base’
  197 |     add_float("desat-base", pl_color_map_default_params.desaturation_base, \
      |                                                        ^
../include/vlc_plugin.h:246:54: note: in definition of macro ‘vlc_config_set’
  246 | #define vlc_config_set(...) vlc_set (opaque, config, __VA_ARGS__)
      |                                                      ^~~~~~~~~~~
video_output/opengl/vout_helper.h:197:5: note: in expansion of macro ‘add_float’
  197 |     add_float("desat-base", pl_color_map_default_params.desaturation_base, \
      |     ^~~~~~~~~
video_output/opengl/vout_helper.h:228:5: note: in expansion of macro ‘add_desat_params’
  228 |     add_desat_params()
      |     ^~~~~~~~~~~~~~~~
video_output/opengl/vout_helper.h:238:5: note: in expansion of macro ‘add_glopts_placebo’
  238 |     add_glopts_placebo ()
      |     ^~~~~~~~~~~~~~~~~~
video_output/opengl/display.c:71:5: note: in expansion of macro ‘add_glopts’
   71 |     add_glopts ()
      |     ^~~~~~~~~~
video_output/opengl/vout_helper.h:199:55: error: ‘const struct pl_color_map_params’ has no member named ‘max_boost’
  199 |     add_float("max-boost", pl_color_map_default_params.max_boost, \
      |                                                       ^
../include/vlc_plugin.h:246:54: note: in definition of macro ‘vlc_config_set’
  246 | #define vlc_config_set(...) vlc_set (opaque, config, __VA_ARGS__)
      |                                                      ^~~~~~~~~~~
video_output/opengl/vout_helper.h:199:5: note: in expansion of macro ‘add_float’
  199 |     add_float("max-boost", pl_color_map_default_params.max_boost, \
      |     ^~~~~~~~~
video_output/opengl/vout_helper.h:228:5: note: in expansion of macro ‘add_desat_params’
  228 |     add_desat_params()
      |     ^~~~~~~~~~~~~~~~
video_output/opengl/vout_helper.h:238:5: note: in expansion of macro ‘add_glopts_placebo’
  238 |     add_glopts_placebo ()
      |     ^~~~~~~~~~~~~~~~~~
video_output/opengl/display.c:71:5: note: in expansion of macro ‘add_glopts’
   71 |     add_glopts ()
      |     ^~~~~~~~~~
make[4]: *** [Makefile:22526: video_output/opengl/libgl_plugin_la-display.lo] Error 1
make[3]: *** [Makefile:28327: all-recursive] Error 1
make[2]: *** [Makefile:12918: all] Error 2
make[1]: *** [Makefile:1566: all-recursive] Error 1
make: *** [Makefile:1453: all] Error 2

Only if I add the option --disable-libplacebo it works.

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information