Skip to content

Commit f6e71e4

Browse files
committed
Retry Canon AFInfo2 scan; add Nikon D850 tag
Improve MakerNote decoding and contextual naming. Canon AFInfo2 decoding now retries by scanning a bounded region inside the MakerNote when the primary offset points at a non-AFInfo2 block, via new helpers (canon_afinfo2_payload_looks_valid, canon_find_afinfo2_payload). Add contextual Canon main tag handling for MakerNote tag 0x0000 (EntryNameContextKind::CanonMain0000) to select appropriate names for certain models. Add Nikon ShotInfo D850 tag 0x0024 (PhotoShootingMenuBank) to the registry. Also includes small refactors/formatting cleanups, updated tests, and VERSION/CHANGES updates.
1 parent 873cb23 commit f6e71e4

11 files changed

Lines changed: 1114 additions & 796 deletions

CHANGES.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,22 @@
11
# OpenMeta Changes
22

3+
## 0.4.26 - 2026-05-22
4+
5+
Changes compared with `0.4.25`.
6+
7+
### Added
8+
9+
- Added contextual Canon MakerNote main tag `0x0000` names for the observed
10+
camcorder and Cinema EOS cohorts.
11+
- Added Nikon ShotInfo D850 tag `0x0024` as `PhotoShootingMenuBank`.
12+
13+
### Changed
14+
15+
- Canon AFInfo2 decoding now retries with a bounded in-MakerNote payload scan
16+
when the primary Canon offset points at a non-AFInfo2 block.
17+
- Nikon ShotInfo `0x0024` compatibility naming now covers the Z f ShotInfo
18+
layout used by the interpretation path.
19+
320
## 0.4.25 - 2026-05-21
421

522
Changes compared with `0.4.24`.

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
0.4.25
1+
0.4.26

registry/exif/makernotes/nikon.jsonl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1289,6 +1289,7 @@
12891289
{"kind":"exif.tag","ifd":"makernote:nikon:shotinfod810","tag":"0x013c","name":"SecondarySlotFunction"}
12901290
{"kind":"exif.tag","ifd":"makernote:nikon:shotinfod850","tag":"0x0000","name":"ShotInfoVersion"}
12911291
{"kind":"exif.tag","ifd":"makernote:nikon:shotinfod850","tag":"0x0004","name":"FirmwareVersion"}
1292+
{"kind":"exif.tag","ifd":"makernote:nikon:shotinfod850","tag":"0x0024","name":"PhotoShootingMenuBank"}
12921293
{"kind":"exif.tag","ifd":"makernote:nikon:shotinfod90","tag":"0x0000","name":"ShotInfoVersion"}
12931294
{"kind":"exif.tag","ifd":"makernote:nikon:shotinfod90","tag":"0x0004","name":"FirmwareVersion"}
12941295
{"kind":"exif.tag","ifd":"makernote:nikon:shotinfod90","tag":"0x02b5","name":"ISO2"}

src/include/openmeta/meta_store.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,7 @@ enum class EntryNameContextKind : uint8_t {
7070
CanonCustomFunctions2010C,
7171
CanonCustomFunctions20510,
7272
CanonCustomFunctions20701,
73+
CanonMain0000,
7374
};
7475

7576
/// Wire-format element type + family (e.g. TIFF type code).

0 commit comments

Comments
 (0)