Oyranos Color Management System API
Macros | Typedefs | Enumerations | Functions
oyranos_image.h File Reference
#include <oyranos_icc.h>
#include <oyranos_types.h>

Macros

#define oyChannels_m(c)   (c)
 
#define oyColorOffset_m(o)   ((o) << 8)
 
#define oyDataType_m(t)   ((t) << 16)
 
#define oySwapColorChannels_m(s)   ((s) << 20)
 
#define oyPlanar_m(p)   ((p) << 21)
 
#define oyFlavor_m(p)   ((f) << 22)
 
#define oyByteSwap_m(x)   ((x) << 23)
 
#define OY_TYPE_123_8   (oyChannels_m(3)|oyDataType_m(oyUINT8))
 
#define OY_TYPE_123_16   (oyChannels_m(3)|oyDataType_m(oyUINT16))
 
#define OY_TYPE_123_HALF   (oyChannels_m(3)|oyDataType_m(oyHALF))
 
#define OY_TYPE_123_FLOAT   (oyChannels_m(3)|oyDataType_m(oyFLOAT))
 
#define OY_TYPE_123_DBL   (oyChannels_m(3)|oyDataType_m(oyDOUBLE))
 
#define OY_TYPE_123A_8   (oyChannels_m(4)|oyDataType_m(oyUINT8))
 
#define OY_TYPE_123A_16   (oyChannels_m(4)|oyDataType_m(oyUINT16))
 
#define OY_TYPE_123A_HALF   (oyChannels_m(4)|oyDataType_m(oyHALF))
 
#define OY_TYPE_123A_FLOAT   (oyChannels_m(4)|oyDataType_m(oyFLOAT))
 
#define OY_TYPE_123A_DBL   (oyChannels_m(4)|oyDataType_m(oyDOUBLE))
 
#define OY_TYPE_123AZ_HALF   (oyChannels_m(5)|oyDataType_m(oyHALF))
 
#define OY_TYPE_123AZ_FLOAT   (oyChannels_m(5)|oyDataType_m(oyFLOAT))
 
#define OY_TYPE_123AZ_DBL   (oyChannels_m(5)|oyDataType_m(oyDOUBLE))
 
#define OY_TYPE_1234_8   (oyChannels_m(4)|oyDataType_m(oyUINT8))
 
#define OY_TYPE_1234A_8   (oyChannels_m(5)|oyDataType_m(oyUINT8))
 
#define OY_TYPE_1_8   (oyChannels_m(1)|oyDataType_m(oyUINT8))
 
#define OY_TYPE_1_16   (oyChannels_m(1)|oyDataType_m(oyUINT16))
 
#define oyToChannels_m(c)   ((c)&255)
 
#define oyToColorOffset_m(o)   (((o) >> 8)&255)
 
#define oyToDataType_m(t)   ((oyDATATYPE_e)(((t) >> 16)&15))
 
#define oyToSwapColorChannels_m(s)   (((s) >> 20)&1)
 
#define oyToPlanar_m(p)   (((p) >> 21)&1)
 
#define oyToFlavor_m(f)   (((f) >> 22)&1)
 
#define oyToByteswap_m(x)   (((x) >> 23)&1)
 

Typedefs

typedef uint32_t oyPixel_t
 

Enumerations

enum  oyDATATYPE_e {
  oyUINT8, oyUINT16, oyUINT32, oyHALF,
  oyFLOAT, oyDOUBLE
}
 Basic data types for anonymous pointers. More...
 
enum  oyCHANNELTYPE_e {
  oyCHANNELTYPE_UNDEFINED, oyCHANNELTYPE_OTHER, oyCHANNELTYPE_LIGHTNESS, oyCHANNELTYPE_COLOR,
  oyCHANNELTYPE_COLOR_LIGHTNESS, oyCHANNELTYPE_COLOR_LIGHTNESS_PREMULTIPLIED, oyCHANNELTYPE_DEPTH, oyCHANNELTYPE_ALPHA1,
  oyCHANNELTYPE_ALPHA2, oyCHANNELTYPE_ALPHA3, oyCHANNELTYPE_U, oyCHANNELTYPE_V
}
 Channels types of Colors. More...
 
enum  oyPIXEL_ACCESS_TYPE_e { oyPIXEL_ACCESS_IMAGE, oyPIXEL_ACCESS_POINT, oyPIXEL_ACCESS_LINE }
 Pixel access types. More...
 
enum  oyLAYOUT_e {
  oyLAYOUT = 0, oyPOFF_X, oyPOFF_Y, oyCOFF,
  oyDATA_SIZE, oyCHANS, oyCHAN0
}
 Pixel mask descriptions. More...
 

Functions

size_t oyDataTypeGetSize (oyDATATYPE_e data_type)
 oyDATATYPE_e to byte mapping More...
 
const char * oyDataTypeToText (oyDATATYPE_e data_type)
 oyDATATYPE_e to string mapping More...
 
oyCHANNELTYPE_e oyICCColorSpaceToChannelLayout (icColorSpaceSignature sig, int pos)
 describe a channels characteristic More...
 

Detailed Description

[Template file inheritance graph] +– oyranos_image.template.h

Oyranos is an open source Color Management System

Copyright:
2004-2014 (C) Kai-Uwe Behrmann
Author
Kai-Uwe Behrmann ku.b@.nosp@m.gmx..nosp@m.de
License:
new BSD - see: http://www.opensource.org/licenses/bsd-license.php
Date
2014/01/10