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

shaders/sampling: fix gather version of pl_shader_sample_polar

It was sampling already sampled pixels when switching between direct and
gather sampling. There ...

c33267cbdeaeaf7ee63dba0436a435059314a28b authored 10 months ago by Kacper Michajłow <[email protected]>
vulkan: disable synchronization validation

Because timeline semaphores are not currently supported.

See-Also: https://github.com/KhronosGr...

e5f7d6aa7dbb8b8b62bb55dd86ea22b154a33a49 authored 10 months ago by Niklas Haas <[email protected]>
utils/libav: update max_luma threshold to 5 nits

Cosmetic change, files like that doesn't make sense anyway. This change
follows ITU-T H.264 and ...

311a59507f6a0465aaac9b783af65bf349755360 authored 10 months ago by Kacper Michajłow <[email protected]>
vulkan/swapchain: fix typo in VK_COLOR_SPACE_BT709_LINEAR_EXT case

ef135c3a7c0f7d0ae714fbfe25d9a40571ec59d6 authored 10 months ago by Kacper Michajłow <[email protected]>
vulkan: avoid function pointer casting

Fixes UB reported by -fsanitize=function

a3c5563b355e6cb0ea556ac4769235afd3cf40d8 authored 10 months ago by Kacper Michajłow <[email protected]>
renderer: refactor background/border clearing options

The current behavior is very ad-hoc and presents numerous issues to
downstream clients. Make thi...

36388111b7067ec20e80d18715c727419dd1baa4 authored 10 months ago by Niklas Haas <[email protected]>
demos/settings: update for new clearing options

611a4abbf1e4fe0963c132d46e7dc21f7bb45b72 authored 10 months ago by Niklas Haas <[email protected]>
renderer: add pl_frame_clear_tiles

Analog to pl_frame_clear_rgba. I had to decide carefully whether
I wanted to preserve the symmet...

2b8fd9b0b52ca9ed92167310bdddcb54209d9aa5 authored 10 months ago by Niklas Haas <[email protected]>
options: update for new clearing options

e987124b516507f4eb71a29b53e288d3c590aa75 authored 10 months ago by Niklas Haas <[email protected]>
colorspace: split PL_ALPHA_NONE off from PL_ALPHA_UNKNOWN

This field was doing double duty between marking the alpha mode as
unknown and marking the alpha...

0ee549aa106013b157a23052449b7261b59938cc authored 10 months ago by Niklas Haas <[email protected]>
shaders/sampling: switch to nearest neighbour for debanding

Relaxes some restrictions on this function, but also reduces the
tendency of this pass to introd...

ac4db19cfdfef9dd3dc6bf242f63cea8c5317c25 authored 10 months ago by Niklas Haas <[email protected]>
meson: use project version for build version instead of git describe

0f0acc157ef3f48d94934ed3466b0700bd9a2273 authored 10 months ago by Philip Sequeira <[email protected]>
utils/libav: add pl_map_avdovi_metadata

Convenience function, we don't care about pl_frame here.

Also deprecate pl_frame_map_avdovi_met...

a9f570492b40500fc848848497fe77c079f8ba9c authored 10 months ago by Kacper Michajłow <[email protected]>
meson: don't hard-require glslang internal dependencies

They apparently like to randomly remove them. Just mark them as not
required.

Fixes: https://co...

3ba18d5d84738c663e16d7699342102e30e2fbc5 authored 11 months ago by Niklas Haas <[email protected]>
shaders/sampling: change loop iterator to uint in sample ortho

Fixes warning:
`integer modulus may be much slower, try using uints if possible`

1e042dbb084090ecfd2f63cddd61615544715d8b authored 11 months ago by Kacper Michajłow <[email protected]>
shaders/sampling: simplify pl_shader_sample_ortho

57dac69516b677807ca5b0fcd8093441c2fc2152 authored 11 months ago by Kacper Michajłow <[email protected]>
shaders/sampling: add proper loop step for use_linear case

Fixes: b2b61a75

fab08fb85e18896e4feb43abdc5edacf9571d389 authored 11 months ago by Kacper Michajłow <[email protected]>
tools/glsl_preproc: don't strip newlines

8da6ce13a75252329389abcce80f72fdf3b4fe27 authored 11 months ago by Kacper Michajłow <[email protected]>
shaders/sampling: don't unroll whole ortho sampling

Unrolling fully doesn't bring performance gain and makes shaders huge
and heavy to compile.

Als...

b2b61a755921499e2075d409a9eb667232be194b authored 11 months ago by Kacper Michajłow <[email protected]>
renderer: enable fast path for copies of built-in filters

Rather than requiring exact pointer equality. This should enable such
fast paths to work transpa...

cd041cbbfd293088c0312b947fc60e08a42d5ecf authored 11 months ago by Niklas Haas <[email protected]>
utils/libav: fix unused parameter warning

Fixes: a5e701025dce2036930b9e049862e5355b07a45f

c320f61e601caef2be081ce61138e5d51c1be21d authored 11 months ago by Niklas Haas <[email protected]>
utils/libav: fix unused variable warning

Fixes: a5e701025dce2036930b9e049862e5355b07a45f

6d203e537a92e0144a070e712d34f602c09186de authored 11 months ago by Niklas Haas <[email protected]>
utils/libav: Only adjust bit_shift for DRM P010 frames

Fixes mapping Vulkan P010 frames.

Closes #237

a5e701025dce2036930b9e049862e5355b07a45f authored 11 months ago by David Rosca <[email protected]>
opengl/formats: fix rgba8 not marked as host-readable on GLES

Fixes: https://github.com/haasn/libplacebo/issues/234

9e3cc45db36612ddafc6ba2ecac02562b6ca9347 authored 11 months ago by sfan5 <[email protected]>
opengl/formats: fix extension check for uint formats on GLES

These are part of GLES 3.0, there is no extension for them.

ed175cfd7f70a67c2e41b9ed25252aef98bd947b authored 11 months ago by sfan5 <[email protected]>
vulkan/gpu_buf: avoid segfault with unusually aligned size_base

This patch prevents a segmentation fault that occurs when size_base is
not a multiple of max_tra...

741b604cee01058ba6af110daa3d69c0e5397657 authored 11 months ago by Leo Izen <[email protected]>
utils/libav: Use Vulkan HW frames context dimensions

Fixes mapping frames with padding (eg. 1080p ~ 1088).

34e019bfedaa5a64f268d8f9263db352c0a8f67f authored 12 months ago by David Rosca <[email protected]>
docs/options: fix typo in perceptual_strength

84dc7ffbdb826f24210b47015d658f7b0aa0618d authored 12 months ago by dokur0chan <[email protected]>
renderer: avoid integer overflow

Not the correct solution, but an improvement on the status quo.

See-Also: https://code.videolan...

52314e0e435fbcb731e326815d4091ed0ba27475 authored about 1 year ago by Niklas Haas <[email protected]>
meson: don't use xxhash dependency to avoid generating bogus .pc file

No need to include xxhash dependency in .pc, it is fully inlined.

b453387eb6a0b58dfd36f6f760d47a4712c05126 authored about 1 year ago by Kacper Michajłow <[email protected]>
cache: don't reject pl_cache_obj with custom allocator

795600a44b03fcd52c055981a403ad60ee5d027a authored about 1 year ago by Kacper Michajłow <[email protected]>
shaders/lut: add an assert for signature if cache is used

2bdf99e21c0e076810f1b47cd22e390c348aec30 authored about 1 year ago by Kacper Michajłow <[email protected]>
demos/plplay: avoid re-saving unmodified cache

By comparing signature before and after loading.

2385b3674e76431c361806266c54ae6fcaa67031 authored about 1 year ago by Niklas Haas <[email protected]>
cache: add pl_cache_signature

This is technically redundant with pl_cache_iterate() and simply
performing the XOR yourself, bu...

452377d53e0ff9a947cc8846faa6c7e31ee29079 authored about 1 year ago by Niklas Haas <[email protected]>
tests/cache: use proper keys for testing cache

Small keys break some statistical assumptions inside the cache layer.

feeb4d1d48975eb1845e0d3c66323718ec73a09c authored about 1 year ago by Niklas Haas <[email protected]>
renderer: don't delinearize linear input when sigmoidizing

426f346762180e6496e714a087be9561a9a1e236 authored about 1 year ago by Bonnie <[email protected]>
utils/libav: don't use deprecated side data

7cbbc764ee6b836568c682e98ca2019cd74a3459 authored about 1 year ago by Kacper Michajłow <[email protected]>
shaders/sampling: avoid possible namespace collision

$id@c can collide with another identifier that has larger $id, add extra
_ to avoid collision.

...

79377cd6a76de90aff10192b30de64781c5cfa6c authored about 1 year ago by Niklas Haas <[email protected]>
shaders/sampling: avoid duplicating scale factor

This was accidentally included once per sample, as a result of the
anti-ringing code.

See-Also:...

c02c40cc3f5eb4fd736eebf6056ae4ec0df2448b authored about 1 year ago by Niklas Haas <[email protected]>
shaders/icc: don't spam logs if there is no lcms support

pl_icc_update needs to be called every frame, so if libplacebo is
compiled without lcms support,...

c59d487697bae0c9a3e0388a401c2e54b6d82920 authored about 1 year ago by Dudemanguy <[email protected]>
filters: re-add accidentally removed filters

These should have gone through a deprecation period, since they are
a public API.

Fixes: dcd5b7...

716811a3c3d8f7cb4da5cfff083429860b24d2d6 authored about 1 year ago by Niklas Haas <[email protected]>
renderer: don't assert on a failed icc profile

At least for mpv, if we have a playlist of images, fail opening the ICC
of one image, go forward...

25103042df391b05a08d80973d2efbe210424662 authored about 1 year ago by Dudemanguy <[email protected]>
utils/frame_queue: add PTS drift compensation

By default, allows for correcting drift/jitter of up to 1 ms per frame,
in line with expected ji...

de6d57f021e2336851f51b1a8538aa1484c56607 authored about 1 year ago by Niklas Haas <[email protected]>
vulkan: fix pNext chain contains duplicate structure types

39b87ed93bee6ac43f657fe8c25261fac21f157e authored about 1 year ago by Zhao Zhili <[email protected]>
filters: fix pl_find_filter_function and pl_find_filter_config

3cfe3b67c563a0ac232fba92815e4c59f5dcd31c authored about 1 year ago by Asd-g <[email protected]>
log: suppress maybe-uninitialized warning false positive

This will never be used uninitialized, guarded by use_dbghelp, but GCC
analysis is too shallow a...

e0b45e46f72c34e60615e1f6afd5f89700e13024 authored about 1 year ago by Kacper Michajłow <[email protected]>
vulkan: fix ancient and misleading comment

What does it even mean? You can share a vulkan device just fine..

768ffe04e3b18ef09120501c560eef93db9e4409 authored about 1 year ago by Niklas Haas <[email protected]>
vulkan/utils_gen: fix deprecation warning

Testing an element's truth value will raise an exception in future
versions.

a59333c614c6c9e971abfdeec50bee5355882456 authored about 1 year ago by m154k1 <[email protected]>
renderer: suppress unused variable warning

6ba2300ad2801d075347554cfaa344b56a09f176 authored about 1 year ago by Niklas Haas <[email protected]>
renderer: don't attempt opening ICC profile without support

Prevent log spam.

425d6802e9084138be3c05d719dfa0d3bac4a77d authored about 1 year ago by Niklas Haas <[email protected]>
opengl/gpu: disable advanced buffers if PBOs not available

Sanity. Don't advertise support for SSBOs/UBOs/etc. if basic buffer
support is not available.

bb9e2f3793ede41e31c1e5acedb94ce27e15dea1 authored about 1 year ago by Niklas Haas <[email protected]>
vulkan/gpu: properly clamp vulkan buffer sizes

Avoids triggering assertions added by 3bd1c9701.

This is not a very elegant solution, by the wa...

b63864e5cde5254e8d37733744648885a565633a authored about 1 year ago by Niklas Haas <[email protected]>
vulkan/gpu_tex: properly propagate tex transfer return value

adc9d7fccce5beddbdf20a1aed04eba8bc191046 authored about 1 year ago by Niklas Haas <[email protected]>
vulkan/gpu_tex: slight improvement to sanity assertions

Makes this actually check the relevant requirements.

b0d5a82b8803775e0b77bbee984f88f6e3859734 authored about 1 year ago by Niklas Haas <[email protected]>
gpu/utils: use correct limit for tex transfer slices

We only need to use the max SSBO sizee for emulated transfers.
Otherwise, max_buf_size is suffic...

1633311a253d80a24c44f61bad37b101f591daa0 authored about 1 year ago by Niklas Haas <[email protected]>
gpu/utils: allow non-texel emulated format slices

OpenGL has emulated texture formats that don't need texel storage buffer
emulation, so support t...

cded36517d9275aee23180e4a067d83ab547cbbf authored about 1 year ago by Niklas Haas <[email protected]>
gpu/utils: add more sanity verifications

3bd1c9701b1b2b286430aa746503b0b0bab5da8b authored about 1 year ago by Niklas Haas <[email protected]>
gpu/utils: remove error path from pl_tex_transfer_slices

This is an insane case to work around, because no GPU backend enables
emulated format without th...

d392fdea0466fe986847fb1a2510039a34ae3d37 authored about 1 year ago by Niklas Haas <[email protected]>
utils/libav: fix plane alignment calculation

This helper was failing to account for the pixel stride alignment
requirements.

4b2388bbb6ee3ea2f6a1e1a2053d7529ea446e59 authored about 1 year ago by Niklas Haas <[email protected]>
renderer: properly clamp tscale blur calculation

This accidentally sharpened the frame mixer when the source fps was
below monitor fps.

fd2addfbe62b97146e7d963aa4e4ddf1b03ebb48 authored about 1 year ago by Niklas Haas <[email protected]>
demos/multigpu-bench: don't duplicate default value

c9bd42e6109bb516ab9519a1edd25fd33e5a3419 authored about 1 year ago by Niklas Haas <[email protected]>
tests/bench: change texture size default to 1920x1080

This will inflate all numbers, but is also more informative.

7ca8418fb83e1d271b9024d935e3ccd53b2c8b9d authored about 1 year ago by Niklas Haas <[email protected]>
tests/bench: make depth and components tunable

ee0cf07842fa3eb587c73dafae2c65c573715ae5 authored about 1 year ago by Niklas Haas <[email protected]>
tests/bench: replace test pattern

By one that doesn't have such strict requirements on the texture size.

23697d06d20c6d93d361e64f6cbb01cd51ff10d1 authored about 1 year ago by Niklas Haas <[email protected]>
tests/bench: slight cleanup to prelude

Turn these defines into enums and group them more appropriately, and
make the queue configuratio...

3f387c1691dabf91edb62341ae17d65b1470c1b0 authored about 1 year ago by Niklas Haas <[email protected]>
tests/bench: add warmup phase

Unceremoniously stolen from multigpu-bench.

3c730da19c9d90f080f648f4142ba0b3def54f58 authored about 1 year ago by Niklas Haas <[email protected]>
shaders/colorspace: improve accuracy of desaturation

Instead of linearly desaturating, use a third-order polynomial
approximation.

72a3fea7efe25edac87a640e947621723928d29b authored about 1 year ago by Niklas Haas <[email protected]>
colorspace: slight cleanup to pl_get_rgb2xyz_matrix

Re-use an existing helper and remove a misleading comment.

5bdad146697de9a53f8aa4ea275473434e9ed61f authored about 1 year ago by Niklas Haas <[email protected]>
gpu/utils: dispatch callback sooner on pbo upload

We can early-dispatch this callback as soon as we're done mempcying the
data into a temporary bu...

4fe9b49fe53b947218e45544f6aec7bc169eebe0 authored about 1 year ago by Niklas Haas <[email protected]>
gpu: don't attach callback to sliced uploads

Fixes: https://github.com/mpv-player/mpv/issues/12512

8f509a92b0271bf2a078b5ca25a6f62bac514fe6 authored about 1 year ago by Niklas Haas <[email protected]>
tests/cache: support also big-endian in ref compare test

Fixes: https://github.com/haasn/libplacebo/issues/207

f25dfeb0c7655a02e5316a9bd129db994b4a3cf5 authored about 1 year ago by Kacper Michajłow <[email protected]>
shaders/sampling: fix broken AR on strictly positive filters

Fortunately, the existence of fast scalers masked this bug to some
extent, except in mpv, where ...

d36696a4254cc826c067c4b74efbfc7fe75c0c68 authored about 1 year ago by Niklas Haas <[email protected]>
shaders/sampling: avoid unnecessary cast

`pt` is already a vec2.

87f98b549a9f957675dd77bab042ab68e3518667 authored about 1 year ago by Niklas Haas <[email protected]>
shaders/sampling: fix unnecessary shader recompilation

Regression caused by the #pragma GLSL rewrite, where
sh_const_float/SH_FLOAT was unintentionally...

f37e4ef167ce0325b2b67e0f31b4cb1c9aa0b3b9 authored about 1 year ago by Niklas Haas <[email protected]>
shaders/lut: attach debug tag to LUT allocations

cb6be98047eb7858bc6b76b7fab8034d59322401 authored about 1 year ago by Niklas Haas <[email protected]>
demos/plplay: fix use_icc_luma checkbox

This was accidentally inverted...

b2ddc5c6780312275a652be45843ec37c9ee6169 authored about 1 year ago by Niklas Haas <[email protected]>
shaders/colorspace: add pl_peak_detect_params.black_cutoff

Fixes unnatural black flickering in some scenes where encoding noise
pushes the background betwe...

d6ae48b5d5deb8108acd304d5f5df690ddc0dbeb authored about 1 year ago by Niklas Haas <[email protected]>
shaders/colorspace: convert peak shader to pragma GLSL

Will allow me to extend it with conditional branches more easily.

31ee55cc715800d439cc6a7fb29f7022b8a8223e authored about 1 year ago by Niklas Haas <[email protected]>
shaders: drop v5 deprecations

9ece6d8032e5ad3a0bc89c8be58c1205ed4e42bc authored about 1 year ago by Niklas Haas <[email protected]>
gpu: drop v5 deprecations

9fade50cc059d80f318e73083cb55eae35b7da66 authored about 1 year ago by Niklas Haas <[email protected]>
vulkan: drop v5 deprecations

a8b5e5d04474de5c229c683a5a4715a413237245 authored about 1 year ago by Niklas Haas <[email protected]>
config: attach version to deprecation macros

To allow tagging deprecated fields with the specific version that
deprecated them. The argument ...

242237bd08d3883ba266913d34197c8490abfddf authored about 1 year ago by Niklas Haas <[email protected]>
gpu: remove out-of-date comment

57e5956a4d805ca55746ce16664bf9062d27a3f0 authored about 1 year ago by Niklas Haas <[email protected]>
colorspace: drop v5 deprecations

24ac7fca18e3e8241c30f81d5ce649638f6152d2 authored about 1 year ago by Niklas Haas <[email protected]>
meson: remove _XOPEN_SOURCE=700 flag

This would break build because _XOPEN_SOURCE works differently on
FreeBSD than on Linux, so just...

2dbac987efc10f57cdd5fb9c48aaf96571dfb629 authored about 1 year ago by llyyr <[email protected]>
options: fix typo

Can I have an AI proofread my code already?

a2f79a4e9988c73fadc88eef83dc1f9b4f1c2806 authored about 1 year ago by Niklas Haas <[email protected]>
options: clarify behavior of pl_options_alloc/reset

This resulted in some confusion, with users possibly expecting
pl_options_reset(opts, NULL) to g...

dd833fc121eb62976211be78e102ca892f4fb441 authored about 1 year ago by Niklas Haas <[email protected]>
shaders/film_grain_h274: match spec offset calculation

Not that this really matters given that we use our own PRNG instead of
the spec-defined one, but...

30526ea776b3029c5fd8b991ca3970b48f97a193 authored about 1 year ago by Niklas Haas <[email protected]>
shaders/film_grain_h274: fix PRNG shift

See-Also: http://ffmpeg.org/pipermail/ffmpeg-devel/2023-September/314994.html

02ae650429da4aac184eae48ba2b239d98277ae1 authored about 1 year ago by Niklas Haas <[email protected]>
meson: bump major version

For next release.

d322515433504dedcc3b41384d1a8089d823b4f9 authored about 1 year ago by Niklas Haas <[email protected]>
renderer: update comment (cosmetic)

35bab017a6416dd2a8feab6b2ff201557129a16a authored about 1 year ago by Niklas Haas <[email protected]>
filters: split pl_filter_nearest into `nearest` and `box`

"Nearest" is a misnomer when applied to downscaling. To resolve this
confusion, make "nearest" w...

af0beba9ca8012bb61f26e734ff21781d97736ed authored about 1 year ago by Niklas Haas <[email protected]>
options: allow scaler_radius=0

Otherwise, the default settings would not be valid values.

02ab3c6457f64ddb77d74790afc74a5cfc628ee9 authored about 1 year ago by Niklas Haas <[email protected]>
shaders/colorspace: default visualize_rect to {0,0,1,1}

Makes the default values more sane in the face of the ability for users
to override one, but not...

7d23ff6911faef42c57fce8d70a295478876746d authored about 1 year ago by Niklas Haas <[email protected]>
colorspace: update comment (cosmetic)

Hue shifting has worked for non-YUV colorspaces for ages.

ecb62e13b073d3dbcc23860ac91738d7dcfbac18 authored about 1 year ago by Niklas Haas <[email protected]>
shaders: update comments (cosmetic)

0427a8ac5aaf43f19f4b89e5625985a0aa9ab570 authored about 1 year ago by Niklas Haas <[email protected]>
docs: indent paragraphs

Makes the options page a bit more readable.

895ec88f7ce9b3b3c6b81ca6441b0aa6fd9224b7 authored about 1 year ago by Niklas Haas <[email protected]>
tone_mapping: update comments (cosmetic)

85944663820e81354b27eca843828f18711868a3 authored about 1 year ago by Niklas Haas <[email protected]>
docs: limit TOC depth

Prevent the options documentation from exploding in size.

409a6bdfc89c676cf81f15063ee7f6bf39844d8a authored about 1 year ago by Niklas Haas <[email protected]>
docs: add options documentation

4cadbe71fdb8a7523fcfaccb5e6e41bb8cd95c04 authored about 1 year ago by Niklas Haas <[email protected]>