proper way to handle maker notes

Hubert Figuiere hub at figuiere.net
Wed Jun 11 05:29:48 PDT 2008


On Wed, 2008-06-11 at 09:38 +0100, Rafael Espíndola wrote:

> 
> > -Passing &temp[0] to something that expect a "raw" pointer is a
> > fundamental error. There is absolutely NO warranty that
> >  &temp[n + 1] == &temp[n] when temp is a std::vector<>.
> 
> you mean &temp[n+1] == &temp[n] + 1 right?
> 
> I think it is
> 
> http://www.velocityreviews.com/forums/t281876-is-stdvector-contiguous.html

Mmmm.


> > -There is a IFDEntry::getArray<>() to which you pass a vector that
> > should do that for you.
> 
> I tried, but the IFD  used by NEF has base != start of the header
> (note the "+ 10", so I couldn't get it to work. 

I'm sure we can put something up for IFDDir. That's the kind of stuff
I'm expecting to arise from the MakerNote support.

>  Not a big issue,
> since the final version has to read 16 bits. I  just used the uint8_t
> vector to debug by comparing with "exiv2 -b -p h" output.
> 
> I should have a patch that reads most NEF files this weekend :-)

Good.


Hub



More information about the Libopenraw-dev mailing list