shaders/colorspace: implement ITU-R BT.2390
We make this the default tone mapping function because it's the de-facto standard in the industry. Unfortunately, it's quite a bit heavier than the other algorithms due to the extra PQ round trip needed during tone mapping. It's entirely possible that we could make the choice of whether to do things in PQ space or in linear light a choice completely independent of the tone mapping function itself, since arguably PQ's "perceptual uniformity" quality makes it a suitable space to do tone mapping in regardless of what function we use. That being said, I don't currently want to consider the headache of testing this all, so let's just implement it for BT.2390 and call it a day.
Showing
- meson.build 1 addition, 1 deletionmeson.build
- src/include/libplacebo/shaders/colorspace.h 5 additions, 1 deletionsrc/include/libplacebo/shaders/colorspace.h
- src/shaders/colorspace.c 52 additions, 6 deletionssrc/shaders/colorspace.c
- src/tests/gpu_tests.h 1 addition, 1 deletionsrc/tests/gpu_tests.h
Loading