22
22
@file tiffparser.hpp
23
23
@brief Class TiffParser to parse TIFF data.
25
25
@author Andreas Huggel (ahu)
26
26
<a href="mailto:ahuggel@gmx.net">ahuggel@gmx.net</a>
27
27
@date 15-Mar-06, ahu: created
63
58
is created. If the pointer that is returned is 0, then the TIFF entry
66
static TiffComponent::AutoPtr create(uint32_t extendedTag,
61
static std::auto_ptr<TiffComponent> create(uint32_t extendedTag,
70
65
static const TiffStructure tiffStructure_[]; //<! TIFF structure
90
85
in TIFF format; no checks are performed.
91
86
@param size Length of the data buffer.
92
87
@param createFct Factory function to create new TIFF components.
88
@param findDecoderFct Function to access special decoding info.
94
90
static void decode( Image* pImage,
97
TiffCompFactoryFct createFct);
93
TiffCompFactoryFct createFct,
94
FindDecoderFct findDecoderFct);
98
95
}; // class TiffParser
98
@brief Table of TIFF decoding functions and find function.
99
This class is separated from the metadata decoder visitor so that
100
the parser can be parametrized with a different table if needed.
101
This is used, eg., for CR2 format, which uses a different decoder
107
@brief Find the decoder function for a key.
109
If the returned pointer is 0, the tag should not be decoded,
110
else the decoder function should be used.
112
@param make Camera make
113
@param extendedTag Extended tag
116
@return Pointer to the decoder function
118
static const DecoderFct findDecoder(const std::string& make,
119
uint32_t extendedTag,
123
static const TiffDecoderInfo tiffDecoderInfo_[]; //<! TIFF decoder table
125
}; // class TiffDecoder
100
127
} // namespace Exiv2
102
129
#endif // #ifndef TIFFPARSER_HPP_