Page 1 of 1

v.0.26.1 Exif-DateTimeOriginal shown wrong in some cases

Posted: Fri Oct 01, 2010 9:37 am
by KlausT
According to the Exif-specification (http://www.exif.org/Exif2-2.pdf, pdf-page 36, paper-page 30), DateTimeOriginal represents "the date and time when the original image data was generated. ... When the date and time are unknown, all the character spaces except colons (':') may be filled with blank characters, ...".

DateTimeOriginal may differ from the DateTimeDigitized. Therefore, I checked XnViewMP's behaviour with respect to "old" and "uncertain" date stamps. ExifToolGUI does not accept blank characters in uncertain date stamps, therefore I inserted '00' instead, in conformity with the IPTC spec.

Exif-DateTimeOriginal can be formatted in XnViewMP's labels using the DateTaken tag. I tried several date stamps. My findings with WinXP are summarized in the following table.
Table: Exif date stamp comparison (time stamps omitted)
Table: Exif date stamp comparison (time stamps omitted)
Exif-DateTimeOriginal.jpg (38.96 KiB) Viewed 1470 times
This table summarizes some problems of XnViewMP to show DateTaken:
  • an empty DateTimeOriginal tag is treated as an "error" (line 2).
  • all date stamps before 1970-01-01 (the beginning of the epoque) are treated as an "error", regardless whether the date stamps are precise or "uncertain": the error condition (a procedure may return -1) is interpreted as a valid date (0xffffffff) and shown in DateTaken as 2106-02-07, which is the end of the unsigned 32bit-epoque.
  • precise date stamps until 2106-02-07 are shown correct; the date 2038-01-20 (the day after the end of the signed 32bit-epoque) seems to be no problem.
  • "uncertain" date stamps (indicated by '00') after 1970-01-01 will be "rounded down" (not a good idea...).
  • the day after the end of the unsigned 32bit-epoque (2106-02-08) starts over with 1970-01-01.
In all cases, both the Exif- and Exiftool-tab in XnViewMP's Info pane show the correct date stamp. It seems that the procedure to format DateTaken has been rewritten and uses an unsigned 32bit representation for the date/time-stamp instead of the ascii-string. Obviously, there are good reasons why the Exif- and the IPTC-specifications use ascii-strings for date/time-stamps.

XnView 1.97.x doesn't have any problems to show DateTaken. My suggestion is to go back to the previous implementation in v1.97.x.

Re: v.0.26.1 Exif-DateTimeOriginal shown wrong in some cases

Posted: Fri Oct 15, 2010 9:19 am
by xnview
Please check XnViewMP 0.30