List Info

Thread: Using LCMS on hardware




Using LCMS on hardware
country flaguser name
Argentina
2007-03-05 05:34:34
I am currently using LCMS for ICC profile reading and color
correction.
 All is fine.

However, for speed purposes, I am now trying to use LCMS
just as an ICC
profile reader, leaving the color correction to be done on
the gfx card
with Cg shaders.

Therefore, I am looking into LCMS api to see if it can give
me the
profile data in raw form.
Ideally, I would like to call some lcms functions that would
tell me how
many 2d/3d luts are used, if there is any matrix transform,
etc.  and
then obtain the values of those, so I can use them to feed
my shader.

However, the docs for the API seem somewhat incomplete.  Can
anyone
roughly point me out to how could I do this?  (btw, I will
be dealing
mainly with RGB->RGB transforms, so I really don't need
to handle CMYK
and similar transforms).



-- 
Gonzalo Garramuño
ggarraadvancedsl.com.ar

AMD4400 - ASUS48N-E
GeForce7300GT
Kubuntu Edgy

------------------------------------------------------------
-------------
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.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Lcms-user mailing list
Lcms-userlists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/lcms-user


Re: Using LCMS on hardware
user name
2007-03-05 07:02:37
The most obvious way would be to create a transform with
lcms in the usual 
way. You may use proofings multiprofile transforms with all
bells and 
whistles and convert into a device link. This profile should
include a 3D 
LUT to use later, possibly after some conversions, in your
cg shader.

HDR is only possibly with matrix profiles, best without
gamma and outside 
the above described way.

If you consider going open source, the final application
could be of 
general interesst.

regards
Kai-Uwe Behrmann
--
development for color management 
www.behrmann.name + www.oyranos.org + www.cinepaint.org


Am 05.03.07, 08:34 -0300 schrieb gga:

> I am currently using LCMS for ICC profile reading and
color correction.
>  All is fine.
> 
> However, for speed purposes, I am now trying to use
LCMS just as an ICC
> profile reader, leaving the color correction to be done
on the gfx card
> with Cg shaders.
> 
> Therefore, I am looking into LCMS api to see if it can
give me the
> profile data in raw form.
> Ideally, I would like to call some lcms functions that
would tell me how
> many 2d/3d luts are used, if there is any matrix
transform, etc.  and
> then obtain the values of those, so I can use them to
feed my shader.
> 
> However, the docs for the API seem somewhat incomplete.
 Can anyone
> roughly point me out to how could I do this?  (btw, I
will be dealing
> mainly with RGB->RGB transforms, so I really don't
need to handle CMYK
> and similar transforms).
> 
> 
> 
> -- 
> Gonzalo Garramuño
> ggarraadvancedsl.com.ar
> 
> AMD4400 - ASUS48N-E
> GeForce7300GT
> Kubuntu Edgy
> 
------------------------------------------------------------
-------------
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.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Lcms-user mailing list
Lcms-userlists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/lcms-user


Re: Using LCMS on hardware
country flaguser name
Argentina
2007-03-05 11:41:05
Kai-Uwe Behrmann wrote:
> The most obvious way would be to create a transform
with lcms in the usual 
> way. You may use proofings multiprofile transforms with
all bells and 
> whistles and convert into a device link. This profile
should include a 3D 
> LUT to use later, possibly after some conversions, in
your cg shader.
> 
> HDR is only possibly with matrix profiles, best without
gamma and outside 
> the above described way.

Yes, that's one reason for me to wanting to avoid doing lcms
transforms
and needing the data raw and not wanting lcms to do any
processing.

Basically, I am hoping  lcms' cmsHPROFILE
(_lcms_iccprofile_struct ) is
keeping its data as float and allowing me to get to that
data directly.
Or is lcms all 16 bits as soon as data is read (in which
case I guess
lcms will be pretty much useless to me, and I'll need to it
all with CTL)?



-- 
Gonzalo Garramuño
ggarraadvancedsl.com.ar

AMD4400 - ASUS48N-E
GeForce7300GT
Kubuntu Edgy

------------------------------------------------------------
-------------
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.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Lcms-user mailing list
Lcms-userlists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/lcms-user

Re: Using LCMS on hardware
user name
2007-03-05 13:55:38
Am 05.03.07, 14:41 -0300 schrieb gga:

> > Kai-Uwe Behrmann wrote:

> > HDR is only possibly with matrix profiles, best
without gamma and outside 
> > the above described way.


> Yes, that's one reason for me to wanting to avoid doing
lcms transforms
> and needing the data raw and not wanting lcms to do any
processing.
> 
> Basically, I am hoping  lcms' cmsHPROFILE
(_lcms_iccprofile_struct ) is
> keeping its data as float and allowing me to get to
that data directly.
> Or is lcms all 16 bits as soon as data is read (in
which case I guess
> lcms will be pretty much useless to me, and I'll need
to it all with CTL)?

I am afraid the profile itself contains only 16-bit values
in the LUT 
part of its tables at a extent. The matrixes can be of a
signed 15/16-bit 
type, thus reaching from -32767 to 32767 with 16-bit
precision after the 
point.

Still, matrix profiles with gamma 1.0 seems to be a good
option. As a hint 
Greg Ward recommended to use XYZ with a illuminant of type
E.

Possibly you need some intermediate step to transform from a
CLUT 
colour description or chain as described to a matrix based
RGB.
The matrix RGB description could remain final or go to XYZ.

HDR data should allread be in gamma 1 matrix colour space.
For such data a 
a conversion through the limitted range of curves or LUT may
result in 
clipping.

At least a splitting in matrix based HDR and possibly CLUT
based LDR 
transforms should occure.

regards
Kai-Uwe Behrmann
--
development for color management 
www.behrmann.name + www.oyranos.org + www.cinepaint.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.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Lcms-user mailing list
Lcms-userlists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/lcms-user


[1-4]

about | contact  Other archives ( Real Estate discussion Medical topics )