MakerNotesFuji Film 0x1438 .. got me worried !!

Started by TonyB1959, June 26, 2015, 08:53:32 PM

Previous topic - Next topic

TonyB1959

Anyone cleverer than me help with something ?
When Firmware version 3 came along for the Fujifilm X-T1, one of the new unknown tags that appeared (MakerNotes  Fuji Film 0x1438) seems to increment every time I take a new picture.
Ah Hah, I thought, this seems to be a shuttercount .. could be useful.
Latest photo shows 40,924.
However, I've kept every photo I've taken in the 14 months I've had the camera .. which I  bought brand new .. and a quick tally shows I've actually taken 21,200.
So today I picked up a spanking new Fuji X-T1 Graphite Silver Edition & checked & double checked in the shop that this was brand new, unused, not refurbished etc. & I got the body home & fired off a few test shots.
I updated the camera to Firmware 3.11 & checked the value in Fuji Film 0x1438....
32775 !!
Does this mean both my "New" cameras were probably refurbs ?? If I'm quick I can still return the new one if that's the case ..
The camera seems perfectly new. It was taped into a plastic bag with an unbroken seal.
Pictures started at 0001. I would have been quite happy to accept this as a new camera .. but this high number has me a little worried.
What does anybody know about this field / shuttercounts in general ? Is it possible that a new camera may have 32000 test shots taken when it's being manufactured or something ?
Or maybe it's normal for parts to be re-used ?
Or maybe the   Fuji Film 0x1438 field is something else entirely ?
Sorry for my ignorance !! Just a link for something to read on the subject would be a help.

Phil Harvey

Quote from: TonyB1959 on June 26, 2015, 08:53:32 PM
32775 !!

This is hex 0x8008.  I bet that this tag starts counting at 0x8001, and this is the 8th picture that the camera has taken.

I don't know why the high bit should be set, but this is possible.  Is it only a 2-byte integer?  Can I see the -v3 output for this tag?  If it is an int16u with one bit missing, the maximum value it can represent is 32767.

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

TonyB1959

#2
Hi Phil I think what you're saying is probably right.
Originally the new camera came with Firmware version 2 which never had this tag (MakerNotes  Fuji Film 0x1438)
In between the 17th and the 18th photos that I took, I updated the FW to version 3.11, which does.

32769 is the number shown in this tag for the 18th photo (the first with the new firmware).
Too close you your magic number 32767 to be a coincidence !!
So basically, if I subtract 32768 from the number in this new tag, it gives me the number of shutter actuations since FW 3 was installed.
I just trawled back to 18th December 2014 where I first installed FW 3 on my original X-T1 and guess what number shows up ??
First shot with FW 3 shows 32769 !!
Not sure what you mean by the -v3 output etc.
I can send you the jpg if you like.
I'm using FW 4 now though, and the ACTUAL FW 4 isn't released till Monday & new tags may appear.
Thanks for putting my mind at ease !!

PS FW4 has some changes in Exif one of which certainly you'll need to know about.
AF Point Set used to return Yes and No but now there are at least 4 states (I've seen "Yes, No, Unknown 256 & Unknown 512" come back so far).
Once I have the final version installed I'll try and let you know what's changed (unless, as above, you'd like a jpg to analyse yourself ?)


Phil Harvey

#3
I don't need the images.  The -v3 output is the output from exiftool -v3 FILE.  But I don't want to see the whole output... just the part for tag 0x1438.  And if you discover the meanings of any unknown tags/values, please let me know.

- Phil

Edit: The magic number of 0x8000 hex is 32768 decimal, so this makes perfect sense, and 32769 should be image number 1.  The 32767 I mentioned is 0x7fff hex, and is the largest count that may be represented by the remaining 15 bits.
...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 ($).

TonyB1959

Yes geddit re the magic number.
I'm a bit scared of command line apps etc. I use ExifTool to grab all data (including hidden manufacturer stuff) from ome jpeg at a time to display in a windows photo viewer program that I've written myself in Visual Studio Express.
So I read the data for a whole photo into my prog & then sort it out and display it in there.
I've used some tags programmatically of course (eg to see hidden data).
This is (some of) what my program receives from a firmware 4 jpeg, if it helps..


EXIF   Thumbnail Length   7138
MakerNotes   Version   0130
MakerNotes   Internal Serial Number   FFDT....
MakerNotes   Quality   FINE
MakerNotes   White Balance   Auto
MakerNotes   Saturation   Normal
MakerNotes   White Balance Fine Tune   Red +0, Blue +0
MakerNotes   Noise Reduction   n/a
MakerNotes   High ISO Noise Reduction   Normal
MakerNotes   Fuji Flash Mode   Off
MakerNotes   Flash Exposure Comp   -0.33
MakerNotes   Focus Mode   Auto
MakerNotes   AF Point Set   Yes
MakerNotes   Focus Pixel    2447 1377
MakerNotes   Fuji Film 0x1026       16
MakerNotes   Slow Sync   Off
MakerNotes   Picture Mode   Aperture-priority AE
MakerNotes   Exposure Count   1
MakerNotes   Shadow Tone   Normal
MakerNotes   Highlight Tone   Normal
MakerNotes   Fuji Film 0x1045       1
MakerNotes   Fuji Film 0x1046       1
MakerNotes   Shutter Type   Mechanical
MakerNotes   Auto Bracketing   Off
MakerNotes   Sequence Number   0
MakerNotes   Fuji Film 0x1200       0
MakerNotes   Blur Warning   None
MakerNotes   Focus Warning   Good
MakerNotes   Exposure Warning   Good
MakerNotes   Fuji Film 0x1303     0
MakerNotes   Fuji Film 0x1304    0
MakerNotes   Fuji Film 0x1305    0
MakerNotes   Dynamic Range   Standard
MakerNotes   Film Mode   F2/Fujichrome (Velvia)
MakerNotes   Dynamic Range Setting   Auto (100-400%)
MakerNotes   Min Focal Length   60
MakerNotes   Max Focal Length   60
MakerNotes   Max Aperture At Min Focal   2.4
MakerNotes   Max Aperture At Max Focal   2.4
MakerNotes   Fuji Film 0x1408    0300
MakerNotes   Fuji Film 0x1409    0100
MakerNotes   Fuji Film 0x140a           0
MakerNotes   Auto Dynamic Range   100%
MakerNotes   Image Stabilization   None; Off; 0
MakerNotes   Fuji Film 0x1424           4608
MakerNotes   Fuji Film 0x1430   [...]
MakerNotes   Rating   0
MakerNotes   Image Generation   Original Image
MakerNotes   Fuji Film 0x1438           32964
MakerNotes   Faces Detected   0
MakerNotes   Fuji Film 0x4200    0
PrintIM   PrintIM Version   0250

Phil Harvey

Unfortunately that output doesn't tell me the format (which I am guessing is int16u -- unsigned 16-bit integer).  If you could email me a sample I will take a look myself.  (philharvey66 at gmail.com)

Thanks.

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

TonyB1959


Phil Harvey

Thanks.  Yup, int16u:

  | | | 48) FujiFilm_0x1438 = 32964
  | | |     - Tag 0x1438 (2 bytes, int16u[1]):
  | | |         09be: c4 80                                           [..]


I'll decode this and call it ImageCount.  (Not ShutterCount because it seems to only count from when you installed the firmware.)

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

TonyB1959

Yes it does Phil .. shutter count since FW 3 installed. Of course, to anybody buying a new camera from now on, it will be a real shutter count.

I think I've got my head around the other changes in the exif in FW 4. (also the new X-T10).
They've added some new auto-focus modes.
Originally there was just single point focus, as you know, and the focus point can be set to any of 49 positions.
That remains.
New is "Zone" auto focus (a box in the middle 3x3, 3x5 or 5x5 focus points in size) which searches for focus points automatically.
Also new is a similar mode that covers the whole screen. They've called this "Wide/Tracking" mode.

All of the X series cameras have a switch for 3 focus modes, Manual, AF-C (continuous), and AF-S (single).
Your tool reports either Auto or Manual, and nothing has changed here in the exif.
Till now I've not spotted anything in the exif that changes when AF is switched from C to S.

So now, from version 4 FW we have 6 AF modes,+ Manual Focus...

AF-C Single Point
AF-C Zone
AF-C Wide/Tracking
AF-S Single Point
AF-S Zone
AF-S Wide/Tracking

I guess companies like Fujifilm try to keep exif data backwards compatible, so programs like yours don't get confusing results from pictures taken in older cameras ?

I'm also guessing that they don't give out the "Official" names of the exif fields, and that you & your helpers (like me !) work out what's happening by trial & error & then you decide on a suitable name (as above with shutter count !)

I'm wondering all this because I think the Fuji code that you've called "AF Point Set" may have been intended as something else by Fujifilm.
AF point is ALWAYS set (in all the pics I have going way back) unless (till now) Manual focus is used.
There's already a Manual/Auto focus field, so "Focus Point Set" was always returning Yes in AF mode, and No in Manual mode.
Correct me if I'm wrong (maybe a camera I haven't owned ?)
((There was a bug in an early X-Pro 1 and also my X-S1 that sometimes returned focus pixel 0,0 which is impossible, when actually the focus point was in it's default position, dead center )).

Maybe the field you called "AF Point Set" was actually meant to be something like "AF Mode" but till now there were only two states (which you called AF Point Set Yes or No).

So now, with FW 4 we have some new AF types. They seem to return the following values ..

Manual Focus                        Focus Mode "Manual"                  AF Point Set "No"
AF-C Single Point                   Focus Mode "Auto"                     AF Point Set "Yes"
AF-C Zone                             Focus Mode "Auto"                     AF Point Set "256"
AF-C Wide/Tracking               Focus Mode "Auto"                     AF Point Set "512"
AF-S Single Point                   Focus Mode "Auto"                     AF Point Set "Yes"
AF-S Zone                             Focus Mode "Auto"                     AF Point Set "256"
AF-S Wide/Tracking               Focus Mode "Auto"                     AF Point Set "No"

Actual Focus Pixels can be set for ALL the above, some set by the camera, some by the user.
Only one single focus pixel seems to ever be recorded in exif, even though many may show up onscreen in the auto modes.

This is all a bit complicated as different modes return the same values in AF Point Set.
Not sure how you'd deal with this.
Both "AF-S Wide/Tracking" and "Manual" return "No".

If the field were renamed "AF Mode" and...
the old "Yes" value were renamed "Single Point AF"
the new "256" value was named "Zone AF"
the new "512" value was named "Tracking AF"
and the old "No" value was named "Wide AF"

..that would work for all the Auto "Focus Modes" but would muck up in the Manual "Focus Mode".
Don't know if you can programmatically reference other fields to change the return values in your tool ? If so, maybe if "Focus Mode" returns "Manual" then "AF Mode" should always return "Off" or something.

Maybe changing field names is a no-no (backwards compatibility for YOUR users ?)

Anyhow sorry it's so long & let me know if you need clarification of anything.

Phil Harvey

Sorry for being so long to respond, but I needed some time to think about this and to look at the code.

Unfortunately I can see no consistent way to deal with this.  I think you are right that this should be called AFMode.  There was already a Note about "No" being used for both Manual and some multi-focus modes.  I think going with this tag definition may be a possible compromise:

    0x1022 => { #8/forum6579
        Name => 'AFMode',
        Writable => 'int16u',
        Notes => '"No" for manual and some AF-multi focus modes',
        PrintConv => {
            0 => 'No',
            1 => 'Single',
            256 => 'Zone',
            512 => 'Tracking',
        },
    },


But I don't understand the distinction between Wide and Tracking.  From what you have said, 512 could just as easily been named "Wide".  What is the difference?  Or should it be called "Wide/Tracking"?

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

TonyB1959

Hi Phil.
Sorry for length again !!

There's a pdf you can download that describes the 6 AF modes if you're interested ?

http://www.fujifilm.eu/uploads/tx_fujifilmproducts/downloads/X-T1_X-T10_AF-HandBook_EN_05.pdf

I'm wondering whether the Exif data generated by the new firmware isn't completely finished yet.
Maybe you could leave this for a while just in case it changes again.

Why I'm thinking this ...
There are THREE focus modes, on a switch on all X-series bodies.

Manual
AF-S (single autofocus .. focus locks on shutter half press .. no tracking)
AF-C (continuous autofocus .. on half press focus locks then continues to track moving subjects).

There are, as you know, only TWO return values, Manual or Auto.

For each of the two AUTO switch positions above (AF-S and AF-C) there are now THREE autofocus modes

AF-S Single Point
AF-S Zone
AF-S Wide/Tracking
AF-C Single Point
AF-C Zone
AF-C Wide/Tracking

Six AF modes in all

..but we're seeing FOUR different return values..(0, 1, 256, 512)

AF-S Single Point = 1
AF-S Zone = 256
AF-S Wide/Tracking = 0
AF-C Single Point = 1
AF-C Zone = 256
AF-C Wide/Tracking = 512

So to answer your question, the distinction between Wide & Tracking .. well they always refer to it as
"Wide/Tracking" (see pdf) but in use, no "Tracking" ever happens in AF-S mode.
So if you use "Wide/Tracking" in AF-S switch position you get a full screen multi-point auto-focus that locks
and doesn't track (presumably the "Wide" part of the title)..
but if you use "Wide/Tracking" in AF-C switch position you get a full screen multi-point auto-focus that
tracks movement over the whole screen (I'm guessing the "Tracking" part of the name).

..and in my viewer app (that uses exiftool) I simply ignore anything AF related when "Focus Mode" returns
Manual, and display...

Single point AF for 1
Zone AF for 256
Wide AF for 0 and
Tracking AF for 512

Which works fine for all the pics I've taken so far.

{{Strictly speaking, both "Single point AF" and "Zone AF" also do do tracking. I can find no values
in the exif till now that reflect this.}}

Why no 128 though ?

This is where I suspect an error.
If ..
0 = No AF (Manual Focus) {half correct now}
1 = Single point AF (so both backwards compatible so far) {correct now}
64 = Single point AF in AF-C {never seen this value}
128 = Wide/Tracking AF in AF-S {never seen this value}
256 = Zone AF  in AF-S {correct now}
512 = Wide/Tracking AF in AF-C {correct now}
1024 = Zone AF  in AF-C {never seen this value}

..then it would all make sense !!

So, as of now, it works as it is, (for me) but it seems the exif may be incomplete.
(Why re-use Zero when 128 was available, and zero already means something else ie "AF Off").

Oh, and re this:

    0x1022 => { #8/forum6579
        Name => 'AFMode',
        Writable => 'int16u',
        Notes => '"No" for manual and some AF-multi focus modes',
        PrintConv => {
            0 => 'No',
            1 => 'Single',
            256 => 'Zone',
            512 => 'Tracking',
        },
    },

Can I suggest....

0x1022 => { #8/forum6579
        Name => 'AFMode',
        Writable => 'int16u',
        Notes => '"No" for manual and some AF-multi focus modes',
        PrintConv => {
            0 => 'No',
            1 => 'Single Point',..................(as opposed to Single in AF-S)
            256 => 'Zone',
            512 => 'Wide/Tracking',.........(seems more what fuji intended, rather than what I guessed)
        },
    },

..and really, shouldn't 0x1022 (if it IS "AF Mode") just not be in the exif at all, when Manual focus is in use ??
(other fields vanish when necessary, like face detect co-ordinates etc.).
Wish we could ask Fuji for an Exif map ! Have you ever tried such a thing ? or is that cheating !!

Phil Harvey

Quote from: TonyB1959 on July 12, 2015, 04:34:31 PM
So to answer your question, the distinction between Wide & Tracking ..

Thanks.  I think I understand now.

QuoteThis is where I suspect an error.
[...]
..then it would all make sense !!

You're asking to much if you expect the metadata to make sense. ;)

QuoteCan I suggest....

Great, thanks.  I'll use this.

Quote..and really, shouldn't 0x1022 (if it IS "AF Mode") just not be in the exif at all, when Manual focus is in use ??

True, but it is common for useless information to be left around in the maker notes.

QuoteWish we could ask Fuji for an Exif map ! Have you ever tried such a thing ? or is that cheating !!

Other people have tried with various manufacturers.  So far, zero success for the big players.  Only some small companies seem receptive to the idea of sharing this information.

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