Added IFD enum to ExifTags by radarhere · Pull Request #6748 · python-pillow/Pillow

Helps #6641 by adding "named constants for common IFDs".

Adds the following to ExifTags.

class IFD(IntEnum):
    Exif = 34665
    GPSInfo = 34853
    Makernote = 37500
    Interop = 40965

I updated other parts of Pillow's code to use these new constants internally. In doing so, I found

if tag in [0x8769, 0x8225, 0x8825] and not isinstance(value, dict):

I can only imagine that 0x8225 was a typo when I added it in

4b14f01

, so I'm removing it here.

Resolves #6777 by adding IFD.IFD1 as well, so that IFD1 data can be read, and then modifying get_child_images() to make use of IFD1 data to read thumbnails through the "ThumbnailOffset in IFD1".