Strange warning in print output ( -printFormat )

Started by Andi, August 13, 2021, 10:29:01 AM

Previous topic - Next topic

Andi

Mac OS 10.14, ExifTool 12.30, bash --version "version 3.2.57(1)-release (x86_64-apple-darwin18)"

1. To start with this, ExifTool v 12.0 hat a severe bug, where date formatting (-d) was completely ignored and I could not rename my files properly. It seems that former version (I don't know which, it seems it was update automatically) didn't have this bug because I am using the following script already for a long time. Anyway, date formatting works properly again in v 12.30.

2. Now a strange warning shows up with many JPEGs, while non of the corresponding DNGs show this warning. To test my command I prepend -p to it:

exiftool -d ~/Pictures/eigene/chronologisch/"%Y/%Y-%m-%d" -p '-filename<$DateTimeOriginal/$FileName' *.jpg

Output:

...
-filename</Users/andi/Pictures/eigene/chronologisch/2020/2020-12-07/IMG_20201207_123805.jpg
Warning: PrintConv ExposureTime: Argument "undef" isn't numeric in numeric lt (<) - IMG_20201207_123805.jpg
-filename</Users/andi/Pictures/eigene/chronologisch/2020/2020-12-14/IMG_20201214_180113.jpg
-filename</Users/andi/Pictures/eigene/chronologisch/2020/2020-12-14/IMG_20201214_180126.jpg
-filename</Users/andi/Pictures/eigene/chronologisch/2020/2020-12-14/IMG_20201214_180142.jpg
-filename</Users/andi/Pictures/eigene/chronologisch/2020/2020-12-14/IMG_20201214_180708.jpg
...


What does this warning on some JPEGs mean?

StarGeek

Can you share one of the files that returns this message?
"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

Andi

I know that the JPEGs that my Samsung Galaxy S7 (back) camera produces have wrong exposure times. But this error is not shown with a regular exiftool -G overview:

exiftool -G /Users/andi/Pictures/eigene/chronologisch/2020/2020-12-07/IMG_20201207_123805.jpg
Only regular output.

exiftool -d ~/Pictures/eigene/chronologisch/"%Y/%Y-%m-%d" -p '-filename<$DateTimeOriginal/$FileName' /Users/andi/Pictures/eigene/chronologisch/2020/2020-12-07/IMG_20201207_123805.jpg
-filename</Users/andi/Pictures/eigene/chronologisch/2020/2020-12-07/IMG_20201207_123805.jpg
Warning: PrintConv ExposureTime: Argument "undef" isn't numeric in numeric lt (<) - /Users/andi/Pictures/eigene/chronologisch/2020/2020-12-07/IMG_20201207_123805.jpg


I would expect this warning in the regular output but with -p it is unnecessary here because I don't print the ExposureValue tag.

Phil Harvey

Check out the first Warning when -validate is used:

> exiftool ~/Desktop/out.jpg -validate -warning -a
Validate                        : 13 Warnings (10 minor)
Warning                         : [minor] Undefined value for ExifIFD:ExposureTime
Warning                         : Non-standard format (string) for ExifIFD 0x9000 ExifVersion
Warning                         : Non-standard format (int32u) for ExifIFD 0x9208 LightSource
Warning                         : Non-standard format (string) for ExifIFD 0x9286 UserComment
Warning                         : [minor] Unknown APP4 segment
Warning                         : [minor] Unknown APP11 segment
Warning                         : [minor] IFD0 tag 0x0100 ImageWidth is not allowed in JPEG
Warning                         : [minor] IFD0 tag 0x0101 ImageHeight is not allowed in JPEG
Warning                         : [minor] IFD1 tag 0x0100 ImageWidth is not allowed in JPEG
Warning                         : [minor] IFD1 tag 0x0101 ImageHeight is not allowed in JPEG
Warning                         : [minor] Missing required JPEG IFD1 tag 0x011a XResolution
Warning                         : [minor] Missing required JPEG IFD1 tag 0x011b YResolution
Warning                         : [minor] Missing required JPEG IFD1 tag 0x0128 ResolutionUnit


- Phil

Edit:  Ah, I see.  You want the warning in the normal output, but not with -p.  I'll have to look in more detail to see why this is happening.
...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 ($).

Andi

Quote from: Phil Harvey on August 13, 2021, 12:52:46 PM
Check out the first Warning when -validate is used:

...

- Phil

The strange thing is that this JPEG was produced by ExifTool because I had stripped some info to upload the file. This is comparison of original and copy with stripped copyright and GPS:

exiftool  -validate -warning -a /Users/andi/Pictures/eigene/chronologisch/2020/2020-12-07/IMG_20201207_123805.jpg ~/Desktop/out.jpg
======== /Users/andi/Pictures/eigene/chronologisch/2020/2020-12-07/IMG_20201207_123805.jpg
Validate                        : 49 Warnings (17 minor)
Warning                         : Entries in IFD0 are out of order
Warning                         : Tag ID 0x0101 ImageHeight out of sequence in IFD0
Warning                         : Entries in GPS are out of order
Warning                         : Tag ID 0x0001 GPSLatitudeRef out of sequence in GPS
Warning                         : Tag ID 0x0000 GPSVersionID out of sequence in GPS
Warning                         : Tag ID 0x0004 GPSLongitude out of sequence in GPS
Warning                         : [minor] Odd offset for GPS tag 0x0011 GPSImgDirection
Warning                         : Tag ID 0x0011 GPSImgDirection out of sequence in GPS
Warning                         : Tag ID 0x0010 GPSImgDirectionRef out of sequence in GPS
Warning                         : Tag ID 0x011b YResolution out of sequence in IFD0
Warning                         : [minor] Odd offset for IFD0 tag 0x011a XResolution
Warning                         : Tag ID 0x011a XResolution out of sequence in IFD0
Warning                         : Tag ID 0x0100 ImageWidth out of sequence in IFD0
Warning                         : [minor] Odd offset for IFD0 tag 0x0110 Model
Warning                         : Non-standard format (string) for ExifIFD 0x9000 ExifVersion
Warning                         : Entries in ExifIFD are out of order
Warning                         : Tag ID 0x8822 ExposureProgram out of sequence in ExifIFD
Warning                         : Tag ID 0x9205 MaxApertureValue out of sequence in ExifIFD
Warning                         : Tag ID 0x9203 BrightnessValue out of sequence in ExifIFD
Warning                         : Tag ID 0x9003 DateTimeOriginal out of sequence in ExifIFD
Warning                         : Tag ID 0x9291 SubSecTimeOriginal out of sequence in ExifIFD
Warning                         : Tag ID 0xa005 InteropOffset out of sequence in ExifIFD
Warning                         : [minor] Odd offset for ExifIFD tag 0x829a ExposureTime
Warning                         : Tag ID 0x829a ExposureTime out of sequence in ExifIFD
Warning                         : [minor] Undefined value for ExifIFD:ExposureTime
Warning                         : [minor] Odd offset for ExifIFD tag 0x9290 SubSecTime
Warning                         : Tag ID 0x829d FNumber out of sequence in ExifIFD
Warning                         : Non-standard format (string) for ExifIFD 0x9286 UserComment
Warning                         : Tag ID 0x8827 ISO out of sequence in ExifIFD
Warning                         : [minor] Odd offset for ExifIFD tag 0x9292 SubSecTimeDigitized
Warning                         : Tag ID 0x9292 SubSecTimeDigitized out of sequence in ExifIFD
Warning                         : Tag ID 0x9004 CreateDate out of sequence in ExifIFD
Warning                         : Non-standard format (int32u) for ExifIFD 0x9208 LightSource
Warning                         : Tag ID 0x9208 LightSource out of sequence in ExifIFD
Warning                         : Tag ID 0x0128 ResolutionUnit out of sequence in IFD0
Warning                         : [minor] Odd offset for IFD1 tag 0x8298 Copyright
Warning                         : Entries in IFD1 are out of order
Warning                         : Tag ID 0x0112 Orientation out of sequence in IFD1
Warning                         : Tag ID 0x0103 Compression out of sequence in IFD1
Warning                         : Tag ID 0x0100 ImageWidth out of sequence in IFD1
Warning                         : [minor] Unknown APP4 segment
Warning                         : [minor] Unknown APP11 segment
Warning                         : [minor] IFD0 tag 0x0100 ImageWidth is not allowed in JPEG
Warning                         : [minor] IFD0 tag 0x0101 ImageHeight is not allowed in JPEG
Warning                         : [minor] IFD1 tag 0x0100 ImageWidth is not allowed in JPEG
Warning                         : [minor] IFD1 tag 0x0101 ImageHeight is not allowed in JPEG
Warning                         : [minor] Missing required JPEG IFD1 tag 0x011a XResolution
Warning                         : [minor] Missing required JPEG IFD1 tag 0x011b YResolution
Warning                         : [minor] Missing required JPEG IFD1 tag 0x0128 ResolutionUnit
======== /Users/andi/Desktop/out.jpg
Validate                        : 13 Warnings (10 minor)
Warning                         : [minor] Undefined value for ExifIFD:ExposureTime
Warning                         : Non-standard format (string) for ExifIFD 0x9000 ExifVersion
Warning                         : Non-standard format (int32u) for ExifIFD 0x9208 LightSource
Warning                         : Non-standard format (string) for ExifIFD 0x9286 UserComment
Warning                         : [minor] Unknown APP4 segment
Warning                         : [minor] Unknown APP11 segment
Warning                         : [minor] IFD0 tag 0x0100 ImageWidth is not allowed in JPEG
Warning                         : [minor] IFD0 tag 0x0101 ImageHeight is not allowed in JPEG
Warning                         : [minor] IFD1 tag 0x0100 ImageWidth is not allowed in JPEG
Warning                         : [minor] IFD1 tag 0x0101 ImageHeight is not allowed in JPEG
Warning                         : [minor] Missing required JPEG IFD1 tag 0x011a XResolution
Warning                         : [minor] Missing required JPEG IFD1 tag 0x011b YResolution
Warning                         : [minor] Missing required JPEG IFD1 tag 0x0128 ResolutionUnit
    2 image files read


There are still some warnings left and ExifTool could at least sanitize some of this.

Quote
Edit:  Ah, I see.  You want the warning in the normal output, but not with -p.  I'll have to look in more detail to see why this is happening.

Thanks. This is really of minor concern, because it's just a warning. I was more surprised by the bug in v 12.0 described above ...

Phil Harvey

I didn't read the comment about the v12.0 problem.  You will have to give a specific example because as far as I know v12.0 worked fine with -d.  There must be something else going on here.

Also, ExifTool doesn't automatically update unless you are using some external updating tool that I don't know about.

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