Can't modify Pentax MakerNotes

Started by tempel, March 08, 2012, 12:26:30 PM

Previous topic - Next topic

tempel

Here's the failed cmd with "-v" output:

TTs8X:~ tempi$ exiftool /Volumes/DQ2/Pictures/Eye-Fi/08.03.12/K20_9876.JPG -MakerNotes:LensType='a' -v
Warning: Can't convert Canon:LensType (matches more than one PrintConv)
======== /Volumes/DQ2/Pictures/Eye-Fi/08.03.12/K20_9876.JPG
Rewriting /Volumes/DQ2/Pictures/Eye-Fi/08.03.12/K20_9876.JPG...
  Editing tags in: APP0 APP1 CIFF ExifIFD IFD0 JFIF MakerNotes
JPEG APP1 (34333 bytes):
  Rewriting IFD0
  ExifByteOrder = MM
  Rewriting ExifIFD
  Rewriting MakerNotePentax
  Warning = Error writing MakerNotes:LensType
  Rewriting ShakeReductionInfo
  Rewriting AWBInfo
  Rewriting CameraSettings
  Rewriting AEInfo
  Rewriting LensInfo
  Rewriting FlashInfo
  Rewriting CameraInfo
  Rewriting BatteryInfo
  Rewriting AFInfo
  Rewriting ColorInfo
  Rewriting ShotInfo
  Rewriting UnknownInfo
  Rewriting InteropIFD
  Rewriting GPS
  Rewriting IFD0
JPEG APP1 (4622 bytes):
JPEG APP13 (110 bytes):
JPEG DQT (130 bytes):
JPEG DRI (2 bytes):
JPEG SOF0:
JPEG DHT (416 bytes):
JPEG SOS
Nothing changed in /Volumes/DQ2/Pictures/Eye-Fi/08.03.12/K20_9876.JPG
Warning: Error writing MakerNotes:LensType - /Volumes/DQ2/Pictures/Eye-Fi/08.03.12/K20_9876.JPG
    0 image files updated
    1 image files unchanged


I had tried to edit an existing entry in the MakerNotes section.

Any idea what went wrong there? It's the first time I've tried, so I can't say that it ever worked before.
Do you need a Pentax img? I think you might have one already.

tempel

Oh - I just realize: I've tried to set a text value to a field that probably is numeric.
How do I do that, then?

The goal is to override the ID for "K or M lens" with an "unknown" value so that OSX then take the LensModel that I'm setting explicitly. As long as OSX recognizes the LensType, it ignores my added LensModel setting.

Phil Harvey

The problem is that this value is stored differently for some Pentax models.  Some models (like your K20) add extra bytes to the value of this tag, and ExifTool doesn't currently write these.  I'll see what I can do about adding this ability in the next release.

- Phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).

tempel

Isn't the LensType value stored as two consecutive bytes? So, setting it as a 16 bit number would be sufficient for my needs, and probably for others too, if it's documented.

Phil Harvey

It is stored in various formats in different places in the images by different models.

ExifTool re-organizes the value into 2 integer numbers for each case so a single lookup table may be used.  You can write the numbers directly with -n -lenstype="4 39", or by name.  In the example you used, writing -lenstype=a would assume you meant "A Series Lens", for a numerical value of "2 0".

See the Pentax LensType values for the full list.

I have updated the code to be able to write this for all models, and I expect to release the new version (8.81) on the weekend.

- Phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).