libopenraw  0.3.7
Classes | Macros | Typedefs | Functions | Variables | Friends

Canon parsing for all variety or Canon raw files. More...

Classes

class  OpenRaw::Internals::CIFF::CiffIfd
 Special IFD to synthesize entries out of a CIFF file. More...
 
class  OpenRaw::Internals::CIFF::CiffMainIfd
 IFD that will synthesize the entries for main. More...
 
class  OpenRaw::Internals::CIFF::CiffExifIfd
 IFD that will synthesize the entries for the Exif. More...
 
class  OpenRaw::Internals::CIFF::Heap
 A CIFF Heap. More...
 
class  OpenRaw::Internals::CIFF::HeapFileHeader
 Header of heap CIFF file. More...
 
class  OpenRaw::Internals::Cr2File
 Canon CR2 file. More...
 
class  OpenRaw::Internals::Cr3File
 Canon CR3 file. More...
 
class  OpenRaw::Internals::CRWFile
 Canon CRW file. More...
 

Macros

#define OR_MAKE_CANON_TYPEID(camid)    OR_MAKE_FILE_TYPEID(OR_TYPEID_VENDOR_CANON, camid)
 

Typedefs

typedef std::shared_ptr< HeapOpenRaw::Internals::CIFF::HeapRef
 Shared ptr to Heap.
 

Functions

RawFile::TypeId OpenRaw::Internals::canon_modelid_to_typeid (uint32_t model_id)
 Map a Canon model ID to a type ID.
 
Option< std::array< uint32_t, 4 > > OpenRaw::Internals::canon_parse_sensorinfo (const std::vector< uint16_t > &sensor_info)
 Parse the sensor info from a buffer of uint16_t.
 
Option< std::array< uint32_t, 4 > > OpenRaw::Internals::canon_get_sensorinfo (const IfdDir::Ref &ifddir)
 Get the sensor info from and IfdDir.
 
static RawFileOpenRaw::Internals::Cr2File::factory (const IO::Stream::Ptr &s)
 
 OpenRaw::Internals::Cr2File::Cr2File (const IO::Stream::Ptr &s)
 
 OpenRaw::Internals::Cr2File::Cr2File (const Cr2File &)=delete
 
Cr2FileOpenRaw::Internals::Cr2File::operator= (const Cr2File &)=delete
 
virtual IfdDir::Ref OpenRaw::Internals::Cr2File::_locateCfaIfd () override
 Locate the IFD for the raw data. More...
 
virtual IfdDir::Ref OpenRaw::Internals::Cr2File::_locateMainIfd () override
 Locate the main IFD. More...
 
virtual bool OpenRaw::Internals::Cr2File::vendorCameraIdLocation (Internals::IfdDir::Ref &ifd, uint16_t &index, const ModelIdMap *&model_map) override
 Get the vendor camera ID location. More...
 
virtual ::or_error OpenRaw::Internals::Cr2File::_locateThumbnail (const IfdDir::Ref &dir, std::vector< uint32_t > &list) override
 

Variables

const ModelIdMap OpenRaw::Internals::canon_modelid_map
 The model ID map for Canon cameras.
 

Friends

template<typename T >
void OpenRaw::Internals::Cr2File::audit_coefficients ()
 

Detailed Description

Canon parsing for all variety or Canon raw files.

Despite different format, Canon have somewhat consistent strucures across their product line.

Function Documentation

◆ _locateCfaIfd()

IfdDir::Ref OpenRaw::Internals::Cr2File::_locateCfaIfd ( )
overrideprotectedvirtual

Locate the IFD for the raw data.

This is not necessarily a unique IFD and it can be the same as the main.

Returns
the CFA Ifd. May be null.

Reimplemented from OpenRaw::Internals::IfdFile.

Definition at line 513 of file cr2file.cpp.

References OR_IFD_RAW.

◆ _locateMainIfd()

IfdDir::Ref OpenRaw::Internals::Cr2File::_locateMainIfd ( )
overrideprotectedvirtual

Locate the main IFD.

Returns
the main IFD. Main be null.

Reimplemented from OpenRaw::Internals::IfdFile.

Definition at line 525 of file cr2file.cpp.

References OR_IFD_MAIN.

◆ vendorCameraIdLocation()

bool OpenRaw::Internals::Cr2File::vendorCameraIdLocation ( Internals::IfdDir::Ref ifd,
uint16_t &  index,
const ModelIdMap *&  model_map 
)
overrideprotectedvirtual

Get the vendor camera ID location.

Parameters
ifdthe IfdDir where it is.
indexthe value index in the IfdDir.
model_mapa point to the model map. Can't be null.
Returns
true if there is one, otherwise false

Reimplemented from OpenRaw::RawFile.

Definition at line 742 of file cr2file.cpp.