25 #include <sys/types.h>
28 #include <libopenraw/consts.h>
30 #include "rawcontainer.hpp"
32 #include "io/stream.hpp"
130 return m_exif_offset_correction;
136 m_exif_offset_correction = corr;
152 int m_exif_offset_correction;
155 std::vector<IfdDir::Ref> m_dirs;
std::shared_ptr< Stream > Ptr
std::shared_ptr< IfdDir > Ref
Shared ptr of an IfdDir.
int lastError() const
Return the last error.
void setExifOffsetCorrection(int corr)
Set the exif offset if needed.
std::vector< IfdDir::Ref > & directories()
Get the directories, loading them if necessary.
int currentDirectory()
Get the number of the current directory.
virtual EndianType isMagicHeader(const char *p, int len)
Check the IFD magic header.
IfdFileContainer(const IO::Stream::Ptr &file, off_t offset)
Constructor.
::or_error locateImageData(const IfdDir::Ref &dir, uint32_t &x, uint32_t &y, ::or_data_type &t)
Locate image data in the ifd (excepted RAW)
IfdDir::Ref setDirectory(int dir)
Set the current directory.
size_t getDirectoryDataSize()
get the extra data size chunk associated to the current image directory
virtual ~IfdFileContainer()
Destructor.
int countDirectories(void)
Count the number of image file directories, not including EXIF, GPS and INTEROP.
virtual int exifOffsetCorrection() const override
Return the Exif offset from the container begining.
virtual bool locateDirsPreHook()
hook to be called at the start of _locateDirs()
Generic interface for the RAW file container.
EndianType
Define the endian of the container.
or_error
Error codes returned by libopenraw.
Global namespace for libopenraw.