• Niklas Haas's avatar
    video_output: opengl: add basic support for libplacebo · 77d8be7e
    Niklas Haas authored and Thomas Guillem's avatar Thomas Guillem committed
    This adds support for conversion between color spaces, in particular HDR
    tone mapping and wide gamut -> standard gamut conversion.
    Things that this commit does not (yet) address:
    - It does not use libplacebo's scaling features. This is blocked by the
      fact that libplacebo does not currently support OpenGL (only Vulkan).
    - It does not add support for BT.2020 YCbCr. This would be easy to
      implement in much the same way as the tone mapping support, by using
      pl_shader_decode_color, replacing the hard-coded matrices. This would
      also allow adding support for hue, saturation etc. controls.
    - It does not hook up the pl_color_map_params options to the VLC GUI.
      This would have to be done to let users influence the subjective
      configuration options, as well as specify their display device's
    All of the new code is optional, due to the lack of rigorous testing of
    libplacebo (especially on other platforms) and the short timeframe
    between this commit and the VLC 3.0 release. This may be changed later
    on (possibly for VLC 4.0).
    Signed-off-by: Thomas Guillem's avatarThomas Guillem <thomas@gllm.fr>
fragment_shaders.c 22 KB