-
Halla Rempt authored
This merges branch pigment-lcms2_rgbaf32-rempt. When lcms2 supports 16 bit floating point numbers, the last two colorspaces will be moved from ctlcs to lcms, effectively retiring ctlcs. The technology was way cool, but it's easier to support all features in lcms. This also changes pigment: * if an icc-based colorspace factory is encountered for which there are no profiles, don't assert but warn and disregard the factory * previously, if the color conversion graph would encounter its base alpha 8 node, we would assert because there was no factory for alpha8. * the colorspace traits are now made complete and split out in separate files for easier editing. This also adds a bunch of more or less useful variations of colorspaces to the lcms2, as well as whole new YCbCr classes. For which there are no free profiles available, so users will have to provide those, for instance from the lcms2 website. Squashed commit of the following: commit cea6e6eb Author: Boudewijn Rempt <boud@valdyas.org> Date: Sun Jun 3 11:28:16 2012 +0200 fix rgba 16 bits commit 4dfc3e7d Author: Boudewijn Rempt <boud@valdyas.org> Date: Sun Jun 3 11:23:52 2012 +0200 fix lab colorspace commit da9d6b65 Author: Boudewijn Rempt <boud@valdyas.org> Date: Sun Jun 3 11:13:16 2012 +0200 fix colorspace id commit d4f26cc8 Author: Boudewijn Rempt <boud@valdyas.org> Date: Sun Jun 3 11:12:54 2012 +0200 fix warning commit 41735f8e Author: Boudewijn Rempt <boud@valdyas.org> Date: Sun Jun 3 11:12:40 2012 +0200 remove KIS from headerguard commit 1342d497 Author: Boudewijn Rempt <boud@valdyas.org> Date: Sat Jun 2 15:32:22 2012 +0200 cleanups commit 33c423a9 Author: Boudewijn Rempt <boud@valdyas.org> Date: Sat Jun 2 11:45:15 2012 +0200 Don't delete all the colorspace stuff on app exit It's faster and safer. commit b7ddefaf Author: Boudewijn Rempt <boud@valdyas.org> Date: Sat Jun 2 11:44:19 2012 +0200 Color Conversion System: don't assert if there is no profile For some colorspaces (ycbcr) there are no free profiles available. If the user wants, they can add a profile and the cs will work, but until that time, don't crash. commit c8240f83 Author: Boudewijn Rempt <boud@valdyas.org> Date: Sat Jun 2 11:31:42 2012 +0200 Implement floating point versions of all supported color models This also adds ycbcr support using lcms2; however, users should bring their own profiles. commit 54c10a59 Author: Boudewijn Rempt <boud@valdyas.org> Date: Thu May 31 17:03:27 2012 +0200 compile fixes commit 428291b9 Author: Boudewijn Rempt <boud@valdyas.org> Date: Thu May 31 16:44:16 2012 +0200 pigment: rename the rgb traits to bgr traits The reason is that they actually describe a bgra pixel, not an rgba pixel and we need rgba traits for the floating point rgba color space. commit a08b07b3 Author: Boudewijn Rempt <boud@valdyas.org> Date: Thu May 31 16:41:46 2012 +0200 remove unused include commit 1059be2c Author: Boudewijn Rempt <boud@valdyas.org> Date: Thu May 31 16:41:00 2012 +0200 pigment: split out the traits into separate files And add traits for all supported color models and typedefs for all (potentially) supported channel depths. commit ec7a2770 Author: Boudewijn Rempt <boud@valdyas.org> Date: Thu May 31 15:42:26 2012 +0200 remove obsolete file commit 67e13950 Author: Boudewijn Rempt <boud@valdyas.org> Date: Thu May 31 12:57:53 2012 +0200 ctlss: Remove profiles and colorspace definitions that are in lcms2 gray32f, rgba32f, xyza32, ycbcr8, ycbcr16 can be done using lcms2. Also remove the unused lmsaf32 profile. commit 57f2b022 Author: Boudewijn Rempt <boud@valdyas.org> Date: Thu May 31 11:44:23 2012 +0200 lcms color engine: add an experimental rgbaf32 colorspace This uses the new floating point capabilities of lcms2 to create a hdr rgba colorspace that automatically uses all the templated functions of pigment.
252723f2