Hi Elle, > Is the only source of the ill-formedness > of linear gamma XYZ profiles the fact that > at 8-bits there simply aren't enough levels to >store or process the shadow information when >using a linear gamma profile?
The issue is the lack of perceptually uniformity. XYZ is not the way WE see the images. And this is not limited to 8 bits, you would have to store the image in at 12 to 14 bits in a gamma 1.0 space to match the same quality you get from storing 8 bits in a gamma 2.2 space See here some links: http://chriscox.org/gamma/ http://www.poynton.com/PDFs/GammaFAQ.pdf > But what if you store and process at 16-bits or higher? As said, with 16 bits you could deal with linear XYZ, but for storage, I honestly believe it is just useless. For processing, there are some operations that should be done in linear light, then you can convert to linear, do the operation and back to perceptual. But anyway, I am not trying to convince you or anybody about to use or avoid not linear XYZ encoding for image processing. I just note that this is an extreme case and for this case the lcms defaults does not apply. The CMM *can* deal with that but you need to provide other flags than default >"25Mph in a Ferrari" sounds like the editing application >would just be crawling. How big of a performance hit is >there when doing 16-bit to 16-bit color conversion > without optimizing? On my rather old 2-core laptop, from 17 Mpixels/sec. to 1.2 Mpixels/sec. on CLUT profiles and to 2 MPixels/sec. on matrix-curve based. Based on those numbers, our Ferrari would go from 25Mph to 212,5Mph when optimization is set. It is just a matter of lots of multiplications and additions. And yes, it could be coded in SSE, but optimization does mostly the same and it is portable. Portability is right now a key feature for the library. Another option is to allow pre/post curves. Using cmsFLAGS_CLUT_POST_LINEARIZATION | cmsFLAGS_CLUT_PRE_LINEARIZATION, I got 9.5Mpixels/Sec, which is not full throttle, but still reasonable. Regards Marti -----Original Message----- From: Elle Stone [mailto:l.elle.st...@gmail.com] Sent: lunes, 30 de julio de 2012 13:09 To: Marti Maria Cc: Boudewijn Rempt; lcms-user@lists.sourceforge.net Subject: Re: [Lcms-user] What does cmsFLAGS_NOOPTIMIZE actually do? On 7/28/12, Marti Maria <marti.ma...@littlecms.com> wrote: > An example of ill-formed spaces are those that are operating in > linear XYZ gamma space. . . . > For users, I would recommend to NEVER use linear XYZ spaces. They are > good for nothing, nor for storage, nor for image processing. Is the only source of the ill-formedness of linear gamma XYZ profiles the fact that at 8-bits there simply aren't enough levels to store or process the shadow information when using a linear gamma profile? But what if you store and process at 16-bits or higher? > In a 17 nodes grid, most image dynamic range will fall in 5 or 6 > nodes. And this is the reason you got posterization in shadows: most > of dark tones falls in just 1-2 nodes and linear interpolation cannot > deal with the non-linear nature of the transform linear-gamma 2.2. > > Placing a NOOPTIMIZE in all transforms would prevent problems, but at > big performance penalty that is hard to explain just to fix this > specific case. It is like you have a Ferrari but you go always at > 25Mph just because once upon a time you faced a winding road. "25Mph in a Ferrari" sounds like the editing application would just be crawling. How big of a performance hit is there when doing 16-bit to 16-bit color conversion without optimizing? In other words, how is it manifested (disk IO? cpu usage? really slow drawing to the screen upon making edits to the image?, etc) and what triggers the performance hit in such a way as to be apparent to the end user (the display to screen? doing a whole lot of conversions all in a row at the command line? having many layers in the image?, etc)? ------------------------------------------------------------------------------ Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ _______________________________________________ Lcms-user mailing list Lcms-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lcms-user