Skip to content
Snippets Groups Projects
Commit 1956dbb5 authored by Niklas Haas's avatar Niklas Haas
Browse files

shaders/icc: completely refactor

Rewrite all of the ICC profile handling code, fundamentally getting rid
of the 'ICC->ICC transform' design and representing each profile as an
independent object that can be either decoded or encoded, at separate
stages in the pipeline.

This is only an initial version, and serves to establish the API. It is
not yet fully optimized, but optimizations can and will be applied
transparently underneath the hood of this API (e.g. skipping the full
3DLUT when not required, implementing support for fixed function
profiles, natively applying matrix+shaper profiles, etc.)

This design brings with it a number of advantages, most notably allowing
support for using libplacebo-native tone mapping together with ICC
profiles, by properly forwarding the actual contrast values detected
from the profile.

In addition to a redesign of the core logic, also changes things so that
the ICC.h header is always installed, even if non-functional -
`pl_icc_open` will simply always return NULL.
parent 232fcd94
No related branches found
No related tags found
1 merge request!241Completely refactor ICC profiles / 3DLUTs
Pipeline #222958 passed with stages
in 4 minutes and 26 seconds
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment