Lcms2

Little CMS 2.17 released

Little CMS 2.17 released

I am glad to the announce the release 2.17 of the Little CMS open source color engine. This is a stabilization release.

Changes:

  • Add fuzzers foundation. Many thanks to Amir Montazery and Open-Source Technology Improvement Fund (ostif.org), Google, for funding that.
  • Add ability to disable building tests in meson
  • Fixed gamut warning not working on certain conditions
  • Mac sequoia added to test beds
  • Add the possibility of duplicating a NULL context for cloning defaults.
  • Small cleanup of CGATS parser.
  • Change computation of profile ID to follow actual ICC spec (yes, they changed the spec!)
  • Allow to apply color management on memory blocks > 4Gb.
  • Get rid of samples on meson compilation
  • Increase coverage of pre-multiplied alpha.
  • Bug fixing and cosmetical work.

Little CMS intends to be an open source small-footprint color management engine, with special focus on accuracy and performance. It uses the International Color Consortium standard (ICC), which is the modern standard when regarding to color management. The ICC specification is widely used and is referred to in many International and other de-facto standards. It was approved as an International Standard, ISO 15076-1, in 2005.

Continue reading

Color Management on Qt with LittleCMS

I’ve been using Qt, by Qt Group for years and I must confess I am delighted. Many toolkits promises the mantra “Code once and run everywhere”, but indeed this works with Qt. Qt6 was announced few days ago. They now include some sort of color management on images QColorSpace, but still no neat way to use complex ICC V4 pipelines.

 

Qt

 

In this small article I will show you how to do true RGB color management in Qt, by using LittleCMS, with very few lines of code.

Continue reading

Babl throughput comparative

From time to time, I discover wonderful things like this:

GIMP 2.10 release notes

“GIMP now uses LittleCMS v2, which allows it to use ICC v4 color profiles. It also partially relies on the babl library for handling color transforms, since babl is simply up to 10 times faster than LCMS2 for the cases we tested both of them on. Eventually babl could replace LittleCMS in GIMP.”

OMG! something seems very wrong with the Little CMS engine!! How it can be so slow despite all optimizations it internally has? Should I plan a major rewrite for those parts?

Continue reading

Visualizing gamuts

Days ago, a very interesting question arose in the mailing list.

How can I visualiza the gamut of a profile?

Little CMS does not offer direct tools to do that. But with some code, it is easy to do so. Be warned there is some hacking required.

A typical profile can be thought as a “black box” that translates values from a colorimetric space, usually CIE L*a*b*, to a device space. For example, RGB in a screen profile. Since the range of realizable colors (the gamut) is limited on real devices, not all Lab values would have a corresponding RGB. Only the Lab values that are inside monitor gamut would be displayed.

Continue reading