Decoded Apple 0x000c

Started by Neal Krawetz, June 30, 2022, 03:06:24 PM

Previous topic - Next topic

Neal Krawetz

I think I've decoded part of Apple MakerNotes 0x000c.

It contains two floats.
The first appears to be the estimated subject distance.
I don't know the purpose of the 2nd float.

I've been playing with the depth of field, hyperfocal distance, and other related calculations.
I've been looking at the "The Double the Distance Method" for determining the hyperfocal distance from the focal point.  Or more specifically, going the other way around. It's easy (ahem, kinda, approximate) to find the hyperfocal distance from the available EXIF metadata.  I've been dividing the hyperfocal by half to approximate the distance to the focal point when it isn't known.  This works well-enough for lots of cameras, but not iPhones.

With my iPhone, I've been using a measuring tape to determine the distance from the camera to the subject.  The first float in Apple 0x000c appears to be that distance in meters (+/- a few centimeters).

Neal Krawetz

One more note: The value will be wrong if the picture was scaled by the iPhone's photo editor.

StarGeek

Phil is currently away until next week, so it will be some time before he can check this out.
"It didn't work" isn't helpful. What was the exact command used and the output.
Read FAQ #3 and use that cmd
Please use the Code button for exiftool output

Please include your OS/Exiftool version/filetype

Neal Krawetz

I figured out the purpose of the second value in Apple 0x000c!

Apple doesn't provide a distance to subject.
Apple provides a focal RANGE!
Sometimes it's "Apple 0x000c: far near", other times it is  "Apple 0x000c: near far". But it's definitely the range.

I think (suspect) that the ordering depends on which lens is used.
The iPhone has two lenses -- one for close shots and the other for long shots. Depending on the lens that is used, the order may swap.

Phil Harvey

Great, thanks!  ExifTool 12.43 will support reading this.

- 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 ($).