- static dithering
- ICC device link profile support
- ICC device profile support with BT.1886 gamma
The shader and LUT loader support output curves, but I've disabled them for now. I'm not sure if it's better to sample the whole transform, or parse the input and output curves and the LUT.
- Linux and GLSL only
- probably doesn't work well with two pass rendering (dithering applied too early)
- only one profile file supported
- using device profile, source is assumed to be BT.709
- transformation sampled into a 65x65x65 LUT
- scales input to full range RGB
- support for multiple device link profiles
- configuration options for device profile linking (gamma, primaries etc)
- other people might be interested in other platforms too..
- photo viewer: embedded ICC profile support, 3dLUT for display
- eliminate banding from full range RGB output and provide more precision for 3dLUT output
- display calibration
- simulate different displays (for example video monitor calibrated to 2.2 gamma and BT.609)
The code is at https://github.com/laurimyllari/xbmc/tree/Gotham-3DLUT. To try it, place a device profile or device link profile as rec709.icc where XBMC finds it (I'm building from source and running without installing - the source tree root works for me).
I've followed the excellent ArgyllCMS tutorial to create the device profile. I can provide more detailed instructions later.
I've also been working on a simple pattern generator for more flexibility than dispcal provides. Currently it supports multiple displays, configurable pattern window size and constant or APL background. It has ordered dithering, but no support for gamma curves yet (would also need integration with dispcal).