From: Al E. <al...@tb...> - 2003-07-31 23:04:53
|
At 1:02 AM +0200 8/1/03, Lutz M=FCller wrote: >Hi! > >The problem has already been discovered by Al Evans. There is no fix yet >with regard to saving the modified exif data without loosing the >information accessible through the MakerNote. > >One solution could be to move (on saving) all data associated with the >MakerNote into the MakerNote entry itself. I haven't verified if this is >possible. But this would mean to drop the strict separation of libexif >and libmnote. > >I am not sure yet. >-- >Lutz M=FCller <lu...@us...> > >>---------------------------------- >>Duane H. Hesser <dh...@mo...> >>---------------------------------- >>BTW, the size change that you observed has nothing to do with the >>"problem" mentioned above. Most of the size change is due to a >>"hole" in the original image after IFD1, before the primary JPEG >>data starts. >> >>-- According to my results, this is not really a "hole". The MakerNote, in all cases that I know of, has a similar structure to an EXIF IFD. That is to say, when the data doesn't fit into the last four bytes of an entry, those bytes contain a pointer. For the Olympus E20 MakerNote (at least), the pointers point into this "hole". Here's part of an email I sent Lutz this afternoon: ----- >Do you tell me that your camera writes EXIF data with pointers in the >tag MakerNote to regions outside the MakerNote tag? So, if the MakerNote >tag has a size of 600 bytes, it has in reality a size of more than that? Precisely. If you think about it, there is no other option. If the data is > 4 bytes, it CAN'T put it within the MakerNote tag, since that tag consists of 12-byte fields. The Olympus E10 and E20 are the only current cameras I know that record such data in the MakerNotes, but any camera that did so, would have to use bytes outside the MakerNote tag. For example, though I have no idea what it means, Olympus E20 tag 0x1033 is an array of 720 shorts, with an offset of 0x0f34 (the MakerNote is under 900 bytes): 00002d0: 0003 0000 0001 ffff 0000 1033 0004 0000 ...........3.... ---- 00002e0: 02d0 0000 0f34 1034 0005 0000 0001 0000 .....4.4........ ---- ---- ----- --Al Evans-- |