Re: [Lcms-user] LCMS2.art
The package name and version used in configure.ac is identical to lcms2 2.8 and that the shared library name would be the same (header file names have changed). It appears that if someone were to install LCMS2.art and lcms2 simultaneously that there would be a conflict. It would be wise and very helpful if it is possible to install stock lcms2 and LCMS2.art into the same installation tree (e.g. different base shared library names and proper independent library versioning) so that applications can use either one without conflict. Bob -- Bob Friesenhahn bfrie...@simple.dallas.tx.us, http://www.simplesystems.org/users/bfriesen/ GraphicsMagick Maintainer,http://www.GraphicsMagick.org/ -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ Lcms-user mailing list Lcms-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lcms-user
Re: [Lcms-user] LittleCMS Performance and Non-Intel Processors
On Sun, 30 Jul 2017, Lorenzo Ridolfi wrote: There’s a lot of Vector Libraries that wrap the usage of SSE instructions. I used one of that libraries in a project long time a go and I could not find it. But the performance improvement was great. As a lcms user, I would definitely prefer if lcms has no external dependencies. The ideal situation is if the C code is written in such a way that modern optimizing compilers do the right thing by default and produce good code for any CPU. This should mean that the compilers automatically produce SSE code where they should if it is enabled. Bob -- Bob Friesenhahn bfrie...@simple.dallas.tx.us, http://www.simplesystems.org/users/bfriesen/ GraphicsMagick Maintainer,http://www.GraphicsMagick.org/-- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot___ Lcms-user mailing list Lcms-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lcms-user
Re: [Lcms-user] Build warnings on OSX / clang
On Wed, 26 Jul 2017, Aaron Boxer wrote: Thanks, Noel. Might be safer to do this on linux, where you can run make check to test. May I ask how I turn on -Wall on linux build for lcms ? The normal way (quite well documented) is ./configure CFLAGS='-O2 -Wall' ... I use these GCC options while building GraphicsMagick: ./configure 'CFLAGS=-O2 -g -ggdb -Wall -Winline -W -Wformat-security\ -Wpointer-arith -Wdisabled-optimization -Wdeclaration-after-statement' There are of course many more warning options which can be enabled for people who have plenty of time on their hands. Even these options are not likely to include type conversion warnings. Optimizing warnings for just one compiler is a bad idea. At least three completely different compilers should be used. Bob -- Bob Friesenhahn bfrie...@simple.dallas.tx.us, http://www.simplesystems.org/users/bfriesen/ GraphicsMagick Maintainer,http://www.GraphicsMagick.org/ -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ Lcms-user mailing list Lcms-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lcms-user
Re: [Lcms-user] Build warnings on OSX / clang
On Mon, 24 Jul 2017, Aaron Boxer wrote: Hi Marti, Thanks. I've turned on this warning in my build because the implicit conversion can cause hard-to-trace bugs. Inappropriate explicit casts in the C code can also cause hard-to-trace bugs and explicit casts should be minimized. I think that usually implicit type conversion should be preferred over many explicit casts. Regardless, type conversion should be minimized as much as possible. Not all compiler warnings are intended to be enabled for normal use. Bob -- Bob Friesenhahn bfrie...@simple.dallas.tx.us, http://www.simplesystems.org/users/bfriesen/ GraphicsMagick Maintainer,http://www.GraphicsMagick.org/ -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ Lcms-user mailing list Lcms-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lcms-user
Re: [Lcms-user] PNG support
On Fri, 16 May 2014, Szczepan Czaicki wrote: So my question is, can I use somehow littleCMS to convert PNG image to different colorprofile? GraphicsMagick and ImageMagick both support using LittleCMS to apply profiles and support PNG. Bob -- Bob Friesenhahn bfrie...@simple.dallas.tx.us, http://www.simplesystems.org/users/bfriesen/ GraphicsMagick Maintainer,http://www.GraphicsMagick.org/ -- Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE Instantly run your Selenium tests across 300+ browser/OS combos. Get unparalleled scalability from the best Selenium testing platform available Simple to use. Nothing to install. Get started now for free. http://p.sf.net/sfu/SauceLabs ___ Lcms-user mailing list Lcms-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lcms-user
[Lcms-user] Abandoning lcms v1?
GraphicsMagick has continued to support lcms v1 even though v2 is clearly superior. I am thinking about abandoning support for lcms v1. What is the consensus among developers of free software packages supporting lcms (as well as OS distribution maintainers)? Can lcms v1 now be safely ignored with the expectation that lcms v2 will be made available? Bob -- Bob Friesenhahn bfrie...@simple.dallas.tx.us, http://www.simplesystems.org/users/bfriesen/ GraphicsMagick Maintainer,http://www.GraphicsMagick.org/ -- Learn Graph Databases - Download FREE O'Reilly Book Graph Databases is the definitive new guide to graph databases and their applications. Written by three acclaimed leaders in the field, this first edition is now available. Download your free book today! http://p.sf.net/sfu/13534_NeoTech ___ Lcms-user mailing list Lcms-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lcms-user
Re: [Lcms-user] Abandoning lcms v1?
On Mon, 17 Mar 2014, Richard Hughes wrote: On 17 March 2014 16:38, Bob Friesenhahn bfrie...@simple.dallas.tx.us wrote: What is the consensus among developers of free software packages supporting lcms (as well as OS distribution maintainers)? Can lcms v1 now be safely ignored with the expectation that lcms v2 will be made available? lcms1 has known security issues and IIRC Marti said it's basically a dead branch. At least from my point of view, I've got a hard shared dep on lcms2 on all my stuff. I am mostly worried about stable OS distributions which might not be able to replace lcms v1 with v2 because other software still in the distribution does not support it. These distributions might be applying security patches to v1 or they might be ignoring that problem. Has this time has passed? Bob -- Bob Friesenhahn bfrie...@simple.dallas.tx.us, http://www.simplesystems.org/users/bfriesen/ GraphicsMagick Maintainer,http://www.GraphicsMagick.org/ -- Learn Graph Databases - Download FREE O'Reilly Book Graph Databases is the definitive new guide to graph databases and their applications. Written by three acclaimed leaders in the field, this first edition is now available. Download your free book today! http://p.sf.net/sfu/13534_NeoTech ___ Lcms-user mailing list Lcms-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lcms-user
Re: [Lcms-user] Abandoning lcms v1?
On Mon, 17 Mar 2014, Richard Hughes wrote: On 17 March 2014 16:49, Bob Friesenhahn bfrie...@simple.dallas.tx.us wrote: I am mostly worried about stable OS distributions which might not be able to replace lcms v1 with v2 because other software still in the distribution does not support it. At least in Fedora and all the other environments I know of, lcms1 and lcms2 are parallel installable. But they can't both safely exist in the same application at the same time. If they do (e.g. due to implicit library dependencies), something likely goes boom. Bob -- Bob Friesenhahn bfrie...@simple.dallas.tx.us, http://www.simplesystems.org/users/bfriesen/ GraphicsMagick Maintainer,http://www.GraphicsMagick.org/ -- Learn Graph Databases - Download FREE O'Reilly Book Graph Databases is the definitive new guide to graph databases and their applications. Written by three acclaimed leaders in the field, this first edition is now available. Download your free book today! http://p.sf.net/sfu/13534_NeoTech ___ Lcms-user mailing list Lcms-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lcms-user
Re: [Lcms-user] Abandoning lcms v1?
On Mon, 17 Mar 2014, Elle Stone wrote: Ubuntu effort to remove dependence on lcms1: https://bugs.launchpad.net/ubuntu/+source/lcms/+bug/885324 The thread starts in 2011, is still active in 2014. This is very useful. I notice that there is still a lot of activity up to the end of this past year and that some 'important' software is still not successfully switched to v2. Some packages don't have an active upstream maintainer so patches need to be independently developed (or discovered). Perhaps the patch is submitted to the upstream maintainer so it might be included in a future release. Bob -- Bob Friesenhahn bfrie...@simple.dallas.tx.us, http://www.simplesystems.org/users/bfriesen/ GraphicsMagick Maintainer,http://www.GraphicsMagick.org/ -- Learn Graph Databases - Download FREE O'Reilly Book Graph Databases is the definitive new guide to graph databases and their applications. Written by three acclaimed leaders in the field, this first edition is now available. Download your free book today! http://p.sf.net/sfu/13534_NeoTech ___ Lcms-user mailing list Lcms-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lcms-user
Re: [Lcms-user] Release candidate of lcms2-2.6 now available
On Fri, 14 Feb 2014, marti.ma...@littlecms.com wrote: This is actually my big headache. To do that, I need to add a pthreads dependency. Quite probably this is the best option at all. And pthreads will be used as a default for read/write profile locking, which may be overriden by locking plug-in. Any thoughts? GraphicsMagick adds a pthreads dependency by default so we have a lot of experience with this. It is good to be aware that libtool will then impact you by adding whatever option enables pthreads in the compiler to its installed .la file so the option is replayed when software depending on the library is compiled. Systems with multiple compilers might not all use the same options to enable pthreads and so you might hear some new complaints due to unexpected compilation failure of dependent software. I encounter this issue on Solaris between GCC and the Sun/Oracle C compiler. There do exist systems which have different threading modes and pthreads is one of several threading modes. SGI's defunct IRIX is a good example of this. It is possible (I am not completely sure) that the GO language implementation has a threading model which is funky with posix mutexes because it uses a multi-tier threading strategy mixing both green and native threading models. GO language code can link with C language libraries. By depending on pthreads one is hoping that the pthread mutex will work with whatever threading model is actually used (i.e. everything funnels down to a consisting locking implementation). This is a safe assumption on most systems. Bob -- Bob Friesenhahn bfrie...@simple.dallas.tx.us, http://www.simplesystems.org/users/bfriesen/ GraphicsMagick Maintainer,http://www.GraphicsMagick.org/ -- Android apps run on BlackBerry 10 Introducing the new BlackBerry 10.2.1 Runtime for Android apps. Now with support for Jelly Bean, Bluetooth, Mapview and more. Get your Android app in front of a whole new audience. Start now. http://pubads.g.doubleclick.net/gampad/clk?id=124407151iu=/4140/ostg.clktrk ___ Lcms-user mailing list Lcms-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lcms-user
Re: [Lcms-user] Release candidate of lcms2-2.6 now available
On Thu, 13 Feb 2014, Robin Watts wrote: That's because the meaning of the 'cmsContext' has now changed in this new version. Previously cmsContext was 'any opaque void * value that the caller wanted to provide'. Now the cmsContext is a pointer to a (private) library defined structure that holds the library state. One element of this structure is a userdata pointer that is 'any opaque void * value that the caller wanted to provide'. I just woke up to this discussion thread. A quick look at GraphicsMagick code causes me to believe that this clearly causes the new version not to work with GraphicsMagick since GraphicsMagick is using this argument to keep track of its own context data. I don't have time this morning to study the issue in any depth to evaluate the full impact. Bob -- Bob Friesenhahn bfrie...@simple.dallas.tx.us, http://www.simplesystems.org/users/bfriesen/ GraphicsMagick Maintainer,http://www.GraphicsMagick.org/ -- Android apps run on BlackBerry 10 Introducing the new BlackBerry 10.2.1 Runtime for Android apps. Now with support for Jelly Bean, Bluetooth, Mapview and more. Get your Android app in front of a whole new audience. Start now. http://pubads.g.doubleclick.net/gampad/clk?id=124407151iu=/4140/ostg.clktrk ___ Lcms-user mailing list Lcms-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lcms-user
Re: [Lcms-user] Release candidate of lcms2-2.6 now available
On Thu, 13 Feb 2014, marti.ma...@littlecms.com wrote: Quoting Bob Friesenhahn bfrie...@simple.dallas.tx.us: I strongly recommend against releasing this new version of the library until it is proven that existing software can be successfully adapted to it. Bob, this is exactly the point of release candidates. If we found it to break applications, then this should be fixed somehow before releasing the code. Yes. It seems that more than two weeks will be necessary in order to certify this release candidate and additional release candidates will be required. Usually release candidates are assumed to be a drop-in for previous releases and the release candidate is just a formality. Bob -- Bob Friesenhahn bfrie...@simple.dallas.tx.us, http://www.simplesystems.org/users/bfriesen/ GraphicsMagick Maintainer,http://www.GraphicsMagick.org/ -- Android apps run on BlackBerry 10 Introducing the new BlackBerry 10.2.1 Runtime for Android apps. Now with support for Jelly Bean, Bluetooth, Mapview and more. Get your Android app in front of a whole new audience. Start now. http://pubads.g.doubleclick.net/gampad/clk?id=124407151iu=/4140/ostg.clktrk ___ Lcms-user mailing list Lcms-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lcms-user
Re: [Lcms-user] Release candidate of lcms2-2.6 now available
On Thu, 13 Feb 2014, marti.ma...@littlecms.com wrote: Obviously you are right and my description of the issue was wrong, actually the reports I got was about an application using both lcms2 and another library which was using lcms2 as well. The app did set its own memory management via a plug-in, but after calling the second library (which also set its own memory management) the callbacks pointed to the second library mem manager and segfaulted badly because all libs were deployed as .so and the callbacks were pointing to hyperspace. The IJG JPEG (starting with release 8 I think) and TIFF libraries added link-time symbol versioning to help avoid such problems. With symbol versioning, each dependent app/library gets the function/variable version compatible with the version it was linked with, even if there are several versions of the library loaded into the application. This feature works under Linux, FreeBSD, and perhaps some other OSs. Perhaps lcms should consider doing this as well, especially if it changes the major number of the library. Bob -- Bob Friesenhahn bfrie...@simple.dallas.tx.us, http://www.simplesystems.org/users/bfriesen/ GraphicsMagick Maintainer,http://www.GraphicsMagick.org/ -- Android apps run on BlackBerry 10 Introducing the new BlackBerry 10.2.1 Runtime for Android apps. Now with support for Jelly Bean, Bluetooth, Mapview and more. Get your Android app in front of a whole new audience. Start now. http://pubads.g.doubleclick.net/gampad/clk?id=124407151iu=/4140/ostg.clktrk ___ Lcms-user mailing list Lcms-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lcms-user
Re: [Lcms-user] Threading performance in LCMS2
On Tue, 14 May 2013, Richard Hughes wrote: Are you sharing the same transform (created by one thread), or are you creating an independent transform for each thread (ideally created by the thread which uses it)? One transform shared between threads. I can try to create multiple transforms (and also in each thread) if you think that will help things. With lcms2 it is reasonable (and safe) to create a transform for each thread. Just take care to use the APIs correctly. Cache-line effects can be significant if there is accidental cache-line sharing (two cores sharing data in the same cache line). Padding structures to prevent false-sharing or using an aligned memory allocator can help surmount such problems. Cache line issues can be very hardware/OS specific and mysterious. Which structure is sensitive to the padding? Thanks! Only structures which are updated by thread loops are a concern. I am not thinking of any structure in particular. Memory allocators which try to be memory efficient can get you in trouble if the allocator allocates several structures within the same cache line (this happened to me). The cache line sharing issue occurs when several allocations are in the same cache line. One thread updates its data which dirties the cache line so that the thread must re-retrieve the underlying cache line before it can write on it. The fetching of cache lines is very expensive so it is best to make sure that they do not become invalidated due to the writes of some other thread. Bob -- Bob Friesenhahn bfrie...@simple.dallas.tx.us, http://www.simplesystems.org/users/bfriesen/ GraphicsMagick Maintainer,http://www.GraphicsMagick.org/ -- AlienVault Unified Security Management (USM) platform delivers complete security visibility with the essential security capabilities. Easily and efficiently configure, manage, and operate all of your security controls from a single console and one unified framework. Download a free trial. http://p.sf.net/sfu/alienvault_d2d ___ Lcms-user mailing list Lcms-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lcms-user
Re: [Lcms-user] Threading performance in LCMS2
On Mon, 13 May 2013, Richard Hughes wrote: I figured 4 threads should be ~4x faster than using 1 thread (in the second case we should only have 4 threads, so not much overhead), but no matter the value of max_threads or 'n' I can only achieve a ~1.9x speed-up. I've tried with and without cmsFLAGS_NOCACHE. Any pointers very welcome. What specific CPU are you using? It would be good to share the ICC profile you are using for testing since it can make a difference. If lcms is only doing indexed lookups for the profile, then memory accesses may be the bottleneck rather than CPU. Are you sharing the same transform (created by one thread), or are you creating an independent transform for each thread (ideally created by the thread which uses it)? Creating the transform can consume considerable time so it can be useful to parallelize (even though it wastes CPU) and it help work better given whatever NUMA characteristics pertain to your hardware. Cache-line effects can be significant if there is accidental cache-line sharing (two cores sharing data in the same cache line). Padding structures to prevent false-sharing or using an aligned memory allocator can help surmount such problems. Cache line issues can be very hardware/OS specific and mysterious. Bob -- Bob Friesenhahn bfrie...@simple.dallas.tx.us, http://www.simplesystems.org/users/bfriesen/ GraphicsMagick Maintainer,http://www.GraphicsMagick.org/ -- AlienVault Unified Security Management (USM) platform delivers complete security visibility with the essential security capabilities. Easily and efficiently configure, manage, and operate all of your security controls from a single console and one unified framework. Download a free trial. http://p.sf.net/sfu/alienvault_d2d ___ Lcms-user mailing list Lcms-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lcms-user
Re: [Lcms-user] Support of PreMultiplied RGBA image format...
On Tue, 11 Dec 2012, Sebastien Leon wrote: In my graphic pipeline, it appears that the image that I would like to process are in premultiplied RGBA, which is much faster to blend that regular RGBA. LittleCMS, for now, left unchanged the alpha channel and does not care about it. Obviously, any premultiplied R/G/B (or any other kind of channel) will not be handled correctly if there is no specific code in LittleCMS core. As a turn-around, it is always possible to turn the premultiplied feature off or to convert to regular RGBA before/after the call to cmsDoTransform. But the performances are damn impacted. The other point to consider is the potential benefit to take care of Alpha : if (alpha == 0), there is no need to process this pixel, as the point is fully transparent. (btw, this optimization could already be enable for regular RGBA) I don't see how lcms could possibly properly deal with premultiplied alpha. In this case, the color channels are (permanently) influenced by a non-color channel, and the final result is usually based on a composition on some other image/color (default black). It would be wrong to assume a particular meaning for Alpha beyond its definition in some particular file format (e.g. TIFF). The software I maintain uses inverted alpha internally so zero is fully opaque. IMHO premultiplied alpha is an interesting idea (codified in the TIFF file format) which ultimately causes more harm than benefits. It was proposed in a time when CPUs were vastly less powerful than today. Note that the PNG file format (which makes more use of alpha than perhaps any other format) does not use premultiplied alpha. Bob -- Bob Friesenhahn bfrie...@simple.dallas.tx.us, http://www.simplesystems.org/users/bfriesen/ GraphicsMagick Maintainer,http://www.GraphicsMagick.org/ -- LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial Remotely access PCs and mobile devices and provide instant support Improve your efficiency, and focus on delivering more value-add services Discover what IT Professionals Know. Rescue delivers http://p.sf.net/sfu/logmein_12329d2d ___ Lcms-user mailing list Lcms-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lcms-user
Re: [Lcms-user] Support of PreMultiplied RGBA image format...
On Tue, 11 Dec 2012, Sebastien Leon wrote: Hi Bob, Thank you for your reply ! I agree with you regarding the fact that PNG and others are not using premultiplied alpha and I think it is a very good thing. Using this runtime format to store data is a bad idea as you loose color accuracy (if not using floating color channels). However, when the need is a fast graphic composition for screen rendering, premultiplied alpha saves a lot of time/cpu ! It makes composition runs ~ twice faster, whatever your CPU or GPU is. Yes, the composition is faster. This is useful if you need to do it more than once. You pay for the premultiplication just once, and then benefit for subsequent operations. Regarding a particular meaning for Alpha, I disagree, for 2 reasons : A premultiplied color would be useless for an inverted Alpha : for inverted alpha, (where 0 is opaque), all RGB value would be 0 because premultiplied format is RGB' = a * RGB. So premultiplied alpha exists only for the convention 0 (transparent) to 1 (opaque). Obviously, the true alpha requires that the stored value be inverted before it is used for any math. I was only making the point that lcms should not assume a particular meaning (e.g. zero) for an alpha channel. A second reason is that many hardware and software composition engine are expecting this de facto normalized premultiplied alpha. OpenGL, Apple iOs API, Qt QPaintEngine and others are using this format. In my software, I use such images to compose hundreds of layers before a final blit to screen. Getting some help from hardware is not a bad thing to get comfortable FPS. Obviously, my goal is to avoid to do several format switches for each graphic pipeline stage. I guess that you don't have this problem with GraphicsMagick (that I like BTW and uses in my scripts) as don't have to rely on external tools/libs/hardware. Due to the nature of how GraphicsMagick is usually used (as a utility), the time to load and store images is usually more significant than any composition steps. The typical image file does not include an alpha channel so optimizing for the typical file makes sense. As PreMultiplied Alpha can be seen as a standard, I think it deserves some attention ;-) even if supporting it, is not useful for anyone... I agree that it is quite useful if the composition needs to be repeated many times. I don't like that the inventors of TIFF decided to make it the normal case and that unassociated alpha has no meaning defined by the standard. Regardless, premultiplied color does not seem to make a lot of sense with a color management system since color perception varies with intensity and the colorspace may not be linear across the color channels. I am not sure how it can work and I am not sure how something like Adobe Photoshop deals with it (I imagine it uses a different colorspace). Bob -- Bob Friesenhahn bfrie...@simple.dallas.tx.us, http://www.simplesystems.org/users/bfriesen/ GraphicsMagick Maintainer,http://www.GraphicsMagick.org/ -- LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial Remotely access PCs and mobile devices and provide instant support Improve your efficiency, and focus on delivering more value-add services Discover what IT Professionals Know. Rescue delivers http://p.sf.net/sfu/logmein_12329d2d ___ Lcms-user mailing list Lcms-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lcms-user
Re: [Lcms-user] Support of PreMultiplied RGBA image format...
On Tue, 11 Dec 2012, jcup...@gmail.com wrote: My 2p would be that pre-multiplied alpha is a very useful optimisation for compositing, but a hindrance for everything else. Perhaps you could move your colour management after the compositing step? Assuming that the input images are not in a consistent color space, then they should be color managed before the compositing step or else the result is indeterminate. Bob -- Bob Friesenhahn bfrie...@simple.dallas.tx.us, http://www.simplesystems.org/users/bfriesen/ GraphicsMagick Maintainer,http://www.GraphicsMagick.org/ -- LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial Remotely access PCs and mobile devices and provide instant support Improve your efficiency, and focus on delivering more value-add services Discover what IT Professionals Know. Rescue delivers http://p.sf.net/sfu/logmein_12329d2d ___ Lcms-user mailing list Lcms-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lcms-user
Re: [Lcms-user] bug(?): precision loss in floating point transforms [tor...@ludd.ltu.se]
On Sun, 9 Dec 2012, Anders Torger wrote: transform. Floating point tiff has been a bit outside any official specs but has become a de facto standard in HDR and one of the few HDR formats that provide some sort of color management. A draft spec from Adobe (by Cris Cox) was posted for floating point TIFF and a sample collection of files was initially provided. Libtiff 4 supports it. GraphicsMagick supports it as much as a primarily integer-based program can (reads/writes the many sample file permutations). Bob -- Bob Friesenhahn bfrie...@simple.dallas.tx.us, http://www.simplesystems.org/users/bfriesen/ GraphicsMagick Maintainer,http://www.GraphicsMagick.org/ -- LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial Remotely access PCs and mobile devices and provide instant support Improve your efficiency, and focus on delivering more value-add services Discover what IT Professionals Know. Rescue delivers http://p.sf.net/sfu/logmein_12329d2d ___ Lcms-user mailing list Lcms-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lcms-user
Re: [Lcms-user] bug(?): precision loss in floating point transforms
On Sat, 8 Dec 2012, Marti Maria wrote: BTW, I've seen in the comments something like cmsFLAGS_NOCACHE ); // NOCACHE is for thread safety, This is no longer required. Each call to cmsDoTransform() keeps its own cache copy, so from 2.3, cache is thread safe. I do extensive use of this on my applications and it works fine in 10 threads running simultaneously. I don't see this mentioned in the lcms 2.4 ChangeLog. The list of changes pertaining to 2.4 is empty and the list of 2.3 changes does not mention this change. The NEWS file is left completely empty. :-( Bob -- Bob Friesenhahn bfrie...@simple.dallas.tx.us, http://www.simplesystems.org/users/bfriesen/ GraphicsMagick Maintainer,http://www.GraphicsMagick.org/ -- LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial Remotely access PCs and mobile devices and provide instant support Improve your efficiency, and focus on delivering more value-add services Discover what IT Professionals Know. Rescue delivers http://p.sf.net/sfu/logmein_12329d2d ___ Lcms-user mailing list Lcms-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lcms-user
Re: [Lcms-user] float types
Likewise, GraphicsMagick includes work by Richard Nolde which knows how to handle 16 and 24 bit floats. He actually wrote a full conversion suite between 16, 24, 32, and 64-bit floats. I only incorporated the specific functions that GraphicsMagick needs. This code has been in GraphicsMagick since 2008. The code has been verified on a wide-variety of CPU types. 24 bit floats are also important because they are supported in the TIFF file format, are supported by Photoshop, and because some GPUs (e.g. from AMD) support 24 bit floats. Bob -- Bob Friesenhahn bfrie...@simple.dallas.tx.us, http://www.simplesystems.org/users/bfriesen/ GraphicsMagick Maintainer,http://www.GraphicsMagick.org/ -- 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
Re: [Lcms-user] float types
On Thu, 31 May 2012, Boudewijn Rempt wrote: As an application developer, I'm totally fine with the packaged plugin approach, if distributions will package it. I can live both with the extra call and the extra memory requirement -- and I totally understand not wanting to burden every user of lcms2 with the memory requirement. The memory requirement described for the tables is trivial compared to the amount of memory required to perform other operations. I worry that plugins are more complex and pose more security issues. Bob -- Bob Friesenhahn bfrie...@simple.dallas.tx.us, http://www.simplesystems.org/users/bfriesen/ GraphicsMagick Maintainer,http://www.GraphicsMagick.org/ -- 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
Re: [Lcms-user] lcms performance
On Tue, 22 May 2012, mirtchev wrote: Is lcms multi-threaded? I noticed that only 2 of the 4-cores in my machine are crunching when I loop a transform. Any flag to enable multi-threading? No. Lcms is not multi-threaded. However, lcms2 can safely be used by multiple threads if the API is used correctly. Even lcms1 can be used by mutiple threads if appropriate care is taken. The software I maintain (GraphicsMagick) uses multiple threads with lcms and it seems to scale well. Bob -- Bob Friesenhahn bfrie...@simple.dallas.tx.us, http://www.simplesystems.org/users/bfriesen/ GraphicsMagick Maintainer,http://www.GraphicsMagick.org/ -- 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
Re: [Lcms-user] crash in ufraw-0.16-2.fc13: cmsEvalMatShaper:
On Thu, 8 Sep 2011, Nicolas Chauvet wrote: I forward to the lcms-users mailing list this case: https://bugzilla.redhat.com/show_bug.cgi?id=607758 This appends with lcms1, having lcms2 installed at the same time. Thx for your hints. It is not clear that this issue is due to lcms. The application seems to be using OpenMP and is likely using lcms to perform transforms using multiple threads. The multi-threaded nature may explain why behavior has not been consistent. In my experience, it is not safe to create lcms tranforms in threaded context with lcms 1.X and it seems that ufraw may be doing that. The thread safety issues are related to the profiles used. Perhaps lcms2 does better at this since it tries to be more thread safe but I have not tried that yet. It is possible to build a thread-safe lcms but then it will run like a turtle. Although it is considerable work to get set up, I recommend using Valgrind's helgrind mode to verify concurrency in the program. Any shared variables accessed without the protection of a lock will be reported. The reason why this is considerable work to get set up is that one must replace the system libgomp.so with one built with one from the same GCC release but configured to use POSIX threads rather than Linux-specific interfaces. The results can be quite revealing and are worth the effort. Bob -- Bob Friesenhahn bfrie...@simple.dallas.tx.us, http://www.simplesystems.org/users/bfriesen/ GraphicsMagick Maintainer,http://www.GraphicsMagick.org/ -- Doing More with Less: The Next Generation Virtual Desktop What are the key obstacles that have prevented many mid-market businesses from deploying virtual desktops? How do next-generation virtual desktops provide companies an easier-to-deploy, easier-to-manage and more affordable virtual desktop model.http://www.accelacomm.com/jaw/sfnl/114/51426474/ ___ Lcms-user mailing list Lcms-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lcms-user
Re: [Lcms-user] crash in ufraw-0.16-2.fc13: cmsEvalMatShaper:
On Thu, 8 Sep 2011, Kai-Uwe Behrmann wrote: Am 08.09.11, 21:31 +0200 schrieb Nicolas Chauvet: I forward to the lcms-users mailing list this case: https://bugzilla.redhat.com/show_bug.cgi?id=607758 The profile is damaged at https://bugzilla.redhat.com/attachment.cgi?id=489871 ICC Examin says the last two tags, gTRC + bTRC, are zero and gets warnings from lcms2. So I guess the user of lcms, UFRAW, has to handle the damaged profile and/or not obtaining a transform. Interesting. However, based on the long bug history, I suspect that there are multiple bugs in ufraw. One of them is almost certainly related to threading since any description of needing to try several times before it worked sounds like a threading issue. For an application using OpenMP to thread an algorithm, a simple way to see if an issue is related to threading is to set this environment variable in the environment before starting the application: export OMP_NUM_THREADS=1 If it then works consistently reliably, then the problem is due to threading. Someone should fix this dire issue: The submitted transforms array which contains the NULL transform is created a stack frame above, in cmsCreateMultiprofileTransform(). The function cmsCreateTransform() is called in some places without checking its result (i.e. that it doesn't return NULL) which is then put in the array. Bob -- Bob Friesenhahn bfrie...@simple.dallas.tx.us, http://www.simplesystems.org/users/bfriesen/ GraphicsMagick Maintainer,http://www.GraphicsMagick.org/ -- Doing More with Less: The Next Generation Virtual Desktop What are the key obstacles that have prevented many mid-market businesses from deploying virtual desktops? How do next-generation virtual desktops provide companies an easier-to-deploy, easier-to-manage and more affordable virtual desktop model.http://www.accelacomm.com/jaw/sfnl/114/51426474/ ___ Lcms-user mailing list Lcms-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lcms-user
Re: [Lcms-user] Optimization
On Wed, 19 Jan 2011, Joel Bierling wrote: In studying our application's performance, I've measured that we spend the majority of our processing time in: cmsDoTransform() -- CachedXFORM() -- Eval4Inputs() I assume that these functions have been optimized already, but in case not, does anyone have thoughts about the potential for doing so? The obvious first thing to do is to multi-thread the transform requests so that they are done in parallel on multi-core systems. This obtains linear speedups. Bob -- Bob Friesenhahn bfrie...@simple.dallas.tx.us, http://www.simplesystems.org/users/bfriesen/ GraphicsMagick Maintainer,http://www.GraphicsMagick.org/ -- Special Offer-- Download ArcSight Logger for FREE (a $49 USD value)! Finally, a world-class log management solution at an even better price-free! Download using promo code Free_Logger_4_Dev2Dev. Offer expires February 28th, so secure your free ArcSight Logger TODAY! http://p.sf.net/sfu/arcsight-sfd2d ___ Lcms-user mailing list Lcms-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lcms-user
Re: [Lcms-user] Multi-Threading Best Practices
On Tue, 21 Dec 2010, Esben Høgh-Rasmussen wrote: In what way is it not generally available? POSIX Microsoft Windows seems to cover quite a lot of the world's computing. Surely over 99%. But LCMS is currently reasonably easy to port to non-hosted environments. I don't even know how to implement TLD efficiently on Windows without compiler specific extensions, but that may obviously be ignorance on my part. Windows is easy since it provides specific APIs for this. They seem to perform just fine. There is no telling what OS would be used in something like a printer. Even VxWorks provides TSD. Bob -- Bob Friesenhahn bfrie...@simple.dallas.tx.us, http://www.simplesystems.org/users/bfriesen/ GraphicsMagick Maintainer,http://www.GraphicsMagick.org/-- Forrester recently released a report on the Return on Investment (ROI) of Google Apps. They found a 300% ROI, 38%-56% cost savings, and break-even within 7 months. Over 3 million businesses have gone Google with Google Apps: an online email calendar, and document program that's accessible from your browser. Read the Forrester report: http://p.sf.net/sfu/googleapps-sfnew___ Lcms-user mailing list Lcms-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lcms-user
Re: [Lcms-user] Multi-Threading Best Practices
On Mon, 20 Dec 2010, Esben Høgh-Rasmussen wrote: In my opinion, TLD (thread local data) is over engineering and not generally available. Why not just reserve a small buffer on the stack and pass it to a thread-safe version of the conversion routine? In what way is it not generally available? POSIX Microsoft Windows seems to cover quite a lot of the world's computing. Surely over 99%. There is not much substantial engineering behind it. In fact, it is not much different (or is perhaps the same) than the stack approach John Cuppit suggests. cmsTransformBuf buf; cmsDoTransformTS(src, dst, pix_count, buf); The single-pixel would simply be put in the buffer. This works but of course is a new API and requires that cmsTransformBuf remain consistent for the ABI. It does seem to offer ultimate performance. Bob -- Bob Friesenhahn bfrie...@simple.dallas.tx.us, http://www.simplesystems.org/users/bfriesen/ GraphicsMagick Maintainer,http://www.GraphicsMagick.org/-- Lotusphere 2011 Register now for Lotusphere 2011 and learn how to connect the dots, take your collaborative environment to the next level, and enter the era of Social Business. http://p.sf.net/sfu/lotusphere-d2d___ Lcms-user mailing list Lcms-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lcms-user
Re: [Lcms-user] Multi-Threading Best Practices
On Fri, 17 Dec 2010, Marti.Maria wrote: On the other hand we have the 1-pixel cache. This is very convenient on slow interpolation methods when most of the pixels in the image are similar. Obviously, caching means the transform should store the result of last processed pixel, then in the case two threads are using the same transform at the same time, memory read/write operations on this value may clash and therefore you need some sort of semaphore. Ok, you can use a semaphore (the pthreads) or just get rid of the cache enterely. Please note that in some situations the cache is not used at all, i.e., on matrix-shaper to matrix-shaper 8 bit, it is actually faster to do always the computations, so the cache schema is discarded on this case. On CMYK trilinear, cache is being used as interpolation tends to be slow. In my experience, both Windows and POSIX provide thread specific data (TSD) APIs which are much more efficient than using mutexes for doing things like accessing redundant caches without API modifications. The way this works is that your pointer is stored in a thread-specific area so that it is found efficiently with one array indexing operation. TSD could be used to support the single-pixel cache you mention. In GraphicsMagick I use this approach in the random number generator to store per-thread random number kernels. Random number generation performance went up by many times as compared to sharing one kernel via a mutex. Bob -- Bob Friesenhahn bfrie...@simple.dallas.tx.us, http://www.simplesystems.org/users/bfriesen/ GraphicsMagick Maintainer,http://www.GraphicsMagick.org/ -- Lotusphere 2011 Register now for Lotusphere 2011 and learn how to connect the dots, take your collaborative environment to the next level, and enter the era of Social Business. http://p.sf.net/sfu/lotusphere-d2d ___ Lcms-user mailing list Lcms-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lcms-user
Re: [Lcms-user] Are transforms thread safe?
On Wed, 20 Oct 2010, David Kantrowitz wrote: I'm trying out LCMS2 for a project. So far it's working nicely but I'd like to speed up the application of a transform. My question is this: Is it safe to create a single transform on the main thread and apply it (via DoTransform) on multiple threads running concurrently? I'm creating the transform with CreateMultiprofileTransform. Development GraphicsMagick is working fine (apparently without occasional speckles that Kai-Uwe reports) with lcms2 and threading via OpenMP. However, the transforms are created in advance using one thread since this was found to be necessary for lcms1 for some profiles. I have not tried multi-threading the transform creation (again) yet. Most transforms are created very quickly although there are a few transforms which seem to take quite a lot of time to generate. On NUMA type systems (e.g. AMD Opteron), there could be considerable performance advantage if the transform is created by the same thread which uses it. Bob -- Bob Friesenhahn bfrie...@simple.dallas.tx.us, http://www.simplesystems.org/users/bfriesen/ GraphicsMagick Maintainer,http://www.GraphicsMagick.org/ -- Nokia and ATT present the 2010 Calling All Innovators-North America contest Create new apps games for the Nokia N8 for consumers in U.S. and Canada $10 million total in prizes - $4M cash, 500 devices, nearly $6M in marketing Develop with Nokia Qt SDK, Web Runtime, or Java and Publish to Ovi Store http://p.sf.net/sfu/nokia-dev2dev ___ Lcms-user mailing list Lcms-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lcms-user
Re: [Lcms-user] float types
On Sun, 15 Aug 2010, Kai-Uwe Behrmann wrote: Grepping the sources did not show a cmsFloat16Number type. Am I right in that Half is currently not supported by lcms? Half support is quite challenging since there very little free sofware which supports converting to and from Half. OpenEXR is not suitable since it would represent a huge C++ dependency with limited portability. There is some portable C code which was contributed to the GraphicsMagick project which could be used in lcms to provide Half (and 24-bit float) support. The performance is unknown but it seems to work fine (at least visually) for sample 16 and 24-bit float TIFF files provided by Adobe. Bob -- Bob Friesenhahn bfrie...@simple.dallas.tx.us, http://www.simplesystems.org/users/bfriesen/ GraphicsMagick Maintainer,http://www.GraphicsMagick.org/ -- This SF.net email is sponsored by Make an app they can't live without Enter the BlackBerry Developer Challenge http://p.sf.net/sfu/RIM-dev2dev ___ Lcms-user mailing list Lcms-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lcms-user
Re: [Lcms-user] cmsCreateProofingTransformTHR() question
On Sun, 15 Aug 2010, Kai-Uwe Behrmann wrote: Valgrind keeps completly silent except for some uninitialised values. However filling them does not help. I tried on two multi core intel machines on Linux. Did you use 'valgrind --tool=helgrind'? A very recent valgrind is recommended. I use the SVN version 3.6. Unfortunately, this requires that you replace libgomp.so with an alternate one which uses POSIX threads rather than Linux proprietary features. I accomplished this by building the system version of the GCC compiler from source (built using special instructions at the valgrind site), and then replacing libgomp with my own build. Valgrind's helgrind only sees issues which actually occur during the run, but it is helpful. It found a number of issues in GraphicsMagick for me to fix. The latest Sun/Oracle Studio compiler includes a mode by which it reports thread race conditions during compilation. It uses the compiler's optimization smarts to do so. This seems much more complete than 'helgrind' to me but some reported race conditions may never be observed in practice on normal hardware. My port of the GraphicsMagick CMS code to lcms 2.0 still does not try to use cmsCreateProofingTransformTHR() in multiple threads. Bob -- Bob Friesenhahn bfrie...@simple.dallas.tx.us, http://www.simplesystems.org/users/bfriesen/ GraphicsMagick Maintainer,http://www.GraphicsMagick.org/ -- This SF.net email is sponsored by Make an app they can't live without Enter the BlackBerry Developer Challenge http://p.sf.net/sfu/RIM-dev2dev ___ Lcms-user mailing list Lcms-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lcms-user
Re: [Lcms-user] more lcms2 questions
On Sun, 20 Jun 2010, Kai-Uwe Behrmann wrote: Some more questions while porting the Oyranos lcms wrapper... Why is the cmsFLAGS_NOTPRECALC gone? Is it equivalent to cmsFLAGS_NOOPTIMIZE? That is what I assumed for GraphicsMagick. It uses the same enumerated value. Hopefully my guess was correct. Bob -- Bob Friesenhahn bfrie...@simple.dallas.tx.us, http://www.simplesystems.org/users/bfriesen/ GraphicsMagick Maintainer,http://www.GraphicsMagick.org/ -- ThinkGeek and WIRED's GeekDad team up for the Ultimate GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the lucky parental unit. See the prize list and enter to win: http://p.sf.net/sfu/thinkgeek-promo ___ Lcms-user mailing list Lcms-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lcms-user
Re: [Lcms-user] Oyranos and lcms
On Sun, 20 Jun 2010, Kai-Uwe Behrmann wrote: constant /opt/local/include/lcms2.h:133:10: warning: use of C99 long long integer constant In file included from /home/kuwe/programme/CMS/Oyranos/Entwickeln/modules/oyranos_cmm_lcm2.c:19: /opt/local/include/lcms2.h:383: warning: comma at end of enumerator list /opt/local/include/lcms2.h:444: warning: comma at end of enumerator list Any idea about the long long integer warning? The 'long long' type has been used by Unix for many years and is likely validated by 'configure'. I would be more concerned about this warning: warning: comma at end of enumerator list since it is something which should be rejected by a compiler and there are modern compilers which would fail to compile it. To better check I compile with gcc --pedantic and -Wall. As lcms2 requires -std=c99 is added. I hope the warnings can be fixed. The LONG_MAX comparision can be possibly substituted with a check for _POSIX_V6_LP64_OFF64 and _POSIX_V6_ILP32_OFF32. If both are not defined What is wrong with LONG_MAX? Bob -- Bob Friesenhahn bfrie...@simple.dallas.tx.us, http://www.simplesystems.org/users/bfriesen/ GraphicsMagick Maintainer,http://www.GraphicsMagick.org/ -- ThinkGeek and WIRED's GeekDad team up for the Ultimate GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the lucky parental unit. See the prize list and enter to win: http://p.sf.net/sfu/thinkgeek-promo ___ Lcms-user mailing list Lcms-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lcms-user
[Lcms-user] GraphicsMagick and lcms 2.0
The next release of GraphicsMagick will be supporting lcms 2.0. The source changes were not too difficult. Bob -- Bob Friesenhahn bfrie...@simple.dallas.tx.us, http://www.simplesystems.org/users/bfriesen/ GraphicsMagick Maintainer,http://www.GraphicsMagick.org/ -- ThinkGeek and WIRED's GeekDad team up for the Ultimate GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the lucky parental unit. See the prize list and enter to win: http://p.sf.net/sfu/thinkgeek-promo ___ Lcms-user mailing list Lcms-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lcms-user
Re: [Lcms-user] Problems with non-perceptual intents in LCMS2
On Tue, 23 Feb 2010, Esben Høgh-Rasmussen wrote: For the many-cores we are on standard AMD64: Windows and Mac. I think we would be OK with creating a transform per thread, but it seems particularly wasteful on multi-megabyte CMYK profiles. If the transform was small, then there is a distinct advantage of a transform per thread which is generated by the using thread. Besides NUMA architectures, there is also the benefit of caching so that if the transform can fit in L2 cache, performance will be tremendously improved. NUMA architectures typically use a first touch algorithm for deciding what node to allocate fresh memory on. On AMD Opteron, allocating memory from the right node makes 20-30% of difference. This means that if the main thread produces the transforms for the other threads to use, the main thread will be 30% faster than the other threads. There is also a significant time penalty if the per-thread transforms need to be prepared serially by one thread. In most cases we only need to create a few transforms which can be reused, so I don't think this will kill us. But if we can get a better solution we will take it :-) Certainly there may be advantages if the transform may be shared between threads without locking, and there are very clear advantages if the transforms may be simultaneously generated by multiple threads, or if a transform may be cloned by a thread (into fast local memory) for its use. Bob -- Bob Friesenhahn bfrie...@simple.dallas.tx.us, http://www.simplesystems.org/users/bfriesen/ GraphicsMagick Maintainer,http://www.GraphicsMagick.org/-- Download Intel#174; Parallel Studio Eval Try the new software tools for yourself. Speed compiling, find bugs proactively, and fine-tune applications for parallel performance. See why Intel Parallel Studio got high marks during beta. http://p.sf.net/sfu/intel-sw-dev___ Lcms-user mailing list Lcms-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lcms-user
Re: [Lcms-user] Problems with non-perceptual intents in LCMS2
On Mon, 22 Feb 2010, Esben Høgh-Rasmussen wrote: I updated and it looks good so far, but we will test it quite thoroughly. Just another quick question (or maybe a feature request): is there a safe way to apply a transform from several threads without locking? I guess I can create several transforms and call each from its own thread, but that may eat up a lot of memory when a large CMYK profile is used. GraphicsMagick multithreads lcms transforms by creating a transform for each thread. OpenMP is used for the threading. In most cases this provides a very good speedup but I have noticed that certain types of profiles (hopefully rare!) require quite a lot of time to create a transform, and this causes a problem for performance if the image is not suitably large. We anticipate 16 to 32 cores in the not-too-distant-future, and we currently need to call cmsDoTransform() per line. I hate to take any kind of lock inside these calls :-/ Definitely locking while using the transform is very bad. If the system is NUMA (e.g. AMD Opteron) then there would be considerably more performance if each worker thread created its own transform so that allocated/initialized memory is hot and local for each thread. I found that lcms1 did not allow that due to thread safety problems. What architecture does your not-too-distant-future hardware use? Bob -- Bob Friesenhahn bfrie...@simple.dallas.tx.us, http://www.simplesystems.org/users/bfriesen/ GraphicsMagick Maintainer,http://www.GraphicsMagick.org/-- Download Intel#174; Parallel Studio Eval Try the new software tools for yourself. Speed compiling, find bugs proactively, and fine-tune applications for parallel performance. See why Intel Parallel Studio got high marks during beta. http://p.sf.net/sfu/intel-sw-dev___ Lcms-user mailing list Lcms-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lcms-user
Re: [Lcms-user] Using lcms with cairo
On Wed, 20 Jan 2010, Richard Hughes wrote: Is there any planned support for pre-multiplied image formats in lcms2? Thanks. Color management has nothing to do with an alpha channel. Lcms may accept (and preserve) an existing alpha channel as a means of convenience. What you are requesting is to divert these un-premultiply/re-premultiply steps into lcms, with lcms adding any needed intermediate buffering. This might help with application-level buffering but it adds additional responsibility to lcms which increases complexity and might reduce performance for the other cases. Perhaps there is a better approach than moving the responsibility into lcms? Bob -- Bob Friesenhahn bfrie...@simple.dallas.tx.us, http://www.simplesystems.org/users/bfriesen/ GraphicsMagick Maintainer,http://www.GraphicsMagick.org/ -- Throughout its 18-year history, RSA Conference consistently attracts the world's best and brightest in the field, creating opportunities for Conference attendees to learn about information security's most important issues through interactions with peers, luminaries and emerging and established companies. http://p.sf.net/sfu/rsaconf-dev2dev ___ Lcms-user mailing list Lcms-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lcms-user
Re: [Lcms-user] Parallel installing lcms and lcms2
On Thu, 10 Dec 2009, Richard Hughes wrote: Maybe jpegicc and tifficc need to be renamed to jpegicc2 and tifficc2 respectively? While I have not tried to build or install lcms2, you should see if these standard configure options work to rename the binaries as you see fit: --program-prefix=PREFIXprepend PREFIX to installed program names --program-suffix=SUFFIXappend SUFFIX to installed program names So adding the configure option --program-suffix=2 should name the installed programs as you suggest. If the installed lcms2 library and headers can't co-exist with lcms1, then deployment of lcms2 would be substantially hindered. It is not normally necessary to rename installed programs though. Bob -- Bob Friesenhahn bfrie...@simple.dallas.tx.us, http://www.simplesystems.org/users/bfriesen/ GraphicsMagick Maintainer,http://www.GraphicsMagick.org/ -- Return on Information: Google Enterprise Search pays you back Get the facts. http://p.sf.net/sfu/google-dev2dev ___ Lcms-user mailing list Lcms-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lcms-user
Re: [Lcms-user] Lcms and multithread
On Sat, 5 Sep 2009, Alastair M. Robinson wrote: That's on purpose. lcms 2.0 compiles cleanly as C++ code, so there is no need of the extern C anymore for C++ projects. That's fine if you're using a C++ compiler to build it as a static library - but on Linux lcms is built (in C mode) as a shared library. To link that with a C++ project, the C++ compiler needs to know that the library functions should be called with C name-mangling and calling conventions. Without adding the extern C { } construct I could Yes, that is the function of extern C. It allows both C and C++ to use the library. It is definitely required. Speaking of libraries and linking, is there any chance the name of the library itself could be changed to lcms2 (to match the header file) or something similar? That would allow both LCMS1 and 2 to be installed and linkable simultaneously. As it currently stands, if you install LCMS2 from source on Linux, the liblcms.so symlink will be changed to point to LCMS2, and it will no longer be possible to build software against LCMS1! It is indeed quite important that lcms2 be capable of coexisting for several years with lcms1 since lcms2 is not API compatible with the older library and it will take years for applications to adapt. If lcms2 can be installed in parallel without contention, adoption of the new version will be much faster. Bob -- Bob Friesenhahn bfrie...@simple.dallas.tx.us, http://www.simplesystems.org/users/bfriesen/ GraphicsMagick Maintainer,http://www.GraphicsMagick.org/ -- Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day trial. Simplify your report design, integration and deployment - and focus on what you do best, core application coding. Discover what's new with Crystal Reports now. http://p.sf.net/sfu/bobj-july ___ Lcms-user mailing list Lcms-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lcms-user
Re: [Lcms-user] LCMS and ImageMagick
On Fri, 26 Jun 2009, Jeff Harmon wrote: Hi friends, If one installs ImageMagick +lcms, will it automatically be used in color conversions? If not, how does one invoke it? Use of lcms in ImageMagick is manual and not automatic. See documentation on the -profile option. Bob -- Bob Friesenhahn bfrie...@simple.dallas.tx.us, http://www.simplesystems.org/users/bfriesen/ GraphicsMagick Maintainer,http://www.GraphicsMagick.org/ -- ___ Lcms-user mailing list Lcms-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lcms-user
Re: [Lcms-user] CIE-xy Diagrams
On Thu, 4 Jun 2009, Daniel Bünzli wrote: Recent pdf viewers allow to view and navigate 3D data. I think it may be more reasonable to require your users to have a pdf plugin. Google returned me that : http://www.freelists.org/post/argyllcms/From-argyllcms-to-3D-pdf-files See the link to the pdf in the message (n.b. you may not see anything with other viewers, however you do see something with adobe reader 8). Why do you recommend to use PDF if this 3D viewer feature only works with one popular PDF viewer? Other options are VRML or X3D: http://en.wikipedia.org/wiki/X3D Bob -- Bob Friesenhahn bfrie...@simple.dallas.tx.us, http://www.simplesystems.org/users/bfriesen/ GraphicsMagick Maintainer,http://www.GraphicsMagick.org/-- OpenSolaris 2009.06 is a cutting edge operating system for enterprises looking to deploy the next generation of Solaris that includes the latest innovations from Sun and the OpenSource community. Download a copy and enjoy capabilities such as Networking, Storage and Virtualization. Go to: http://p.sf.net/sfu/opensolaris-get___ Lcms-user mailing list Lcms-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lcms-user
Re: [Lcms-user] Announcement about patches
Marti, It is nice to see that you are being super-secure regarding lcms patches, but this seems a bit pointless given the way that lcms is currently distributed from a 'blind' web site (http://www.littlecms.com/downloads.htm) with no way to verify that a distribution package is current and correct. Most distribution of lcms files is independent of your web site. Including accurate release date/time information and an independent way to download a verification signature such as a MD5 or even a PGP signature would help. Today I noticed that I can also download lcms files from SourceForge. The SourceForge page says that the last update is Mar 21 2009 with release 1.18. There is no news entry for 1.18a. If I click on 1.18 I see files with 1.18a naming. So if someone has already downloaded 1.18 they really have to drill down to determine that they don't have the latest files. Bob -- Bob Friesenhahn bfrie...@simple.dallas.tx.us, http://www.simplesystems.org/users/bfriesen/ GraphicsMagick Maintainer,http://www.GraphicsMagick.org/ -- Stay on top of everything new and different, both inside and around Java (TM) technology - register by April 22, and save $200 on the JavaOne (SM) conference, June 2-5, 2009, San Francisco. 300 plus technical and hands-on sessions. Register today. Use priority code J9JMT32. http://p.sf.net/sfu/p ___ Lcms-user mailing list Lcms-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lcms-user
Re: [Lcms-user] Announcement about patches
On Sun, 19 Apr 2009, marti.ma...@littlecms.com wrote: Regarding being more secure... well, this is color management and not a security package, so probably Bob is right and all this effort may be pointless. What do you think? Giving a MD5 message digest would help? Do we need anything else? Lcms is important to security since ICC profiles can be contained in random files from the Internet or other untrustable sources. This is the only path which is any serious concern. Printing subsystems may also use lcms and are likely to run as a different user than the person who submitted the job, and the person who submitted the job may have done so from another machine. The printing system should be designed to limit the impact of such bugs. I create MD5 checksums for GraphicsMagick files but only as a convenience for the user. In order for the MD5 checksum to be more than a convenience it needs to be separately available from a known secure source, or signed using some other means. For example your web site is likely more trusted than some site which claims to be a mirror site. A number of Linux (and maybe some *BSD and OS-X) distributions have security problems with their packaging systems in that while they may verify the downloaded file with a MD5 checksum, the MD5 checksum itself is not signed or validated in any way and can be very easily compromised. Commercial Linux (e.g. Red Hat SuSe) are much more secure since they don't rely on volunteer mirror sites. This situation was documented in USENIX Login several months ago. Bob -- Bob Friesenhahn bfrie...@simple.dallas.tx.us, http://www.simplesystems.org/users/bfriesen/ GraphicsMagick Maintainer,http://www.GraphicsMagick.org/ -- Stay on top of everything new and different, both inside and around Java (TM) technology - register by April 22, and save $200 on the JavaOne (SM) conference, June 2-5, 2009, San Francisco. 300 plus technical and hands-on sessions. Register today. Use priority code J9JMT32. http://p.sf.net/sfu/p ___ Lcms-user mailing list Lcms-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lcms-user
Re: [Lcms-user] LCMS 1.17 security fix issue
On Sun, 12 Apr 2009, Guy K. Kloss wrote: On Sun, 12 Apr 2009 17:42:12 Graeme Gill wrote: Oh good, they can re-implement ICC file parsing and profile interpretation all over again, and make all the same mistakes as everyone else did. (In fact probably even more, if they aren't very familiar with color science). That's what I feared, but apparently they've got something that at least sort of works. But at least they're some ambitious folks with some money behind them to make certain things work, which helps. Although it may be quite an academic advantage. The Mozilla project seems to have a history of making bad decisions when it comes to image formats, image processing, and target platforms. It seems that minimizing executable size and being as much like Microsoft IE as possible dominates the decision making. Copying ideas is seen as good and true innovation is seen as bad. Previously they discarded the innovative MNG and JNG file formats and preferred the flimsy GIF format. Now it seems that they are discarding lcms without giving it a proper chance. Bob -- Bob Friesenhahn bfrie...@simple.dallas.tx.us, http://www.simplesystems.org/users/bfriesen/ GraphicsMagick Maintainer,http://www.GraphicsMagick.org/ -- This SF.net email is sponsored by: High Quality Requirements in a Collaborative Environment. Download a free trial of Rational Requirements Composer Now! http://p.sf.net/sfu/www-ibm-com ___ Lcms-user mailing list Lcms-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lcms-user
Re: [Lcms-user] LCMS 1.17 security fix issue
On Sun, 12 Apr 2009, Guy K. Kloss wrote: * Potential to implement additional acceleration for rendering (e. g. using the GPU to perform transformations). GPUs have a reputation being much faster than host CPUs at certain floating point tasks but it is not clear how this will carry on into the future. I have a continuing fear that excessive reliance on GPUs will be very bad for the world of free open source software. Free open source software should be quite portable and not tied to specific proprietary hardware. If the software is not portable or is tied to specific proprietary hardware then innovation and competition dwindles. If the design allows the GPU to be added via a shim layer without requiring that a 3rd party library always be present, then that would be fine. Current GPUs are expensive, power hungry, noisy, (relatively) low-tech, and are an adjunct to the system architecture. It makes much more sense to add GPU type capabilities to multi-core CPUs so it may be that GPUs will go away, just like other co-processors have done over the years. Bob -- Bob Friesenhahn bfrie...@simple.dallas.tx.us, http://www.simplesystems.org/users/bfriesen/ GraphicsMagick Maintainer,http://www.GraphicsMagick.org/ -- This SF.net email is sponsored by: High Quality Requirements in a Collaborative Environment. Download a free trial of Rational Requirements Composer Now! http://p.sf.net/sfu/www-ibm-com ___ Lcms-user mailing list Lcms-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lcms-user
Re: [Lcms-user] LCMS 1.17 security fix issue
On Sun, 12 Apr 2009, Hal V. Engel wrote: In addition there is getting to be more software out there that runs on the GPU. For example those here who do panoramas may have used a program named enblend and enblend since version 3.0 has had support for using the GPU to do it's blending operations. On my machine this reduced blending times by about 85%. So it is clear that using the GPU can result in dramatic performance increases. Enblend has had this ability for about 2 years now. 85% sounds good but with fairly trivial code changes I see 360% to as much as 646% boost (360% to 380% is typical) using OpenMP on a cheapy desktop quad-core CPU. Quad-core is cheap today. Next year, 8 core will be cheap. If the GPU is used for application computation then it will need to offer a huge computational boost in order to overcome the overhead of transferring large blocks of data back and forth. If the target destination for the computations is the computer display, then 1/2 of the overhead (retrieving the result) is removed so performance is much more impressive. I agree that if AMD manages to survive that incorporating ATI technologies into AMD CPUs should provide considerable benefit. The process technologies used to fabricate current GPUs is primitive compared to what is currently used for CPUs. Bob -- Bob Friesenhahn bfrie...@simple.dallas.tx.us, http://www.simplesystems.org/users/bfriesen/ GraphicsMagick Maintainer,http://www.GraphicsMagick.org/ -- This SF.net email is sponsored by: High Quality Requirements in a Collaborative Environment. Download a free trial of Rational Requirements Composer Now! http://p.sf.net/sfu/www-ibm-com ___ Lcms-user mailing list Lcms-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lcms-user
Re: [Lcms-user] LCMS 1.17 security fix issue
On Mon, 13 Apr 2009, Louis Solomon [SteelBytes] wrote: ... ATI GPUs are significantly more powerful than those from Intel ... currently - yes. but http://en.wikipedia.org/wiki/Larrabee_(GPU) will be interesting. An probably very good for reprogramming to do work like colour management Facinating. Getting back to OpenMP, it is worth mentioning that IBM developed an OpenMP implementation for its Cell processor which automatically produces code for both the master processor, and the specialized cell cores. Code is also emitted which performs the necessary implicit data copies and synchronization. The compiler decides which threads should run on the master and which ones should run on the cell cores. The result runs as one executable program. It seems that Intel's Larrabee approach will make this reasonably easy to accomplish since it is based on the x86 instruction set. Both Intel and AMD/ATI will likely go down this path since they are primarily CPU companies and want to sell high volumes of product into cost-reduced systems. If compilers will do the heavy lifting in the future, then it is not necessary to perform major surgery on lcms in order for it to perform much better. Bob -- Bob Friesenhahn bfrie...@simple.dallas.tx.us, http://www.simplesystems.org/users/bfriesen/ GraphicsMagick Maintainer,http://www.GraphicsMagick.org/ -- This SF.net email is sponsored by: High Quality Requirements in a Collaborative Environment. Download a free trial of Rational Requirements Composer Now! http://p.sf.net/sfu/www-ibm-com ___ Lcms-user mailing list Lcms-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lcms-user
Re: [Lcms-user] Beta for lcms-1.18 available on site
On Wed, 11 Mar 2009, Daniel Bünzli wrote: Depends on which C you are talking about, one line comments are allowed by C99. I perform test builds on some old systems which don't have new C compilers and reject C++ style comments. Bob -- Bob Friesenhahn bfrie...@simple.dallas.tx.us, http://www.simplesystems.org/users/bfriesen/ GraphicsMagick Maintainer,http://www.GraphicsMagick.org/-- Apps built with the Adobe(R) Flex(R) framework and Flex Builder(TM) are powering Web 2.0 with engaging, cross-platform capabilities. Quickly and easily build your RIAs with Flex Builder, the Eclipse(TM)based development software that enables intelligent coding and step-through debugging. Download the free 60 day trial. http://p.sf.net/sfu/www-adobe-com___ Lcms-user mailing list Lcms-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lcms-user
Re: [Lcms-user] lcms 2.0
On Tue, 16 Dec 2008, Hal V. Engel wrote: What I do in my code is use this type of thing: #include setjmp.h jmp_buf cmsJumpBuffer; This sort of approach does not work adequately/reliably for multi-threaded applications. The whole setjmp mechanism is based on restoring a single CPU's stack so it becomes useless when multiple CPUs are involved in the same application. And of course, as you say there can be problems with the C++ exception framework. The best approach requires that the user provide some context (a pointer) to lcms and then lcms invokes the callback, passing the pointer it supplied. This may still require some extra work in a multi-threaded application but it is usable. Bob == Bob Friesenhahn bfrie...@simple.dallas.tx.us, http://www.simplesystems.org/users/bfriesen/ GraphicsMagick Maintainer,http://www.GraphicsMagick.org/ -- SF.Net email is Sponsored by MIX09, March 18-20, 2009 in Las Vegas, Nevada. The future of the web can't happen without you. Join us at MIX09 to help pave the way to the Next Web now. Learn more and register at http://ad.doubleclick.net/clk;208669438;13503038;i?http://2009.visitmix.com/ ___ Lcms-user mailing list Lcms-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lcms-user
Re: [Lcms-user] Email from ver...@0spam.com
On Fri, 13 Jun 2008, Mitesh wrote: After posting my problem I immediately got an email from [EMAIL PROTECTED] that I need to verify whether the email I sent was a spam or not. I am very much concerned about this. Is this something that lcms knows about and used it or some other possible culprits are in action? Any member of the list might have their email filtered via this service. It places a burden on whoever posts to the list. Best advice is that members who use this service do not need to see your posting so you can simply ignore the request to confirm it. SPAM is definitely a real problem. I receive 2200 SPAM emails per day at my mail address. Bob == Bob Friesenhahn [EMAIL PROTECTED], http://www.simplesystems.org/users/bfriesen/ GraphicsMagick Maintainer,http://www.GraphicsMagick.org/ - Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://sourceforge.net/services/buy/index.php ___ Lcms-user mailing list Lcms-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lcms-user
Re: [Lcms-user] sRGB Stock Profile and alpha channel
On Fri, 13 Jun 2008, Mitesh wrote: I am a newbie in color management. I followed the tifficc sample project. I am using sRGB Stock Profile as the output profile. I have an RGBA8 (32-bit) tiff files. But this sample project transforms the files into RGB8 (24-bit) tiff files without the alpha channel. I want to preserve alpha channel in the transformed tiff files. How can I make this happen? Tifficc is best described as a technology demo or test tool. TIFF is a complex format. If TIFF is important to you, then you should consider using other software. I am fairly sure that the free software I maintain (GraphicsMagick) does preserve the alpha channel, and it is far more comprehensive at supporting TIFF. Alpha channels and CMS are an interesting topic since quite often the image was intended to always be alpha composited on top of some other image (e.g. a solid color background) so the final colors are not the same as the RGB channels would suggest. Alpha in TIFF is normally the pre-multiplied type so the RGB channels do not represent the actual color. The RGB channels appear as if the image was alpha composited on top of a black image. Before performing a CMS transform, it is necessary to disassociate the alpha but this is not necessarily entirely successful since some color information may still be associated with the alpha channel based on the assumption that the image will normally be composited on some other color (e.g. white or black). GraphicsMagick does convert from pre-multiplied alpha to the disassociated alpha it uses internally, but it is not clear if all images will behave the same. Behavior depends on how the generating software used the alpha. For example, an image in the libtiff sample image collection uses the alpha channel to draw text on the image and the text information is mostly in the alpha channel. Bob == Bob Friesenhahn [EMAIL PROTECTED], http://www.simplesystems.org/users/bfriesen/ GraphicsMagick Maintainer,http://www.GraphicsMagick.org/ - Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://sourceforge.net/services/buy/index.php ___ Lcms-user mailing list Lcms-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lcms-user
Re: [Lcms-user] 转发: 回复: Re: Troub le with command line programming
On Tue, 10 Jun 2008, Guy K. Kloss wrote: On Tue, 10 Jun 2008 1:56:46 pm Louis Solomon [SteelBytes] wrote: I much prefer having the apis return error codes. (and if I want strings, then have an api to map error code to string) Well, at least that would be something that can be wrapped internally into exceptions if one wants to approach the implementation in an object oriented way. I agree that using callbacks to report errors is fundamentally bad, particularly for multi-threaded programs. It is possible to make it work, but there is more overhead and the result is not pleasant. Bob == Bob Friesenhahn [EMAIL PROTECTED], http://www.simplesystems.org/users/bfriesen/ GraphicsMagick Maintainer,http://www.GraphicsMagick.org/ - Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://sourceforge.net/services/buy/index.php ___ Lcms-user mailing list Lcms-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lcms-user
Re: [Lcms-user] Work with libtiff
On Tue, 10 Jun 2008, С²Ý wrote: Recently I felt the need to process .tiff files using my software. I'm using Visual C++ 6.0. I find that lcms support libtiff, so i decide to utilize the libtiff. However, I don't know which version to use as for the latest version for libtiff is v3.6.1. The lcms has been revised several times, I wonder which version of the libtiff is compatible with the current lcms? The latest official released libtiff is 3.8.2, but I find that 3.9.0beta has fewer bugs. The libtiff interfaces rarely change so if lcms works with libtiff, then it is quite likely to work with 3.6.X through 3.9.X and may even work with the forthcoming 4.0.0. If you are not compiling from source code, then you will want to use the libtiff that the lcms binary is compiled against. Bob == Bob Friesenhahn [EMAIL PROTECTED], http://www.simplesystems.org/users/bfriesen/ GraphicsMagick Maintainer,http://www.GraphicsMagick.org/ - Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://sourceforge.net/services/buy/index.php___ Lcms-user mailing list Lcms-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lcms-user
Re: [Lcms-user] Compositing Camera Pictures Query - Help Required
On Sat, 7 Jun 2008, Kevin Gale wrote: I need to composite several JPEG / TIFF digital camera pictures that use different profiles (Adobe RGB, Camera RGB Profile etc..) into a single bitmap. I would appreciate it if someone could help answer the following questions: 1. Should I just convert the images to a single profile such as sRGB? Does sRGB support all the colors you are interested in? 2. The composited picture will eventually be printed to a digital press such as a Canon ImagePress C1 or an HP Indigo. Should I include the sRGB profile in my output JPEG or should I just save the image without a profile? In order to preserve as much of the original as possible in the final output, perhaps it makes sense to convert your images to a colorspace which is as close to what these devices support as possible prior to composition. This approach prioritizes the quality of the printed output and may reduce artifacts such as banding. Another alternative is to chose a larger colorspace which best represents the colors in your images so that there is minimum original color loss and then your composited image is in that colorspace (with attached profile). This second approach prioritizes the quality of the composited master image over the quality of the device-specific image. Best quality composition may have completely different requirements depending on the type of composition used. There are those (particularly those in the compositing business) who will express the opinion that composition should only be done in a linear-light space (gamma correction removed). Camera RAW images are usually in linear-light space since that is what the sensors detect whereas camera JPEG images are usually white-point adjusted and gamma encoded to minimize loss with 8 bit storage, and to be more similar to sRGB. Bob == Bob Friesenhahn [EMAIL PROTECTED], http://www.simplesystems.org/users/bfriesen/ GraphicsMagick Maintainer,http://www.GraphicsMagick.org/ - Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://sourceforge.net/services/buy/index.php ___ Lcms-user mailing list Lcms-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lcms-user
Re: [Lcms-user] Compositing Camera Pictures Query - Help Required
On Sat, 7 Jun 2008, Kevin Gale wrote: The output devices I listed were just examples of what could be used but in reality our customers could be using any digital press. As Bob suggested I think our best approach might be to select the colour space that best represents the original images and convert them to that. Make sure that you check out Bruce Lindbloom's site at http://www.brucelindbloom.com/. There is valuable information regarding RGB working spaces there, as well as information on a colorspace (with CMS profiles) called Beta RGB which optimally captures useful (film) colors and uses the typical 2.2 gamma. Lots of people seem to use Adobe RGB although it is clearly not the best. Bob == Bob Friesenhahn [EMAIL PROTECTED], http://www.simplesystems.org/users/bfriesen/ GraphicsMagick Maintainer,http://www.GraphicsMagick.org/ - Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://sourceforge.net/services/buy/index.php ___ Lcms-user mailing list Lcms-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lcms-user
Re: [Lcms-user] Compositing Camera Pictures Query - Help Required
On Sat, 7 Jun 2008, Kevin Gale wrote: I don't think I will have to option to work with 16 bit data as the image processing framework I am using only supports 8 bit data. Would using sRGB be a better solution although I would get more colour loss? That is unfortunate. Any CMS transformation involves some loss. Under these conditions it may make sense to use sRGB. Lots of software works well with sRGB. Bob == Bob Friesenhahn [EMAIL PROTECTED], http://www.simplesystems.org/users/bfriesen/ GraphicsMagick Maintainer,http://www.GraphicsMagick.org/ - Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://sourceforge.net/services/buy/index.php ___ Lcms-user mailing list Lcms-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lcms-user
Re: [Lcms-user] Trouble with command line programming
On Mon, 2 Jun 2008, С²Ý wrote: I'm interested in color science, and I found the project useful for me. However, when I look over the codes, I'm depressed. The codes are programmed in Linux and command line form. I know nothing about linux and only a little about command line programming. So, it is a hard work for me to go through the codes. Does anyone have a Visual C++ version of the project? If yes, would you please send me a copy? LCMS comes with support for various IDEs in its Projects subdirectory. For example, Projects/VC7 and Projects/VC2005. While command line may seem crude, the Unix shell script approach works (or can be made to work) virtually everywhere. I tremble when I encounter projects which require some particular IDE since they are all different, even among the ones from Microsoft. Bob == Bob Friesenhahn [EMAIL PROTECTED], http://www.simplesystems.org/users/bfriesen/ GraphicsMagick Maintainer,http://www.GraphicsMagick.org/ - This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/___ Lcms-user mailing list Lcms-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lcms-user
Re: [Lcms-user] lcms 1.17 : Library version number and compile problem on Mac OS 10.5.2
On Thu, 24 Apr 2008, Peter C wrote: Undefined symbols: _pthread_rwlock_destroy$UNIX2003 _pthread_rwlock_init$UNIX2003 _pthread_rwlock_rdlock$UNIX2003 _pthread_rwlock_unlock$UNIX2003 _pthread_rwlock_wrlock$UNIX2003 If POSIX reader/writer locks are officially supported, then _POSIX_READER_WRITER_LOCKS is defined (to 200112L) in unistd.h It is defined that way on Solaris 10, FreeBSD 7.0, and OS-X Leopard, but not (for example) on Solaris 9, which does support the functions but with an implementation dating from prior to the standard. The interfaces were defined in draft form well before POSIX 2001 made them concrete (but still optional). Bob == Bob Friesenhahn [EMAIL PROTECTED], http://www.simplesystems.org/users/bfriesen/ GraphicsMagick Maintainer,http://www.GraphicsMagick.org/ - This SF.net email is sponsored by the 2008 JavaOne(SM) Conference Don't miss this year's exciting event. There's still time to save $100. Use priority code J8TL2D2. http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone ___ Lcms-user mailing list Lcms-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lcms-user
Re: [Lcms-user] Reading an embedded profile
On Fri, 22 Feb 2008, Gerhard Fürnkranz wrote: I think to remember that ImageMagick can extract embedded profiles. As can GraphicsMagick. Bob == Bob Friesenhahn [EMAIL PROTECTED], http://www.simplesystems.org/users/bfriesen/ GraphicsMagick Maintainer,http://www.GraphicsMagick.org/ - This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/___ Lcms-user mailing list Lcms-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lcms-user
Re: [Lcms-user] Python binding documentation
On Thu, 14 Feb 2008, Frédéric wrote: but it does not seems to be supported anymore (last release from 2003). I'll have a look at this module, and try to contact the author (maybe through the image-sig list). I would not use the last release date as a measure of support or validity. By this measure, Python itself is no longer supported any more since the last release was in 2005. If the software works fine, there is no need to change it. However, it may well be that the author has dropped off the edge of the world. Bob == Bob Friesenhahn [EMAIL PROTECTED], http://www.simplesystems.org/users/bfriesen/ GraphicsMagick Maintainer,http://www.GraphicsMagick.org/ - This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/___ Lcms-user mailing list Lcms-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lcms-user
Re: [Lcms-user] Colour management via screen sampling
On Mon, 4 Feb 2008, Louis Solomon [SteelBytes] wrote: as Bob is I think trying to point out, reading from the sceen is not a very good idea. if you want accurate color go to the source - ie the original file, not the result of what has been converted to be displayed. Actually the point I was making is quite simple. Unless the pixel has been adjusted to appear correct in that display space, or very carefully converted to that display space so it appears correct, then it can be any random value at all. As others have pointed out, multiple transformations are not usually a perfect round trip so it is best to do all the work with the master image in one colorspace. Bob == Bob Friesenhahn [EMAIL PROTECTED], http://www.simplesystems.org/users/bfriesen/ GraphicsMagick Maintainer,http://www.GraphicsMagick.org/ - This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/ ___ Lcms-user mailing list Lcms-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lcms-user
Re: [Lcms-user] Camera Color Calibration
On Thu, 18 Oct 2007, Hal V. Engel wrote: With current cameras you will get your best results using RAW images since this by passes any in camera processing. It seems that there is often some in-camera processing before the shot is even taken. Typically you depress the button a bit while the camera evaluates the situation, and press the rest of the way so the shot is taken. Even with raw image formats, the camera may still be free to make other hardware-oriented adjustments such as CCD bias voltages, aperture size, and shutter time. Bob == Bob Friesenhahn [EMAIL PROTECTED], http://www.simplesystems.org/users/bfriesen/ GraphicsMagick Maintainer,http://www.GraphicsMagick.org/ - This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now http://get.splunk.com/ ___ Lcms-user mailing list Lcms-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lcms-user
Re: [Lcms-user] Workflow with LCMS
On Sat, 5 Aug 2006, Hal V. Engel wrote: On Saturday 05 August 2006 10:20, Frédéric wrote: On Saturday 05 August 2006 18:33, Hal V. Engel wrote: I am not so sure that images in GIMP are edited in sRGB colorspace. You are right: I forgot that Gimp let the user choose working colorspace... But as you explain later, Gimp is not able to read embedded profiles. So you have to choose the working colorspace, which much match the colorspace of the image. Usually, sRGB, as most DSRL cameras output files in this colorspace. Some do some don't and some also let you select from several that are used by the built in camera image processing. sRGB and AdobeRGB are common. If you have this option and you are using in camera image processing then use AdobeRGB has it has about a 45% larger gamut than sRGB. This is not necessarily sound advice. A wider gamut is nice (if you can see it), but there are other factors to consider. Image processing done in the camera likely ends up with 8-bit JPEG as the result. 8 bits is not very much and by selecting the wider gamut you may lose useful color precision. If the target usage is sRGB (e.g. for a web page) more information may be preserved by using sRGB in the camera. Bob == Bob Friesenhahn [EMAIL PROTECTED], http://www.simplesystems.org/users/bfriesen/ GraphicsMagick Maintainer,http://www.GraphicsMagick.org/- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnkkid=120709bid=263057dat=121642___ Lcms-user mailing list Lcms-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lcms-user
Re: [Lcms-user] lcms transform performance
On Fri, 4 Aug 2006, Paul Miller wrote: Unfortunately, we loading a 5K x 4K JPEG image (RGB8 - RGBA8), it takes 3 times longer to use the profile transform than not. Since it sounds like the transform resolves to a simple 16 bit lookup after the unpack, MOST of this time is tied up in the pack/unpack. I would not make any such assumption without proof. The pack/unpack is done using the most efficient mode of the CPU with most instructions/data resident in the cache and linear data access. It can be quite fast. The simple 16 bit lookup may in fact be a cache-busting random access and be much slower. Bob == Bob Friesenhahn [EMAIL PROTECTED], http://www.simplesystems.org/users/bfriesen/ GraphicsMagick Maintainer,http://www.GraphicsMagick.org/ - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT business topics through brief surveys -- and earn cash http://www.techsay.com/default.php?page=join.phpp=sourceforgeCID=DEVDEV ___ Lcms-user mailing list Lcms-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lcms-user
Re: [Lcms-user] Color space conversion
On Mon, 10 Jul 2006, Andreas Yankopolus wrote: I use ImageMagick (convert, specifically) to create JPEGs for the web from PSD files. This worked without a hitch when the files came from an inexpensive digital camera that saved everything in the sRBG color space. I've since switched to a DSLR and am experimenting with Adobe Lightroom, which operates in the ProPhoto RGB color space. ImageMagick does not appear to understand the embedded color space information, and the resulting images look very flat when displayed on the Web. Use identify -verbose file.jpg and see if a line similar to ICC Profile: present, 560 bytes appears in the output. ImageMagick needs to have an attached ICC profile. If the profile is referred to by some metadata (EXIF?) and not actually included, ImageMagick will assume nothing about the image colorspace. If you know (and have) the correct profile, you can attach it to the image using the -profile option. Bob == Bob Friesenhahn [EMAIL PROTECTED], http://www.simplesystems.org/users/bfriesen/ GraphicsMagick Maintainer,http://www.GraphicsMagick.org/ - Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnkkid=120709bid=263057dat=121642 ___ Lcms-user mailing list Lcms-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lcms-user
Re: [Lcms-user] threading
On Fri, 12 May 2006, John Cupitt wrote: I've just noticed cmsDoTransform() isn't threadsafe (when I found random image corruption on my SMP box, heh). What part of the code is not thread safe? Are you sure that the thread safety problem is not a problem with your own application or the way the lcms library was built? Has any thought gone into making a threadsafe version? If I looked at this, would there be interest in patches? No doubt there would be interest in patches if you were to isolate and solve a problem in lcms. Bob == Bob Friesenhahn [EMAIL PROTECTED], http://www.simplesystems.org/users/bfriesen/ GraphicsMagick Maintainer,http://www.GraphicsMagick.org/ --- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnkkid=120709bid=263057dat=121642 ___ Lcms-user mailing list Lcms-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lcms-user
Re: [Lcms-user] alpha channels and 16-8 bit rgb transforms
On Sun, 5 Feb 2006, Boudewijn Rempt wrote: It's been a while, but we're now at a stage with Krita where having to loop by hand through all pixels to copy the alpha channel is getting rather prohibitively expensive :-(. When the display profile or colorspace isn't the same as the image profile we spend about half our cycles in cmsDoTransform, and about 30% in the alpha copy loop when loading an image and simply displaying it. It may be that you are dealing with too much data at once. If you are currently feeding lcms the entire image, you may obtain better results with row-by-row processing due to the effect of caching. Primary and secondary cache accesses are much faster than going all the way to the primary RAM storage device. If you are processing a large image in one operation, then the second pass is likely taking a cache hit for every access. My experience is that second passes can be almost unnoticeable in overall run-times if the data is already cached. Bob == Bob Friesenhahn [EMAIL PROTECTED], http://www.simplesystems.org/users/bfriesen/ GraphicsMagick Maintainer,http://www.GraphicsMagick.org/ --- This SF.net email is sponsored by: Splunk Inc. Do you grep through log files for problems? Stop! Download the new AJAX search engine that makes searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! http://sel.as-us.falkag.net/sel?cmd=lnkkid=103432bid=230486dat=121642 ___ Lcms-user mailing list Lcms-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lcms-user
Re: [Lcms-user] where i can get the jpeglib
On Wed, 1 Feb 2006, [ISO-8859-15] Thomas Kübler wrote: hallo to all, where i can get the jpeglib? I see that Dermot has already answered This past weekend I created a version of libjpeg 6b which configures and builds with modern GNU autotools (i.e. configure) and also successfully builds DLLs under Windows using the MinGW GCC compiler. It should build shared libraries on systems where the released libjpeg 6b does not (e.g. Apple's OSX). Let me know if this of value to you. Bob == Bob Friesenhahn [EMAIL PROTECTED], http://www.simplesystems.org/users/bfriesen/ GraphicsMagick Maintainer,http://www.GraphicsMagick.org/
Re: [Lcms-user] LPROF 1.11.1 developement snapshot released
On Tue, 10 Jan 2006, Hal V. Engel wrote: The way I see it, the icc profile should be all that is necessary to take the RAW data from the camera and map it into an absolute working colorspace. Keep all manipulation/quantization of the original data as close to the end as possible. It is true that the profile characterizes the color space of the image. Therefore when a linear image with a profile that correctly characterizes that images color space is opened in an app that understands ICC profiles it will correct it before it is displayed but the actual data is still linear. The same applies to when the image is printed. A true RAW image from a camera uses a Bayer pattern (spacially distributed red, green, and blue samples) specific to the camera. RAW camera images are not usable with ICC profiles. After using some algorithm to tranform to RGB (or some other formal space like LAB), then the ICC profiles can be used as described. The actual translation from camera RAW format to RGB can not be directly controlled by a profile. The profile describes the mapping produced by the specific Bayer-RGB algorithm. The concern I and other have is that the process of creating the image from the RAW data using a gamma of 1 will tend to block up the shadow detail. I have only done a few experiments with this but using a gamma around 2.2 did yield better shadow detail. The difference was not huge but it was clearly there. Using a gamma of around 2.2 (or 2.6 for X'Y'Z') tends to linearize the luminance significance of each bit (particularly for dark regions) so fewer storage bits are necessary, and computational errors are reduced. Bob == Bob Friesenhahn [EMAIL PROTECTED], http://www.simplesystems.org/users/bfriesen/ GraphicsMagick Maintainer,http://www.GraphicsMagick.org/ --- This SF.net email is sponsored by: Splunk Inc. Do you grep through log files for problems? Stop! Download the new AJAX search engine that makes searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! http://ads.osdn.com/?ad_id=7637alloc_id=16865op=click ___ Lcms-user mailing list Lcms-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lcms-user
Re: [Lcms-user] tifficc jpegicc performance problems
On Sun, 4 Dec 2005, Joris wrote: - So, LCMS really does not support a concept of 'resolving' or 'applying' a profile? I really absolutely need to make a chain of two No, it does not. Managing the application of profiles is the task of a color management system and LCMS is not a color management system. LCMS provides the transforms that a CMS would need to use. So you can build your own CMS based on it. Kai-Uwe Behrmann is building an open-source CMS called Oyranos. Some description of it may be found at http://www.behrmann.name/index.php?option=com_contenttask=viewid=28Itemid=65;. I believe that Graeme Gill has had a CMS in the works for a long time as part of his Argyll CMS project. Bob == Bob Friesenhahn [EMAIL PROTECTED], http://www.simplesystems.org/users/bfriesen/ GraphicsMagick Maintainer,http://www.GraphicsMagick.org/ --- This SF.net email is sponsored by: Splunk Inc. Do you grep through log files for problems? Stop! Download the new AJAX search engine that makes searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! http://ads.osdn.com/?ad_id=7637alloc_id=16865op=click ___ Lcms-user mailing list Lcms-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lcms-user
Re: [Lcms-user] tifficc jpegicc performance problems
On Fri, 2 Dec 2005, Joris wrote: A similar need arises when looking at it from the point of view of these 'many more image viewers'. Many people, like myself and I guess for example Bob with GraphicsMagick (right, Bob?), first group a few decoders, next find themselves in need of color handling and image editing handling, and group a few encoders in the package, and end up with such an image viewer/browser/editor/converter. Next, the need arises to improve the decoding of files with embedded ICC profiles. It is not desirable to rewrite the whole of the color handling stuff in such case, since the thing works exactly as the designer intended, There is also the problem that the vast majority of image file formats don't support ICC color profiles and don't have a well-defined color space. Some formats have a very well defined color space but don't know anything about ICC color profiles. With a swiss army knife, there are many sharp edges, and it is easy to get cut unless great care is taken. So when GraphicsMagick reads a YCbCr DPX file in BT.709 space, it would be really nice to simply attach the BT.709 YCbCr profile as provided in the the lcms profiles collection, but without a clear specification for the target colorspace (so the correct profile can be selected), conversion to some random non-YCbCr space fails. The correct answer is definitely not just assume sRGB. So instead, we use our own transformation matrix to BT.709 RGB and simply hope for the best. Bob == Bob Friesenhahn [EMAIL PROTECTED], http://www.simplesystems.org/users/bfriesen/ GraphicsMagick Maintainer,http://www.GraphicsMagick.org/ --- This SF.net email is sponsored by: Splunk Inc. Do you grep through log files for problems? Stop! Download the new AJAX search engine that makes searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! http://ads.osdn.com/?ad_id=7637alloc_id=16865op=click ___ Lcms-user mailing list Lcms-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lcms-user
Re: [Lcms-user] tifficc jpegicc performance problems
On Fri, 2 Dec 2005, Marti wrote: BTW, Bob, I've been using the Rec709 YCbCr as default for tiff images without problems. Any intent but absolute colorimetric should handle white point mismatches, so even for D65 based image data seems to works great. In my case, the format is SMPTE DPX (HDTV video) but I did notice that the Rec709 YCbCr profile worked quite well except for in the case of absolute colorimetric, where the results were substantially off. Profiles used on the display side were from the Scarse project (http://www.scarse.org/goodies/profiles/). Bob == Bob Friesenhahn [EMAIL PROTECTED], http://www.simplesystems.org/users/bfriesen/ GraphicsMagick Maintainer,http://www.GraphicsMagick.org/ --- This SF.net email is sponsored by: Splunk Inc. Do you grep through log files for problems? Stop! Download the new AJAX search engine that makes searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! http://ads.osdn.com/?ad_id=7637alloc_id=16865op=click ___ Lcms-user mailing list Lcms-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lcms-user
[Lcms-user] Re: D65 Rec.601 and Rec.709 profiles
I have not yet received any response related to this topic. I am pleased to report that I was able to use lcms with the sample profiles to obtain results which are very similar to results obtained using my own implementation of the transform. Perhaps the D50 is only a LAB-space thingy which does not alter the final result. Bob On Sat, 12 Nov 2005, Bob Friesenhahn wrote: The lcms profiles collection provides some Rec.601 and Rec.709 YCbCr to LAB profiles. These have a whitepoint of D50 while Rec.601 and Rec.709 use D65 as their native whitepoint. Can these existing profiles be used to perform a proper conversion from Rec.601/Rec.709 YCbCr to RGB (e.g. sRGB) even though they are claimed D50 rather than D65? Do any profiles exist for Rec.601/Rec.709 which are for the equivalent RGB rather than YCbCr? What is necessary in order to create such a profile? Bob == Bob Friesenhahn [EMAIL PROTECTED], http://www.simplesystems.org/users/bfriesen/ GraphicsMagick Maintainer,http://www.GraphicsMagick.org/ == Bob Friesenhahn [EMAIL PROTECTED], http://www.simplesystems.org/users/bfriesen/ GraphicsMagick Maintainer,http://www.GraphicsMagick.org/ --- SF.Net email is sponsored by: Tame your development challenges with Apache's Geronimo App Server. Download it for free - -and be entered to win a 42 plasma tv or your very own Sony(tm)PSP. Click here to play: http://sourceforge.net/geronimo.php ___ Lcms-user mailing list Lcms-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lcms-user
[Lcms-user] D65 Rec.601 and Rec.709 profiles
The lcms profiles collection provides some Rec.601 and Rec.709 YCbCr to LAB profiles. These have a whitepoint of D50 while Rec.601 and Rec.709 use D65 as their native whitepoint. Can these existing profiles be used to perform a proper conversion from Rec.601/Rec.709 YCbCr to RGB (e.g. sRGB) even though they are claimed D50 rather than D65? Do any profiles exist for Rec.601/Rec.709 which are for the equivalent RGB rather than YCbCr? What is necessary in order to create such a profile? Bob == Bob Friesenhahn [EMAIL PROTECTED], http://www.simplesystems.org/users/bfriesen/ GraphicsMagick Maintainer,http://www.GraphicsMagick.org/ --- SF.Net email is sponsored by: Tame your development challenges with Apache's Geronimo App Server. Download it for free - -and be entered to win a 42 plasma tv or your very own Sony(tm)PSP. Click here to play: http://sourceforge.net/geronimo.php ___ Lcms-user mailing list Lcms-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lcms-user
Re: [Lcms-user] Hack for building with MinGW / Cygwin
On Wed, 26 Oct 2005 [EMAIL PROTECTED] wrote: In 1.15 you also could use use -D LCMS_WIN_TYPES_ALREADY_DEFINED. Cygwin and gcc works fine to me, but I have to take a look on MinGW. This would probably be addressed in 1.16, as 1.15 is actualy frozen. MinGW is very similar to Visual C++ except that it additionally supports some Unixish conventions like 'long long' and promotes Windows underscore APIs (e.g. _write()) to their POSIX names. The preprocessor define __MINGW32__ is defined when compiling under MinGW so as a first step a check for this define can be added alongside any similar check for Windows/MSVC. Bob == Bob Friesenhahn [EMAIL PROTECTED], http://www.simplesystems.org/users/bfriesen/ GraphicsMagick Maintainer,http://www.GraphicsMagick.org/ --- This SF.Net email is sponsored by the JBoss Inc. Get Certified Today * Register for a JBoss Training Course Free Certification Exam for All Training Attendees Through End of 2005 Visit http://www.jboss.com/services/certification for more information ___ Lcms-user mailing list Lcms-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lcms-user
Re: [Lcms-user] foundation for littleCMS ?
On Wed, 19 Oct 2005, Jan-Peter Homann wrote: Hello list, hello Bob and Marti --- I´m just observing the colormanagement market. Actually littleCMS has grown up to a status, that is comparable or even better than e.g. - Microsoft ICM - AppleCMM - AdobeCMM - KodakCMM - EFICMM It has held this esteemed status for a number of years now. Now, commercial companies are using it for free, without giving back something to Marti or the open-source community. Is using Little CMS for free a problem? It is something that the license was recently changed to help support. While there are commercial companies (mySQL was mentioned, but Alladin Ghostscript, and TrollTech's Qt are other examples) which require licensing their product for commercial use, Little CMS does not appear to follow these money-grubbing principles. The future of littleCMS is clearly in the hand of Marti, because it is his project, and he wrote more or less 100% of the code. But legal issues can also be important to projects which are using littleCMS. Legal issues can certainly be important. Let's take care to not exchange one legal issue for another. In order for Marti and Little CMS to be protected by a foundation that foundation must be legally incorporated, with a board of directors, quarterly meetings, profit/loss statement, audits, etc., and Marti must sign away ownership of Little CMS to that foundation. By selling Little CMS to the foundation, Marti is no longer responsible for legal issues related to Little CMS except for as pertains to his membership in the foundation. This does not in fact protect users of Little CMS. 5 years later, BEST was selling worldwide the highest quantity of digital proofing solutions. One big issue at BEST was the question, which CMM they should licence, that they are shure, that the owner of the CMM has strong enough patents not to be suited by EFI or others. Most open source organizations abhor patents. Patents are the bane of open source. While it is true that that the foundation could file for many patents (like a large corporation) and have a substantial arsenal of patents by which they could counter-sue (and would also have to sue to protect), it is philosophically contrary to the goals of most open source and public-interest organizations (see http://www.gnu.org/philosophy/fighting-software-patents.html and http://www.eff.org/patent/). It is like an anti-gun organization heavily arming themselves with guns so that it can fight the organizations which are pro-gun. So legal issues concerning littleCMM are also legal issues for projects, which make use of littleCMS. Yes, of course. They always will be. As far as patents go there is nothing to be done about that. The most that can be gained by selling Little CMS to an umbrella organization is to ensure that any lawsuits don't impact Marti's pocketbook. However, commercial users of Little CMS are far more at risk than Marti since they are selling a product. Bob == Bob Friesenhahn [EMAIL PROTECTED], http://www.simplesystems.org/users/bfriesen/ GraphicsMagick Maintainer,http://www.GraphicsMagick.org/
Re: [Lcms-user] Littlecms with ImageMagick - howto?
On Thu, 18 Aug 2005, Michal Paczek wrote: Thanks for advices, code implementation was easy and is working fine now, but...I met some strange things in converssion tiff file with LAB to the RGB colorspace. Colours change in strange way and are not correct. Colorspace conversion works, becouse I checked it with couple of different ICC-RGB profiles and allways image colours were changed. I tried to apply LAB color profile first and than convert to RGB (colorspace conversion made twice), but nothing happened, colours were still . If you want I can send that tiff file to you...so you can check that... I am not an expert at TIFF LAB colorspace. I know that there are experts on this list. Bob == Bob Friesenhahn [EMAIL PROTECTED], http://www.simplesystems.org/users/bfriesen/ GraphicsMagick Maintainer,http://www.GraphicsMagick.org/ --- SF.Net email is Sponsored by the Better Software Conference EXPO September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices Agile Plan-Driven Development * Managing Projects Teams * Testing QA Security * Process Improvement Measurement * http://www.sqe.com/bsce5sf ___ Lcms-user mailing list Lcms-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lcms-user
Re: [Lcms-user] Littlecms with ImageMagick - howto?
On Thu, 23 Jun 2005, Michal Paczek wrote: Does anybody know how to use Littlecms functions in ImageMagick? How to convert colorspace of Image object (c code api) with defined profile (ICC) ? This is done via a ProfileImage() function. The profile is supplied as an in-memory BLOB. If the image does not already have a ICC profile attached to it, the call to ProfileImage() simply attaches to supplied profile to the image and no transformations are done to the pixels. If the image already has an ICC profile, then ProfileImage() invokes the CMS transform based on the two profiles to convert the image pixels to the target space. The functioning is really simple and is definitely not a system but it works well in the hands of a CMS expert. Bob == Bob Friesenhahn [EMAIL PROTECTED], http://www.simplesystems.org/users/bfriesen/ GraphicsMagick Maintainer,http://www.GraphicsMagick.org/ --- SF.Net email is sponsored by: Discover Easy Linux Migration Strategies from IBM. Find simple to follow Roadmaps, straightforward articles, informative Webcasts and more! Get everything you need to get up to speed, fast. http://ads.osdn.com/?ad_id=7477alloc_id=16492op=click ___ Lcms-user mailing list Lcms-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lcms-user
Re: [Lcms-user] Printer-profiling via scanner (was devicelink...) (fwd)
Ideas from Wolf Faust, who is not on the lcms-user list so he can't respond there. Bob -- Forwarded message -- Date: Tue, 21 Jun 2005 09:22:04 +0200 From: Wolf Faust [EMAIL PROTECTED] To: Bob Friesenhahn [EMAIL PROTECTED] Subject: Re: [Lcms-user] Printer-profiling via scanner (was devicelink...) Dear Bob, I currently do not receive any lcms-user ML postings nor did I post anything to the ML. So I can not post to lcms-user. So I do not know what the discussion is about... from what you sent, here my $0.02: On 20 Jun 2005 at 18:34, Bob Friesenhahn wrote: On Mon, 20 Jun 2005, Hal V Engel wrote: Having ink specific IT8.7 charts would make the creation of printer profiles using a scanner significantly more accurate then when using generic IT8.7 charts since this would eliminate the metamerism problem. I would also You are saying that your scanner acts like a spectrophotometer? I find it difficult to believe that using LEDs in the scanner causes it to not suffer from metamerism. A scanner surely is not a spectrometer. Under normal conditions, when using a standard IT 8.7/2 photo paper based target and than scanning ink based prints you do get color faults. But why not setting up a database with the spectral data of the ink, paper,... used? Using this data, one could develop a correction routine for the scanner. So, you still do need a target, a spectrometer and you do need to measure the ink/paper profiled. The benefit I see in this method is, that the user making the profile doesn't need a spectrometer as long as the used material/device is in the database. Building a spectral database for most profiling tasks would be rather easy and you could ask users of unsupported setups to send in test prints in order to complete the database. Sure, a spectrometer would still be better, but I think using such a correction, cheap scanner based printer profilers could become much better. Scanning in general could benefit from such a correction. I don't think current solutions like ProfilePrism or EZColor have reached the possible limits. But I guess there are also other possible methods you can use to fix the metamerism faults in order to get a pleasing printer profiling result - not necessarily an accurate result. The printer profiler I did develop in ~1989 for instance did add color faults to the profile as long as it does improve visual appearance. Let's face it, most users do not want accuracy, they do want a result that appears good. With kind regards Wolf Faust -- Wolf Faust Tel: +49-69-5486556 mailto:[EMAIL PROTECTED] Fax: +49-69-95409598 http://www.coloraid.de Mobile: +49-179-6924769 --- SF.Net email is sponsored by: Discover Easy Linux Migration Strategies from IBM. Find simple to follow Roadmaps, straightforward articles, informative Webcasts and more! Get everything you need to get up to speed, fast. http://ads.osdn.com/?ad_id=7477alloc_id=16492op=click ___ Lcms-user mailing list Lcms-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lcms-user
Re: [Lcms-user] Printer-profiling via scanner (was devicelink...)
On Mon, 20 Jun 2005, Hal V Engel wrote: Having ink specific IT8.7 charts would make the creation of printer profiles using a scanner significantly more accurate then when using generic IT8.7 charts since this would eliminate the metamerism problem. I would also You are saying that your scanner acts like a spectrophotometer? I find it difficult to believe that using LEDs in the scanner causes it to not suffer from metamerism. Bob == Bob Friesenhahn [EMAIL PROTECTED], http://www.simplesystems.org/users/bfriesen/ GraphicsMagick Maintainer,http://www.GraphicsMagick.org/ --- SF.Net email is sponsored by: Discover Easy Linux Migration Strategies from IBM. Find simple to follow Roadmaps, straightforward articles, informative Webcasts and more! Get everything you need to get up to speed, fast. http://ads.osdn.com/?ad_id=7477alloc_id=16492op=click ___ Lcms-user mailing list Lcms-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lcms-user
Re: [Lcms-user] Printer-profiling via scanner (was devicelink...)
On Mon, 20 Jun 2005, Hal V Engel wrote: You are saying that your scanner acts like a spectrophotometer? I find it difficult to believe that using LEDs in the scanner causes it to not suffer from metamerism. No I am saying that IF the amount and direction of the color shift caused by metamerism are the same for both the IT8.7 calibration chart and the printer target then metamerism in no longer a significant issue. LED scanners seem Ahhh, but metamerism still exists! Metamerism due to different ink will be elminated but there may still be metamerism which causes the scanner to think that two colors are very similar when they are actually not. Bob == Bob Friesenhahn [EMAIL PROTECTED], http://www.simplesystems.org/users/bfriesen/ GraphicsMagick Maintainer,http://www.GraphicsMagick.org/ --- SF.Net email is sponsored by: Discover Easy Linux Migration Strategies from IBM. Find simple to follow Roadmaps, straightforward articles, informative Webcasts and more! Get everything you need to get up to speed, fast. http://ads.osdn.com/?ad_id=7477alloc_id=16492op=click ___ Lcms-user mailing list Lcms-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lcms-user
Re: [Lcms-user] Re: convert ASCII to devicelink-profile
On Fri, 17 Jun 2005, Gerhard Fuernkranz wrote: Hal V Engel schrieb: The Canon LIDe 20 (and some other scanners) use three light emitting diodes (one each red, green and blue) that results in a light spectrum that is very close to sun light. Actually I don't believe that. LEDs are basically know to be narrow-band light sources, so I'm wondering, whether the LIDEs actually capture the full spectrum w/o holes. Anyway - only the result counts ... This is indeed an interesting issue. At first glance it seemed like nonsense to me, but after some more thought it seems that if the color of the LEDs are indeed narrow-band light sources and their colors happen to be located close to standard primary colors, then it should be possible to capture a nice scan. Using primary-color light sources may not solve metamerism though since there is still the sensor and the properties of what is being scanned to consider. Bob == Bob Friesenhahn [EMAIL PROTECTED], http://www.simplesystems.org/users/bfriesen/ GraphicsMagick Maintainer,http://www.GraphicsMagick.org/ --- SF.Net email is sponsored by: Discover Easy Linux Migration Strategies from IBM. Find simple to follow Roadmaps, straightforward articles, informative Webcasts and more! Get everything you need to get up to speed, fast. http://ads.osdn.com/?ad_id=7477alloc_id=16492op=click ___ Lcms-user mailing list Lcms-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lcms-user
Re: [Lcms-user] changing brightness
On Fri, 10 Jun 2005, Casper Boemann wrote: I'm a developer of krita - the KOffice paint application - which uses lcms I'm about to rework our brightness/contrast dialog, but looking at how other programs does it I'm a bit confused as to what is correct behaviour Now what I intend to do is: convert from whatever colorspace we are working in into CIELAB, change L*, and convert back into the original colorspace. does this sound like the correct thing to do? GraphicsMagick/ImageMagick perform this adjustment using HSL. So the 'L' value gets adjusted. Bob == Bob Friesenhahn [EMAIL PROTECTED], http://www.simplesystems.org/users/bfriesen/ GraphicsMagick Maintainer,http://www.GraphicsMagick.org/ --- This SF.Net email is sponsored by: NEC IT Guy Games. How far can you shotput a projector? How fast can you ride your desk chair down the office luge track? If you want to score the big prize, get to know the little guy. Play to win an NEC 61 plasma display: http://www.necitguy.com/?r=20 ___ Lcms-user mailing list Lcms-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lcms-user
Re: [Lcms-user] Motion picture white points (was Colour clipping)
On Mon, 23 May 2005, James Burgess wrote: Hmmm, do you know for sure that's why they recommend it as a whitepoint? Seems odd to tie your viewing whitepoint to the details of the input side (especially since that means negative in motion picture). Wouldn't you want it to be based on something like the viewing conditions in a theatre? Nope, pure speculation on my part. I agree that theater viewing conditions are also important and 5400K is not much different than the 5300K and 5200K recommended for cinema viewing in the US and Europe respectively. It seems that Germany prefers 5500K. Also most scanners I can think of use silicon detectors which I would think would have a very wavelength dependent response (blue would be very much lower)? Do telecines/datacines use a similar detection mechanism? My understanding is that these usually sweep a CRT beam accross the film to be scanned so that data is captured sequentially. This differs from a typical scanner in which a CCD captures an entire line or even the entire image at once. Bob == Bob Friesenhahn [EMAIL PROTECTED], http://www.simplesystems.org/users/bfriesen/ GraphicsMagick Maintainer,http://www.GraphicsMagick.org/ --- This SF.Net email is sponsored by Yahoo. Introducing Yahoo! Search Developer Network - Create apps using Yahoo! Search APIs Find out how you can build Yahoo! directly into your own Applications - visit http://developer.yahoo.net/?fr=offad-ysdn-ostg-q22005 ___ Lcms-user mailing list Lcms-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lcms-user
Re: [Lcms-user] Colour clipping
On Mon, 23 May 2005, Kevin Wheatley wrote: FYI, Modern motion picture prints are better than those numbers by some margin... Dmax on 2393 is roughly 5... even standard 2383 is 4, see the Kodak web site for details. Hi Kevin, I am glad to see you on this list. Since you are here, perhaps you can shed some light as to why the motion film industry (for which color correction and management are vital) seems to have largely ignored color management as standardized by the ICC. For sure, the requirements of motion film provide new challenges to address, but it seems that ICC CMS has adapted to meet the challenges of other industries. Can it successfully adapt to film as well? Bob == Bob Friesenhahn [EMAIL PROTECTED], http://www.simplesystems.org/users/bfriesen/ GraphicsMagick Maintainer,http://www.GraphicsMagick.org/ --- This SF.Net email is sponsored by Oracle Space Sweepstakes Want to be the first software developer in space? Enter now for the Oracle Space Sweepstakes! http://ads.osdn.com/?ad_id=7412alloc_id=16344op=click ___ Lcms-user mailing list Lcms-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lcms-user
Re: [Lcms-user] Colour clipping
On Mon, 23 May 2005, James Burgess wrote: Kodak Cineon recommends a warmer color temperature of 5400K. See the white paper at http://www.filmlight.ltd.uk/documents/FL-TN-00-002.pdf for a table which lists the various color temperature standards. This is a funny subject. 5400K is *really* red. I have access to a few film projectors. Admittedly they are not quite like the ones in a cineplex but their light is *no where* near this red. Sticking to the wonky color temperature numbers (my projector is like a black body radiator, what?) the ones I have access to are more around 6000-6300. So then, anybody know why this is recommended? The radiant energy accross the visible wavelengths is about as uniform as it can be at 5400K so 5400K is a special case in that regard. If you were scanning some film and your RGB sensors had similar sensitivity, then 5400K would produce the most uniform results. Hotter blackbody temperatures emphasize the purples and blue, while cooler temperatures emphasize the reds. Even 6500K emphasizes the blues a bit. Daylight averages 6500K and incandescent lighting is around 3000K so 5400K is also a reasonable compromise in that regard. The first thing I do when I set up a new computer monitor is to adjust the color temperature so that it is not cranked up to an eye-ball scalding color temperature like 9200K. Bob == Bob Friesenhahn [EMAIL PROTECTED], http://www.simplesystems.org/users/bfriesen/ GraphicsMagick Maintainer,http://www.GraphicsMagick.org/ --- This SF.Net email is sponsored by Oracle Space Sweepstakes Want to be the first software developer in space? Enter now for the Oracle Space Sweepstakes! http://ads.osdn.com/?ad_id=7412alloc_id=16344op=click ___ Lcms-user mailing list Lcms-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lcms-user
Re: [Lcms-user] Colour clipping
On Sun, 22 May 2005, Kai-Uwe Behrmann wrote: Gerhard, I forgot to mention value 255 is defined as white in cineon and value 95 as black. Mapping 255 to white as whitepoint leaves no range above. The used curves are defined as 8 or 16-bit unsigned integers - no fixpoint. Parametric curves would be a choice. but I think they are valid for v4 tables only. Maybe I give it a try. The value 685 (in 10-bit scale) is 90% white in Cineon log. It is true that with the recommended math from Kodak that this is equivalent to 255 (8-bit scale) when mapped for a computer display with a monitor gamma of 2.5. This seems fishy to me since sRGB white point is likely less than 255. Bob == Bob Friesenhahn [EMAIL PROTECTED], http://www.simplesystems.org/users/bfriesen/ GraphicsMagick Maintainer,http://www.GraphicsMagick.org/ --- This SF.Net email is sponsored by Oracle Space Sweepstakes Want to be the first software developer in space? Enter now for the Oracle Space Sweepstakes! http://ads.osdn.com/?ad_id=7412alloc_id=16344op=click ___ Lcms-user mailing list Lcms-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lcms-user
Re: [Lcms-user] Colour clipping
On Sun, 22 May 2005, Kai-Uwe Behrmann wrote: A dim sorounding is assumed , like usual in TV environments. I think with D65 but not shure. Kodak Cineon recommends a warmer color temperature of 5400K. See the white paper at http://www.filmlight.ltd.uk/documents/FL-TN-00-002.pdf for a table which lists the various color temperature standards. My understanding regarding video is that it uses a gamma of 1.0 and is the linear equivalent to the electrical signal values which would be sent to a display device. Charles Poynton's Digital Video And HDTV seems to be a fantastic book on these subjects but I have not sat down and read much of it yet. Bob == Bob Friesenhahn [EMAIL PROTECTED], http://www.simplesystems.org/users/bfriesen/ GraphicsMagick Maintainer,http://www.GraphicsMagick.org/ --- This SF.Net email is sponsored by Oracle Space Sweepstakes Want to be the first software developer in space? Enter now for the Oracle Space Sweepstakes! http://ads.osdn.com/?ad_id=7412alloc_id=16344op=click ___ Lcms-user mailing list Lcms-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lcms-user
Re: [Lcms-user] Colour clipping
On Sat, 21 May 2005, Graeme Gill wrote: I'm not following that line of thought. Usually clipping is a problem at the destination profile, due to real device gamut limits. XYZ PCS certainly has a much greater range than Lab PCS, but how many input profiles are going to have a gamut that exceeds the Lab PCS ? All it takes is one. :-) Kai-Uwe's experiments are with image data which is log encoded to represent a density range of up to (typically) 2.048. This is a common representation for motion picture film images. Up until now, it seems that the film industry has been soundly ignoring ICC CMS and has instead implemented many proprietary methods for performing color adjustments on film images. This is in spite of the fact that color adjustments (a.k.a grading) are done for every film and it plays a significant role in the production of each movie. The necessary color adjustments may be different for a different reel of film, different scene., etc. Accurately preserving/presenting above white information is quite important to the film people since film itself is able to support it and people can see the difference. Bob == Bob Friesenhahn [EMAIL PROTECTED], http://www.simplesystems.org/users/bfriesen/ GraphicsMagick Maintainer,http://www.GraphicsMagick.org/ --- This SF.Net email is sponsored by Oracle Space Sweepstakes Want to be the first software developer in space? Enter now for the Oracle Space Sweepstakes! http://ads.osdn.com/?ad_id=7412alloc_id=16344op=click ___ Lcms-user mailing list Lcms-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lcms-user
Re: [Lcms-user] BOOL - LCMS_BOOL
On Mon, 7 Feb 2005, Hans Leidekker wrote: Actually, there may be a problem in this regard. DWORD is defined as 'unsigned long' on Windows, Wine and MinGW whereas lcms.h defines it as 'unsigned int'. These definitions are compatible on 32 bit systems AFAICS, but I'm not sure about 64 bit systems. Can someone enlighten us here? Anyway, the difference causes compiler warnings and that's why I did this: 'unsigned int' is a 32-bit quantity on 32-bit and normal 64-bit systems. 'unsigned long' is a 64-bit type on 64-bit systems. It would be fine to use 'unsigned long' on 32-bit CPUs, but whatever warnings you are seeing would still be evident when 'unsigned int' is then used on 64-bit CPUs. Bob == Bob Friesenhahn [EMAIL PROTECTED] http://www.simplesystems.org/users/bfriesen --- This SF.Net email is sponsored by: IntelliVIEW -- Interactive Reporting Tool for open source databases. Create drag--drop reports. Save time by over 75%! Publish reports on the web. Export to DOC, XLS, RTF, etc. Download a FREE copy at http://www.intelliview.com/go/osdn_nl ___ Lcms-user mailing list Lcms-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lcms-user
Re: [Lcms-user] Problem in module cmscgats.c
On Fri, 28 Jan 2005, Marti Maria wrote: Hi, I solved the problem changing the original definition :-o Amazing. That's clearly a compiler bug. Ok, I'm going to incorporate the cast to CVS, thanks for let me know. Is this with Visual C++ 8.0, or does it also occur with older versions? I had a user point out a similar compilation issue with pow() when using Visual C++ 8.0. In that case the compiler rejected the code entirely. Bob with // 10 ^n static double xpow10(int n) { return pow(10.0, (double)n); } Bye, Andrea --- This SF.Net email is sponsored by: IntelliVIEW -- Interactive Reporting Tool for open source databases. Create drag--drop reports. Save time by over 75%! Publish reports on the web. Export to DOC, XLS, RTF, etc. Download a FREE copy at http://www.intelliview.com/go/osdn_nl ___ Lcms-user mailing list Lcms-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lcms-user --- This SF.Net email is sponsored by: IntelliVIEW -- Interactive Reporting Tool for open source databases. Create drag--drop reports. Save time by over 75%! Publish reports on the web. Export to DOC, XLS, RTF, etc. Download a FREE copy at http://www.intelliview.com/go/osdn_nl ___ Lcms-user mailing list Lcms-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lcms-user == Bob Friesenhahn [EMAIL PROTECTED] http://www.simplesystems.org/users/bfriesen --- This SF.Net email is sponsored by: IntelliVIEW -- Interactive Reporting Tool for open source databases. Create drag--drop reports. Save time by over 75%! Publish reports on the web. Export to DOC, XLS, RTF, etc. Download a FREE copy at http://www.intelliview.com/go/osdn_nl ___ Lcms-user mailing list Lcms-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lcms-user
Re: [Lcms-user] Fast colour managed preview, how?
On Wed, 22 Dec 2004, Gerhard Fuernkranz wrote: I think PS also uses a trick to excite the impression of an instant update: It updates the screen nearly instantly at low resolution, and then continues in the background to refine the screen display up to full resolution (please correct me, if I'm wrong). Photoshop apparently uses a pyramid-style tiled internal storage scheme rather than traditional linear raster storage. That means that for each supported magnification level a single pixel may represent a complete tile, or a grouping of tiles. Only the displayed pixel needs to be converted for display. Photoshop is multithreaded, so while the user is idle, it may be pre-computing some information. Bob == Bob Friesenhahn [EMAIL PROTECTED] http://www.simplesystems.org/users/bfriesen --- SF email is sponsored by - The IT Product Guide Read honest candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://productguide.itmanagersjournal.com/ ___ Lcms-user mailing list Lcms-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lcms-user
Re: [Lcms-user] Beginner's questions
On Mon, 13 Dec 2004, Marti Maria wrote: * Does it make sense to cache transforms in my application? If you mean caching pixels in a transform, no. There is a one-pixel cache already implemented. If you mean caching yet existing color transforms... hard to say. A transform can take a lot of memory. Creating a transform is a matter of 0.5 seconds on most machines. If you are going to use a lot of simultaneous transforms, maybe. But this is going to make thinks complex. I would first try the easier, non-caching way. If this gives a sluggish feeling to the app, then try caching. Presumably the cache is stored in memory. Is there a possibility of placing the cache in a memory-mapped file so that obtaining access to the cached transform is as easy as memory-mapping the existing file? This way the transform can be removed from memory when it is not needed and only consume disk space. Bob == Bob Friesenhahn [EMAIL PROTECTED] http://www.simplesystems.org/users/bfriesen --- SF email is sponsored by - The IT Product Guide Read honest candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://productguide.itmanagersjournal.com/ ___ Lcms-user mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/lcms-user
Re: [Lcms-user] Beginner's questions
On Mon, 13 Dec 2004, Kai-Uwe Behrmann wrote: Would an transform cache fit in an global memoy space? This using the same memory across applications and save space. Is taking the profile id's of both involved profiles plus creation options sufficent? Using a memory-mapped file obtains the benefit of shared global memory while obtaining the ability to re-use the cache between program invocations. In order for this to work, the transform layout would need to observe certain rules. For example, it would be best to store offsets from the base of the transform rather than storing pointers. That would allow the transform to be loaded at any address. Also, it is best that the transform be able to live in a linear memory region rather than having some parts of it allocated separately from the heap. Bob == Bob Friesenhahn [EMAIL PROTECTED] http://www.simplesystems.org/users/bfriesen --- SF email is sponsored by - The IT Product Guide Read honest candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://productguide.itmanagersjournal.com/ ___ Lcms-user mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/lcms-user
Re: [Lcms-user] Two problems with the precomplied utilities
On Thu, 14 Oct 2004, Gunnar Lieb wrote: Jpegicc.exe works, but if I convert from RGB to CMYK using my CMYK profile the CMYK JPEG is inverted. I can invert it in Photoshop, then it looks normal again. Photoshop's interpretation of CMYK is inverted from the rest of the world. It is not LCMS's fault. Bob == Bob Friesenhahn [EMAIL PROTECTED] http://www.simplesystems.org/users/bfriesen --- This SF.net email is sponsored by: IT Product Guide on ITManagersJournal Use IT products in your business? Tell us what you think of them. Give us Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find out more http://productguide.itmanagersjournal.com/guidepromo.tmpl ___ Lcms-user mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/lcms-user
Re: [Lcms-user] C# and LittleCMS
On Sun, 3 Oct 2004, Glenn Wilton wrote: Has anybody done any work on using LittleCMS.DLL with C#? Im interested in code snippits showing examples how to use DllImport with Structs and UnmanagedTypes. This would give me a big head start. I recommend writing a thin object wrapper in Managed C++. C# will work with objects implemented in Managed C++ just fine. .net supports a wide variety of pixel storage types. Code would need to be written to unpack/pack data in those storage types. GDI+ (which .net wraps in binary form) interfaces well with C++. Bob == Bob Friesenhahn [EMAIL PROTECTED] http://www.simplesystems.org/users/bfriesen --- This SF.net email is sponsored by: IT Product Guide on ITManagersJournal Use IT products in your business? Tell us what you think of them. Give us Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find out more http://productguide.itmanagersjournal.com/guidepromo.tmpl ___ Lcms-user mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/lcms-user
[Lcms-user] Unsigned int support?
LCMS knows how to import/export pixels using 8 and 16 bit sample sizes, but apparenty not 32 bits (4 bytes/sample). Assuming that support for 32 bit unsigned samples is missing, can it be added for a future LCMS release? Bob == Bob Friesenhahn [EMAIL PROTECTED] http://www.simplesystems.org/users/bfriesen --- This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170 Project Admins to receive an Apple iPod Mini FREE for your judgement on who ports your project to Linux PPC the best. Sponsored by IBM. Deadline: Sept. 24. Go here: http://sf.net/ppc_contest.php ___ Lcms-user mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/lcms-user
Re: [Lcms-user] incorrect memory access
On Tue, 10 Aug 2004 [EMAIL PROTECTED] wrote: These are errors fixed in 1.13, though. See for example ReadICCAscii, which no longer exists in latest sources. There are, however, other small bugs that I've fixed in my development sources. Perhaps it would be a good idea to do the release of 1.14 as a maintenance one. I tend to do releases each 5-6 months to minimize noise, and was planning some new features for 1.14, but those can wait as well... Opinions? 1.13 seems to be quite good, but apparently there are a few glitches. If you can release a 1.14 which contains 1.13+fixes, then that should keep the user's happy for quite a while. As far as noise goes, it seems that operating system distributions are having a hard time with keeping lcms up to date. Most of them are still using versions that didn't come with a configure script. If they are still using 1.09 then it doesn't really matter if the latest version is now 1.14. :-) Bob == Bob Friesenhahn [EMAIL PROTECTED] http://www.simplesystems.org/users/bfriesen --- SF.Net email is sponsored by Shop4tech.com-Lowest price on Blank Media 100pk Sonic DVD-R 4x for only $29 -100pk Sonic DVD+R for only $33 Save 50% off Retail on Ink Toner - Free Shipping and Free Gift. http://www.shop4tech.com/z/Inkjet_Cartridges/9_108_r285 ___ Lcms-user mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/lcms-user
Re: [Lcms-user] Compile problem gentoo amd64
I don't know if Gentoo Portage knows about it yet, but LCMS 1.13 is better than 1.12. The components involved are Python, SWIG, and LCMS. Each of these must be built using shared libraries. They should also be built for the same CPU/addressing model. Presumably it is possible to build and execute either 32 or 64 bit programs under Linux for the Opteron. It seems that the liblcms code was not built as a shared library. Check src/.libs in the lcms build directory to see if there are shared libraries present. Bob On Tue, 3 Aug 2004, Daniel Khan wrote: Hello, this may be a Gentoo issue and I may have a broken system - but I have to start somewhere and maybe someone here has an idea what exactly causes the error. I try to emerge lcms-1.12. If I do this with python support enabled (gentoo USE flags) it faild with the following error: (as you can see I allready added fPIC as suggested by the linker) /bin/sh ../mkinstalldirs /var/tmp/portage/lcms-1.12/image//usr/lib/python2.3/site-packages mkdir -p -- /var/tmp/portage/lcms-1.12/image//usr/lib/python2.3/site-packages /bin/install -c -m 644 lcms.py /var/tmp/portage/lcms-1.12/image//usr/lib/python2.3/site-packages/lcms.py /bin/sh ../mkinstalldirs /var/tmp/portage/lcms-1.12/image//usr/lib/python2.3/site-packages /bin/sh ../libtool --mode=install /bin/install -c _lcms.la /var/tmp/portage/lcms-1.12/image//usr/lib/python2.3/site-packages/_lcms.la libtool: install: warning: relinking `_lcms.la' (cd /var/tmp/portage/lcms-1.12/work/lcms-1.12/python; /bin/sh ../libtool --mode=relink g++ -march=opteron -O2 -fPIC -o _lcms.la -rpath /usr/lib/python2.3/site-packages -no-undefined -module -avoid-version -L/usr/lib/python2.3/config -L/usr/local/lib/python2.3/config _lcms_la-lcms_wrap.lo ../src/liblcms.la -lpython2.3 -inst-prefix-dir /var/tmp/portage/lcms-1.12/image/) g++ -shared -nostdlib /usr/lib/gcc/x86_64-pc-linux-gnu/3.4.1/../../../crti.o /usr/lib/gcc/x86_64-pc-linux-gnu/3.4.1/crtbeginS.o .libs/_lcms_la-lcms_wrap.o -Wl,--rpath -Wl,/usr/lib -Wl,--rpath -Wl,/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.1 -L/usr/x86_64-pc-linux-gnu/bin -L/usr/lib/python2.3/config -L/usr/local/lib/python2.3/config -L/usr/lib -L/var/tmp/portage/lcms-1.12/image//usr/lib -llcms -lpython2.3 -L/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.1 -L/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.1/../../.. -L/var/tmp/portage/lcms-1.12/image//usr/lib/gcc/x86_64-pc-linux-gnu/3.4.1 -lstdc++ -lm -lc -lgcc_s /usr/lib/gcc/x86_64-pc-linux-gnu/3.4.1/crtendS.o /usr/lib/gcc/x86_64-pc-linux-gnu/3.4.1/../../../crtn.o -march=opteron -Wl,-soname -Wl,_lcms -o .libs/_lcms /usr/lib/gcc/x86_64-pc-linux-gnu/3.4.1/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib/liblcms.a(liblcms_la-cmscnvrt.o): relocation R_X86_64_32 can not be used when making a shared object; recompile with -fPIC /usr/lib/liblcms.a: could not read symbols: Bad value collect2: ld returned 1 exit status libtool: install: error: relink `_lcms.la' with the above command before installing it make[3]: *** [install-pkgLTLIBRARIES] Error 1 make[3]: Leaving directory `/var/tmp/portage/lcms-1.12/work/lcms-1.12/python' make[2]: *** [install-am] Error 2 make[2]: Leaving directory `/var/tmp/portage/lcms-1.12/work/lcms-1.12/python' make[1]: *** [install] Error 2 make[1]: Leaving directory `/var/tmp/portage/lcms-1.12/work/lcms-1.12/python' make: *** [install-recursive] Error 1 If I compile with USE='-python' it works. It isn't an opteron problem cause it works like a breeze with another opteron which simply was setup a little before and isn't identically setup therefore. So there is something wrong with my system and I am now hoping that you can guess from the compiler output what it might be. Thanks a lot! -- Daniel Khan --- This SF.Net email is sponsored by OSTG. Have you noticed the changes on Linux.com, ITManagersJournal and NewsForge in the past few weeks? Now, one more big change to announce. We are now OSTG- Open Source Technology Group. Come see the changes on the new OSTG site. www.ostg.com ___ Lcms-user mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/lcms-user == Bob Friesenhahn [EMAIL PROTECTED] http://www.simplesystems.org/users/bfriesen --- This SF.Net email is sponsored by OSTG. Have you noticed the changes on Linux.com, ITManagersJournal and NewsForge in the past few weeks? Now, one more big change to announce. We are now OSTG- Open Source Technology Group. Come see the changes on the new OSTG site. www.ostg.com ___ Lcms-user mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/lcms-user