HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Attribute/metadata value types and struct declarations

These are a group of enum values defining valid values for some attributes and then associated structs for other types. More...

Classes

struct  exr_attr_chromaticities_t
 Struct to hold color chromaticities to interpret the tristimulus color values in the image data. More...
 
struct  exr_attr_keycode_t
 Struct to hold keycode information. More...
 
struct  exr_attr_m33f_t
 struct to hold a 32-bit floating-point 3x3 matrix. More...
 
struct  exr_attr_m33d_t
 struct to hold a 64-bit floating-point 3x3 matrix. More...
 
struct  exr_attr_m44f_t
 Struct to hold a 32-bit floating-point 4x4 matrix. More...
 
struct  exr_attr_m44d_t
 Struct to hold a 64-bit floating-point 4x4 matrix. More...
 
struct  exr_attr_rational_t
 Struct to hold an integer ratio value. More...
 
struct  exr_attr_timecode_t
 Struct to hold timecode information. More...
 
struct  exr_attr_v2i_t
 Struct to hold a 2-element integer vector. More...
 
struct  exr_attr_v2f_t
 Struct to hold a 2-element 32-bit float vector. More...
 
struct  exr_attr_v2d_t
 Struct to hold a 2-element 64-bit float vector. More...
 
struct  exr_attr_v3i_t
 Struct to hold a 3-element integer vector. More...
 
struct  exr_attr_v3f_t
 Struct to hold a 3-element 32-bit float vector. More...
 
struct  exr_attr_v3d_t
 Struct to hold a 3-element 64-bit float vector. More...
 
struct  exr_attr_box2i_t
 Struct to hold an integer box/region definition. More...
 
struct  exr_attr_box2f_t
 Struct to hold a floating-point box/region definition. More...
 
struct  exr_attr_tiledesc_t
 Struct holding base tiledesc attribute type defined in spec. More...
 
struct  exr_attr_string_t
 
struct  exr_attr_string_vector_t
 
struct  exr_attr_float_vector_t
 
struct  exr_attr_chlist_entry_t
 
struct  exr_attr_chlist_t
 
struct  exr_attr_preview_t
 Struct to define attributes of an embedded preview image. More...
 
struct  exr_attr_opaquedata_t
 
struct  exr_attribute_t
 Storage, name and type information for an attribute. More...
 

Macros

#define EXR_GET_TILE_LEVEL_MODE(tiledesc)   ((exr_tile_level_mode_t) (((tiledesc).level_and_round) & 0xF))
 Macro to access type of tiling from packed structure. More...
 
#define EXR_GET_TILE_ROUND_MODE(tiledesc)   ((exr_tile_round_mode_t) ((((tiledesc).level_and_round) >> 4) & 0xF))
 Macro to access the rounding mode of tiling from packed structure. More...
 
#define EXR_PACK_TILE_LEVEL_ROUND(lvl, mode)   ((uint8_t) ((((uint8_t) ((mode) &0xF) << 4)) | ((uint8_t) ((lvl) &0xF))))
 Macro to pack the tiling type and rounding mode into packed structure. More...
 

Enumerations

enum  exr_compression_t {
  EXR_COMPRESSION_NONE = 0, EXR_COMPRESSION_RLE = 1, EXR_COMPRESSION_ZIPS = 2, EXR_COMPRESSION_ZIP = 3,
  EXR_COMPRESSION_PIZ = 4, EXR_COMPRESSION_PXR24 = 5, EXR_COMPRESSION_B44 = 6, EXR_COMPRESSION_B44A = 7,
  EXR_COMPRESSION_DWAA = 8, EXR_COMPRESSION_DWAB = 9, EXR_COMPRESSION_LAST_TYPE
}
 
enum  exr_envmap_t { EXR_ENVMAP_LATLONG = 0, EXR_ENVMAP_CUBE = 1, EXR_ENVMAP_LAST_TYPE }
 
enum  exr_lineorder_t { EXR_LINEORDER_INCREASING_Y = 0, EXR_LINEORDER_DECREASING_Y = 1, EXR_LINEORDER_RANDOM_Y = 2, EXR_LINEORDER_LAST_TYPE }
 
enum  exr_storage_t {
  EXR_STORAGE_SCANLINE = 0, EXR_STORAGE_TILED, EXR_STORAGE_DEEP_SCANLINE, EXR_STORAGE_DEEP_TILED,
  EXR_STORAGE_LAST_TYPE
}
 
enum  exr_tile_level_mode_t { EXR_TILE_ONE_LEVEL = 0, EXR_TILE_MIPMAP_LEVELS = 1, EXR_TILE_RIPMAP_LEVELS = 2, EXR_TILE_LAST_TYPE }
 Enum representing what type of tile information is contained. More...
 
enum  exr_tile_round_mode_t { EXR_TILE_ROUND_DOWN = 0, EXR_TILE_ROUND_UP = 1, EXR_TILE_ROUND_LAST_TYPE }
 Enum representing how to scale positions between levels. More...
 
enum  exr_pixel_type_t { EXR_PIXEL_UINT = 0, EXR_PIXEL_HALF = 1, EXR_PIXEL_FLOAT = 2, EXR_PIXEL_LAST_TYPE }
 Enum capturing the underlying data type on a channel. More...
 
enum  exr_perceptual_treatment_t { EXR_PERCEPTUALLY_LOGARITHMIC = 0, EXR_PERCEPTUALLY_LINEAR = 1 }
 
enum  exr_attribute_type_t {
  EXR_ATTR_UNKNOWN, EXR_ATTR_BOX2I, EXR_ATTR_BOX2F, EXR_ATTR_CHLIST,
  EXR_ATTR_CHROMATICITIES, EXR_ATTR_COMPRESSION, EXR_ATTR_DOUBLE, EXR_ATTR_ENVMAP,
  EXR_ATTR_FLOAT, EXR_ATTR_FLOAT_VECTOR, EXR_ATTR_INT, EXR_ATTR_KEYCODE,
  EXR_ATTR_LINEORDER, EXR_ATTR_M33F, EXR_ATTR_M33D, EXR_ATTR_M44F,
  EXR_ATTR_M44D, EXR_ATTR_PREVIEW, EXR_ATTR_RATIONAL, EXR_ATTR_STRING,
  EXR_ATTR_STRING_VECTOR, EXR_ATTR_TILEDESC, EXR_ATTR_TIMECODE, EXR_ATTR_V2I,
  EXR_ATTR_V2F, EXR_ATTR_V2D, EXR_ATTR_V3I, EXR_ATTR_V3F,
  EXR_ATTR_V3D, EXR_ATTR_OPAQUE, EXR_ATTR_LAST_KNOWN_TYPE
}
 Built-in/native attribute type enum. More...
 

Detailed Description

These are a group of enum values defining valid values for some attributes and then associated structs for other types.

Some of these types will be directly representable/storable in the file, some not. There is some overlap here with Imath, and they should be kept in the same order for compatibility. However do note that these are just the raw data, and no useful functions are declared at this layer, that is what Imath is for.

Macro Definition Documentation

#define EXR_GET_TILE_LEVEL_MODE (   tiledesc)    ((exr_tile_level_mode_t) (((tiledesc).level_and_round) & 0xF))

Macro to access type of tiling from packed structure.

Definition at line 280 of file openexr_attr.h.

#define EXR_GET_TILE_ROUND_MODE (   tiledesc)    ((exr_tile_round_mode_t) ((((tiledesc).level_and_round) >> 4) & 0xF))

Macro to access the rounding mode of tiling from packed structure.

Definition at line 283 of file openexr_attr.h.

#define EXR_PACK_TILE_LEVEL_ROUND (   lvl,
  mode 
)    ((uint8_t) ((((uint8_t) ((mode) &0xF) << 4)) | ((uint8_t) ((lvl) &0xF))))

Macro to pack the tiling type and rounding mode into packed structure.

Definition at line 286 of file openexr_attr.h.

Enumeration Type Documentation

Built-in/native attribute type enum.

This will enable us to do a tagged type struct to generically store attributes.

Enumerator
EXR_ATTR_UNKNOWN 

Type indicating an error or uninitialized attribute.

EXR_ATTR_BOX2I 

Integer region definition.

See Also
exr_attr_box2i_t.
EXR_ATTR_BOX2F 

Float region definition.

See Also
exr_attr_box2f_t.
EXR_ATTR_CHLIST 

Definition of channels in file

See Also
exr_chlist_entry.
EXR_ATTR_CHROMATICITIES 

Values to specify color space of colors in file

See Also
exr_attr_chromaticities_t.
EXR_ATTR_COMPRESSION 

uint8_t declaring compression present.

EXR_ATTR_DOUBLE 

Double precision floating point number.

EXR_ATTR_ENVMAP 

uint8_t declaring environment map type.

EXR_ATTR_FLOAT 

Normal (4 byte) precision floating point number.

EXR_ATTR_FLOAT_VECTOR 

List of normal (4 byte) precision floating point numbers.

EXR_ATTR_INT 

32-bit signed integer value.

EXR_ATTR_KEYCODE 

Struct recording keycode

See Also
exr_attr_keycode_t.
EXR_ATTR_LINEORDER 

uint8_t declaring scanline ordering.

EXR_ATTR_M33F 

9 32-bit floats representing a 3x3 matrix.

EXR_ATTR_M33D 

9 64-bit floats representing a 3x3 matrix.

EXR_ATTR_M44F 

16 32-bit floats representing a 4x4 matrix.

EXR_ATTR_M44D 

16 64-bit floats representing a 4x4 matrix.

EXR_ATTR_PREVIEW 

2 unsigned ints followed by 4 x w x h uint8_t image.

EXR_ATTR_RATIONAL 

int followed by unsigned int

EXR_ATTR_STRING 

int (length) followed by char string data.

EXR_ATTR_STRING_VECTOR 

0 or more text strings (int + string). number is based on attribute size.

EXR_ATTR_TILEDESC 

2 unsigned ints xSize, ySize followed by mode.

EXR_ATTR_TIMECODE 

2 unsigned ints time and flags, user data.

EXR_ATTR_V2I 

Pair of 32-bit integers.

EXR_ATTR_V2F 

Pair of 32-bit floats.

EXR_ATTR_V2D 

Pair of 64-bit floats.

EXR_ATTR_V3I 

Set of 3 32-bit integers.

EXR_ATTR_V3F 

Set of 3 32-bit floats.

EXR_ATTR_V3D 

Set of 3 64-bit floats.

EXR_ATTR_OPAQUE 

User/unknown provided type.

EXR_ATTR_LAST_KNOWN_TYPE 

Definition at line 421 of file openexr_attr.h.

Enum declaring allowed values for uint8_t value stored in built-in compression type.

Enumerator
EXR_COMPRESSION_NONE 
EXR_COMPRESSION_RLE 
EXR_COMPRESSION_ZIPS 
EXR_COMPRESSION_ZIP 
EXR_COMPRESSION_PIZ 
EXR_COMPRESSION_PXR24 
EXR_COMPRESSION_B44 
EXR_COMPRESSION_B44A 
EXR_COMPRESSION_DWAA 
EXR_COMPRESSION_DWAB 
EXR_COMPRESSION_LAST_TYPE 

Invalid value, provided for range checking.

Definition at line 36 of file openexr_attr.h.

Enum declaring allowed values for uint8_t value stored in built-in env map type.

Enumerator
EXR_ENVMAP_LATLONG 
EXR_ENVMAP_CUBE 
EXR_ENVMAP_LAST_TYPE 

Invalid value, provided for range checking.

Definition at line 52 of file openexr_attr.h.

Enum declaring allowed values for uint8_t value stored in lineOrder type.

Enumerator
EXR_LINEORDER_INCREASING_Y 
EXR_LINEORDER_DECREASING_Y 
EXR_LINEORDER_RANDOM_Y 
EXR_LINEORDER_LAST_TYPE 

Invalid value, provided for range checking.

Definition at line 60 of file openexr_attr.h.

Hint for lossy compression methods about how to treat values (logarithmic or linear), meaning a human sees values like R, G, B, luminance difference between 0.1 and 0.2 as about the same as 1.0 to 2.0 (logarithmic), where chroma coordinates are closer to linear (0.1 and 0.2 is about the same difference as 1.0 and 1.1).

Enumerator
EXR_PERCEPTUALLY_LOGARITHMIC 
EXR_PERCEPTUALLY_LINEAR 

Definition at line 330 of file openexr_attr.h.

Enum capturing the underlying data type on a channel.

Enumerator
EXR_PIXEL_UINT 
EXR_PIXEL_HALF 
EXR_PIXEL_FLOAT 
EXR_PIXEL_LAST_TYPE 

Definition at line 96 of file openexr_attr.h.

Enum declaring allowed values for part type.

Enumerator
EXR_STORAGE_SCANLINE 

Corresponds to type of scanlineimage.

EXR_STORAGE_TILED 

Corresponds to type of tiledimage.

EXR_STORAGE_DEEP_SCANLINE 

Corresponds to type of deepscanline.

EXR_STORAGE_DEEP_TILED 

Corresponds to type of deeptile.

EXR_STORAGE_LAST_TYPE 

Invalid value, provided for range checking.

Definition at line 69 of file openexr_attr.h.

Enum representing what type of tile information is contained.

Enumerator
EXR_TILE_ONE_LEVEL 

Single level of image data.

EXR_TILE_MIPMAP_LEVELS 

Mipmapped image data.

EXR_TILE_RIPMAP_LEVELS 

Ripmapped image data.

EXR_TILE_LAST_TYPE 

Invalid value, provided for range checking.

Definition at line 79 of file openexr_attr.h.

Enum representing how to scale positions between levels.

Enumerator
EXR_TILE_ROUND_DOWN 
EXR_TILE_ROUND_UP 
EXR_TILE_ROUND_LAST_TYPE 

Definition at line 88 of file openexr_attr.h.