Exiv2::Internal Namespace Reference

Contains internal objects which are not published and are not part of the libexiv2 API. More...


Namespaces

namespace  Group
namespace  Tag

Classes

class  Cr2Header
 Canon CR2 header structure. More...
class  CiffComponent
 Interface class for components of the CIFF directory hierarchy of a CRW (Canon Raw data) image. Both CIFF directories as well as entries implement this interface. This class is implemented as NVI (non-virtual interface). More...
class  CiffEntry
 This class models one directory entry of a CIFF directory of a CRW (Canon Raw data) image. More...
class  CiffDirectory
 This class models a CIFF directory of a CRW (Canon Raw data) image. More...
class  CiffHeader
 This class models the header of a CRW (Canon Raw data) image. It is the head of a CIFF parse tree, consisting of CiffDirectory and CiffEntry objects. Most of its methods will walk the parse tree to perform the requested action. More...
struct  CrwSubDir
 Structure for the CIFF directory hierarchy. More...
struct  CrwMapping
 Structure for a mapping table for conversion of CIFF entries to image metadata and vice versa. More...
class  CrwMap
 Static class providing mapping functionality from CRW entries to image metadata and vice versa. More...
struct  TiffMnRegistry
 Makernote registry structure. More...
class  TiffMnCreator
 TIFF makernote factory for concrete TIFF makernotes. More...
class  MnHeader
 Makernote header interface. This class is used with TIFF makernotes. More...
class  TiffIfdMakernote
 Tiff IFD Makernote. This is a concrete class suitable for all IFD makernotes. More...
class  OlympusMnHeader
 Header of an Olympus Makernote. More...
class  Olympus2MnHeader
 Header of an Olympus II Makernote. More...
class  FujiMnHeader
 Header of a Fujifilm Makernote. More...
class  Nikon2MnHeader
 Header of a Nikon 2 Makernote. More...
class  Nikon3MnHeader
 Header of a Nikon 3 Makernote. More...
class  PanasonicMnHeader
 Header of a Panasonic Makernote. More...
class  PentaxMnHeader
 Header of an Pentax Makernote. More...
class  SigmaMnHeader
 Header of a Sigma Makernote. More...
class  SonyMnHeader
 Header of a Sony Makernote. More...
class  OrfHeader
 Olympus ORF header structure. More...
class  PngChunk
 Stateless parser class for data in PNG chunk format. Images use this class to decode and encode PNG-based data. More...
class  Rw2Header
 Panasonic RW2 header structure. More...
class  TiffPathItem
 A tupel consisting of extended Tag and group used as an item in TIFF paths. More...
class  TiffComponent
 Interface class for components of a TIFF directory hierarchy (Composite pattern). Both TIFF directories as well as entries implement this interface. A component can be uniquely identified by a tag, group tupel. This class is implemented as a NVI (Non-Virtual Interface) and it has an interface for visitors (Visitor pattern) to perform operations on all components. More...
struct  TiffMappingInfo
 TIFF mapping table for functions to decode special cases. More...
class  TiffEntryBase
 This abstract base class provides the common functionality of an IFD directory entry and defines an extended interface for derived concrete entries, which allows access to the attributes of the entry. More...
class  TiffEntry
 A standard TIFF IFD entry. More...
class  TiffDataEntryBase
 Interface for a standard TIFF IFD entry consisting of a value which is a set of offsets to a data area. The sizes of these "strips" are provided in a related TiffSizeEntry, tag and group of which are set in the constructor. The implementations of this interface differ in whether the data areas are extracted to the higher level metadata (TiffDataEntry) or not (TiffImageEntry). More...
class  TiffDataEntry
 A standard TIFF IFD entry consisting of a value which is an offset to a data area and the data area. The size of the data area is provided in a related TiffSizeEntry, tag and group of which are set in the constructor. More...
class  TiffImageEntry
 A standard TIFF IFD entry consisting of a value which is an array of offsets to image data areas. The sizes of the image data areas are provided in a related TiffSizeEntry, tag and group of which are set in the constructor. More...
class  TiffSizeEntry
 A TIFF IFD entry containing the size of a data area of a related TiffDataEntry. This component is used, e.g. for Exif.Thumbnail.JPEGInterchangeFormatLength, which contains the size of Exif.Thumbnail.JPEGInterchangeFormat. More...
class  TiffDirectory
 This class models a TIFF directory (Ifd). It is a composite component of the TIFF tree. More...
class  TiffSubIfd
 This class models a TIFF sub-directory (sub-IFD). A sub-IFD is an entry with one or more values that are pointers to IFD structures containing an IFD. The TIFF standard defines some important tags to be sub-IFDs, including the Exif and GPS tags. More...
class  TiffMnEntry
 This class is the basis for Makernote support in TIFF. It contains a pointer to a concrete Makernote. The TiffReader visitor has the responsibility to create the correct Make/Model specific Makernote for a particular TIFF file. Calls to child management methods are forwarded to the concrete Makernote, if there is one. More...
class  TiffArrayEntry
 Composite to model an array of tags, each consisting of values of a given type. Canon and Minolta makernotes use such tags. The elements of this component are of type TiffArrayElement. More...
class  TiffArrayElement
 Element of a TiffArrayEntry. The value of all elements of a TiffArrayEntry must be of the same type. Canon and Minolta makernotes use such arrays. More...
class  TiffHeaderBase
 Abstract base class defining the interface of an image header. Used internally by classes for TIFF-based images. Default implementation is for the regular TIFF header. More...
class  TiffHeader
 Standard TIFF header structure. More...
struct  TiffGroupStruct
 Data structure used as a row (element) of a table (array) defining the TIFF component used for each tag in a group. More...
struct  TiffTreeStruct
 Data structure used as a row of the table which describes TIFF trees. Multiple trees are needed as TIFF-based RAW image formats do not always use standard TIFF layout. More...
class  TiffCreator
 TIFF component factory. More...
class  TiffParserWorker
 Stateless parser class for data in TIFF format. Images use this class to decode and encode TIFF-based data. More...
class  TiffMapping
 Table of TIFF decoding and encoding functions and find functions. This class is separated from the metadata decoder and encoder visitors so that the parser can be parametrized with a different table if needed. This is used, eg., for CR2 format, which uses a different decoder table. More...
class  FindExifdatum
 Unary predicate that matches an Exifdatum with a given IfdId. More...
class  TiffVisitor
 Abstract base class defining the interface for TIFF composite vistors (Visitor pattern). More...
class  TiffFinder
 Search the composite for a component with tag and group. Return a pointer to the component or 0, if not found. The class is ready for a first search after construction and can be re-initialized with init(). More...
class  TiffDecoder
 TIFF composite visitor to decode metadata from the TIFF tree and add it to an Image, which is supplied in the constructor (Visitor pattern). Used by TiffParser to decode the metadata from a TIFF composite. More...
class  TiffEncoder
 TIFF composite visitor to encode metadata from an image to the TIFF tree. The metadata containers and root element of the tree are supplied in the constructor. Used by TiffParserWorker to encode the metadata into a TIFF composite. More...
class  TiffRwState
 Simple state class containing relevant state information for the TIFF reader. This is in a separate class so that the reader can change state if needed (e.g., to read certain complex makernotes). More...
class  TiffReader
 TIFF composite visitor to read the TIFF structure from a block of memory and build the composite from it (Visitor pattern). Used by TiffParser to read the TIFF data from a block of memory. More...

Typedefs

typedef void(* CrwDecodeFct )(const CiffComponent &, const CrwMapping *, Image &, ByteOrder)
 Function pointer for functions to decode Exif tags from a CRW entry.
typedef void(* CrwEncodeFct )(const Image &, const CrwMapping *, CiffHeader *)
 Function pointer for functions to encode CRW entries from Exif tags.
typedef std::stack< CrwSubDirCrwDirs
 Stack to hold a path of CRW directories.
typedef TiffComponent *(* NewMnFct )(uint16_t tag, uint16_t group, uint16_t mnGroup, const byte *pData, uint32_t size, ByteOrder byteOrder)
 Type for a pointer to a function creating a makernote (image).
typedef TiffComponent *(* NewMnFct2 )(uint16_t tag, uint16_t group, uint16_t mnGroup)
 Type for a pointer to a function creating a makernote (group).
typedef uint16_t TiffType
 TIFF value type.
typedef void(TiffDecoder::* DecoderFct )(const TiffEntryBase *)
 Function pointer type for a TiffDecoder member function to decode a TIFF component.
typedef void(TiffEncoder::* EncoderFct )(TiffEntryBase *, const Exifdatum *)
 Function pointer type for a TiffDecoder member function to decode a TIFF component.
typedef DecoderFct(* FindDecoderFct )(const std::string &make, uint32_t extendedTag, uint16_t group)
 Type for a function pointer for a function to decode a TIFF component.
typedef EncoderFct(* FindEncoderFct )(const std::string &make, uint32_t extendedTag, uint16_t group)
 Type for a function pointer for a function to encode a TIFF component.
typedef std::auto_ptr
< TiffComponent >(* 
NewTiffCompFct )(uint16_t tag, uint16_t group)
 Type for a function pointer for a function to create a TIFF component. Use TiffComponent::AutoPtr, it is not used in this declaration only to reduce dependencies.
typedef std::stack< TiffPathItemTiffPath
 Stack to hold a path from the TIFF root element to a TIFF entry.

Enumerations

enum  DataLocId { invalidDataLocId, valueData, directoryData, lastDataLocId }
 Type to identify where the data is stored in a directory.

Functions

DataBuf packIfdId (const ExifData &exifData, IfdId ifdId, ByteOrder byteOrder)
 Pack the tag values of all ifdId tags in exifData into a data buffer. This function is used to pack Canon Camera Settings1,2 and Custom Function tags.
TiffComponentnewIfdMn (uint16_t tag, uint16_t group, uint16_t mnGroup, const byte *pData, uint32_t size, ByteOrder byteOrder)
 Function to create a simple IFD makernote (Canon, Minolta, Nikon1).
TiffComponentnewIfdMn2 (uint16_t tag, uint16_t group, uint16_t mnGroup)
 Function to create a simple IFD makernote (Canon, Minolta, Nikon1).
TiffComponentnewOlympusMn (uint16_t tag, uint16_t group, uint16_t mnGroup, const byte *pData, uint32_t size, ByteOrder byteOrder)
 Function to create an Olympus makernote.
TiffComponentnewOlympusMn2 (uint16_t tag, uint16_t group, uint16_t mnGroup)
 Function to create an Olympus makernote.
TiffComponentnewOlympus2Mn2 (uint16_t tag, uint16_t group, uint16_t mnGroup)
 Function to create an Olympus II makernote.
TiffComponentnewFujiMn (uint16_t tag, uint16_t group, uint16_t mnGroup, const byte *pData, uint32_t size, ByteOrder byteOrder)
 Function to create a Fujifilm makernote.
TiffComponentnewFujiMn2 (uint16_t tag, uint16_t group, uint16_t mnGroup)
 Function to create a Fujifilm makernote.
TiffComponentnewNikonMn (uint16_t tag, uint16_t group, uint16_t mnGroup, const byte *pData, uint32_t size, ByteOrder byteOrder)
 Function to create a Nikon makernote. This will create the appropriate Nikon 1, 2 or 3 makernote, based on the arguments.
TiffComponentnewNikon2Mn2 (uint16_t tag, uint16_t group, uint16_t mnGroup)
 Function to create a Nikon2 makernote.
TiffComponentnewNikon3Mn2 (uint16_t tag, uint16_t group, uint16_t mnGroup)
 Function to create a Nikon3 makernote.
TiffComponentnewPanasonicMn (uint16_t tag, uint16_t group, uint16_t mnGroup, const byte *pData, uint32_t size, ByteOrder byteOrder)
 Function to create a Panasonic makernote.
TiffComponentnewPanasonicMn2 (uint16_t tag, uint16_t group, uint16_t mnGroup)
 Function to create a Panasonic makernote.
TiffComponentnewPentaxMn (uint16_t tag, uint16_t group, uint16_t mnGroup, const byte *pData, uint32_t size, ByteOrder byteOrder)
 Function to create an Pentax makernote.
TiffComponentnewPentaxMn2 (uint16_t tag, uint16_t group, uint16_t mnGroup)
 Function to create an Pentax makernote.
TiffComponentnewSigmaMn (uint16_t tag, uint16_t group, uint16_t mnGroup, const byte *pData, uint32_t size, ByteOrder byteOrder)
 Function to create a Sigma makernote.
TiffComponentnewSigmaMn2 (uint16_t tag, uint16_t group, uint16_t mnGroup)
 Function to create a Sigma makernote.
TiffComponentnewSonyMn (uint16_t tag, uint16_t group, uint16_t mnGroup, const byte *pData, uint32_t size, ByteOrder byteOrder)
 Function to create a Sony makernote.
TiffComponentnewSony1Mn2 (uint16_t tag, uint16_t group, uint16_t mnGroup)
 Function to create a Sony1 makernote.
TiffComponentnewSony2Mn2 (uint16_t tag, uint16_t group, uint16_t mnGroup)
 Function to create a Sony2 makernote.
TypeId toTypeId (TiffType tiffType, uint16_t tag, uint16_t group)
 Convert the tiffType of a tag and group to an Exiv2 typeId.
TiffType toTiffType (TypeId typeId)
 Convert the Exiv2 typeId to a TIFF value type.
bool cmpTagLt (TiffComponent const *lhs, TiffComponent const *rhs)
 Compare two TIFF component pointers by tag. Return true if the tag of component lhs is less than that of rhs.
const char * tiffGroupName (uint16_t group)
 Return the group name for a group.
uint16_t tiffGroupId (const std::string &groupName)
 Return the TIFF group id for a group name.
TiffComponent::AutoPtr newTiffEntry (uint16_t tag, uint16_t group)
 Function to create and initialize a new TIFF entry.
TiffComponent::AutoPtr newTiffMnEntry (uint16_t tag, uint16_t group)
 Function to create and initialize a new TIFF makernote entry.
template<uint16_t newGroup>
TiffComponent::AutoPtr newTiffDirectory (uint16_t tag, uint16_t)
 Function to create and initialize a new TIFF directory.
template<uint16_t newGroup>
TiffComponent::AutoPtr newTiffSubIfd (uint16_t tag, uint16_t group)
 Function to create and initialize a new TIFF sub-directory.
template<uint16_t newGroup, TiffType tiffType, bool addSizeElement>
TiffComponent::AutoPtr newTiffArrayEntry (uint16_t tag, uint16_t group)
 Function to create and initialize a new array entry.
template<TiffType tiffType, ByteOrder byteOrder>
TiffComponent::AutoPtr newTiffArrayElement (uint16_t tag, uint16_t group)
 Function to create and initialize a new array element.
template<uint16_t szTag, uint16_t szGroup>
TiffComponent::AutoPtr newTiffThumbData (uint16_t tag, uint16_t group)
 Function to create and initialize a new TIFF entry for a thumbnail (data).
template<uint16_t dtTag, uint16_t dtGroup>
TiffComponent::AutoPtr newTiffThumbSize (uint16_t tag, uint16_t group)
 Function to create and initialize a new TIFF entry for a thumbnail (size).
template<uint16_t szTag, uint16_t szGroup>
TiffComponent::AutoPtr newTiffImageData (uint16_t tag, uint16_t group)
 Function to create and initialize a new TIFF entry for image data.
template<uint16_t dtTag, uint16_t dtGroup>
TiffComponent::AutoPtr newTiffImageSize (uint16_t tag, uint16_t group)
 Function to create and initialize a new TIFF entry for image data (size).

Variables

const TiffType ttUnsignedByte = 1
 Exif BYTE type.
const TiffType ttAsciiString = 2
 Exif ASCII type.
const TiffType ttUnsignedShort = 3
 Exif SHORT type.
const TiffType ttUnsignedLong = 4
 Exif LONG type.
const TiffType ttUnsignedRational = 5
 Exif RATIONAL type.
const TiffType ttSignedByte = 6
 Exif SBYTE type.
const TiffType ttUndefined = 7
 Exif UNDEFINED type.
const TiffType ttSignedShort = 8
 Exif SSHORT type.
const TiffType ttSignedLong = 9
 Exif SLONG type.
const TiffType ttSignedRational = 10
 Exif SRATIONAL type.
const TiffType ttTiffFloat = 11
 TIFF FLOAT type.
const TiffType ttTiffDouble = 12
 TIFF DOUBLE type.
const TiffType ttTiffIfd = 13
 TIFF IFD type.


Detailed Description

Contains internal objects which are not published and are not part of the libexiv2 API.


Generated on Tue Jul 21 13:34:03 2009 for Exiv2 by  doxygen 1.5.8