Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ dcc(7) — SunOS 5.6

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

xcmsdb(1)

xcms2kcms(1)

dcc(7)

NAME

dcc − Device Color Characterization file format

AVAILABILITY

X11 R5 and later

DESCRIPTION

dcc device color characterization file format

A file with data in dcc format is normally identified by its .dcc suffix.  The program, xcmsdb, uses this file format to communicate color characterization data to the XDCCC properties of the root window system. 

For more information on XDCCC tables see:

Robert W. Scheifler & James Gettys "X Window System", Third Edition. Version 11, Release 5

The format is based upon keywords delineating lines of data in the file.  For every "BEGIN" keyword, there must be an "END" keyword.  Everthing before the first encountered keyword is treated as a comment and is passed over. 

dcc file keywords are defined as follows:

SCREENDATA_BEGIN version

Beginning of the .dcc file data.  This must be followed by a number respresenting the file format’s version number (for example, 1.1 or 0.3 are current valid values) which must match the current version of xcmsdb(1) and support older versions if it is 0.3.  SCREENDATA_BEGIN must be the first keyword of the file. 

SCREENDATA_END

End of .dcc file data

COMMENT [string]

Indicates a comment as opposed to data (optional).  These lines will be skipped over until the keyword is encountered. 

NAME [string]

Device name (optional). 

MODEL [string]

Device model number (optional)

PART_NUMBER [string]

Device part number (optional)

SERIAL_NUMBER [string]

Device serial number (optional)

REVISION [string]

Device revision number (optional)

SCREEN_CLASS VIDEO_RGB | VIDEO_GRAY [screen]

This keyword must be followed by the keywords VIDEO_RGB or VIDEO_GRAY followed by an optional numeric screen number (for example, 0 or 1). 

COLORIMETRIC_BEGIN

Beginning of XYZ/RGB matrix information

COLORIMETRIC_END

End of XYZ/RGB matrix information

XYZtoRGB_MATRIX_BEGIN

The 3x3 matrix of XcmsFloat values, respresenting the XYZtoRGB conversion matrix follows.  This keyword must be followed by 9 XcmsFloat values and the visual must be VIDEO_RGB. 

XYZtoRGB_MATRIX_END

End of above matrix. 

RGBtoXYZ_MATRIX_BEGIN

The 3x3 matrix of XcmsFloat values, respresenting the RGBtoXYZ conversion matrix follows.  representing the XYZtoRGB conversion matrix follows.  This keyword must be followed by 9 XcmsFloat values and the visual must be VIDEO_RGB. 

RGBtoXYZ_MATRIX_END

End of above matrix

INTENSITY_PROFILE_BEGIN table-type  number-of-tables [depth:value] [class:value] [bits_per_rgb:value] [red_mask:value] [blue_mask:value] [green_mask:value] [colormap_size:value] [visualid:value]

Beginning of the set of red, green, and/or blue intensity profile tables.  This keyword requires the following information to appear on the same line:

Integer table-type value, either 0 or 1, see INTENSITY_TBL_BEGIN. 

Integer number-of-tables to follow (usually 3 for RGB). 

Valid values = [0, 1, or 3]. 

There are several optional visual options allowed to follow on the same line. Each is of the format        keyword:value. 

depth:value  where value = integer = XDCCC_Correction visual depth

class:value  where value = text string =  XDCCC_Correction visual id

Valid values = [GrayScale, StaticColor, PseudoColor, TrueColor, or DirectColor]

bits_per_rgb:value  where value = integer = XDCCC_Correction visual bits_per_rgb. 

red_mask:value  where value = long = XDCCC_Correction visual red mask

blue_mask:value  where value = long =  XDCCC_Correction visual blue mask

green_mask:value  where value = long = XDCCC_Correction visual green mask

colormap_size:value  where value = integer =XDCCC_Correction visual colormap_size

visualid:value  where value = integer = XDCCC_Correction visualid (This number is not guarenteed be consistent between machines or even between different executions on the same machine.  This is why the class option, above, was introduced.) 

INTENSITY_PROFILE_END

End of intensity profile tables. 

INTENSITY_TBL_BEGIN RED|GREEN|BLUE #-intensity-entries

Beginning of a single red, green,or blue intensity (gamma) table values.  This keyword must be followed by one of the RED, GREEN, or BLUE keywords, followed by the number of intensity entries for this table which will be provided on subsequent lines. 

There are two table types indicated by the first value following the INTENSITY_PROFILE_BEGIN keyword.  They are fully described in the reference above.  A short description is below:

Table type 0 has as many value/intensity pairs as indicated in the above number of intensity entries, one pair per line:

value  intensity

value = integer X Protocol RGB value

intensity = floating point number, 0 <= intensity <= 1. 

Table 1 has as many intensities as indicated in the above number of intensity entries, one per line.  If there are less than 256, intermediate values will be interpolated:

intensity

where intensity = floating point number, 0 <= intensity <= 1

INTENSITY_TBL_END

End of 1 RED, BLUE, or GREEN set of intensities. 

The XDCCC_Correction structure used to build a dcc file appears as follows:

typedef struct _XDCCC_Correction {
    XVisualInfovisual_info;
    longvisual_info_mask;
    inttableType;
    intnTables;
    IntensityTbl∗pRedTbl;
    IntensityTbl∗pGreenTbl;
    IntensityTbl∗pBlueTbl;
    struct _XDCCC_Correction∗next;
} XDCCC_Correction;

 

EXAMPLES

/∗
 ∗ This device profile generated on Tue Aug 31 22:09:30 1993
 ∗     by:
 ∗                 XcmsCal version 1.1 (Jun 1993)
 ∗     The X Color Management System Calibrator
 ∗                 SynChromatics, Inc.
 ∗            e-mail: support@synchrom.com
 ∗/
SCREENDATA_BEGIN        1.1
     SCREEN_CLASS        VIDEO_RGB    0
     COLORIMETRIC_BEGIN
        XYZtoRGB_MATRIX_BEGIN
           3.059762352756600   -1.393353891792378   -0.477589063231239
          -1.104099573430360    2.055980456011441    0.048048668881401
           0.061427111899796   -0.208687811828992    0.740355077052951
        XYZtoRGB_MATRIX_END
        RGBtoXYZ_MATRIX_BEGIN
           0.438353502994949    0.323645868857936    0.261769104688723
           0.234707790907042    0.656492693226741    0.108799515866217
           0.029788227712649    0.158196244287510    1.359652204744125
        RGBtoXYZ_MATRIX_END
    COLORIMETRIC_END
   INTENSITY_PROFILE_BEGIN  1  3
        INTENSITY_TBL_BEGIN        RED      4
            0.000000000000000000
            0.065240451524205073
            0.373267096523391184
            1.000000000000000000
        INTENSITY_TBL_END
        INTENSITY_TBL_BEGIN        GREEN    4
            0.000000000000000000
            0.065970557751313524
            0.382422900320560866
            1.000000000000000000
        INTENSITY_TBL_END
        INTENSITY_TBL_BEGIN        BLUE     4
            0.000000000000000000
            0.074217889066191076
            0.402193543745107795
            1.000000000000000000
        INTENSITY_TBL_END
    INTENSITY_PROFILE_END
  INTENSITY_PROFILE_BEGIN  1  3  depth:8 class:DirectColor bits_per_rgb:8
         INTENSITY_TBL_BEGIN        RED      4
            0.000000000000000000
            0.064006921368752454
            0.368894358278727741
            1.000000000000000000
        INTENSITY_TBL_END
        INTENSITY_TBL_BEGIN        GREEN    4
            0.000000000000000000
            0.064617315485521326
            0.380766093039437870
            1.000000000000000000
        INTENSITY_TBL_END
        INTENSITY_TBL_BEGIN        BLUE     4
            0.000000000000000000
            0.071261070994832532
            0.395361711799721904
            1.000000000000000000
        INTENSITY_TBL_END
    INTENSITY_PROFILE_END
 SCREENDATA_END

SEE ALSO

xcmsdb(1), xcms2kcms(1)

SunOS 5.6  —  Last change: 23 April 1995

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026