Skip to content

Conversation

@bruvelis
Copy link
Contributor

If image tags have "Image SubIFDs", e.g., Nikon's NEF images, and details=True then decode SubIFDs.

Add Nikon Z 9 (NEF) High efficiency☆ sample required for testing decoding Makernote (proprietary) tag definitions for Nikon and Image SubIFDs.

If image tags have "Image SubIFDs", e.g., Nikon's NEF images, and details=True then decode SubIFDs.
@ianare
Copy link
Owner

ianare commented Aug 10, 2025

Thanks much for your contribution.

Do you have a smaller sample file by any chance?

@ianare ianare self-requested a review August 10, 2025 09:52
Nikon Z 9 sample. NEF High efficiency and NEF converted to DNG with JPEG XL compression. Required for testing decoding Makernote (proprietary) tag definitions for Nikon and Image SubIFDs.
@bruvelis
Copy link
Contributor Author

OK, I've amended the sample file commit with the updated sample files.

I tested various camera setting and found that the smallest possible files can be obtained by stetting camera to cropped image sensor size and overexposing the image, i.e., getting as white image as possible, and setting camera to the most lossy compression (High Efficiency). With such settings I managed to get NEF size down to 7981568 bytes.

Also, I used Adobe DNG Converter and prepared a potentially even smaller DNG sample with lossy JPEG XL compression that fits into 227824 bytes. Unfortunately, NEF file is still seems to be required. Although the DNG conversion has reduced the number of Image SubIFDs to only 1, it could be used for testing decoding Image SubIFDs. But, even though the converted DNG file seems to contain MakerNotes from Nikon's NEF file (visible using exiftool), the MakerNotes are not decoded using exifread.

@ianare ianare merged commit 91ed731 into ianare:master Aug 23, 2025
@ianare
Copy link
Owner

ianare commented Aug 23, 2025

Thanks a lot!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants