Hi, Am 13.09.2010 01:14, schrieb János, Tóth F.:
>>> I've looked briefly at the 3DLUT format and it's capabilities seem similar to a shaper/matrix ICC profile [...] No, not really.
Oh yes, quite really :)
yCMS uses the primary and white color coordinates for gamut conversion and IRE luminance values for gamma correction. But it also take care about the white balance. You can input three dimensional data for the IREs. It has some limits but you can work with 256 IREs. Do you want or need more? (I think you can't until you don't have a real 10 bit pipeline.)
The measurements that the 3DLUTs use for gamma correction are just grayscales (nothing wrong with that of course). Of course the measurement data is three dimensional, otherwise yCMS wouldn't be able to correct for color shifts in the graybalance.
LUT is only LUT, look up table. An ICC file is better for general purposes but they contains much less data. You have to interpolate a lot.
A 3DLUT uses at most 256 (just grayscales) + 3 (primaries) + 1 (whitepoint) actual measurements. The amount of interpolation is a lot higher than for a LUT profile with any amount of possible measurements even if you take into account that the LUT itself is also interpolated (e.g. I tend to use around 300-900 for high quality profiles with Argyll CMS). Of course a 3DLUT with, what, around 90 MB of precalculated (preinterpolated!) data, is larger than even a very high quality ICC LUT profile with maybe 1 to 5 MB (because as I understand it, and the yCMS manual actually also explains it that way, the interpolated data is stored in the 3DLUT, so that you can simply map incoming data through it, which is computationally less intensive. While for the ICC profile, interpolation between points in the LUT normally occurs at runtime when the transform is calculated), but don't let yourself be fooled by the sheer megabyte count.
These (yCMS ones) are full 3DLUTs, every possible colors are precalculated.
That doesn't magically increase the initial amount of device space points that have been sampled, which is for 3DLUTs still pretty low, and with only 3 actual color values (the primaries)!
And you can't (for example) precalculate the _correct_ secondary and tertiary colorswith just grayscale and primaries + wp if the device you're trying to characterize doesn't behave in a perfectly additive/linear way (and most TFT's don't afaik unless they are pretty highend). It is not possible. You need more actual points in device space to get a good sampling of such a device's behavior.
The final output is dithered 8 bit now, but madshi would implement 10 bit support. And EVR is simply inferior.
So, I think that this madVR+yCMS solution is way better for this given task (movie playback) than EVR with ICC based CMS.
This may still be true, you just have to be aware that color correction with what is essentially the equivalent of a shaper+matrix profile has a few drawbacks regarding the accuracy of the actual color transform, depending on the capabilities of the display. That's all.
Regards -- Florian Höch