Ecosyste.ms: OpenCollective
An open API service for software projects hosted on Open Collective.
github.com/haasn/libplacebo
Official mirror of libplacebo
https://github.com/haasn/libplacebo
47f1ce7c13d64794cf2b8682319151182140113e authored over 1 year ago by Niklas Haas <[email protected]>
4e-3 was an extremely optimistic, and in practice too low, cutoff value,
resulting in very bad 3...
vulkan/stubs.c also depends on vulkan headers.
7006002ca62c1d1db6f096c37cf7cb630104b419 authored over 1 year ago by Kacper Michajłow <[email protected]>
It should return empty string if it is not defined, but Looks like meson
returns ' ' in some cases.
When reducing the intensity we have to also reduce the saturation to
compensate, similar to how ...
Bleh, didn't trigger locally..
9b4e561eb84ec06d73dd1305651fa989373f47ad authored over 1 year ago by Niklas Haas <[email protected]>
Typically the case for synthetic test profiles that rotate hue vectors
entirely onto different p...
Explicitly reset `csp->hdr.prim`, in case this contains other values
from e.g. the swapchain.
When forcing HDR levels, we currently override also the primaries
struct, which is quite an unde...
These XYZ values are normalized to the white point, so adjust the
display from the incorrect mcd...
To help debug issues related to ICC profiles without necessarily needing
to provide the ICC prof...
Need to take a proper fabsf of the crop dimensions.
00d19d243ced1f80628ebae5e2ba9fd1a5934b4c authored over 1 year ago by Niklas Haas <[email protected]>
Return an empty frame mix until the first frame's PTS value has been
reached.
Probably wouldn't happen anyway on any sane compiler, but nonetheless.
626813c29d92a97917fc55a1b1742320c33a3456 authored over 1 year ago by Niklas Haas <[email protected]>To avoid collisions with other vars named 'tmp'
05385189f41b5dbf439bdacb287e8ae2cc383e02 authored over 1 year ago by Niklas Haas <[email protected]>Fixes: https://code.videolan.org/videolan/libplacebo/-/issues/284
b976d4f33f58bcc18b41dc10a73d111803d0c2d3 authored over 1 year ago by Niklas Haas <[email protected]>In case output is flipped/mirrored.
e4c3683239975d2c37737687fd9046db0197c112 authored over 1 year ago by Niklas Haas <[email protected]>6377e058becb8e3899ea565dc7077b241d5fe481 authored over 1 year ago by Kacper Michajłow <[email protected]>
Fixes: 3fd65b2655ede8498728d9940cf21ccc9ce0b4c3
ec9d184d9b0009c501078df919685287283baf6e authored over 1 year ago by Niklas Haas <[email protected]>
Avoids excessively over-saturating when tone mapping upwards in
brightness, which generally lead...
These were forgotten in earlier changes.
c125414b3f3bbe55c5b1e54b9d2f519e245bb8b4 authored over 1 year ago by Hendrik Leppkes <[email protected]>This avoids using designated initializers (compat issues with C++20)
fea661986a3977ef399faf194dfa58f3ef98d315 authored over 1 year ago by Hendrik Leppkes <[email protected]>
Since this comes with a significant performance and CPU cost enhancement
at only minor debuggabi...
Instead of implicitly clamping the output image to the originally
specified dst_rect, this allow...
Helper function to compute bounding boxes of transformations.
2e17877a422097dd9f2bcfff276f2d02c1320461 authored over 1 year ago by Niklas Haas <[email protected]>3df4e60dd50e251428912097aebf516d777fa174 authored over 1 year ago by Niklas Haas <[email protected]>
Mostly for cosmetic reasons, though I plan on extending at least one
instance of this.
After a few iterations I settled on this, which is essentially a
HDR-specific sharpening filter,...
I want to extend this with more "runtime"-provided (i.e. not
user-facing) parameters. Having lea...
Requires generation of a low-res feature map. To avoid excessive ringing
artefacts, hard-code th...
Make this way less hacky and also more easily extended.
c0f5ab7fbddfbd78c6158c257769a085fc868c54 authored over 1 year ago by Niklas Haas <[email protected]>
If gray maps to solid black, as in some extreme benchmark/test profiles,
y_approx ends up as inf...
Lest the very fabric of society fall apart and the world descend into
chaos.
2652e26fbd285da4cb802edb51c408e11fa2def8 authored over 1 year ago by Niklas Haas <[email protected]>
The upscaler tests were actually no-ops because the output crop was
effectively hard-coded as 1x...
1/6.0 etc. are not legal constants in GLES, need to write as 1.0/6.0.
b163cbd982abdbc0fc66ff84b7d2d96af7655bbf authored over 1 year ago by Niklas Haas <[email protected]>Mostly for demonstration purposes.
a4065aaf4e9558b365d1f09d1f74c390b0b5ffd8 authored over 1 year ago by Niklas Haas <[email protected]>
Could be done better (e.g. mipmapping to reduce aliasing, arbitrary EWA
interpolation, ...) but ...
Just to make sure the shaders compile and the main logic branch is
covered.
For hooking the point immediately before alpha blending, for any shaders
that want to make a las...
Simple helper function for a common-ish operation.
c9f9c8504406e41b0468d842fbcfe7f7b20bc418 authored over 1 year ago by Niklas Haas <[email protected]>
Mostly just as a convenience to the user, to avoid having to hook
PL_HOOK_PRE_OUTPUT and ship a ...
Needed for new feature.
41a8e941c5318138bd325d2fa279b9ee34a1ed95 authored over 1 year ago by Niklas Haas <[email protected]>
This only affects pass_output_target and does not make it into the
cache.
Removes the clunky stateful peak_detect_active bool in exchange for a
properly scoped temporary ...
Make it more explicit which case is which.
8ff9ca8dab0bea23123415957e8ccb930509f028 authored over 1 year ago by Niklas Haas <[email protected]>This variable was never currently set.
a52d8a69476895dacfbccfc50bd50e2f2ded5695 authored over 1 year ago by Niklas Haas <[email protected]>
MinGW-w64 math functions are significantly slower than the UCRT ones.
In particular powf is over...
With linear interpolation, this gives enough precision even on a
256-element LUT, to pass the te...
To test impact of performance improvements to the 3DLUT generation code
2d5ec46e4c85b12bded145068202f11790ef8a01 authored over 1 year ago by Niklas Haas <[email protected]>
Currently `include_directories` are ignored when used as `dependencies`
in `has_header_symbol`. ...
Prefer our Vulkan-Headers as they are always available and with correct
version. Also remove ver...
3e25675dc10d98ac67d1ca2af9f07b79c543dc77 authored over 1 year ago by Niklas Haas <[email protected]>
b38edd39a9f76f84951517b20d6f8a4e376f6996 authored over 1 year ago by Niklas Haas <[email protected]>
In the case of importing a planar texture, we only need to synchronize
the base texture, while t...
In case of emulated texture format we have to upload manually to reorder
the data.
Useful to know where the errors are coming from. Also log source with
PL_LOG_DEBUG same as other...
Ensures that red maps (approximately) to red, cyan to cyan, and so on.
This is not an exact test...
Apply a hue shift to forcibly ensure primaries map to primaries, e.g.
red to red, and so on. Thi...
Improves the visualization by allowing me to effectively rotate the
isohue vectors with respect ...
We need to avoid stripping alpha information when blending, which
requires both persisting alpha...
We currently error if the crop expr exceeds the video frame dimensions.
Handle this properly by ...
Wrong variable used in clamp.
a0579e4a45bdf8e2b844bfc9e16755adb74e00f8 authored over 1 year ago by Niklas Haas <[email protected]>
Sometimes these are tagged as RGB. PNG in particular likes to give such
files for "gray" format,...
The target frame could accidentally be double-acquired under the old
logic, leading to deadlock....
For consistency with both the Vulkan spec and the revised version of the
lavu vulkan patchset. T...
To avoid discontinuity in black point handling.
Fixes: https://code.videolan.org/videolan/libpl...
51fcea1827bc0a2fcc7eaebc7dc91a061ed112f3 authored over 1 year ago by Niklas Haas <[email protected]>Two for the price of one.
22f1130b414f7280d44e9bde58ac264156a67721 authored over 1 year ago by Niklas Haas <[email protected]>669b8f16f0acfcfa050be22e8914c7db94b657f9 authored over 1 year ago by Niklas Haas <[email protected]>
Very cheap for us to support, just treat it as an on-the-fly alpha mask.
6b25c9753a8f97860535c5c9cd45d100a6cb1945 authored over 1 year ago by Niklas Haas <[email protected]>
Direct3D 11 runtime only guarantees that allocations within the maximum
resource size are suppor...
We need to clean up before returning.
ae39757e1d3141dea08ccf2120d5ea78af7fcb72 authored over 1 year ago by Kacper Michajłow <[email protected]>
Instead of half-assing it with a #define, which prevents the use of
mipmapped textures (e.g. in ...
Instead of accounting for the texture size manually in
sh_bind/setup_src.
We (unfortunately) st...
d0957d4ae043af7a8d9da00b7adc46404e43cca7 authored over 1 year ago by Niklas Haas <[email protected]>The old interlacing fields got deprecated.
fa0b73a4d7413e1531a905f8b153c7355031ac0a authored over 1 year ago by Niklas Haas <[email protected]>
We should *exclude* the target_pts = frame_pts + dur case, because that
would be the start of th...
Instead of returning EOF here early, only return EOF once the last frame
should no longer be vis...
And ignore safety clamp in this case.
302a4ad3000c117694dfa36bc83a24a91a46dbc6 authored over 1 year ago by Niklas Haas <[email protected]>
Treat an EOF after partial frame as EOF, instead of forwarding this
frame to the output.
No reason for this not to exist, especially as it's useful to do linear
transitions/fades.
To avoid the trappings of users directly accessing `frame->user_data`,
which led to the current ...
This is no longer just a straight pointer to AVFrame, and absolutely
should be cleaned up. We ca...
And actually, exposing this implementation detail was a bad idea in the
first place.
e446d18de239a7c635cf460b3d5ef58203a257a4 authored over 1 year ago by Kacper Michajłow <[email protected]>
Now that we also validate DXGI calls.
2e8d5cc446e98a70d13a3bfe35c8d31888e22e8d authored over 1 year ago by Kacper Michajłow <[email protected]>It is not recommended by FFmpeg as some decoders have issues.
8d747ef10814882379a14f37adf0a07c18fd802d authored over 1 year ago by Kacper Michajłow <[email protected]>16c9d50638574ac85ef9f43e56212ae63efcfd2c authored over 1 year ago by Kacper Michajłow <[email protected]>
4220bd459a1c7d4189b06535a0b346dc3d27d048 authored over 1 year ago by Kacper Michajłow <[email protected]>
DXGI debug interface encapsulate multiple message queues, which allows
to get validation not onl...
Older MinGW-w64 doesn't define IDXGIInfoQueue in dxgidebug.h.
6e7bb7323e49c946373d18abe287c683f3f9d025 authored over 1 year ago by Kacper Michajłow <[email protected]>
Instead of universally enabling all supported QFs, this field lets us
whitelist the set of permi...
Avoids leaking this memory, and ties its lifetime explicitly to the
mapped AVFrame.
So I can add more fields to this than just the `AVFrame`. Motivated by a
desire to keep track of...
730d21a059dcff5d2304be960ddbe046f5f5fb90 authored over 1 year ago by Kacper Michajłow <[email protected]>
Wrong index was used resulting in intermittent register allocation
conflicts.
Fixes: https://gi...
37599296a7f755c4c1772202ab5a927b4d991fd6 authored over 1 year ago by Kacper Michajłow <[email protected]>f9497539c234a0b5bb5bfb32854ca99e93fb0abc authored over 1 year ago by Kacper Michajłow <[email protected]>
This was bugged in the same way, due to mismatch between VK_VERSION_1_2
and VK_API_VERSION_1_2...
When using this as an extension (rather than promoted command), we
cannot omit the KHR suffix. F...
These macros expand to 1, effectively disabling the intended behavior.
fa859c2248290169441e532cfe57eddb10fe24e6 authored over 1 year ago by Niklas Haas <[email protected]>a6b95dabdecc6a3a7071d43de86101dfc41d2fd0 authored over 1 year ago by Niklas Haas <[email protected]>