Skip to content

shaders/icc: rework ICC profile black point handling

Niklas Haas requested to merge bpc into master

The current ICC profile handling had a number of limitations:

  1. Parts of the 3DLUT range were wasted in unrepresentable sub-blacks.
  2. V2 profiles with black points not matching the V4 perceptual black target completely broke when using perceptual intent, causing black distortions.
  3. We (intentionally) did not do any black point compensation.
  4. Our approximation profiles were a poor fit for BT.1886-style technical gamma functions.

Improve the status quo by making two important changes:

  1. Tune the approximation profile to use a BT.1886-style technical gamma curve tuned to the exact measured black point of the display.
  2. Enable black point compensation

This should allow owners of broken colorimetric V2 profiles to rely on perceptual mapping tables with black point compensation instead,

Closes: #210 (closed) See-Also: https://github.com/mpv-player/mpv/issues/10442 See-Also: https://github.com/mm2/Little-CMS/issues/328

Merge request reports