26#include <libopenraw/debug.h>
30#include "tiffepfile.hpp"
32#include "ifdfilecontainer.hpp"
39TiffEpFile::TiffEpFile(
const IO::Stream::Ptr &s,
46IfdDir::Ref TiffEpFile::_locateCfaIfd()
48 const IfdDir::Ref & _mainIfd = mainIfd();
51 LOGDBG1(
"couldn't find main ifd\n");
54 if (_mainIfd->isPrimary()) {
57 auto result = _mainIfd->getSubIFDs();
60 LOGDBG1(
"couldn't find main ifd nor subifds\n");
64 std::vector<IfdDir::Ref> subdirs = result.value();
65 auto i = find_if(subdirs.cbegin(),
67 [] (
const IfdDir::Ref& e) {
68 return e->isPrimary();
70 if (i != subdirs.cend()) {
73 LOGDBG1(
"couldn't find a primary subifd\n");
77IfdDir::Ref TiffEpFile::_locateMainIfd()
79 return m_container->setDirectory(0);
CIFF is the container for CRW files. It is an attempt from Canon to make this a standard....