2014-08-23, 01:30
I'm working on 3dLUT support for calibration. I have a simple proof-of-concept implementation with the following features:
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.
Current limitations:
Wishlist:
Goals:
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).
- 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.
Current limitations:
- 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
Wishlist:
- 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
Goals:
- 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).