Library for GPU-accelerated video/image rendering primitives

Edit Package libplacebo

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.

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's avatar Dominique Leuenberger (dimstar_suse) accepted request 679082 from Mia Herkt's avatar 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
openSUSE Build Service is sponsored by