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/icc: remove left-over debug junk

This `if` would never succeed. No idea what it was doing there.

a307eae12c7d4a6adf37848433ece8f4c19cee59 authored almost 2 years ago by Niklas Haas <[email protected]>
shaders/icc: fix misleading warning message

"Ignoring" makes it sound like we're ignoring the profile, which we're
not.

61f3ee0e067b35e8d74a6dee546e16da146875d6 authored almost 2 years ago by Niklas Haas <[email protected]>
shaders/icc: print error when failed detecting icc bp

5b01068653cddfd51d37418884be0c47af795f9b authored almost 2 years ago by Niklas Haas <[email protected]>
shaders/icc: put pl_log into icc priv

No idea why it wasn't here before.

2359dc538cb91a3212a8ea63182f53ccbc9ec9d3 authored almost 2 years ago by Niklas Haas <[email protected]>
tests: move include tests to separate directory

To avoid spam in src/tests directory. Meson doesn't allow to output to
subdirectory from configu...

fc9837d72a47ffd5d84633b3721afc52ed21c426 authored almost 2 years ago by Kacper Michajłow <[email protected]>
meson: do not link include tests

Build them as static library, all we want is to test if headers would
compile. To avoid linking ...

1d76dcece52ef4d5bbc3bd11ef130e6c78f60326 authored almost 2 years ago by Kacper Michajłow <[email protected]>
opengl/context: fix log message

This is not GLES2, but any GLES context (we require GLES3...)

83593520d132811f1ba544374da64fa1acd6361a authored almost 2 years ago by Niklas Haas <[email protected]>
opengl: drop redundant extension / capability checks

Implied by our minimum version requirements

5a8c9dd9d571d67b2ef7380ca478b57e1650e492 authored almost 2 years ago by Niklas Haas <[email protected]>
shaders: remove back-compat for pre-GLSL 130

Removes large swathes of backwards compatibility code

e2fd6fd2d3c87773c658b1f3da2b778d94520469 authored almost 2 years ago by Niklas Haas <[email protected]>
shaders: nuke sh_tex_fun

Only used for back-compat with older GLSL

a9c6614c2c2326b09ffd5384eb7f74a6be4dd9ac authored almost 2 years ago by Niklas Haas <[email protected]>
shaders: remove sh_bvec

Only used for back-compat with GLSL pre-130

0b79d97488c8923c0b60c0c4af9de68eb135ac46 authored almost 2 years ago by Niklas Haas <[email protected]>
tests/opengl: drop older opengl test

5d38ad8029546ca3679244b33114928a57628b51 authored almost 2 years ago by Niklas Haas <[email protected]>
opengl: bump minimum version to GLSL 130

And also add a variety of checks to ensure this is the case.

This allows us to delete large, la...

173afc91cc4de5adfa93d6047338d9f86c73734b authored almost 2 years ago by Niklas Haas <[email protected]>
README: add hardware requirements section

5da025adf2d2ee8e4f76c43898d678227e5984f5 authored almost 2 years ago by Niklas Haas <[email protected]>
README: remove gentoo-specific section

No reason to prefer this distro over others, they all have packages.

a98e6dc836b5206f81929bc790165254be1f7b7d authored almost 2 years ago by Niklas Haas <[email protected]>
vulkan: drop misc #ifdefs

Keep the platform- or vendor-specific checks, as well as the check for
the beta extensions.

a329d4aee6cb7dbbbc2b8843b5002f27aa6608be authored almost 2 years ago by Niklas Haas <[email protected]>
vulkan: drop #ifdef VK_VERSION_1_3

No longer needed now that we depend on 1.3

0d97b03323377e08c401e6d7539255e2cf27b6f3 authored almost 2 years ago by Niklas Haas <[email protected]>
vulkan: bump minimum build dependency to 1.3

80c8fa1aed270a98adf759e2c491429986746944 authored almost 2 years ago by Niklas Haas <[email protected]>
3rdparty: update deps

bb71b44e7cfcb175247b2e3cd68914bfbf218d87 authored almost 2 years ago by Niklas Haas <[email protected]>
global: remove v4 deprecations

acd5e44afe33e44490babcba4d37304d8556291d authored almost 2 years ago by Niklas Haas <[email protected]>
meson: bump major ver

bc0fcb9689c282cd631fc37d1b6a67715cfd5fa0 authored almost 2 years ago by Niklas Haas <[email protected]>
RELEASING: update release guidelines

8ae0648b459d8215bde7772501d5cba17e28bf53 authored almost 2 years ago by Niklas Haas <[email protected]>
renderer: fix dither depth message

This got incorrectly printed even if `dither_params` was NULL, in which
case no dithering was pe...

61a9f2bf69a85ef20bdf0464c04caad1f7d65169 authored almost 2 years ago by Niklas Haas <[email protected]>
glsl/utils: fix SPIR-V to Vulkan version mapping

fb5548c739e308b148be363af8baddf2efb86a40 authored almost 2 years ago by Kacper Michajłow <[email protected]>
shaders/dithering: describe bit depth in dither pass

Requested by users.

Closes: https://github.com/mpv-player/mpv/issues/11433

7b0e73a6a4bea520bd21c44a01c7d38bb5d16bbf authored almost 2 years ago by Niklas Haas <[email protected]>
all: add a PL_HAVE_DOVI flag to control DoVi code from being built

Some integrators may need this for IP reasons.

3bdfb692ec4ba732f6791b1330bf96df7a1c99fb authored almost 2 years ago by rcombs <[email protected]>
vulkan/gpu: drop redundant #ifdef

VK_VERSION_1_2 is the minimum header dependency

420985346c2884ff5c8a1d5d02317d8773181516 authored almost 2 years ago by Niklas Haas <[email protected]>
renderer: log dither bit depth

Closes: https://github.com/mpv-player/mpv/issues/11433

a6e5078a61d89ab3bbdf68ce711f4810412c31ff authored almost 2 years ago by Niklas Haas <[email protected]>
vulkan/context: correctly enable VK_EXT_validation_features

We attached this to vkCreateInstance but never enabled the actual
instance extension it's tied t...

70c02618f3b81a2f22e9830444fc566892820141 authored almost 2 years ago by Niklas Haas <[email protected]>
vulkan/context: also look for debug ext inside debug layer

For completeness' sake.

3beb86c6f7978ef050533fd00d1745e76304bfbe authored almost 2 years ago by Niklas Haas <[email protected]>
vulkan/pass: emit correct barrier when load_target is true

This requires synchronizing against VK_ACCESS_COLOR_ATTACHMENT_READ in
addition to _WRITE. Caugh...

40d5b0c80aecd7364a36a0f04c7eb35102b6166c authored almost 2 years ago by Niklas Haas <[email protected]>
vulkan/context: make VK_EXT_validation_features non-conditional

No longer required in vulkan header ver 1.2, which is our minimum header
dependency.

00e4d3c0b383fe3a1279c6442e750bfa8c349162 authored almost 2 years ago by Niklas Haas <[email protected]>
renderer: fix frame reuse when ICC profile is used

ICC profile was not saved in cached_frame struct which caused mismatch
on each frame making fram...

08e521fa086664b7459c803ce8900417f179c12b authored almost 2 years ago by Kacper Michajłow <[email protected]>
shaders/colorspace: move unnecessarily scoped variable

d1a6349078048b3fbb756f5db1eb7fdf6c74c3c4 authored almost 2 years ago by Niklas Haas <[email protected]>
shaders/colorspace: add pl_color_map_params.show_clipping

For PL_TONE_MAP_HYBRID, it's debatable whether or not we should count
RGB-clipped regions as "cl...

563d2ed9ac7615ea10a79e64be764c979c916ecb authored almost 2 years ago by Niklas Haas <[email protected]>
shaders/colorspace: remove hard-clamp

Clamping the input *RGB* values to the input *luminance* is an obvious
no-no. I'm not sure what ...

44d811fb07fdd9588ecd6cba693b6e920bb39ae6 authored almost 2 years ago by Niklas Haas <[email protected]>
shaders/colorspace: make dst_max dynamic

As pointed out by d5b6bb5cd6, `dst_max` can dynamically vary based on
the input brightness.

0cd577e675804873c6cac3bdbbd09cc3fb0a547f authored almost 2 years ago by Niklas Haas <[email protected]>
shaders/colorspace: add frame histogram measurement

We only use this to refine the measured peak value, to filter out
outlier pixels that are much b...

a16d9b1eb0fb7d04f4cef7119507f6bf04b27682 authored almost 2 years ago by Niklas Haas <[email protected]>
vulkan: link VkPhysicalDeviceMaintenance4Features only on vulkan >= 1.3

8fb1b5972c870237e337509b79a39f4267f3ab79 authored almost 2 years ago by Kacper Michajłow <[email protected]>
demos: fix build on macOS with older deployment targets

clock_gettime() was added in macOS 10.12, and the default warnings require a __builtin_available...

296c801819f7109f9a50dc719f829b6af9c4cb21 authored almost 2 years ago by rcombs <[email protected]>
shaders/colorspace: fix scene change hysteresis (again)

This factor was accidentally off by an order of magnitude. It was also
too high, as a result of ...

20c074d84634f7fed7ef1e1a92983754a1331611 authored almost 2 years ago by Niklas Haas <[email protected]>
shaders/colorspace: reset peak detection on params change

Prevents a high smoothing period from masking changes to these
parameters.

2019ce2f8f383f6b4eb48b8ee6d1a7aa4d21b88a authored almost 2 years ago by Niklas Haas <[email protected]>
shaders/colorspace: fix pl_peak_detect_params.minimum_peak

This was accidentally ignored by the peak detection rewrite.

Fixes: https://github.com/haasn/li...

e43bb79dfd043a6c85fb806dde290f9340aae260 authored almost 2 years ago by Niklas Haas <[email protected]>
Revert "shaders/colorspace: avoid clipping on pans/fades"

This reverts commit f61d10941402a47a334e690465809d554a7758e6.

This commit caused significant is...

7d685eb2e938279f749fc05a24f996e9b1941cf0 authored almost 2 years ago by Niklas Haas <[email protected]>
renderer: fix alpha assertions

After the change in alpha handling as a result of splitting up
pass_output_target, we broke a fe...

622f7248eaa911aef4795912755cb54555541921 authored almost 2 years ago by Niklas Haas <[email protected]>
shaders/colorspace: add pl_color_map_params.visualize_rect

Affords users some control over where to play the tone-mapping
visualization. This is not an exa...

8814243b33652f599a9e567b501676568d7fde18 authored almost 2 years ago by Niklas Haas <[email protected]>
colorspace: always sanitize static HDR10 metadata

In pl_color_space_infer. This is used in several places to ensure
correctness of metadata.

Allo...

04b961261569d50c7fc1fde9093b190a8a1b569a authored almost 2 years ago by Niklas Haas <[email protected]>
colorspace: ignore obviously broken HDR metadata

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

0ca2f5c245566ed5e23374f910166c3159dac035 authored almost 2 years ago by Niklas Haas <[email protected]>
tests/gpu_tests: add peak detect params test

0fbda592a800770740c5dcc3fc6b9aad3d062a63 authored almost 2 years ago by Niklas Haas <[email protected]>
shaders/colorspace: allow tuning HDR metadata source

It was requested to allow e.g. ignoring DoVi metadata in favor of HDR10+
metadata when tone-mapp...

47a77a5cd19c5325884bb61a6e98c62821cfd67f authored almost 2 years ago by Niklas Haas <[email protected]>
utils/dolbyvision: set CIE Y metadata fields

Instead of HDR10+ fields, which are semantically distinct.

fc5ad50f09b82b2f92ee5a5d9e193002bbd7dc9e authored almost 2 years ago by Niklas Haas <[email protected]>
renderer: ignore deprecated/removed param

Left over.

f003a3d3f49deca3982c46b401b29c81fd56bf0d authored almost 2 years ago by Niklas Haas <[email protected]>
renderer: always treat peak_detect_params as non-trivial

Even if allow_delayed is true, because as of the peak detection refactor
it no longer allows ski...

8dbad6c905581b5e72cd6553b04480d9ffdf3195 authored almost 2 years ago by Niklas Haas <[email protected]>
renderer: disable peak detection when redundant or unused

Expand the list of peak detection skip conditions to include "HDR10+
dynamic metadata already pr...

7d12861f3790085a1ba85e173d7ed72704dd0902 authored almost 2 years ago by Niklas Haas <[email protected]>
demos/plplay: allow tuning tone mapping data source

e6f9d59a83e70fbb02b19ecebd2905638f5e09b8 authored almost 2 years ago by Niklas Haas <[email protected]>
shaders/colorspace: add tone-map nits to shader description

Useful for debugging purposes.

116b416687c898a0be73dd56bc07281d0512bcce authored almost 2 years ago by Niklas Haas <[email protected]>
shaders/colorspace: check for SSBO support in peak detect shader

Provide better error message. Also check for GLSL version before
attempting to enable compute.

ee165200ff1376eca573b731520f402b1ab48471 authored almost 2 years ago by Niklas Haas <[email protected]>
demos/plplay: switch to pl_color_space_nominal_luma_ex

18316815be40858f6e79756e811117383e848d0d authored almost 2 years ago by Niklas Haas <[email protected]>
tone_mapping: move pl_hdr_scaling / pl_hdr_rescale to colorspace.h

Does not require an API break because tone_mapping.h already included
colorspace.h.

9f3a85ac864544ef44c3c0782921472d6e7995c7 authored almost 2 years ago by Niklas Haas <[email protected]>
colorspace: add PQ Y values to pl_hdr_metadata

I've decided that these (luma-based) values, which come from e.g. DV
(and soon, our own peak det...

a2efa7dccdc24e36706ba4e5da81bd3030d5d84d authored almost 2 years ago by Niklas Haas <[email protected]>
tone_mapping: add pl_tone_map_params.input_avg

Use this instead of hard-coding `pl_hdr_metadata.scene_avg` when
determing the source input aver...

ed215c4c376fd0b680360b0904dca709eee27116 authored almost 2 years ago by Niklas Haas <[email protected]>
colorspace: add pl_hdr_metadata_type

Decided to split this off from a larger commit in order to make the
history more readable, at th...

4bc6844b4f299c40405e5f91d50636755ff9cbd7 authored almost 2 years ago by Niklas Haas <[email protected]>
shaders/colorspace: switch to pl_color_space_nominal_luma_ex

This is not a straightforward 1:1 translation, because we want to take
care not to use dynamic m...

2cfa9a657741708e35dfb25c163f603aed32697f authored almost 2 years ago by Niklas Haas <[email protected]>
shaders/colorspace: measure PQ Y instead of MaxRGB

Essentially switches from PL_HDR_METADATA_HDR10PLUS to
PL_HDR_METADATA_CIE_Y. The latter is more...

12938b7acb62cbd8e18c03a2920861e4a9d35f35 authored almost 2 years ago by Niklas Haas <[email protected]>
colorspace: add pl_color_space_nominal_luma_ex

This more flexible version of pl_color_space_nominal_luma allows users
to configure the output s...

804e81d228df591f98b2d1a5d0ebfa6e3774a37c authored almost 2 years ago by Niklas Haas <[email protected]>
renderer: move color management to pass_convert_colors

cd6385220aefe2dd9addf3af3eaa490eb2e20a05 authored almost 2 years ago by Niklas Haas <[email protected]>
renderer: always force strict reuse on single frames

When we don't anticipate a high render load (i.e. only mixing a single
frame, such as a still im...

9dbf401f78f8e9871ec2889f730773b0d3390422 authored almost 2 years ago by Niklas Haas <[email protected]>
renderer: do color management before frame mixing

Solves several issues:

1. Avoids re-running tone mapping shader when nothing about MT params ch...

8f64b3d10d6906bdd66a9fd71aef1b087d05c569 authored almost 2 years ago by Niklas Haas <[email protected]>
common: remove PL_CHECK_ERR

It is not used almost anywhere and duplicates pl_assert for the most
part.

f3cb225fea35afabe56ec5be968684ecac85fed9 authored almost 2 years ago by Kacper Michajłow <[email protected]>
spirv: allow to control target SPIR-V version

83db52ae0bc2b5960809e788f02dc941ce7dc92b authored almost 2 years ago by Kacper Michajłow <[email protected]>
spirv: use highest supported SPIR-V version

1a99e806be26038985be0638bbc80c0db1a00796 authored almost 2 years ago by Kacper Michajłow <[email protected]>
pl_thread_pthread: fix literal type

tv_nsec is long

44adbc54fc6641fe98b702624820f79b6f9b9c56 authored almost 2 years ago by Kacper Michajłow <[email protected]>
glslang: do not link things we don't use

c242b1d7321123ea190b7e250d9a14b8607f1d25 authored almost 2 years ago by Kacper Michajłow <[email protected]>
meson: respect prefer_static option for glslang

1cb65071874fd446625d2563a62dde83f0d50f19 authored almost 2 years ago by Kacper Michajłow <[email protected]>
os: add new header for OS detection

To make it separate from common.h and safe to use in C++ files.

73085dd9b19e37638dea89a6e914225d28863c25 authored almost 2 years ago by Kacper Michajłow <[email protected]>
glslang: do not mix static libraries with shared ones

Fixes crashes caused by symbol shadowing.

980f2574aa0f1ab8323f8063d09821babb08c63b authored almost 2 years ago by Kacper Michajłow <[email protected]>
glslang: use pl_static_mutex instead pthread_mutex_t

1030d61d2af85a00ea334deeffa392d6165f6896 authored almost 2 years ago by Kacper Michajłow <[email protected]>
thread: do not use PL_MIN

To not depend on common.h which make it safe to include form C++.

ac084c55cbdf02fc72cda1fc826b47311a5428fe authored almost 2 years ago by Kacper Michajłow <[email protected]>
vulkan: enable maintenance4 for LocalSizeId execution mode support

This allows us to move to LocalSizeId execution mode from using the
Workgroup built-in which SPI...

95907b3ea2b6648de68214cca2c784cdfdcbad8b authored almost 2 years ago by Kacper Michajłow <[email protected]>
gpu: check for null to avoid crashes when closing after error

79e5a397c54b4b1e16051cef09f508d422a8ccf0 authored almost 2 years ago by Kacper Michajłow <[email protected]>
shaders/colorspace: make dst_max dynamic in visualize_tone_map

If dst_max > src_max, it is clamped and can dynamically change. Avoid
shader recompilations in t...

d5b6bb5cd68bcb11c3d91af6305bc91f13ae7a40 authored almost 2 years ago by Kacper Michajłow <[email protected]>
tone_mapping: remove left-over junk

161f0b96139bb07649d8a79009cc608ff6f6360a authored almost 2 years ago by Niklas Haas <[email protected]>
vulkan/formats: reduce verbosity of storable fmt warning

This is essentially a driver bug, but one we shouldn't pester users
about.

Fixes: https://code....

806b081c2a4c9200185e4e088ec72e6199e1d693 authored almost 2 years ago by Niklas Haas <[email protected]>
shaders/colorspace: fix scene change hysteresis

The rewrite to peak detection made this logic happen on PQ, when it was
clearly intended to be c...

6b7e84c0afa19ec6efa4988ad9e2b2b8b385f2a9 authored almost 2 years ago by Niklas Haas <[email protected]>
shaders/colorspace: avoid clipping on pans/fades

Since the significant refactors to the metadata-dependent tone-mapping,
sudden changes in the pe...

f61d10941402a47a334e690465809d554a7758e6 authored almost 2 years ago by Niklas Haas <[email protected]>
shaders/colorspace: remove pl_peak_detect_params.overshoot

During the rewrite of the peak detection shader, we unintentionally
switched to doing averaging,...

5c9575e5c54a219545cb2ce7dabb97b77bd1597d authored almost 2 years ago by Niklas Haas <[email protected]>
shaders/colorspace: always default to PL_TONE_MAP_HYBRID

There are many scenes even at lower brightness where the default
LUMA-based tone-mapping method ...

995b0633327a6e636ed5bfe8b59b95acbc231e8f authored almost 2 years ago by Niklas Haas <[email protected]>
Revert "colorspace: pass scene_max through luma coeffs"

This reverts commit ac01feb4793d948aab4a9cf88b84776e2d66056c.

This change gave worse results in...

5ffddc07fb5c1992b05f22166b4a70a7d70582ff authored almost 2 years ago by Niklas Haas <[email protected]>
Revert "shaders/colorspace: implement ST2094-40 MaxSCL gain"

This reverts commit 94d8293164cfc1ea0af310a5974bec024d314559.

This functionality was removed in...

4f28d5a74ef91b784af02017cf8043c86b157569 authored almost 2 years ago by Niklas Haas <[email protected]>
demos/plplay: show the HDR peak detection options always

Remove is_file_hdr as it doesn't always work, when the file is not
tagged.

3686b844d5c3bf8652c4f791763cead5ef6d5ee3 authored almost 2 years ago by Kacper Michajłow <[email protected]>
demos/plplay: use metadata from the frame directly

pl_color_space_from_avframe doesn't map dovi metadata and we already
have the pl_frame at head, ...

60f2388961fff9d538b17bd74019daeb8219c036 authored almost 2 years ago by Kacper Michajłow <[email protected]>
vulkan/malloc: also dump memory statistics on uninit

Possibly interesting to keep track of what slabs were left lying around
at program end.

2b2de17e6b6ce1956f5084f6bb7621119ca0eb50 authored almost 2 years ago by Niklas Haas <[email protected]>
vulkan/malloc: track debug tags when allocating memory

Use this for rreporting malloc errors, as well as keeping track of what
GPU objects slabs get us...

7206ee68f8e411cb32c306763955f1b53599b4cc authored almost 2 years ago by Niklas Haas <[email protected]>
vulkan/malloc: improve memleak message

No reason to printf this to stderr when we have a proper logging system
and all that. Also, add ...

20bae7c199f9b27d6cd16dd909206f2b3e2aac36 authored almost 2 years ago by Niklas Haas <[email protected]>
shaders/colorspace: fix peak detection memory leak

A previous fix accidentally removed the branch where the peak detection
buffer gets destroyed up...

98a11ad9d51bbe8f905f28c061b1c9a51f704ba0 authored almost 2 years ago by Niklas Haas <[email protected]>
shaders/colorspace: add pl_get_detected_hdr_metadata

Replaces pl_get_detected_peak by an extensible API which will be capable
of outputting any field...

38e8cd8a0e26385e7499bf075b7e9a9c3c4e1636 authored almost 2 years ago by Niklas Haas <[email protected]>
shaders/colorspace: move `allow_delayed` to pl_peak_detect_params

Since it can now be made to affect whether `pl_shader_detect_peak` ->
`pl_shader_get_detected_pe...

215dca65691525b7445ec4ca17b02eae21318dc8 authored almost 2 years ago by Niklas Haas <[email protected]>
shaders/colorspace: rewrite peak detection shader

As a result of the significant refactors to the peak detection logic,
it's now possible for us t...

daed681e04e7ccd36b1302940ec2c2001b9b67ee authored almost 2 years ago by Niklas Haas <[email protected]>
shaders/colorspace: use linear stretch only if requested

Rather than always hard-coding this for BPC. The reasoning here is that
many tone-mapping functi...

c72c1c12f1985aabfa7767e97a3a430c13f1191d authored almost 2 years ago by Niklas Haas <[email protected]>
tone_mapping: fix inverse tone mapping discontinuity

Instead of using linear BPC for inverse tone-mapping functions without
map_inverse, simply const...

245c34fb2abeafa5fb3247ac390f574ae3988ec8 authored almost 2 years ago by Niklas Haas <[email protected]>