X Color Management EDID data block parsing API's(3)

NAME
X Color Management EDID data block parsing API's -

EDID data block parsing.

  Macros
#define XCM_EDID_KEY_VENDOR 'vendor'
#define XCM_EDID_KEY_MODEL 'model'
#define XCM_EDID_KEY_SERIAL 'serial'
#define XCM_EDID_KEY_REDx 'red_x'
#define XCM_EDID_KEY_REDy 'red_y'
#define XCM_EDID_KEY_GREENx 'green_x'
#define XCM_EDID_KEY_GREENy 'green_y'
#define XCM_EDID_KEY_BLUEx 'blue_x'
#define XCM_EDID_KEY_BLUEy 'blue_y'
#define XCM_EDID_KEY_WHITEx 'white_x'
#define XCM_EDID_KEY_WHITEy 'white_y'
#define XCM_EDID_KEY_GAMMA 'gamma'
#define XCM_EDID_KEY_WEEK 'week'
#define XCM_EDID_KEY_YEAR 'year'
#define XCM_EDID_KEY_MNFT_ID 'mnft_id'
#define XCM_EDID_KEY_MODEL_ID 'model_id'
#define XCM_EDID_KEY_MNFT 'mnft'
#define XCM_EDID_KEY_MANUFACTURER 'manufacturer'
#define XCM_EDID_KEY_A3RED 'a3red'
#define XCM_EDID_KEY_A2RED 'a2red'
#define XCM_EDID_KEY_A3GREEN 'a3green'
#define XCM_EDID_KEY_A2GREEN 'a2green'
#define XCM_EDID_KEY_A3BLUE 'a3blue'
#define XCM_EDID_KEY_A2BLUE 'a2blue'

  Functions
XCM_EDID_ERROR_e XcmEdidParse (void *edid, XcmEdidKeyValue_s **list, int *count)
EDID to key/value pair transformation.
XCM_EDID_ERROR_e XcmEdidFree (XcmEdidKeyValue_s **list)
free library allocated list
const char * XcmEdidErrorToString (XCM_EDID_ERROR_e error)
convert enum into a meaningful text string
XCM_EDID_ERROR_e XcmEdidPrintString (void *edid, char **text, void *(*alloc)(size_t sz))
convert a EDID block into text
XCM_EDID_ERROR_e XcmEdidPrintOpenIccJSON (void *edid, char **text, void *(*alloc)(size_t sz))
convert a EDID block into a device configuration

Detailed Description

EDID data block parsing. The purpouse of this API is to obtain basic and displayable device identification strings and colorimetric informations contained in the EDID data block sent by monitors.

The user has to pass in a valid EDID block. This can be obtained per a root window X atom or a XRandR output property and is not part of this API. The data block is passed to XcmEdidParse(). This function generates a list of key value pairs, with some first rough interpretation. The key/values are useable for data bases, ICC profile generation or device identification. The returned XcmEdidKeyValue_s list elements can be individually read and worked with. Please look as well on the XcmEdidPrintString() function and examples/edid-parse/ as a small example on how to use the API. The XcmEdidPrintOpenIccJSON() will pull out a JSON data structure. XcmEdidFree() releases allocated list memory.

XcmEdidParse.h

Xcm Xorg Colour Management

Copyright:
    2005-2011 (C) Kai-Uwe Behrmann

Macro Definition Documentation

  #define XCM_EDID_KEY_A2BLUE 'a2blue'
transfer value for blue component, double

Referenced by XcmEdidParse().

  #define XCM_EDID_KEY_A2GREEN 'a2green'
transfer value for green component, double

Referenced by XcmEdidParse().

  #define XCM_EDID_KEY_A2RED 'a2red'
transfer value for red component, double

Referenced by XcmEdidParse().

  #define XCM_EDID_KEY_A3BLUE 'a3blue'
transfer value for blue component, double

Referenced by XcmEdidParse().

  #define XCM_EDID_KEY_A3GREEN 'a3green'
transfer value for green component, double

Referenced by XcmEdidParse().

  #define XCM_EDID_KEY_A3RED 'a3red'
transfer value for red component, double

Referenced by XcmEdidParse().

  #define XCM_EDID_KEY_BLUEx 'blue_x'
colorimetric primary blue CIE*xyY x component, double

Referenced by XcmEdidParse().

  #define XCM_EDID_KEY_BLUEy 'blue_y'
colorimetric primary blue CIE*xyY y component, double

Referenced by XcmEdidParse().

  #define XCM_EDID_KEY_GAMMA 'gamma'
colorimetric single gamma for all channels, double

Referenced by XcmEdidParse().

  #define XCM_EDID_KEY_GREENx 'green_x'
colorimetric primary green CIE*xyY x component, double

Referenced by XcmEdidParse().

  #define XCM_EDID_KEY_GREENy 'green_y'
colorimetric primary green CIE*xyY y component, double

Referenced by XcmEdidParse().

  #define XCM_EDID_KEY_MANUFACTURER 'manufacturer'
full length manufacturer, string

  #define XCM_EDID_KEY_MNFT 'mnft'
manufacturer ID, string

  #define XCM_EDID_KEY_MNFT_ID 'mnft_id'
manufacturer ID, integer

  #define XCM_EDID_KEY_MODEL 'model'
full length device model, string

  #define XCM_EDID_KEY_MODEL_ID 'model_id'
model ID, integer

  #define XCM_EDID_KEY_REDx 'red_x'
colorimetric primary red CIE*xyY x component, double

Referenced by XcmEdidParse().

  #define XCM_EDID_KEY_REDy 'red_y'
colorimetric primary red CIE*xyY y component, double

Referenced by XcmEdidParse().

  #define XCM_EDID_KEY_SERIAL 'serial'
full length device serial number, string

  #define XCM_EDID_KEY_VENDOR 'vendor'
full length vendor, string

  #define XCM_EDID_KEY_WEEK 'week'
manufactur week, integer

  #define XCM_EDID_KEY_WHITEx 'white_x'
colorimetric primary white CIE*xyY x component, double

Referenced by XcmEdidParse().

  #define XCM_EDID_KEY_WHITEy 'white_y'
colorimetric primary white CIE*xyY y component, double

Referenced by XcmEdidParse().

  #define XCM_EDID_KEY_YEAR 'year'
manufactur year, integer

Function Documentation

  const char * XcmEdidErrorToString (XCM_EDID_ERROR_eerror)

convert enum into a meaningful text string Function XcmEdidErrorToString

Parameters:
    error the error

Returns:
    library owned error text string

Version:
    libXcm: 0.3.0

Since:
    2009/12/12 (libXcm: 0.3.0)

Date:
    2010/10/01

  XCM_EDID_ERROR_e XcmEdidFree (XcmEdidKeyValue_s **list)

free library allocated list Function XcmEdidFree

Parameters:
    list the key/value data structures

Returns:
    error code

Version:
    libXcm: 0.3.0

Since:
    2009/12/12 (libXcm: 0.3.0)

Date:
    2010/10/01

Referenced by XcmEdidPrintOpenIccJSON(), and XcmEdidPrintString().

  XCM_EDID_ERROR_e XcmEdidParse (void *edid, XcmEdidKeyValue_s **list, int *count)

EDID to key/value pair transformation. Function XcmEdidParse The function performs no verification of the data block other than the first eight byte block signature.

Parameters:
    edid EDID data block 128 or 256 bytes long
    list the key/value data structures
    count pass in a pointer to a int. gives the number of elements in list

Returns:
    error code

Version:
    libXcm: 0.3.0

Since:
    2009/12/12 (libXcm: 0.3.0)

Date:
    2010/10/01

References XCM_EDID_KEY_A2BLUE, XCM_EDID_KEY_A2GREEN, XCM_EDID_KEY_A2RED, XCM_EDID_KEY_A3BLUE, XCM_EDID_KEY_A3GREEN, XCM_EDID_KEY_A3RED, XCM_EDID_KEY_BLUEx, XCM_EDID_KEY_BLUEy, XCM_EDID_KEY_GAMMA, XCM_EDID_KEY_GREENx, XCM_EDID_KEY_GREENy, XCM_EDID_KEY_REDx, XCM_EDID_KEY_REDy, XCM_EDID_KEY_WHITEx, and XCM_EDID_KEY_WHITEy.

Referenced by XcmEdidPrintOpenIccJSON(), and XcmEdidPrintString().

  XCM_EDID_ERROR_e XcmEdidPrintOpenIccJSON (void *edid, char **text, void *(*)(size_t sz)alloc)

convert a EDID block into a device configuration Function XcmEdidPrintOpenIccJSON

Parameters:
    edid the EDID data block
    text the resulting text string
    alloc a user provided function to allocate text

Returns:
    error code

Version:
    libXcm: 0.4.2

Since:
    2011/06/19 (libXcm: 0.4.2)

Date:
    2011/06/19

References XcmEdidFree(), and XcmEdidParse().

  XCM_EDID_ERROR_e XcmEdidPrintString (void *edid, char **text, void *(*)(size_t sz)alloc)

convert a EDID block into text Function XcmEdidPrintString

Parameters:
    edid the EDID data block
    text the resulting text string
    alloc a user provided function to allocate text

Returns:
    error code

Version:
    libXcm: 0.3.0

Since:
    2009/12/12 (libXcm: 0.3.0)

Date:
    2010/10/01

References XcmEdidFree(), and XcmEdidParse().

Author

Generated automatically by Doxygen for Xcm-0.5.4 from the source code.