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
This refactors the code to take advantage of the new gamut mapping API.
In the process, it has a...
8dfb171bcf3b323726a77ee209a3128c3d65899a authored over 1 year ago by Niklas Haas <[email protected]>
So, this is a big mathdump with little in the way of history, but I
arrived at these algorithms ...
Will be used for the upcoming major refactor of the tone mapping / gamut
mapping pipeline.
We d...
95609471845d983b0946931be2095179bafa3d04 authored over 1 year ago by Niklas Haas <[email protected]>And use it in shaders/colorspace.c
90df6765924eb01a74336d10adc7529abbe2fade authored over 1 year ago by Niklas Haas <[email protected]>Less branching, in theory.
2a84cfffd65a8138c13c051ad4c0ac5fb446ba3d authored over 1 year ago by Niklas Haas <[email protected]>
This needs to go through av_frame_get_plane_buffer(), because
frame->data and frame->buf are not...
ba8a047f8fa33366fbf444a64a7b2418504c7784 authored almost 2 years ago by Niklas Haas <[email protected]>
This is starting to hit timeouts now even on my workstation. We really
don't need to test all of...
A GLSL 130+ simplification, this variant (in theory) allows the
implementation to assume there a...
Avoids a lot of unnecessary string printing and makes the math slightly
simpler (and hopefully f...
4c66025ce331463251ec9dc7fd9a5d9e936bca58 authored almost 2 years ago by Niklas Haas <[email protected]>
`sh_bind` informs users that these values should be cached
35e48fb59a99c135777f98a60b4d0b7d10577da7 authored almost 2 years ago by Niklas Haas <[email protected]>
As a consequence of the peak detection redesign, we no longer re-read
from the same SSBO in the ...
19de385d3c23ae705016939cbb26d8b2a8c3e181 authored almost 2 years ago by Niklas Haas <[email protected]>
This was set to a method that was implemented in pure GLSL.
8d14a90723bc989d60a40bd484c32f95926ca0cc authored almost 2 years ago by Niklas Haas <[email protected]>05523624d84816d6d6a72b048c9732c5564c9f22 authored almost 2 years ago by Niklas Haas <[email protected]>
Capped to trace verbosity for dynamically regenerating LUTs.
51cd475266a1a13b3bed549a05f87ce3c6c5f472 authored almost 2 years ago by Niklas Haas <[email protected]>
Sometimes, rounding/encoding error causes small (+/-1 PQ unit)
deviations in static frames repea...
Some synthetic test clips can have PQ values as high as 10 million nits,
so clamp the detected r...
For BT.2100, just hard-code the LMS matrix directly instead of
formatting it as a string argumen...
To reduce boilerplate of transposing pl_matrix3x3 into shaders.
a7492500109f6f6eff0b7015b81b9eb854ac0288 authored almost 2 years ago by Niklas Haas <[email protected]>This would not produce correct result anyway.
9d9e59589d970771573587eee1cc9bbd8d1d6ec2 authored almost 2 years ago by Kacper Michajłow <[email protected]>No need to promote to double.
9f1a9092cc9f6b0b2edca0a1af0de9b0c11bb78a authored almost 2 years ago by Kacper Michajłow <[email protected]>
These are used very frequently and it's sort of stupid to write `struct`
in front of them every ...
This is probably not the proper solution, but it's better than the
status quo of crashing and ha...
To replace the old `limits` field by the more general one.
e99f823d5a6bd56967a04c7074330907e985e3c3 authored almost 2 years ago by Niklas Haas <[email protected]>d2e58cf5202a27673ef049f15c3452c6fd6dc9e4 authored almost 2 years ago by Kacper Michajłow <[email protected]>
d713a317f899a28eddb5e61960f0a0d18f6dddd5 authored almost 2 years ago by Kacper Michajłow <[email protected]>
Cosmetic change only.
9f4d66885df74dbeb5dcb03516580a9752535948 authored almost 2 years ago by Kacper Michajłow <[email protected]>We don't care about demos coverage.
b50f41797eb03209768875e70b40af3f87058810 authored almost 2 years ago by Kacper Michajłow <[email protected]>
This is a fix for linking errors with MSAN/UBSAN when static runtime is
linked also into shared ...
This reverts commit 9d93981b94a5781cc0afe089a4b682514f5c4d60.
This reverts commit 88c39881fdc462...
97d008b6d39a05b619e5b61fac05f4f2ef122ede authored almost 2 years ago by Kacper Michajłow <[email protected]>
For correctness, it is still pointer under the hood.
dc6e5a5e3deaa5355a91338c9497371f318da308 authored almost 2 years ago by Kacper Michajłow <[email protected]>fc874b5b990c4c70119b30e12367a0c322789eca authored almost 2 years ago by Niklas Haas <[email protected]>
0f36b010f96649c57295242fa8e899918328267f authored almost 2 years ago by Niklas Haas <[email protected]>
This already exists as PL_ALIGN2
981f10027544fd30c23dc4f8394deaaa7f3b1f2e authored almost 2 years ago by Niklas Haas <[email protected]>
The CPU overhead of this function is quite a substantial contribution,
surprisingly, to the over...
We can now ref this struct directly instead of needing to manually
strcpy.
Avoid touching sh->vars directly, and instead add a '#define' from the
internally generated iden...
Replace some expensive %s formatters by slightly cheaper const str
formatters, and split up some...
Make this UI more compact by default, but allow expanding it to provide
a more detailed view.
Texel buffers should not have buffer variables attached.
845d83ff73484c3488c6ab4ad9833f84adfaa1a2 authored almost 2 years ago by Niklas Haas <[email protected]>Only used for the clumsy shader subpass refcouting system, now removed.
7671178f6db0c391672d23dc7362f91b99abff75 authored almost 2 years ago by Niklas Haas <[email protected]>No longer helpful.
9e9375075a3f6638f5b1081720e7060a0aaf415a authored almost 2 years ago by Niklas Haas <[email protected]>
Instead of this complicated pl_ref business, just use a single void *tmp
object and directly ste...
Instead, just pack the `ident_t` directly into the `const char *`,
guarded by a sentinel value t...
Instead of using pl_calloc to allocate a temporary buffer of pointers,
use a persistent array in...
Stop piggy-backing off a partially filled `pl_shader_res` struct
intenrally, and instead treat t...
These are used for things like pl_memdup() inside pl_var() et al.
Ideally, I would like to have...
a1c1f6cec0dc8ada5e496414dea6624ed3f165bf authored almost 2 years ago by Niklas Haas <[email protected]>And reuse it internally inside sh_attr_vec2
619d981f298f5b5190b8a8aaeb81c63d2d7be5bf authored almost 2 years ago by Niklas Haas <[email protected]>
No longer needed. We can simply re-use the same array stealing scheme.
As an aside, use pl_free_...
e9ab73942d60e33c50429e2a335dd4a841fa988b authored almost 2 years ago by Niklas Haas <[email protected]>
This failed if called twice on the same object.
b994f1da89c159907712acca80cf4506e0bc22b6 authored almost 2 years ago by Niklas Haas <[email protected]>This shader was never aborted before being overwritten by NULL.
c9e7492b61d3d92140561ac3bc5f2b91c9471458 authored almost 2 years ago by Niklas Haas <[email protected]>
The `pl_dispatch_info` had a number of serious shortcomings. One of
these was the fact that it r...
These objects were not correctly ref'd. This does not fix any bugs in
practice, because we do no...
Avoid unnecessary re-allocations to *reduce* the size of a buffer. Where
this is intended (curre...
This was needlessly verbose and also confusing, and hard to parse.
Simplify it again.
Even in LTO scenario. This function is used to print call stack, we
don't want it to be inlined ...
fddc3bda307237f9c3a5acd3ece77ad2c1ed6481 authored almost 2 years ago by Kacper Michajłow <[email protected]>
GCC complains about Wcast-function-type, but this is correct usage of
GetProcAddress(), to suppr...
Use DbgHelp to symbolize stack trace. This works only with PDB files.
Works fine with clang prod...
994323fa501807fa50ca6b383373d10ec85162ac authored almost 2 years ago by Kacper Michajłow <[email protected]>
We don't care about the pl_log_stack_trace function. This also make it
compatible with libunwind...
5243e797afa4d6dde63d66df013b4667304cad4e authored almost 2 years ago by Kacper Michajłow <[email protected]>
To speed up the abysmal amount of time it takes the CI runner to slog
its way through all these ...
Just testing whether our generated shaders also work when stripped, to
avoid mistakes like using...
Reduces shader generation overhead by something like ~30%, eliminating
most of the string concat...
72eb983b95dc1397cd52b5978ffe60cf01beb6cf authored almost 2 years ago by Niklas Haas <[email protected]>
16af9f2150803c0a576aa722ea3a95081e4ab700 authored almost 2 years ago by Niklas Haas <[email protected]>
Avoids a handful of strcmp() calls and makes this code independent of
the exact representation o...
528e3d4138e279618c69455404836fb7ec3e3e2c authored almost 2 years ago by Niklas Haas <[email protected]>
I want to switch from using string-based identifiers to using integers.
To make this transition ...
a3a03fb2a9dfe08242e74294f2cf008ece109f7c authored almost 2 years ago by Niklas Haas <[email protected]>
532a02b87e3fdf5af08ca11d37a2387e4a429d01 authored almost 2 years ago by Niklas Haas <[email protected]>
16cd59b87348253cb5011255aa2bc3b527b855bd authored almost 2 years ago by Niklas Haas <[email protected]>
85968d9ba976731d20194199d0a9735fab3512a4 authored almost 2 years ago by Niklas Haas <[email protected]>
2e478be5645c0a81c702fd7d830a6477f3258892 authored almost 2 years ago by Niklas Haas <[email protected]>
402e30b9225d9b730dbf1f33f07d1d86d29b29b6 authored almost 2 years ago by Niklas Haas <[email protected]>
b81910df90157570dbac0de881a01541bc35d32c authored almost 2 years ago by Niklas Haas <[email protected]>
This seems like an obscure edge case that was only required for the old
peak detection SSBO logic.
Makes it less annoying to deal with identifiers that have varying
representations.
af5ab4177613d6f6d12367fc7cf0e46acf25148c authored almost 2 years ago by Niklas Haas <[email protected]>
This is never used without a name in practice, might as well make it an
assumption to simplify t...
From 2021, should hopefully no longer be an issue.
90c6d26693438ada0f1f33b0b05b5d43c53b9c5e authored almost 2 years ago by Niklas Haas <[email protected]>
Instead of checking if input is 0, add one bit to CLZ check, so it
always is a valid call. Calli...
This may seem counterintuitive because `print_hex` is implemented for
uint anyway, but this lets...
We only wanted to sanitize values here, not strip them for PQ (as
pl_color_space_nominal_peak_ex...
This is no longer just for BPC.
207fe638152e21c8cce2bea36f19ca06050f27a4 authored almost 2 years ago by Niklas Haas <[email protected]>Also prints the actual tone-mapping function in use.
6acb9f304a15599b5b7b3c7b33a4a32a24e7fd93 authored almost 2 years ago by Niklas Haas <[email protected]>
Fixes: 1cb6507
Fixes: https://github.com/haasn/libplacebo/issues/162
The version that made it into the commit was accidentally out-of-sync
with itself. Fix it and ad...
Preliminary work for an upcoming refactor which will treat identifiers
directly as unsigned shor...
We want this specifically for shader identifiers. Spend some amount of
effort in micro-optimizin...
The current code resulted in forced BPC when using an ICC profile, as a
result of the source bla...
Since this confused me at first.
2df008f381ffd97047b15e0d516e81bd0fcedcbf authored almost 2 years ago by Niklas Haas <[email protected]>For sanity...
70d82247a3cfad5e36057dcabbfb0adf2210a704 authored almost 2 years ago by Niklas Haas <[email protected]>
This code never clipped the values, which resulted in inconsistent
behavior with the LUT version...