Overview

Request 882845 superseded

- Update libplacebo to version 3.120.0. (Upstream changelog appended)
- Create a new package `plplay` for the included demo program. This requires
bundling a copy of `nuklear.h`, which is single-header library not included
as part of the libplacebo source distribution.
This is a feature release, introducing frame mixing, DRM format
modifiers, and support for custom LUTs -, while also greatly expanding
the available demo programs, in particular the `plplay` video player.
The main highlight is the new `pl_queue` abstraction living in
. This greatly simplifies the core of a
libplacebo-based video renderer by translating a stream of input frames
into an array of GPU-mapped textures suitable for frame mixing, given a
corresponding vsync timestamp. New frames can be delivered to this API
using a push or pull model, and they are lazily uploaded on an as-needed
basis as well as internally garbage collected when no longer needed.
This abstraction also contains all needed machinery for estimating
source/display framerates by comparing and averaging timestamps, freeing
users from the burden of having to accurately determine this information
a priori.
Also worth mentioning is the addition of support for custom LUTs,
currently only in Adobe's .cube format. They can be applied flexibly at
a number of locations in the video processing pipeline, including as a
replacement for YUV<->RGB conversion or tone/gamut mapping, and fed with
either normalized linear light or native-gamma values.
Among the included demo programs, the `plplay` example video player has
been greatly expanded - adding support for a settings GUI (based on
nuklear), frame timing and mixing, custom shaders, and more. This
example video player now serves as a convenient platform to demonstrate
all of libplacebo's advanced rendering features.
Finally, all of libplacebo now contains only code written entirely from
scratch (rather than deriving from mpv), opening up the possibility to

Loading...

Niklas Haas's avatar

I investigated the failure on i586. It's a benign error in the test case, and not an actual bug. A temporary work-around would be to disable the test step. Otherwise, I've prepared this patch to fix the issue upstream:

https://code.videolan.org/videolan/libplacebo/-/commit/9c8d0a21a55dbe2a75afc25c6114650f472db414

Though I'll probably make a 3.120.1 point-release to address this specific issue soon. You may want to reject this revoke this request until then, to avoid breaking libplacebo on 32-bit platforms in the meantime.


Niklas Haas's avatar

I saw that according to your CI, some of the tests fail on big endian and 32-bit (respectively).

Unfortunately I have no idea how to gain access to a big endian or 32-bit build environment and so am unable to fix them. I recommend just removing the package from the offending architectures because nobody will care.


Request History
Mia Herkt's avatar

mia created request

- Update libplacebo to version 3.120.0. (Upstream changelog appended)
- Create a new package `plplay` for the included demo program. This requires
bundling a copy of `nuklear.h`, which is single-header library not included
as part of the libplacebo source distribution.
This is a feature release, introducing frame mixing, DRM format
modifiers, and support for custom LUTs -, while also greatly expanding
the available demo programs, in particular the `plplay` video player.
The main highlight is the new `pl_queue` abstraction living in
. This greatly simplifies the core of a
libplacebo-based video renderer by translating a stream of input frames
into an array of GPU-mapped textures suitable for frame mixing, given a
corresponding vsync timestamp. New frames can be delivered to this API
using a push or pull model, and they are lazily uploaded on an as-needed
basis as well as internally garbage collected when no longer needed.
This abstraction also contains all needed machinery for estimating
source/display framerates by comparing and averaging timestamps, freeing
users from the burden of having to accurately determine this information
a priori.
Also worth mentioning is the addition of support for custom LUTs,
currently only in Adobe's .cube format. They can be applied flexibly at
a number of locations in the video processing pipeline, including as a
replacement for YUV<->RGB conversion or tone/gamut mapping, and fed with
either normalized linear light or native-gamma values.
Among the included demo programs, the `plplay` example video player has
been greatly expanded - adding support for a settings GUI (based on
nuklear), frame timing and mixing, custom shaders, and more. This
example video player now serves as a convenient platform to demonstrate
all of libplacebo's advanced rendering features.
Finally, all of libplacebo now contains only code written entirely from
scratch (rather than deriving from mpv), opening up the possibility to


Factory Auto's avatar

factory-auto added opensuse-review-team as a reviewer

Please review sources


Factory Auto's avatar

factory-auto accepted review

Check script succeeded


Saul Goodman's avatar

licensedigger accepted review

The legal review is accepted preliminary. The package may require actions later on.


Ismail Dönmez's avatar

namtrac accepted review


openSUSE Build Service is sponsored by