Hi Martin,

VCGT is an Apple addition that is not part of the official "ICC" spec. 
This is not a real tag but a sort of setting for the graphics card. That 
is,  the ICC profile is a characterization of the display in a given 
generic state, and VCGT is the setting
to bring the display into that generic state.

So, for doing the color management on a system without VCGT support, you 
have only to ignore the VCGT.  'gamt' tags are 3D LUTs for gamut, has 
nothing to do  with gamma.

If anyway, you wish to apply the VCGT curves, you can do the trick by 
using cmsCreateLinearizationDevicelink(), but this is not really right 
as VCGT is a setting for the display and not a stage in the color transform.

My recommendation would be to create a brand new profile for the remote 
display, there is no point in applying a profile made for device that 
you are not using, at least in the way it was intended to be used.

> Where should I put the tone curves from the VCGT tag, so Little CMS will
> apply the the gamma correction in a transformation directly without a
> multi-profile transformation?
There is no way to do that. Just because VCGT is not a part of the color 
transform. Again, you best option is to create a new profile.

Regards
Marti

El 04/10/2013 18:37, Martin Florek escribió:
> I need to make a color conversion including the gamma all in the
> software, I convert L*a*b* to RGB. One reason is that part of my project
> is on a system with no VCGT support. The second is that when on a PC
> (Win or MAC), I would like to have the gamma applied also in software so
> it can be streamed via VNC to a remote desktop.
>
> I see that when doing a color conversion with Little CMS, the VCGT tag
> is ignored. I tried to extract the VCGT and write the tone curves to the
> GAMT tag, but I got an error "Malformed struct in type 'mBA ' for tag
> 'gamt'". This is the code:
>
> cmsToneCurve **gammaCurves = (cmsToneCurve**)cmsReadTag(inProfile,
> cmsSigVcgtTag);
> cmsWriteTag(inProfile, cmsSigGamutTag, gammaCurves);
>
> VCGT data is read OK, there are all the values. But I am unable to save
> them as GAMT.
>
> Further I tried to save the gamma curves in the TRC tags, which was
> successful, but the TRC tags are also ignored when doing color
> conversion with Little CMS.
>
> In the system with no VCGT support I create a multi-profile transform
> (cmsCreateMultiprofileTransform(...)) with three profiles: Lab, my
> profile with VCGT and the third profile is a Linearization device link
> with color space from the second and tone curves extracted from the VCGT
> tag. This multi-profile transform looks that it works good, the final
> RGB values are a bit shifted.
>
> Where should I put the tone curves from the VCGT tag, so Little CMS will
> apply the the gamma correction in a transformation directly without a
> multi-profile transformation? And where should I put them, so Windows
> 7/8 and MAC OS X 10.8 will apply them in software instead of uploading
> them to a GPU? Thank you.
>
>


------------------------------------------------------------------------------
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from 
the latest Intel processors and coprocessors. See abstracts and register >
http://pubads.g.doubleclick.net/gampad/clk?id=60134791&iu=/4140/ostg.clktrk
_______________________________________________
Lcms-user mailing list
Lcms-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/lcms-user

Reply via email to