-
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 cea6e6ebee30c19c080dbb64c52c1a5ccc9a84fb Author: Boudewijn Rempt <boud@valdyas.org> Date: Sun Jun 3 11:28:16 2012 +0200 fix rgba 16 bits commit 4dfc3e7d8060cf98af6fbce1f523871ed88ca509 Author: Boudewijn Rempt <boud@valdyas.org> Date: Sun Jun 3 11:23:52 2012 +0200 fix lab colorspace commit da9d6b652c2bf5a3883462285368c977f6e12389 Author: Boudewijn Rempt <boud@valdyas.org> Date: Sun Jun 3 11:13:16 2012 +0200 fix colorspace id commit d4f26cc899122232f668398d50214de342ad7640 Author: Boudewijn Rempt <boud@valdyas.org> Date: Sun Jun 3 11:12:54 2012 +0200 fix warning commit 41735f8e8392c7ead9661fdbecf0c07d41cbd17f Author: Boudewijn Rempt <boud@valdyas.org> Date: Sun Jun 3 11:12:40 2012 +0200 remove KIS from headerguard commit 1342d497928f271d3214b73792b360c017f5b2e9 Author: Boudewijn Rempt <boud@valdyas.org> Date: Sat Jun 2 15:32:22 2012 +0200 cleanups commit 33c423a9966529f199510777da2776b29cc8cfb1 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 b7ddefafdd896243dde9d79c1f0bbd550326c07e 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 c8240f83578193f0227c406660b3a2163714f936 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 54c10a59d17cba5f7f420027535af549a828d83c Author: Boudewijn Rempt <boud@valdyas.org> Date: Thu May 31 17:03:27 2012 +0200 compile fixes commit 428291b9dbd0e58114486cbb3deaad2a763dd27e 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 a08b07b383256aa7d17da132f28f209e63fc23e4 Author: Boudewijn Rempt <boud@valdyas.org> Date: Thu May 31 16:41:46 2012 +0200 remove unused include commit 1059be2c19989b825715f1ac71a03a9509543cd4 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 ec7a2770c885793a83abd5e83ee6679d18900a24 Author: Boudewijn Rempt <boud@valdyas.org> Date: Thu May 31 15:42:26 2012 +0200 remove obsolete file commit 67e139504a19b88cc20d44e779ce6ef342d51240 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 57f2b0224b1abf70b350b15a3d5da9e1fb7d6750 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.
f51b30ac