-
Notifications
You must be signed in to change notification settings - Fork 0
Closed
Description
Summary
Implement Nikon MakerNote parser for Epic #9 (Phase 2).
Format Specification - 3 VARIANTS
Type 1 (E990, D1)
- Header: "Nikon" + 0x00 0x01 0x00 (8 bytes)
- IFD Offset: +8
- Byte Order: Inherits from parent
- Offset Base: Absolute
Type 3 (D70, D100, D200+) - Most Common
- Header: "Nikon" + 0x00 0x02 0x00 + embedded TIFF header (18 bytes)
- IFD Offset: +18
- Byte Order: Embedded (check bytes 10-11 for II/MM)
- Offset Base: Relative to MakerNote start
Type 2 (E700-E950) - Legacy
- Header: None
- Uses Type 3 tag definitions
- Absolute offsets
Priority Tags (Phase 2)
| Tag | Name | Type |
|---|---|---|
| 0x0002 | ISO | Short array |
| 0x001D | SerialNumber | ASCII |
| 0x0025 | ShutterCount | Long |
| 0x0084 | Lens | Rational array |
| 0x00A7 | ShutterCount (alt) | Long |
Encrypted Fields (skip initially)
- 0x0098: LensData - encrypted with serial-based key
- 0x00A8: FlashInfo - partially encrypted
Acceptance Criteria
- Detects all 3 Nikon variants
- Handles embedded byte order (Type 3)
- Decodes 15+ Nikon tags
- Gracefully skips encrypted fields
- Unit tests with real Nikon samples (NEF, JPG)
Blocked by: MNI-2 (Canon)
Parent: #9
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels