Library for GPU-accelerated video/image rendering primitives
This library contains GPU-accelerated video/image rendering primitives, as well as a standalone vulkan-based image/video renderer. It is based on the core rendering algorithms and ideas of mpv.
- Developed at multimedia:libs
- Sources inherited from project openSUSE:Factory
-
5
derived packages
- Download package
-
Checkout Package
osc -A https://api.opensuse.org checkout openSUSE:Backports:SLE-15-SP4:FactoryCandidates/libplacebo && cd $_
- Create Badge
Refresh
Refresh
Source Files
Filename | Size | Changed |
---|---|---|
libplacebo-v1.18.0.tar.bz2 | 0000271416 265 KB | |
libplacebo.changes | 0000017623 17.2 KB | |
libplacebo.spec | 0000002660 2.6 KB |
Revision 5 (latest revision is 31)
Dominique Leuenberger (dimstar_suse)
accepted
request 679082
from
Mia Herkt (lachs0r)
(revision 5)
- Build with (preferred) shaderc now that it’s packaged in TW - Update to version 1.18.0 The major changes of this release include a new and completely overhauled HDR tone mapping algorithm, support for importing backing memory for textures and buffers (such as via dmabuf fds), as well as a swapchain resizing API that, among other benefits, allows libplacebo to function properly on Wayland. There is also now support for generating CPU-backed "dummy resources" for things like lookup tables or convolution kernels, for users who prefer managing their own GPU resources. This allows pl_shader-level API users to access the full host of libplacebo shaders without being restricted the lack of a pl_gpu. Additions: * pl_color_space now has a sig_scale field, which allows modifying the signal range without affecting the transfer function's shape. (Effectively, by "stretching" it). This can be useful when dealing with HDR material encoded in a non-HDR curve such as linear light. * Add support for importing handles (including pl_sync objects and pl_shared_mem). Currently, only memory can be imported. * Add partial support for dmabuf fd interop. Currently does not support dma layout modifiers, so the usefulness of this feature is limited. * Allow importing external memory when creating textures. * Add a way to overexpose HDR material to bring its brightness up to more easily viewable levels. * Add pl_var_int to go alongside the other gpu.h helpers. * Add a way to create CPU-backed "dummy" instances of pl_gpu. These are not capable of compiling or executing any shaders, so they're only useful for users who want to generate and compile their own shaders. All GPU resources (textures, buffers) are backed by malloc. * Add a new field to pl_tex/buf_params allowing users to attach arbitrary references (void*) that libplacebo will ignore. * Add a function for changing the pl_context_params after creation. * Add a new API function for dealing with swapchain resize events. This function can be used to both query and update the swapchain size, based on the usage. Not all platforms support all operations. * Add new demo/skeleton based on GLFW. Changes: * Remove the hdr_simulation field from pl_color_map_params. Use signal_scale on the target color space instead. * Subdivide handle capabilities based on object type (texture vs buffer). * Completely redesign the HDR tone mapping algorithm. Most members of pl_tone_mapping_params have been updated, in particular the options related to desaturation and peak detection. * Split up the HDR peak detection API into a "detection" and "application" stage, which can run independently. This avoids the one-frame delay inherent with the previous API, and thus allows tone mapping to be frame perfect. * Remove superfluous field from pl_shader_reset left behind from a previous version of the API. Fixes and performance improvements: * Correctly apply the OOTF before performing linear colorspace operations on scene-referred content. * Avoid clipping when tone-mapping out of gamut content by tone mapping before gamut mapping. * Correctly reset the peak detection buffer state when running pl_renderer_flush_cache. * Correctly use the image's original color space as the reference space when the content is prelinearized by the renderer. Fixes some cases where libplacebo could end up defaulting PL_COLOR_TRC_AUTO to a suboptimal curve. * Correctly track the lifetime and ownership of individual vulkan buffer objects. Fixes some synchronization issues when attempting to use the same buffer from multiple different queue families. * Fix integer overflow on implementations with very large texture size limits. * Fix building against static libshaderc.
Comments 0