ExifTool Forum

General => Metadata => Topic started by: herb on November 07, 2022, 09:57:10 AM

Title: Unknown values for AFPoint of newer Olympus cameras
Post by: herb on November 07, 2022, 09:57:10 AM
Hello,

For testing my application I often download images from internet.
So I found also images taken by Olympus/OMDS cameras like E-M1iii, E-M1X or also OM-1.

For these types I have seen that tag: AFPoint needs some enhancements,
it has values like:
OM-1: "Unknown (8648)", "Unknown (8645)" or "Unknown (8524)"
E-M1X: "Unknown (305)"
E-M1iii: "Unknown (298)"

I own 2 Olympus cameras and the first was to see what values they use:
SP510UZ: This camera does not write tag AFPoint.
E-PL6: For all AF-settings (I used) tag AFPoint has always the same value 0,
        which means: Left or (n/a).
       For all my test-setting I found the correct values within other tags.

As said: Because I do not own one of these cameras I cannot look what they store for various AF-setting.
The goal of this post is now to find someone that owns such a camera and will do tests in order to see what these "Unknown" values are for.

I will try to get the AF-Point values for an E-M5iii (which is owned by a friend).


Thanks in advance to all
Best regards
herb
Title: Re: Unknown values for AFPoint of newer Olympus cameras
Post by: Phil Harvey on November 07, 2022, 11:39:57 AM
Hi Herb,

Yes.  Keeping up with the changing AFPoint metadata is difficult because there are so many variations and you often need the camera to figure it out.

- Phil
Title: Re: Unknown values for AFPoint of newer Olympus cameras
Post by: herb on November 08, 2022, 12:05:58 PM
Hello,

in meantime I checked all my test-images taken by an Olympus OMD E-M10iii.
The value for tag AFPoints is always 0 = Left or (n/a).

But please be aware that I downloaded all these images. So I do not know who has taken it and which settings were really used.

Best regards
herb
Title: Re: Unknown values for AFPoint of newer Olympus cameras
Post by: W.P. on January 20, 2023, 08:26:47 AM
Hello,

the expression pseudo-code, I use this in my application-definition-file. It can be used directly on a VBScript-Engine with defined functions.

Explanation to code:
%Tagvalue as Decimalcode%
Use: %TagNr% or %TagNr,ArrayIndex% or %TagNr,StartArrayIndex, EndArrayIndex%
Variables:
%Model%: Space trimmed Model Definition
Operators:
\=Integer Division

Note: The Definitions are formatted in sections, which accessed by IFD-Definitions.

Used functions:
IIF: Inline If-Function
ValueExp: ValueExp(Tag or Term, SrcArray(), ExpressionArray(),NotFoundString)
Array: Define Array Values
Split: Define Array via splitting text with a delimiter
CStr: Convert value to string
Note: Strings are in german

This Code access the follow cameras:
E-1, E-30, E-3, E-5, E-620, E-600, rest as 3 AF-default values
121 Field P-AF from OM-D M1 Mark II, O-MD M1 Mark III, O-MD M5 Mark III
Note: On 121 AF-Fields. If AF is switched to small AF, the value are always undefined or 0. Tested with FT lens on adapter.

IIF("%Model%" = "E-3" Or "%Model%" = "E-30" Or "%Model%" = "E-5", ValueExp(%776,0% AND 63,Array(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,255),Split("Aus,OL,OM,OR,ML,MML,MM,MMR,MR,UL,UM,UR,OL,OM,OR,ML,MML,MM,MMR,MR,UL,UM,UR,Kein", ","), CStr(%776,0% AND 63) & ": Unbekanntes Feld"),IIF("%Model%" = "E-620" Or "%Model%" = "E-600", ValueExp(%776,0% AND 63,Array(0,2,5,6,7,10,13,15,16,17,18,19,21,63),Split("Aus,OM,MMR,MM,MML,UM,OM,MR,MMR,MM,MML,ML,UM,Kein", ","), CStr(%776,0% AND 63) & ": Unbekanntes Feld"),IIF("%Model%" = "E-M1MarkII" Or "%Model%" = "E-M1MarkIII" Or "%Model%" = "E-M5MarkIII" Or "%Model%" = "E-M1X",IIF((%776,0% AND 255)=121,"Kein P-AF","(" & ((%776,0% AND 255) Mod 11) & ";" & ((%776,0% AND 255) \ 11) & ")"),IIF("%Model%"="E-M1" Or "%Model%"="OM-1" Or "%Model%"="OM-5", CStr(%776,0% AND 255) & ": Feld nicht ausgewertet",ValueExp(%776,0% AND 63,Array(0,1,2,3,255),Split("L,M,R,M,Kein", ","), CStr(%776,0% AND 63) & ": Unbekanntes Feld")))))

Supplement:
OlyDebug(AF Section) <=Same section
DBGAFPointUseable
Expression=ValueExp((%776,0% \ 256) And 63, Array(0,1,2,4,8,9,10,16,17,32,33,34), Split("K-AF,P-AF,P-AF+K-AF,5x5,Kleines Feld,Kleines Feld,Kleines Feld,Alle Felder,Alle Felder,3x3,3x3,3x3", ","), "Nicht vorhanden!")

Note: The expression can be defined as Bit-Field, but there are exceptions. For Example 5x5 Group. For Integer Devision you can be use shift operators
Note 2: K-AF = Contrast AF(German: contrast=(K)ontrast, P-AF = Phase detection. It can be translate as sensor micro step AF.


For E-M1 Mark 1 (81 AF-Fields) and OMD-OM1 no Data available.
For first edition E-M1 it can be, it uses an 9x9 grid line by line from left till right. I have no samples to verify it.

With best Regards
Werner

PS: For more definitions, you can contact me on Email. For example: Flash or XZ-2 AF values (other SubIFD)
Title: Re: Unknown values for AFPoint of newer Olympus cameras
Post by: herb on January 21, 2023, 05:48:00 AM
Hello W.P.

Sorry, but it is totally unclear to me, what the goal is of your "Code".
Please give a better explanation or an example of usage.

Best regards
herb
Title: Re: Unknown values for AFPoint of newer Olympus cameras
Post by: StarGeek on January 21, 2023, 10:28:22 AM
Phil is currently away until next week, so this has to wait until he gets back.
Title: Re: Unknown values for AFPoint of newer Olympus cameras
Post by: herb on January 21, 2023, 12:33:24 PM
Hello,

after reading the post of W.P. very often, I guess he/she gives a formula/piece of code for tag 0x0308 (=776 decimal).

I tried to make it more readable:
if "%Model%" = "E-3" Or "%Model%" = "E-30" Or "%Model%" = "E-5"
then
   ValueExp(%AFPoint% AND 63,Array(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,255),Split("Aus,OL,OM,OR,ML,MML,MM,MMR,MR,UL,UM,UR,OL,OM,OR,ML,MML,MM,MMR,MR,UL,UM,UR,Kein", ","), CStr(%AFPoint% AND 63) & ": Unbekanntes Feld"
else
   if "%Model%" = "E-620" Or "%Model%" = "E-600"
   then
      ValueExp(%AFPoint% AND 63,Array(0,2,5,6,7,10,13,15,16,17,18,19,21,63),Split("Aus,OM,MMR,MM,MML,UM,OM,MR,MMR,MM,MML,ML,UM,Kein", ","), CStr(%AFPoint% AND 63) & ": Unbekanntes Feld"
   else
      if "%Model%" = "E-M1MarkII" Or "%Model%" = "E-M1MarkIII" Or "%Model%" = "E-M5MarkIII" Or "%Model%" = "E-M1X"
      then
         if (%AFPoint% AND 255)=121
         then
            "Kein P-AF"
         else
            "(" & ((%AFPoint% AND 255) Mod 11) & ";" & ((%AFPoint% AND 255) \ 11) & ")"
      else
         if "%Model%"="E-M1" Or "%Model%"="OM-1" Or "%Model%"="OM-5"
         then
            CStr(%AFPoint% AND 255) & ": Feld nicht ausgewertet"
         else
            ValueExp(%AFPoint% AND 63,Array(0,1,2,3,255),Split("L,M,R,M,Kein", ","), CStr(%AFPoint% AND 63) & ": Unbekanntes Feld"
         endif
      endif
   endif
endif

Best regards
herb
Title: Re: Unknown values for AFPoint of newer Olympus cameras
Post by: herb on January 22, 2023, 10:27:48 AM
Hello,

today I tried to use the formula/piece of code given by W.P. with images of my EM5iii camera; but for me it has many restrictions/limitation for "newer models":
Quote121 Field P-AF from OM-D M1 Mark II, O-MD M1 Mark III, O-MD M5 Mark III
Note: On 121 AF-Fields. If AF is switched to small AF, the value are always undefined or 0. Tested with FT lens on adapter.
all given by w.P.itself.

I cannot decide whether it fully supports "older models" (E-1, E-30, E-3, E-5, E-620, E-600).
Maybe Phil can do this.

So for me it is still open what "newer models" write into tag "AFPoint".
 

Best regards
herb