26 #include <libopenraw/debug.h> 28 #include "rawfile.hpp" 30 #include "tiffepfile.hpp" 32 #include "ifdfilecontainer.hpp" 34 using namespace Debug;
39 TiffEpFile::TiffEpFile(
const IO::Stream::Ptr &s,
46 IfdDir::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.unwrap();
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");
77 IfdDir::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. I guess it failed.