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
Otherwise, the default settings would not be valid values.
02ab3c6457f64ddb77d74790afc74a5cfc628ee9 authored over 1 year ago by Niklas Haas <git@haasn.dev>63b7d5b0892e0903c775908d6b032ac18e923450 authored over 1 year ago by Niklas Haas <git@haasn.dev>
Add extra frames when FPS is larger than VPS.
ebd131621e7dc391b65d249279bcc455036aa88a authored over 1 year ago by Niklas Haas <git@haasn.dev>Fixes: https://code.videolan.org/videolan/libplacebo/-/issues/309
7872af19ccc88da39cf64ddc9beb3df68e888d89 authored over 1 year ago by Niklas Haas <git@haasn.dev>faee50cfcd3530e7295e71107f8b6de6768ea1cf authored over 1 year ago by Niklas Haas <git@haasn.dev>
It's called pl_render_*DEFAULT*_params for a reason.
45902de56d7a22909c0d46ef48ae36dadfc7ca0e authored over 1 year ago by Niklas Haas <git@haasn.dev>Code 95% generously donated by ChatGPT. Bugs in remaining 5%.
a8d44e51445c4a00526c13f24442d53815ed1485 authored over 1 year ago by Niklas Haas <git@haasn.dev>32b8b00bcb9e0bdee0c365fb36b10f858a1bc8f0 authored over 1 year ago by Niklas Haas <git@haasn.dev>
What a headache this file was growing into...
a7fa7e2e73f273bfdff608fcd4a88658c9790af1 authored over 1 year ago by Niklas Haas <git@haasn.dev>
The macOS SDK has conflicting defines with the `PAGE_SIZE` name.
Seems to affect both x86 and ARM.
There's no significant to powers of two here - rather, 1000.0 represents
the "full range" value.
Threshold 2.0 is too low and fails to actually improve banding in
real-world sources, while some...
Unlike mpv, which has an explicit --interpolation option to enable frame
mixing, our frame mixin...
b757c2c2bf54db84e21061c95179e5cfc64add3a authored over 1 year ago by Niklas Haas <git@haasn.dev>
By simple check to see if main lobe equals filter size.
d1057ef5ed46968800771faa64a6d4a1fb049eab authored over 1 year ago by Niklas Haas <git@haasn.dev>
Since it's quite sharp and faster than lanczos, it can be good for
slower systems.
Too blurry.
5d30d3f3ff44976991588cd8b36c63cca504b199 authored over 1 year ago by Niklas Haas <git@haasn.dev>We use the almost identical lanczos now.
b0a19cca8963c88bf5134f745a31c8ef49b49d82 authored over 1 year ago by Niklas Haas <git@haasn.dev>This was accidentally set to the same as PL_FILTER_UPSCALING.
309c86da9f49e9ea55b170930c990dd43f302a3f authored over 1 year ago by Niklas Haas <git@haasn.dev>
The more accurate ar_radius calculation should ensure this weight is now
always positive.
1d977d6b68fce1014bf8a2c92fa7649bddae7604 authored over 1 year ago by Niklas Haas <git@haasn.dev>
No more need to store/query this separately.
b7da55239ea2f807e56bba469397aa3b566efc20 authored over 1 year ago by Niklas Haas <git@haasn.dev>
And store these values to pl_filter.radius and pl_filter.radius_cutoff,
even for ortho filters. ...
This renormalization is not needed since `filter_scale` was deprecated
in faor of directly modif...
No point in making this so slow, my numbers don't meaningfully change.
29ac7c61032b858edd2b09143c39d11c0b95db5f authored over 1 year ago by Niklas Haas <git@haasn.dev>Add a poll to prevent VRAM from ballooning.
e1e3969c8adfc2e2892ac954725b0187792b7b64 authored over 1 year ago by Niklas Haas <git@haasn.dev>
Ensures we have decent precision (1e-4) on polar LUTs at size 256
(hard-coded default scaler LUT...
Testing revealed the LUT size of 256 to have no performance downside
compared to 64, and it stil...
Fixes: f87df67f892c7031ed80ef72dd169dc2a7860aa2
c29169ba50544f96de7f33c7759bce9d3cffa313 authored over 1 year ago by Niklas Haas <git@haasn.dev>Parity with mpv.
See-Also: https://github.com/mpv-player/mpv/pull/12384
69483c86c5a510ea2f48d2c972a5ce853dce5472 authored over 1 year ago by Niklas Haas <git@haasn.dev>
I created this for personal testing, but I ended up cleaning it up
enough to the point where it ...
To help during debugging. These should hopefully be disabled by any sane
release distribution, a...
To bypass host pointer importing, for debugging and in some situations
where doing so would lead...
The whole point of pl_gpu_flush() is to commit work to the GPU and
rotate queues, there is liter...
To be more, well, descriptive.
63f508989cf776152e6c4e175cc3f50a357234f3 authored over 1 year ago by Niklas Haas <git@haasn.dev>
For any filter which has strictly nonnegative weights everywhere, we can
use a generalized versi...
It's reasonably fast and, actually, very high quality.
037c44ebde0bc783e3a48a7a600a958b62575938 authored over 1 year ago by Niklas Haas <git@haasn.dev>
Scores higher on perceptual metrics and is much faster to compute than
mitchell, especially sinc...
Regressed by change to pl_clock_t.
cfe28b52077024ba175178408331b3a3b3d29b13 authored over 1 year ago by Niklas Haas <git@haasn.dev>c824e95532b0f679b731becdd3407994de2859fa authored over 1 year ago by Niklas Haas <git@haasn.dev>
Useful for benchmarking e.g. scalers on still images.
3fec8577b1b39592cec22040ecd4bde0a0e3a556 authored over 1 year ago by Niklas Haas <git@haasn.dev>65e62b1e82f0dd4954b9d473dd6973e498d26f50 authored over 1 year ago by Niklas Haas <git@haasn.dev>
These are easy to generate for specific, fixed, always positive shaders
based on the same princi...
We never check errno for math function and they are faster when not
setting it.
These are now tunable, so we need to add the missing params.
Fixes: dcd5b75be4423bf68e5fff63329...
51a43b5d46377b7232c467a6be194c348cbc023b authored over 1 year ago by Niklas Haas <git@haasn.dev>The new hermite is better in every way for frame mixing.
406afa5ab458f567a5b75348c465ae997e78c41f authored over 1 year ago by Niklas Haas <git@haasn.dev>21936f5f55a90f67aca6ddbbeebb24b687886ead authored over 1 year ago by Niklas Haas <git@haasn.dev>
Satisfy my own autism.
c5fff2b41e8822a467f9e26a0b0df06e15ccecf4 authored over 1 year ago by Niklas Haas <git@haasn.dev>
No need to divide all coefficients by 6.0 if we're normalizing
anyway, and no need for the x > 2...
"hermite" is a special case of cubic which is not tunable (due to fixed
radius), so we should av...
4e4382056d65c87fc68ee1f165e565c53a2ded7a authored over 1 year ago by llyyr <llyyr.public@gmail.com>
This matches HermiteFilter from ImageMagick (B=C=0 and R=1).
Make it a recommended frame mixer, ...
Changes params for bcspline/cubic filter function to B=1, C=0 to match
CubicFilter in ImageMagic...
Often duplicated inside mpv/vf_libplacebo, and soon to be re-used inside
renderer.c also.
Useful to give clients the ability to figure out exactly what colorspace
parameters and crop pos...
c4c68fe6a63d6d0b3e248c938b0e52b3923c4897 authored over 1 year ago by Niklas Haas <git@haasn.dev>
So we can reuse it in pl_frame_infer.
d38cf6e4ae73594ebfea8238e3cb13fc50e8ad20 authored over 1 year ago by Niklas Haas <git@haasn.dev>84ebe49f9adc725853a27fe2011ab7336dd31792 authored over 1 year ago by Niklas Haas <git@haasn.dev>
Should really have been part of the previous API bump, but oh well. We
can't support this easily...
And drop the now-redundant test.
9ff598a8be65310167b77ad091729f26aadafee9 authored over 1 year ago by Niklas Haas <git@haasn.dev>To avoid regressing the previous fixes.
ed846e73ca786b5b11ad952a28b6bcddfc7bce0c authored over 1 year ago by Niklas Haas <git@haasn.dev>
Several filters were wrongly scaled to map w(0.0) to 1.0 as advertised,
which may have impacted ...
Hermite is its own filter where B=C=0. This just causes confusion and
Hermite isn't exactly a po...
Positive filter weights can't be guaranteed by `ar_radius`, due to LUT
sampling error. Add an ex...
Concepts are supported on Clang >=10, GCC >= 10 and MSVC >= 19.23.
This will not be so robust, ...
dde4e7c6d86c2d927993ee69cfff4950f9c1c944 authored over 1 year ago by Kacper Michajłow <kasper93@gmail.com>0b4735cfbd133378e0b2ef3afd179919b7baba40 authored over 1 year ago by Kacper Michajłow <kasper93@gmail.com>
Re-gains us the functionality of pl_icc_params.
808f1af396db1332f3c2862ab8ed9d71f4c0eb2b authored over 1 year ago by Niklas Haas <git@haasn.dev>
Augments the more clunky pl_frame.profile with an explicit API that
allows the user to initializ...
The `uint64_t error` field could arguably be dropped to make the logic
slightly cleaner, but it'...
4ee1a7789f7ca0b9be915a24d910870c1f973dae authored over 1 year ago by Niklas Haas <git@haasn.dev>
Allows passing extra attributes, such as .deprecated, to options which
previously required takin...
So, there are a number of things that motivate this:
1. Using the same ICC profile settings for...
d21e218387b0e5117435f4777b24a579172900e5 authored over 1 year ago by Niklas Haas <git@haasn.dev>
To recreate an ICC profile only if it changed. Mirrors the logic inside
`update_icc` of pl_rende...
Left over from a previous version of that MR.
b9ac1d3f95d61a11b3c3abfa80f8682b66f21fa6 authored over 1 year ago by Niklas Haas <git@haasn.dev>For sanity.
c99aec3cc1d56eaa37d1c0af624374b45b99f4dd authored over 1 year ago by Niklas Haas <git@haasn.dev>
Actually make it return 0 for empty profiles, and avoid unnecessary
pl_str_hash indirection.
7e887ccd96beb8480515f3e74628b8f32495aac9 authored over 1 year ago by Niklas Haas <git@haasn.dev>
f859282f411025da8e8d0cc79fcc2b7aa6d27450 authored over 1 year ago by Niklas Haas <git@haasn.dev>
Addition of the pl_cache means we now persist ICC 3DLUTs across
restarts, in which case we serio...
With the current implementation, the neutral value (0.0) gets shifted to
exactly 0.5, which is n...
Fixes: 66c555b9c105139dc77578a02369cce5210f2333
c9012ae8c09c96da55410b20e3cb1f4e91271e80 authored over 1 year ago by Niklas Haas <git@haasn.dev>01d9da5ff7439122a805eff53b38951957273184 authored over 1 year ago by Niklas Haas <git@haasn.dev>
If a pass modifies params->tex/rect/components, the new values propagate
into `ctx.hooked` but n...
Allows forcing the use of a scale pass to force all residual subpixel
offsets, instead of implic...
To ensure we don't end up accidentally integer overflowing.
b5504d1df4dfcbdd1dc629e004f056997c8821ff authored over 1 year ago by Niklas Haas <git@haasn.dev>I tried adding these but they were broken in practice.
a0d994c1a8b9db0852cbe5077b7c4e92d71ba524 authored over 1 year ago by Niklas Haas <git@haasn.dev>
This is actually much more efficient, because we were actually only
using the range [-0.5,0.5] a...
ed3473ac5f3af8071530e91d2669d6e7e32c59fe authored over 1 year ago by Niklas Haas <git@haasn.dev>
Setting `pl_fmt` to NULL in this case is bad, since it will imply using
the default float format...
Raise the lowerbound of shifted range to 0.10, a much safer value to
avoid any underflows.
Also...
2e248c1aa64bb60b1919fdcc4f52881a0d6ef49d authored over 1 year ago by Bin Jin <bjin@ctrl-d.org>This was completely non-functional, for some reason.
a12b733032015d086dff19b9b4208d78d7a9ff79 authored over 1 year ago by Niklas Haas <git@haasn.dev>For debugging purposes.
fa7a947e9deb2283e5c6bc69618577eb1e3dc6e9 authored over 1 year ago by Niklas Haas <git@haasn.dev>Fixes: https://github.com/haasn/libplacebo/issues/202
839e847e32ff0b6bb0a0c033b700245de6a333dc authored over 1 year ago by Niklas Haas <git@haasn.dev>
This is not quite a proper resolution to the linked issue, because we
still forcibly skip the ma...
By adding a check.
7c05589db4df8aed805c5f964db7ec6d689a3784 authored over 1 year ago by Niklas Haas <git@haasn.dev>This got renamed aeons ago.
693c194b2d4b98eb554a4523667939d4e67d4a13 authored over 1 year ago by Niklas Haas <git@haasn.dev>No longer the case since a857cce8c.
101267eb7f1a0f0dd7074a602e8d2b804bb587cc authored over 1 year ago by Niklas Haas <git@haasn.dev>
Fixes very undersaturated OSD on displays with an ICC profile whose
actual primaries differ sign...
Actually fixes a bug, where we incorrectly used the pl_cache_params
values sometimes.
Instead of rgba32f. Halves size of 3DLUTs, in exchange for slightly more
overhead during generat...