libopenraw  0.3.7
Classes | Typedefs | Enumerations
OpenRaw::Internals::CIFF Namespace Reference

CIFF is the container for CRW files. It is an attempt from Canon to make this a standard. I guess it failed. More...

Classes

class  CiffIfd
 Special IFD to synthesize entries out of a CIFF file. More...
 
class  CiffMainIfd
 IFD that will synthesize the entries for main. More...
 
class  CiffExifIfd
 IFD that will synthesize the entries for the Exif. More...
 
class  Heap
 A CIFF Heap. More...
 
class  HeapFileHeader
 Header of heap CIFF file. More...
 
class  RecordEntry
 A record entry from a CIFF Heap. More...
 
class  ImageSpec
 ImageSpec struct from CIFF. More...
 

Typedefs

typedef std::shared_ptr< HeapHeapRef
 Shared ptr to Heap.
 
typedef std::map< uint16_t, RecordEntryRecordEntries
 
typedef std::vector< uint16_t > CameraSettings
 Camera settings are stored as array of 16-bits int.
 

Enumerations

enum  { STORAGELOC_MASK = 0xc000 , FORMAT_MASK = 0x3800 , TAGCODE_MASK = 0x3fff }
 
enum  CIFFType {
  TYPE_BYTE = 0x0000 , TYPE_ASCII = 0x0800 , TYPE_WORD = 0x1000 , TYPE_DWORD = 0x1800 ,
  TYPE_BYTE2 = 0x2000 , TYPE_HEAP1 = 0x2800 , TYPE_HEAP2 = 0x3000
}
 
enum  {
  TAG_NULLRECORD = 0x0000 , TAG_FREEBYTES = 0x0001 , TAG_COLORINFO1 = 0x0032 , TAG_FILEDESCRIPTION = 0x0805 ,
  TAG_RAWMAKEMODEL = 0x080a , TAG_FIRMWAREVERSION = 0x080b , TAG_COMPONENTVERSION = 0x080c , TAG_ROMOPERATIONMODE = 0x080d ,
  TAG_OWNERNAME = 0x0810 , TAG_IMAGETYPE = 0x0815 , TAG_ORIGINALFILENAME = 0x0816 , TAG_THUMBNAILFILENAME = 0x0817 ,
  TAG_TARGETIMAGETYPE = 0x100a , TAG_SHUTTERRELEASEMETHOD = 0x1010 , TAG_SHUTTERRELEASETIMING = 0x1011 , TAG_RELEASESETTING = 0x1016 ,
  TAG_BASEISO = 0x101c , TAG_FOCALLENGTH = 0x1029 , TAG_SHOTINFO = 0x102a , TAG_COLORINFO2 = 0x102c ,
  TAG_CAMERASETTINGS = 0x102d , TAG_SENSORINFO = 0x1031 , TAG_CUSTOMFUNCTIONS = 0x1033 , TAG_PICTUREINFO = 0x1038 ,
  TAG_WHITEBALANCETABLE = 0x10a9 , TAG_COLORSPACE = 0x10b4 , TAG_IMAGESPEC = 0x1803 , TAG_RECORDID = 0x1804 ,
  TAG_SELFTIMERTIME = 0x1806 , TAG_TARGETDISTANCESETTING = 0x1807 , TAG_SERIALNUMBER = 0x180b , TAG_CAPTUREDTIME = 0x180e ,
  TAG_IMAGEINFO = 0x1810 , TAG_FLASHINFO = 0x1813 , TAG_MEASUREDEV = 0x1814 , TAG_FILENUMBER = 0x1817 ,
  TAG_EXPOSUREINFO = 0x1818 , TAG_DECODERTABLE = 0x1835 , TAG_RAWIMAGEDATA = 0x2005 , TAG_JPEGIMAGE = 0x2007 ,
  TAG_JPEGTHUMBNAIL = 0x2008 , TAG_IMAGEDESCRIPTION = 0x2804 , TAG_CAMERAOBJECT = 0x2807 , TAG_SHOOTINGRECORD = 0x3002 ,
  TAG_MEASUREDINFO = 0x3003 , TAG_CAMERASPECIFICATION = 0x3004 , TAG_IMAGEPROPS = 0x300a , TAG_EXIFINFORMATION = 0x300b
}
 Tags for the CIFF records. More...
 

Detailed Description

CIFF is the container for CRW files. It is an attempt from Canon to make this a standard. I guess it failed.

Typedef Documentation

◆ RecordEntries

Record entries of a heap

Definition at line 65 of file recordentry.hpp.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum

mask for the typeCode

Enumerator
STORAGELOC_MASK 

storage location bit mask

FORMAT_MASK 

format of the data

TAGCODE_MASK 

include the format, because the last part is non significant

Definition at line 43 of file recordentry.hpp.

◆ anonymous enum

anonymous enum

Tags for the CIFF records.

List made by a combination of the CIFF spec and what exifprobe by Duane H. Hesser has.

Definition at line 54 of file ciffcontainer.hpp.

◆ CIFFType

Type a record entry, value masked with FORMAT_MASK

Definition at line 54 of file recordentry.hpp.