344 lines
10 KiB
HTML
Executable File
344 lines
10 KiB
HTML
Executable File
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
|
<html>
|
|
<head>
|
|
<title>Calibration Format File (.cal)</title>
|
|
<meta http-equiv="content-type" content="text/html;
|
|
charset=windows-1252">
|
|
<meta name="author" content="Graeme Gill">
|
|
</head>
|
|
<body>
|
|
<h2>Description of the .cal format</h2>
|
|
Device calibration information. This is ASCII text, <a
|
|
href="File_Formats.html#CGATS">CGATS</a>, Argyll specific format,
|
|
used to hold a description of device setup information that when
|
|
used to transform device values fed into it, brings it to a desired
|
|
calibration state. Calibration files are created by <a
|
|
href="synthcal.html">synthcal</a>, <a href="dispcal.html">dispcal</a>
|
|
and <a href="printcal.html">printcal</a>.<br>
|
|
|
|
|
|
<br>
|
|
While fully compatible with the CGATS.5 Data Exchange Format, the
|
|
particular required keywords and fields are unique to Argyll, hence
|
|
an Argyll specific file identifier <span style="font-weight: bold;">CAL</span>
|
|
is used to avoid confusion with standard ANSI or CGATS files.<br>
|
|
<br>
|
|
The <span style="font-weight: bold;">.cal</span> format changes
|
|
from time to time with new releases, to add new functionality, but
|
|
generally retains backwards compatibility. Note that in the
|
|
description below, the word "may" indicates an optional component,
|
|
while the word "shall" indicates a necessary component.<br>
|
|
<br>
|
|
Generally a .cal file contains only one table, the table containing
|
|
the setup information. Any subsequent tables are for internal use by
|
|
ArgyllCMS tools, and shouldn't be relied on to remain consistent in
|
|
their purpose or details.<br>
|
|
<br>
|
|
<br>
|
|
The table contains the following:<br>
|
|
<br>
|
|
The file identifier (First 7 characters) shall be <span
|
|
style="font-weight: bold;">CAL</span>.<br>
|
|
|
|
|
|
<br>
|
|
A <span style="font-weight: bold;">#</span> character introduces a
|
|
comment.<br>
|
|
<br>
|
|
<span style="font-weight: bold;"><span style="font-weight: bold;"><span
|
|
style="font-weight: bold;"></span></span></span>There may be <span
|
|
style="font-weight: bold;">DESCRIPTOR</span>, <span
|
|
style="font-weight: bold;">ORIGINATOR</span>, or <span
|
|
style="font-weight: bold;">CREATED</span> keywords and values (as
|
|
per CGATS).<br>
|
|
<br>
|
|
There shall be a <span style="font-weight: bold;">DEVICE_CLASS</span>
|
|
keyword that has a value of <span style="font-weight: bold;">"OUTPUT</span>",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"<span style="font-weight: bold;">DISPLAY</span>" or <span
|
|
style="font-weight: bold;">"INPUT"</span>.<br>
|
|
This indicates what type of device the calibration information is
|
|
suitable for.<br>
|
|
|
|
|
|
<br>
|
|
A <span style="font-weight: bold;">"DISPLAY"</span> type device may
|
|
have a <span style="font-weight: bold;">VIDEO_LUT_CALIBRATION_POSSIBLE
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</span>keyword that must have a value of "<span style="font-weight:
|
|
bold;">NO</span>" or "<span style="font-weight: bold;">YES</span>",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
to indicate whether the display has the ability to be calibrated by
|
|
loading VideoLUT values.<br>
|
|
<br>
|
|
A <span style="font-weight: bold;">"DISPLAY"</span> type device may
|
|
have a <span style="font-weight: bold;">TV_OUTPUT_ENCODING </span>keyword
|
|
|
|
|
|
|
|
|
|
|
|
|
|
that must have a value of "<span style="font-weight: bold;">NO</span>"
|
|
or "<span style="font-weight: bold;">YES</span>", to indicate
|
|
whether the calibration was created withing the video (16-235)/255
|
|
compressed range of device value. This is used to signal to a
|
|
VideoLUT loader whether calibration values should be converted to
|
|
video encoded range when loaded into hardware. The calibration
|
|
values stored in the .cal file are never video encoded themselves,
|
|
i.e. 0.0 is always device minimum, and 1.0 is always device maximum.<br>
|
|
<br>
|
|
There shall be a keyword <span style="font-weight: bold;">COLOR_REP</span>
|
|
that has a value that indicates what colorspaces of the device
|
|
values. The colorspaces shall be encoded with one or two
|
|
letters per component. The device spaces shall use the following
|
|
letter encoding:<br>
|
|
<br>
|
|
<span style="font-weight: bold;"><span style="font-weight: bold;"></span></span>
|
|
Cyan
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
C<br>
|
|
Magenta
|
|
M<br>
|
|
Yellow
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Y<br>
|
|
Black
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
K<br>
|
|
Orange
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
O<br>
|
|
Red
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
R<br>
|
|
Green
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
G<br>
|
|
Blue
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
B<br>
|
|
White
|
|
|
|
W<br>
|
|
Light Cyan
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
c<br>
|
|
Light
|
|
Magenta
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
m<br>
|
|
Light
|
|
Yellow
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
y<br>
|
|
Light
|
|
Black
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
k<br>
|
|
Medium Cyan
|
|
2c<br>
|
|
Medium Magenta
|
|
2m<br>
|
|
Medium Yellow
|
|
2y<br>
|
|
Medium Black
|
|
2k<br>
|
|
Light Light Black 1k<br>
|
|
<br>
|
|
There may be an a prefix <span style="font-weight: bold;">i</span>
|
|
preceding the device space letter encoding, indicating that although
|
|
the space appears to be an additive space, it is in fact a
|
|
subtractive device.<br>
|
|
<br>
|
|
Typical values might be: "<span style="font-weight: bold;">RGB</span><span
|
|
style="font-weight: bold;"></span>" for an RGB display, "<span
|
|
style="font-weight: bold;">iRGB</span><span style="font-weight:
|
|
bold;"></span>" for an RGB printer, "<span style="font-weight:
|
|
bold;">CMYK</span>" for a printer, "<span style="font-weight:
|
|
bold;">RGB"</span> for an RGB scanner.<br>
|
|
<br>
|
|
|
|
|
|
<br>
|
|
The <span style="font-weight: bold;">NUMBER_OF_FIELDS</span>
|
|
keyword shall have a value that indicates the number of fields in
|
|
each data set, e.g. <span style="font-weight: bold;">4</span> (as
|
|
per CGATS).<br>
|
|
<br>
|
|
The start of the declaration of the fields shall be marked by the <span
|
|
style="font-weight: bold;">BEGIN_DATA_FORMAT</span> keyword (as
|
|
per CGATS).<br>
|
|
<br>
|
|
The fields shall use the standard CGATS pattern of the full
|
|
colorspace identified followed by the individual colorant
|
|
identifier. There shall be an initial input index value identified
|
|
by the letter <span style="font-weight: bold;">I</span>.<br>
|
|
<br>
|
|
For an RGB device, the following fields would be used to define the
|
|
calibration transformation:<br>
|
|
<br>
|
|
<span style="font-weight: bold;">RGB_I</span>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
The device value input value between 0.0 and 1.0.<br>
|
|
<span style="font-weight: bold;">RGB_R</span>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
The Red device value output value between 0.0 and 1.0.<br>
|
|
<span style="font-weight: bold;">RGB_G</span>
|
|
The Green device value output value between 0.0
|
|
and 1.0.<br>
|
|
<span style="font-weight: bold;">RGB_B</span>
|
|
The Blue device value output value between 0.0
|
|
and 1.0.<br>
|
|
<br>
|
|
The corresponding field names for a CMYK device would be <span
|
|
style="font-weight: bold;">CMYK_I</span>, <span
|
|
style="font-weight: bold;">CMYK_C</span>, <span
|
|
style="font-weight: bold;">CMYK_M</span>, <span
|
|
style="font-weight: bold;">CMYK_Y</span> and <span
|
|
style="font-weight: bold;">CMYK_K</span>, etc.<br>
|
|
<br>
|
|
The definition of the fields shall be terminated by the <span
|
|
style="font-weight: bold;">END_DATA_FORMAT</span> keyword (as per
|
|
CGATS).<br>
|
|
<br>
|
|
The <span style="font-weight: bold;">NUMBER_OF_SETS</span> keyword
|
|
shall have a value that indicates the number of sets of data, e.g. <span
|
|
style="font-weight: bold;">256</span> (as per CGATS).<br>
|
|
<br>
|
|
The start of the values of the data sets shall be marked by the <span
|
|
style="font-weight: bold;">BEGIN_DATA</span> keyword (as per
|
|
CGATS).<br>
|
|
<br>
|
|
Each set of data shall be on one line, and shall be separated by
|
|
white space. All values shall be normalized to lie between 0.0 and
|
|
1.0.<br>
|
|
<br>
|
|
The end of the values of the data sets shall be marked by the <span
|
|
style="font-weight: bold;">END_DATA</span> keyword (as per CGATS).<br>
|
|
|
|
|
|
<br>
|
|
There may then be device type specific extra tables that hold target
|
|
or device behavior information. These will be specific to the tool
|
|
that creates that particular type of calibration.<br>
|
|
<br>
|
|
Generally any other keywords and values will be ignored.<br>
|
|
<br>
|
|
<br>
|
|
</body>
|
|
</html>
|