# dpx Namespace Reference

OpenDPX namespace. More...

## Classes
class | Codec
| compress / decompress data segments base class defaults to None More...
struct | Block
| Rectangle block definition defined by two points. More...
class | Reader
| DPX Image Reader class. More...
class | Writer
| DPX Image Writer class. More...
struct | ImageElement
| Data Structure for Image Element. More...
struct | GenericHeader
| Generic File and Image Header Information. More...
struct | IndustryHeader
| Motion Picture and Television Industry Specific Information. More...
struct | Header
| Complete DPX Header. More...
struct | UserDefinedData
| User Defined data. More...
class | ElementReadStream
class | RunLengthEncoding
| compress / decompress data segments, used for RLE compression More...
## Typedefs
typedef unsigned char | U8
| Unsigned 8 bit integer.
typedef unsigned short | U16
| Unsigned 16 bit integer.
typedef unsigned int | U32
| Unsigned 32 bit integer.
typedef float | R32
| 32 bit floating point number
typedef double | R64
| 64 bit floating point number
typedef char | ASCII
| ASCII character.
## Enumerations
enum | Endian { kLittleEndian, kBigEndian }
| DPX files can be stored in big- or little-endian byte order. More...
enum | DataSize { kByte, kWord, kInt, kFloat, kDouble }
| Component Data Storage Data Type. More...
enum | Orientation { kLeftToRightTopToBottom = 0, kRightToLeftTopToBottom = 1, kLeftToRightBottomToTop = 2, kRightToLeftBottomToTop = 3, kTopToBottomLeftToRight = 4, kTopToBottomRightToLeft = 5, kBottomToTopLeftToRight = 6, kBottomToTopRightToLeft = 7, kUndefinedOrientation = 0xffff }
| Image Orientation Code. More...
enum | Descriptor { kUserDefinedDescriptor = 0, kRed = 1, kGreen = 2, kBlue = 3, kAlpha = 4, kLuma = 6, kColorDifference = 7, kDepth = 8, kCompositeVideo = 9, kRGB = 50, kRGBA = 51, kABGR = 52, kCbYCrY = 100, kCbYACrYA = 101, kCbYCr = 102, kCbYCrA = 103, kUserDefined2Comp = 150, kUserDefined3Comp = 151, kUserDefined4Comp = 152, kUserDefined5Comp = 153, kUserDefined6Comp = 154, kUserDefined7Comp = 155, kUserDefined8Comp = 156, kUndefinedDescriptor = 0xff }
| Image element Descriptor. More...
enum | Characteristic { kUserDefined = 0, kPrintingDensity, kLinear, kLogarithmic, kUnspecifiedVideo, kSMPTE274M, kITUR709, kITUR601, kITUR602, kNTSCCompositeVideo, kPALCompositeVideo, kZLinear, kZHomogeneous, kUndefinedCharacteristic = 0xff }
| Transfer Characteristic and Colorimetric Specification. More...
enum | VideoSignal { kUndefined = 0, kNTSC = 1, kPAL = 2, kPAL_M = 3, kSECAM = 4, k525LineInterlace43AR = 50, k625LineInterlace43AR = 51, k525LineInterlace169AR = 100, k625LineInterlace169AR = 101, k1050LineInterlace169AR = 150, k1125LineInterlace169AR_274 = 151, k1250LineInterlace169AR = 152, k1125LineInterlace169AR_240 = 153, k525LineProgressive169AR = 200, k625LineProgressive169AR = 201, k750LineProgressive169AR = 202, k1125LineProgressive169AR = 203 }
| Video Signal Standard. More...
enum | Packing { kPacked = 0, kFilledMethodA = 1, kFilledMethodB = 2 }
| Component data packing method. More...
enum | Encoding { kNone = 0, kRLE = 1 }
| Component data encoding method. More...
## Functions
void | BaseTypeConverter (U8 &src, U8 &dst)
void | BaseTypeConverter (U8 &src, U16 &dst)
void | BaseTypeConverter (U8 &src, U32 &dst)
void | BaseTypeConverter (U8 &src, R32 &dst)
void | BaseTypeConverter (U8 &src, R64 &dst)
void | BaseTypeConverter (U16 &src, U8 &dst)
void | BaseTypeConverter (U16 &src, U16 &dst)
void | BaseTypeConverter (U16 &src, U32 &dst)
void | BaseTypeConverter (U16 &src, R32 &dst)
void | BaseTypeConverter (U16 &src, R64 &dst)
void | BaseTypeConverter (U32 &src, U8 &dst)
void | BaseTypeConverter (U32 &src, U16 &dst)
void | BaseTypeConverter (U32 &src, U32 &dst)
void | BaseTypeConverter (U32 &src, R32 &dst)
void | BaseTypeConverter (U32 &src, R64 &dst)
void | BaseTypeConverter (R32 &src, U8 &dst)
void | BaseTypeConverter (R32 &src, U16 &dst)
void | BaseTypeConverter (R32 &src, U32 &dst)
void | BaseTypeConverter (R32 &src, R32 &dst)
void | BaseTypeConverter (R32 &src, R64 &dst)
void | BaseTypeConverter (R64 &src, U8 &dst)
void | BaseTypeConverter (R64 &src, U16 &dst)
void | BaseTypeConverter (R64 &src, U32 &dst)
void | BaseTypeConverter (R64 &src, R32 &dst)
void | BaseTypeConverter (R64 &src, R64 &dst)
bool | IdentifyFile (InStream *file)
| determine if the image file is DPX
bool | IdentifyFile (const void *data)
| determine if the image file is DPX
const char * | DefaultExtension ()
| returns a char * of the default DPX file extension
const char * | Version ()
const char * | LibraryVersion ()
| returns the version string for this library
## Variables
Endian | systemByteOrder = (*(unsigned char*)lPtr == 0x78 ? dpx::kLittleEndian : dpx::kBigEndian)

## Detailed Description

OpenDPX namespace.

## Typedef Documentation

char dpx::ASCII

ASCII character.

float dpx::R32

32 bit floating point number

float dpx::R64

64 bit floating point number

unsigned char dpx::U16

Unsigned 16 bit integer.

unsigned char dpx::U32

Unsigned 32 bit integer.

unsigned char dpx::U8

Unsigned 8 bit integer.

## Enumeration Type Documentation

enum dpx::Characteristic

Transfer Characteristic and Colorimetric Specification.

Enumerator:

  kUserDefined | User defined.
  kPrintingDensity | Printing density.
  kLinear | Linear, transfer only.
  kLogarithmic | Logarithmic, transfer only.
  kUnspecifiedVideo | Unspecified video.
  kSMPTE274M | SMPTE 274M.
  kITUR709 | ITU-R 709-4.
  kITUR601 | ITU-R 601-5 system B or G.
  kITUR602 | ITU-R 601-5 system M.
  kNTSCCompositeVideo | NTSC composite video.
  kPALCompositeVideo | PAL composite video.
  kZLinear | Z depth linear, transfer only.
  kZHomogeneous | Z depth homogeneous, transfer only.
  kUndefinedCharacteristic | Undefined.

enum dpx::DataSize

Component Data Storage Data Type.

Enumerator:

  kByte | 8-bit size component
  kWord |
  kInt |
  kFloat |
  kDouble |

enum dpx::Descriptor

Image element Descriptor.

Enumerator:

  kUserDefinedDescriptor | User defined descriptor.
  kRed | Red.
  kGreen | Green.
  kBlue | Blue.
  kAlpha | Alpha.
  kLuma | Luma (Y).
  kColorDifference | Color difference.
  kDepth | Depth.
  kCompositeVideo | Composite video.
  kRGB | R,G,B.
  kRGBA | R,G,B,A.
  kABGR | A,B,G,R.
  kCbYCrY | Cb,Y,Cr,Y (4:2:2).
  kCbYACrYA | Cb,Y,A,Cr,Y,A (4:2:2:4).
  kCbYCr | Cb,Y,Cr (4:4:4).
  kCbYCrA | Cb,Y,Cr,A (4:4:4:4).
  kUserDefined2Comp | User defined 2 component element.
  kUserDefined3Comp | User defined 3 component element.
  kUserDefined4Comp | User defined 4 component element.
  kUserDefined5Comp | User defined 5 component element.
  kUserDefined6Comp | User defined 6 component element.
  kUserDefined7Comp | User defined 7 component element.
  kUserDefined8Comp | User defined 8 component element.
  kUndefinedDescriptor | Undefined descriptor.

enum dpx::Encoding

Component data encoding method.

Enumerator:

  kNone |
  kRLE |

enum dpx::Endian

DPX files can be stored in big- or little-endian byte order.

Enumerator:

  kLittleEndian | increasing numeric significance with increasing memory
  kBigEndian | big end first

enum dpx::Orientation

Image Orientation Code.

Enumerator:

  kLeftToRightTopToBottom | Oriented left to right, top to bottom.
  kRightToLeftTopToBottom | Oriented right to left, top to bottom.
  kLeftToRightBottomToTop | Oriented left to right, bottom to top.
  kRightToLeftBottomToTop | Oriented right to left, bottom to top.
  kTopToBottomLeftToRight | Oriented top to bottom, left to right.
  kTopToBottomRightToLeft | Oriented top to bottom, right to left.
  kBottomToTopLeftToRight | Oriented bottom to top, left to right.
  kBottomToTopRightToLeft | Oriented bottom to top, right to left.
  kUndefinedOrientation | Undefined orientation.

enum dpx::Packing

Component data packing method.

Enumerator:

  kPacked | Packed into 32-bit words.
  kFilledMethodA | Filled to 32-bit words, method A.
  kFilledMethodB | Filled to 32-bit words, method B.

enum dpx::VideoSignal

Video Signal Standard.

Enumerator:

  kUndefined | Undefined.
  kNTSC | NTSC.
  kPAL | PAL.
  kPAL_M | PAL-M.
  kSECAM | SECAM.
  k525LineInterlace43AR | YCbCr ITU-R 601-5 525-line, 2:1 interlace, 4:3 aspect ratio.
  k625LineInterlace43AR | YCbCr ITU-R 601-5 625-line, 2:1 interlace, 4:3 aspect ratio.
  k525LineInterlace169AR | YCbCr ITU-R 601-5 525-line, 2:1 interlace, 16:9 aspect ratio.
  k625LineInterlace169AR | YCbCr ITU-R 601-5 625-line, 2:1 interlace, 16:9 aspect ratio.
  k1050LineInterlace169AR | YCbCr 1050-line, 2:1 interlace, 16:9 aspect ratio.
  k1125LineInterlace169AR_274 | YCbCr 1125-line, 2:1 interlace, 16:9 aspect ratio (SMPTE 274M).
  k1250LineInterlace169AR | YCbCr 1250-line, 2:1 interlace, 16:9 aspect ratio.
  k1125LineInterlace169AR_240 | YCbCr 1125-line, 2:1 interlace, 16:9 aspect ratio (SMPTE 240M).
  k525LineProgressive169AR | YCbCr 525-line, 1:1 progressive, 16:9 aspect ratio.
  k625LineProgressive169AR | YCbCr 625-line, 1:1 progressive, 16:9 aspect ratio.
  k750LineProgressive169AR | YCbCr 750-line, 1:1 progressive, 16:9 aspect ratio (SMPTE 296M).
  k1125LineProgressive169AR | YCbCr 1125-line, 1:1 progressive, 16:9 aspect ratio (SMPTE 274M).

## Function Documentation

void dpx::BaseTypeConverter | ( | R64 & | src,
|  | R64 & | dst |
| ) |  |  | `[inline]`

void dpx::BaseTypeConverter | ( | R64 & | src,
|  | R32 & | dst |
| ) |  |  | `[inline]`

void dpx::BaseTypeConverter | ( | R64 & | src,
|  | U32 & | dst |
| ) |  |  | `[inline]`

void dpx::BaseTypeConverter | ( | R64 & | src,
|  | U16 & | dst |
| ) |  |  | `[inline]`

void dpx::BaseTypeConverter | ( | R64 & | src,
|  | U8 & | dst |
| ) |  |  | `[inline]`

void dpx::BaseTypeConverter | ( | R32 & | src,
|  | R64 & | dst |
| ) |  |  | `[inline]`

void dpx::BaseTypeConverter | ( | R32 & | src,
|  | R32 & | dst |
| ) |  |  | `[inline]`

void dpx::BaseTypeConverter | ( | R32 & | src,
|  | U32 & | dst |
| ) |  |  | `[inline]`

void dpx::BaseTypeConverter | ( | R32 & | src,
|  | U16 & | dst |
| ) |  |  | `[inline]`

void dpx::BaseTypeConverter | ( | R32 & | src,
|  | U8 & | dst |
| ) |  |  | `[inline]`

void dpx::BaseTypeConverter | ( | U32 & | src,
|  | R64 & | dst |
| ) |  |  | `[inline]`

void dpx::BaseTypeConverter | ( | U32 & | src,
|  | R32 & | dst |
| ) |  |  | `[inline]`

void dpx::BaseTypeConverter | ( | U32 & | src,
|  | U32 & | dst |
| ) |  |  | `[inline]`

void dpx::BaseTypeConverter | ( | U32 & | src,
|  | U16 & | dst |
| ) |  |  | `[inline]`

void dpx::BaseTypeConverter | ( | U32 & | src,
|  | U8 & | dst |
| ) |  |  | `[inline]`

void dpx::BaseTypeConverter | ( | U16 & | src,
|  | R64 & | dst |
| ) |  |  | `[inline]`

void dpx::BaseTypeConverter | ( | U16 & | src,
|  | R32 & | dst |
| ) |  |  | `[inline]`

void dpx::BaseTypeConverter | ( | U16 & | src,
|  | U32 & | dst |
| ) |  |  | `[inline]`

void dpx::BaseTypeConverter | ( | U16 & | src,
|  | U16 & | dst |
| ) |  |  | `[inline]`

void dpx::BaseTypeConverter | ( | U16 & | src,
|  | U8 & | dst |
| ) |  |  | `[inline]`

void dpx::BaseTypeConverter | ( | U8 & | src,
|  | R64 & | dst |
| ) |  |  | `[inline]`

void dpx::BaseTypeConverter | ( | U8 & | src,
|  | R32 & | dst |
| ) |  |  | `[inline]`

void dpx::BaseTypeConverter | ( | U8 & | src,
|  | U32 & | dst |
| ) |  |  | `[inline]`

void dpx::BaseTypeConverter | ( | U8 & | src,
|  | U16 & | dst |
| ) |  |  | `[inline]`

void dpx::BaseTypeConverter | ( | U8 & | src,
|  | U8 & | dst |
| ) |  |  | `[inline]`

const char * dpx::DefaultExtension | ( |  | ) | `[inline]`

returns a char * of the default DPX file extension

Returns:
  .dpx file extenion

bool dpx::IdentifyFile | ( | const void * | data | ) |

determine if the image file is DPX

Parameters:

  | data | memory to search

Returns:
  true/false if identified as DPX

bool dpx::IdentifyFile | ( | InStream * | file | ) |

determine if the image file is DPX

Parameters:

  | file | buffer to read and search

Returns:
  true/false if identified as DPX

const char * dpx::LibraryVersion | ( |  | ) | `[inline]`

returns the version string for this library

Returns:
  OpenDPX version

const char * dpx::Version | ( |  | ) | `[inline]`

returns a string of the highest SMPTE DPX version supported by this library

Returns:
  SMPTE DPX version

## Variable Documentation

dpx::Endian dpx::systemByteOrder = (*(unsigned char*)lPtr == 0x78 ? dpx::kLittleEndian : dpx::kBigEndian)