libplacebo 6.338.2

libplacebo is, in a nutshell, the core rendering algorithms and ideas of mpv rewritten as an independent library. As of today, libplacebo contains a large assortment of video processing shaders, focusing on both quality and performance. These include features such as the following: High-quality, optimized upscaling and downscaling including support for polar filters ("Jinc"), anti-aliasing, anti-ringing and gamma correct scaling. Dynamic HDR tone mapping, including real-time measurement of scene histogram, scene change detection, dynamic exposure control, perceptual gamut stretching, contrast recovery and more. Native support for Dolby Vision HDR, including Profile 5 conversion to HDR/PQ or SDR, reading DV side data, and reshaping. (BL only, currently) A colorimetrically accurate color management engine with support for soft gamut mapping, ICC profiles, accurate ITU-R BT.1886 emulation, black point compensation, and custom 3DLUTs (.cube). A pluggable, extensible custom shader system. This can be used to arbitrarily extend the range of custom shaders to include popular user shaders like RAVU, FSRCNNX, or Anime4K. See the mpv wiki on user scripts for more information. High performance film grain synthesis for AV1 and H.274, allowing media players to offload this part of decoding from the CPU to the GPU. Tunable, fast debanding and deinterlacing shaders. High quality gamma-correct dithering, including error diffusion modes. Every attempt was made to provide these features at a

Tags video image rendering library gpu
License GNU GPLv3
State initial

Recent Releases

6.338.230 Jan 2024 12:03 minor feature: This release fixes a number of minor issues with v6.338.1, in particular a fix for the new caching subsystem when using custom cache callbacks. Fixes and performance improvements: - properly align AVFrame planes when using oddly-sized pixels - correct some reported GPU buffer size limits - properly report texture transfer failures - avoid ICC-related error spam - avoid using some deprecated APIs and syntax - fix pl_find_filter_* missing symbols - fix duplicate initialization of vulkan debug layers - fix assertion when using custom cache allocator API - avoid redundant scale shader variable declarations - avoid redundant linearization step when using sigmoid scaling - avoid generating redundant dependency on xxhash - fix possible integer overflow on 32-bit textures - fix cropped frame dimensions when using vulkan hwframes