25 #include <sys/types.h>
29 #include <libopenraw/consts.h>
31 #include "rawfile.hpp"
32 #include "io/stream.hpp"
34 #include "rawcontainer.hpp"
36 #include "makernotedir.hpp"
48 class IfdFileContainer;
52 #if defined(IN_TESTSUITE)
59 bool instantiateContainer =
true);
68 std::vector<uint32_t> &list)
override;
75 std::vector<uint32_t>& list);
81 std::vector<uint32_t>& list);
89 std::vector<uint32_t> &list);
143 RawData &data, uint32_t x, uint32_t y,
144 uint32_t offset, uint32_t byte_length);
std::shared_ptr< Stream > Ptr
std::shared_ptr< IfdDir > Ref
Shared ptr of an IfdDir.
std::shared_ptr< IfdEntry > Ref
IfdEntry reference (ie shared pointer)
A generic IFD (TIFF) based raw file.
virtual ::or_error _unpackData(uint16_t bpc, uint32_t compression, RawData &data, uint32_t x, uint32_t y, uint32_t offset, uint32_t byte_length)
Unpack the data.
::or_error _addThumbnailFromStream(uint32_t offset, uint32_t len, std::vector< uint32_t > &list)
Add a thumbnail from a stream.
virtual ::or_error _decompressIfNeeded(RawData &, uint32_t)
Call to decompress if needed from _getRawData()
virtual ::or_error _enumThumbnailSizes(std::vector< uint32_t > &list) override
List the thumbnails in the IFD.
IfdFileContainer * m_container
virtual ::or_error _getRawData(RawData &data, uint32_t options) override
Get the RAW data.
virtual ::or_error _locateThumbnail(const IfdDir::Ref &dir, std::vector< uint32_t > &list)
Locate the thumnail in the IFD.
virtual IfdDir::Ref _locateCfaIfd() override
Locate the IFD for the raw data.
::or_error _getRawDataFromDir(RawData &data, const IfdDir::Ref &dir)
Load the compressed raw data from a standard location in an IFD.
virtual RawContainer * getContainer() const override
Get the container.
virtual void _identifyId() override
Identify the file and set the ID internally.
::or_error _addThumbnailFromEntry(const IfdEntry::Ref &e, off_t offset, std::vector< uint32_t > &list)
Add the thumbnail found in the IfdEntry.
virtual MetaValue * _getMetaValue(int32_t meta_index) override
Implementation for getMetaValue()
virtual uint32_t _getJpegThumbnailOffset(const IfdDir::Ref &dir, uint32_t &len)
Get the JPEG thumbnail offset from dir.
virtual IfdDir::Ref _locateMainIfd() override
Locate the main IFD.
virtual uint32_t _translateCompressionType(IFD::TiffCompress tiffCompression)
Translate the compression type from the tiff type (16MSB) to the RAW specific type if needed (16MSB)
Generic interface for the RAW file container.
Represent camera raw data.
or_rawfile_type
Types of RAW files.
or_error
Error codes returned by libopenraw.
TiffCompress
TIFF compression.
Global namespace for libopenraw.