public class NikonType2MakernoteDirectory extends Directory
Thanks to Fabrizio Giudici for publishing his reverse-engineering of the D100 makernote data. http://www.timelesswanderings.net/equipment/D100/NEF.html
Note that the camera implements image protection (locking images) via the file's 'readonly' attribute. Similarly image hiding uses the 'hidden' attribute (observed on the D70). Consequently, these values are not available here.
Additional sample images have been observed, and their tag values recorded in javadoc comments for each tag's field. New tags have subsequently been added since Fabrizio's observations.
In earlier models (such as the E990 and D1), this directory begins at the first byte of the makernote IFD. In later models, the IFD was given the standard prefix to indicate the camera models (most other manufacturers also provide this prefix to aid in software decoding).
Modifier and Type | Field and Description |
---|---|
static int |
TAG_ACTIVE_D_LIGHTING
The active D-Lighting setting.
|
static int |
TAG_ADAPTER
A description of any auxiliary lens, as a string.
|
static int |
TAG_AE_BRACKET_COMPENSATION
The AE bracket compensation, as a rational number.
|
static int |
TAG_AF_FOCUS_POSITION
The position of the autofocus target.
|
static int |
TAG_AF_INFO_2 |
static int |
TAG_AF_RESPONSE
The camera's digital vari-program setting, as a string.
|
static int |
TAG_AF_TUNE |
static int |
TAG_AF_TYPE
The camera's auto-focus mode, as an uppercase string.
|
static int |
TAG_AUTO_FLASH_COMPENSATION
The flash compensation, as an array of four integers.
|
static int |
TAG_AUTO_FLASH_MODE
The type of flash used in the photograph, as a string.
|
static int |
TAG_CAMERA_COLOR_MODE
The color space as set in the camera, as a string.
|
static int |
TAG_CAMERA_HUE_ADJUSTMENT
The hue adjustment as set in the camera.
|
static int |
TAG_CAMERA_SERIAL_NUMBER
The camera's serial number, as a string.
|
static int |
TAG_CAMERA_SERIAL_NUMBER_2
The camera serial number, as a string.
|
static int |
TAG_CAMERA_SHARPENING
The camera's sharpening setting, as an uppercase string.
|
static int |
TAG_CAMERA_TONE_COMPENSATION
The camera's tone compensation setting, as a string.
|
static int |
TAG_CAMERA_WHITE_BALANCE
The camera's white balance setting, as an uppercase string.
|
static int |
TAG_CAMERA_WHITE_BALANCE_FINE
The camera's white balance bias setting, as an uint16 array having either one or two elements.
|
static int |
TAG_CAMERA_WHITE_BALANCE_RB_COEFF
The first two numbers are coefficients to multiply red and blue channels according to white balance as set in the
camera.
|
static int |
TAG_COLOR_BALANCE |
static int |
TAG_COLOR_MODE
The camera's color mode, as an uppercase string.
|
static int |
TAG_COLOR_SPACE
The camera's color space setting.
|
static int |
TAG_CONTRAST_CURVE |
static int |
TAG_CROP_HIGH_SPEED |
static int |
TAG_DATA_DUMP
Added during merge of Type2 & Type3.
|
static int |
TAG_DELETED_IMAGE_COUNT |
static int |
TAG_DIGITAL_VARI_PROGRAM
The camera's digital vari-program setting, as a string.
|
static int |
TAG_DIGITAL_ZOOM
The amount of digital zoom used.
|
static int |
TAG_EXPOSURE_DIFFERENCE
The exposure difference, as an array of four integers.
|
static int |
TAG_EXPOSURE_SEQUENCE_NUMBER
The number of total shutter releases.
|
static int |
TAG_EXPOSURE_TUNING |
static int |
TAG_FILE_INFO |
static int |
TAG_FIRMWARE_VERSION
Values observed
- 0200 (D70)
- 0200 (D1X)
|
static int |
TAG_FLASH_BRACKET_COMPENSATION
The flash bracket compensation, as an array of four integers.
|
static int |
TAG_FLASH_EXPOSURE_COMPENSATION
The flash exposure compensation, as an array of four integers.
|
static int |
TAG_FLASH_INFO |
static int |
TAG_FLASH_MODE
Flash mode, as a string.
|
static int |
TAG_FLASH_SYNC_MODE
The camera's flash setting, as an uppercase string.
|
static int |
TAG_FLASH_USED
Whether the flash was used in this image.
|
static int |
TAG_HIGH_ISO_NOISE_REDUCTION
The camera's high ISO noise reduction setting, as an integer.
|
static int |
TAG_IMAGE_ADJUSTMENT
The camera's image adjustment setting, as a string.
|
static int |
TAG_IMAGE_AUTHENTICATION |
static int |
TAG_IMAGE_BOUNDARY
Defines the photo corner coordinates, in 8 bytes.
|
static int |
TAG_IMAGE_COUNT |
static int |
TAG_IMAGE_DATA_SIZE |
static int |
TAG_IMAGE_OPTIMISATION
The camera's image optimisation, as a string.
|
static int |
TAG_IMAGE_STABILISATION
The camera's digital vari-program setting, as a string.
|
static int |
TAG_ISO_1
Values observed
- 0 250
- 0 400
|
static int |
TAG_ISO_INFO |
static int |
TAG_ISO_MODE
The camera's ISO mode, as an uppercase string.
|
static int |
TAG_ISO_REQUESTED
The requested ISO value, as an array of two integers.
|
static int |
TAG_LENS
A pair of focal/max-fstop values that describe the lens used.
|
static int |
TAG_LENS_DATA |
static int |
TAG_LENS_STOPS
Lens stops, as an array of four integers.
|
static int |
TAG_LENS_TYPE
The type of lens used, as a byte.
|
static int |
TAG_LIGHT_SOURCE
The lighting type, as a string.
|
static int |
TAG_LINEARIZATION_TABLE |
static int |
TAG_MANUAL_FOCUS_DISTANCE
Added during merge of Type2 & Type3.
|
static int |
TAG_MULTI_EXPOSURE |
static int |
TAG_NEF_BIT_DEPTH |
static int |
TAG_NEF_COMPRESSION
The NEF (RAW) compression.
|
static int |
TAG_NEF_THUMBNAIL_SIZE
The NEF (RAW) thumbnail size, as an integer array with two items representing [width,height].
|
static int |
TAG_NIKON_CAPTURE_DATA
Data about changes set by Nikon Capture Editor.
|
static int |
TAG_NIKON_CAPTURE_OFFSETS |
static int |
TAG_NIKON_CAPTURE_VERSION |
static int |
TAG_NIKON_SCAN |
static int |
TAG_NOISE_REDUCTION
The type of noise reduction, as a string.
|
static int |
TAG_PICTURE_CONTROL |
static int |
TAG_POWER_UP_TIME |
static int |
TAG_PREVIEW_IFD
Preview to another IFD (?)
|
static int |
TAG_PRINT_IMAGE_MATCHING_INFO |
static int |
TAG_PROGRAM_SHIFT
The camera's program shift setting, as an array of four integers.
|
static int |
TAG_QUALITY_AND_FILE_FORMAT
The camera's quality setting, as an uppercase string.
|
static int |
TAG_RETOUCH_HISTORY |
static int |
TAG_SATURATION
The saturation level, as a signed integer.
|
static int |
TAG_SATURATION_2
The camera's saturation level, as a string.
|
static int |
TAG_SCENE_ASSIST |
static int |
TAG_SCENE_MODE
The camera's scene mode, as a string.
|
static int |
TAG_SENSOR_PIXEL_SIZE
The sensor pixel size, as a pair of rational numbers.
|
static int |
TAG_SHOOTING_MODE
The camera's shooting mode.
|
static int |
TAG_SHOT_INFO
Advertised as ASCII, but actually isn't.
|
static int |
TAG_UNKNOWN_10 |
static int |
TAG_UNKNOWN_11 |
static int |
TAG_UNKNOWN_12 |
static int |
TAG_UNKNOWN_20 |
static int |
TAG_UNKNOWN_27 |
static int |
TAG_UNKNOWN_28 |
static int |
TAG_UNKNOWN_29 |
static int |
TAG_UNKNOWN_30 |
static int |
TAG_UNKNOWN_31 |
static int |
TAG_UNKNOWN_32 |
static int |
TAG_UNKNOWN_33 |
static int |
TAG_UNKNOWN_34
An unknown tag, as a rational.
|
static int |
TAG_UNKNOWN_35 |
static int |
TAG_UNKNOWN_36 |
static int |
TAG_UNKNOWN_37 |
static int |
TAG_UNKNOWN_38 |
static int |
TAG_UNKNOWN_39 |
static int |
TAG_UNKNOWN_40 |
static int |
TAG_UNKNOWN_41 |
static int |
TAG_UNKNOWN_42 |
static int |
TAG_UNKNOWN_43 |
static int |
TAG_UNKNOWN_44 |
static int |
TAG_UNKNOWN_45 |
static int |
TAG_UNKNOWN_46 |
static int |
TAG_UNKNOWN_47 |
static int |
TAG_UNKNOWN_48 |
static int |
TAG_UNKNOWN_49 |
static int |
TAG_UNKNOWN_50 |
static int |
TAG_UNKNOWN_51 |
static int |
TAG_UNKNOWN_52 |
static int |
TAG_UNKNOWN_53 |
static int |
TAG_UNKNOWN_54 |
static int |
TAG_UNKNOWN_55 |
static int |
TAG_VIGNETTE_CONTROL
The camera's vignette control setting.
|
static int |
TAG_VR_INFO |
static int |
TAG_WORLD_TIME |
Constructor and Description |
---|
NikonType2MakernoteDirectory() |
Modifier and Type | Method and Description |
---|---|
String |
getName()
Provides the name of the directory, for display purposes.
|
addError, containsTag, getBoolean, getBooleanObject, getByteArray, getDate, getDate, getDate, getDescription, getDouble, getDoubleObject, getErrorCount, getErrors, getFloat, getFloatObject, getInt, getIntArray, getInteger, getLong, getLongObject, getObject, getParent, getRational, getRationalArray, getString, getString, getStringArray, getStringValue, getStringValueArray, getTagCount, getTagName, getTags, hasErrors, hasTagName, isEmpty, setBoolean, setByteArray, setDate, setDescriptor, setDouble, setDoubleArray, setFloat, setFloatArray, setInt, setIntArray, setLong, setObject, setObjectArray, setParent, setRational, setRationalArray, setString, setStringArray, setStringValue, setStringValueArray, toString
public static final int TAG_FIRMWARE_VERSION
public static final int TAG_ISO_1
public static final int TAG_COLOR_MODE
B & W
COLOR
COOL
SEPIA
VIVID
public static final int TAG_QUALITY_AND_FILE_FORMAT
BASIC
FINE
NORMAL
RAW
RAW2.7M
public static final int TAG_CAMERA_WHITE_BALANCE
AUTO
CLOUDY
FLASH
FLUORESCENT
INCANDESCENT
PRESET
PRESET0
PRESET1
PRESET3
SUNNY
WHITE PRESET
4350K
5000K
DAY WHITE FL
SHADE
public static final int TAG_CAMERA_SHARPENING
AUTO
HIGH
LOW
NONE
NORMAL
MED.H
MED.L
public static final int TAG_AF_TYPE
AF-C
AF-S
MANUAL
AF-A
public static final int TAG_FLASH_SYNC_MODE
NORMAL
RED-EYE
SLOW
NEW_TTL
REAR
REAR SLOW
public static final int TAG_AUTO_FLASH_MODE
Built-in,TTL
NEW_TTL
Nikon Browser interprets as "D-TTL"Built-in,M
Optional,TTL
with speedlight SB800, flash sync mode as "NORMAL"public static final int TAG_UNKNOWN_34
public static final int TAG_CAMERA_WHITE_BALANCE_FINE
0
1
-3
-2
-1
0,0
1,0
5,-5
public static final int TAG_CAMERA_WHITE_BALANCE_RB_COEFF
public static final int TAG_PROGRAM_SHIFT
a*b/c
.
0,1,3,0
= 0 EV1,1,3,0
= 0.33 EV-3,1,3,0
= -1 EV1,1,2,0
= 0.5 EV2,1,6,0
= 0.33 EVpublic static final int TAG_EXPOSURE_DIFFERENCE
a*b/c
.
-105,1,12,0
= -8.75 EV-72,1,12,0
= -6.00 EV-11,1,12,0
= -0.92 EVpublic static final int TAG_ISO_MODE
AUTO
MANUAL
public static final int TAG_DATA_DUMP
public static final int TAG_PREVIEW_IFD
Details here: http://gvsoft.homedns.org/exif/makernote-nikon-2-tag0x0011.html // TODO if this is another IFD, decode it
public static final int TAG_AUTO_FLASH_COMPENSATION
a*b/c
.
-18,1,6,0
= -3 EV4,1,6,0
= 0.67 EV6,1,6,0
= 1 EVpublic static final int TAG_ISO_REQUESTED
0,0
0,125
1,2500
public static final int TAG_IMAGE_BOUNDARY
0,0,4288,2848
The max resolution of the D300 camera0,0,3008,2000
The max resolution of the D70 camera0,0,4256,2832
The max resolution of the D3 camerapublic static final int TAG_FLASH_EXPOSURE_COMPENSATION
a*b/c
.
0,0,0,0
= 0 EV0,1,6,0
= 0 EV4,1,6,0
= 0.67 EVpublic static final int TAG_FLASH_BRACKET_COMPENSATION
a*b/c
.
0,0,0,0
= 0 EV0,1,6,0
= 0 EV4,1,6,0
= 0.67 EVpublic static final int TAG_AE_BRACKET_COMPENSATION
0/0
0/1
0/6
4/6
6/6
public static final int TAG_FLASH_MODE
Red Eye Reduction
D-Lighting
Distortion control
public static final int TAG_CROP_HIGH_SPEED
public static final int TAG_EXPOSURE_TUNING
public static final int TAG_CAMERA_SERIAL_NUMBER
"D50"
.public static final int TAG_COLOR_SPACE
1
sRGB2
Adobe RGBpublic static final int TAG_VR_INFO
public static final int TAG_IMAGE_AUTHENTICATION
public static final int TAG_UNKNOWN_35
public static final int TAG_ACTIVE_D_LIGHTING
0
Off1
Low3
Normal5
High7
Extra High65535
Autopublic static final int TAG_PICTURE_CONTROL
public static final int TAG_WORLD_TIME
public static final int TAG_ISO_INFO
public static final int TAG_UNKNOWN_36
public static final int TAG_UNKNOWN_37
public static final int TAG_UNKNOWN_38
public static final int TAG_UNKNOWN_39
public static final int TAG_VIGNETTE_CONTROL
0
Off1
Low3
Normal5
Highpublic static final int TAG_UNKNOWN_40
public static final int TAG_UNKNOWN_41
public static final int TAG_UNKNOWN_42
public static final int TAG_UNKNOWN_43
public static final int TAG_UNKNOWN_44
public static final int TAG_UNKNOWN_45
public static final int TAG_UNKNOWN_46
public static final int TAG_IMAGE_ADJUSTMENT
AUTO
CONTRAST(+)
CONTRAST(-)
NORMAL
B & W
BRIGHTNESS(+)
BRIGHTNESS(-)
SEPIA
public static final int TAG_CAMERA_TONE_COMPENSATION
NORMAL
LOW
MED.L
MED.H
HIGH
AUTO
public static final int TAG_ADAPTER
OFF
FISHEYE 1
FISHEYE 2
TELEPHOTO 2
WIDE ADAPTER
public static final int TAG_LENS_TYPE
0x00
AF0x01
MF0x02
D0x06
G, D0x08
VR0x0a
VR, D0x0e
VR, G, Dpublic static final int TAG_LENS
public static final int TAG_MANUAL_FOCUS_DISTANCE
public static final int TAG_DIGITAL_ZOOM
public static final int TAG_FLASH_USED
0
Flash Not Used1
Manual Flash3
Flash Not Ready7
External Flash8
Fired, Commander Mode9
Fired, TTL Modepublic static final int TAG_AF_FOCUS_POSITION
public static final int TAG_SHOOTING_MODE
A bit-array with:
0
Single Frame1
Continuous2
Delay8
PC Control16
Exposure Bracketing32
Auto ISO64
White-Balance Bracketing128
IR Controlpublic static final int TAG_UNKNOWN_20
public static final int TAG_LENS_STOPS
a*b/c
.
64,1,12,0
= 5.33 EV72,1,12,0
= 6 EVpublic static final int TAG_CONTRAST_CURVE
public static final int TAG_CAMERA_COLOR_MODE
MODE1
= Mode 1 (sRGB)MODE1a
= Mode 1 (sRGB)MODE2
= Mode 2 (Adobe RGB)MODE3
= Mode 2 (sRGB): Higher SaturationMODE3a
= Mode 2 (sRGB): Higher SaturationB & W
= B & Wpublic static final int TAG_UNKNOWN_47
public static final int TAG_SCENE_MODE
BEACH/SNOW
CLOSE UP
NIGHT PORTRAIT
PORTRAIT
ANTI-SHAKE
BACK LIGHT
BEST FACE
BEST
COPY
DAWN/DUSK
FACE-PRIORITY
FIREWORKS
FOOD
HIGH SENS.
LAND SCAPE
MUSEUM
PANORAMA ASSIST
PARTY/INDOOR
SCENE AUTO
SMILE
SPORT
SPORT CONT.
SUNSET
public static final int TAG_LIGHT_SOURCE
NATURAL
SPEEDLIGHT
COLORED
MIXED
NORMAL
public static final int TAG_SHOT_INFO
public static final int TAG_CAMERA_HUE_ADJUSTMENT
public static final int TAG_NEF_COMPRESSION
1
Lossy (Type 1)2
Uncompressed3
Lossless4
Lossy (Type 2)public static final int TAG_SATURATION
+3
+2
+1
0
Normal-1
-2
-3
(B&W)public static final int TAG_NOISE_REDUCTION
OFF
FPNR
public static final int TAG_LINEARIZATION_TABLE
public static final int TAG_COLOR_BALANCE
public static final int TAG_LENS_DATA
public static final int TAG_NEF_THUMBNAIL_SIZE
public static final int TAG_SENSOR_PIXEL_SIZE
public static final int TAG_UNKNOWN_10
public static final int TAG_SCENE_ASSIST
public static final int TAG_UNKNOWN_11
public static final int TAG_RETOUCH_HISTORY
public static final int TAG_UNKNOWN_12
public static final int TAG_CAMERA_SERIAL_NUMBER_2
NO= 00002539
NO= -1000d71
PKG597230621263
PKG5995671330625116
PKG49981281631130677
BU672230725063
NO= 200332c7
NO= 30045efe
public static final int TAG_IMAGE_DATA_SIZE
public static final int TAG_UNKNOWN_27
public static final int TAG_UNKNOWN_28
public static final int TAG_IMAGE_COUNT
public static final int TAG_DELETED_IMAGE_COUNT
public static final int TAG_EXPOSURE_SEQUENCE_NUMBER
public static final int TAG_FLASH_INFO
public static final int TAG_IMAGE_OPTIMISATION
NORMAL
CUSTOM
BLACK AND WHITE
LAND SCAPE
MORE VIVID
PORTRAIT
SOFT
VIVID
public static final int TAG_SATURATION_2
NORMAL
AUTO
ENHANCED
MODERATE
public static final int TAG_DIGITAL_VARI_PROGRAM
AUTO
AUTO(FLASH OFF)
CLOSE UP
LANDSCAPE
NIGHT PORTRAIT
PORTRAIT
SPORT
public static final int TAG_IMAGE_STABILISATION
VR-ON
VR-OFF
VR-HYBRID
VR-ACTIVE
public static final int TAG_AF_RESPONSE
HYBRID
STANDARD
public static final int TAG_UNKNOWN_29
public static final int TAG_UNKNOWN_30
public static final int TAG_MULTI_EXPOSURE
public static final int TAG_HIGH_ISO_NOISE_REDUCTION
0
Off1
Minimal2
Low4
Normal6
Highpublic static final int TAG_UNKNOWN_31
public static final int TAG_UNKNOWN_32
public static final int TAG_UNKNOWN_33
public static final int TAG_UNKNOWN_48
public static final int TAG_POWER_UP_TIME
public static final int TAG_AF_INFO_2
public static final int TAG_FILE_INFO
public static final int TAG_AF_TUNE
public static final int TAG_UNKNOWN_49
public static final int TAG_UNKNOWN_50
public static final int TAG_UNKNOWN_51
public static final int TAG_PRINT_IMAGE_MATCHING_INFO
public static final int TAG_NIKON_CAPTURE_DATA
public static final int TAG_UNKNOWN_52
public static final int TAG_UNKNOWN_53
public static final int TAG_NIKON_CAPTURE_VERSION
public static final int TAG_NIKON_CAPTURE_OFFSETS
public static final int TAG_NIKON_SCAN
public static final int TAG_UNKNOWN_54
public static final int TAG_NEF_BIT_DEPTH
public static final int TAG_UNKNOWN_55
Copyright © 2018. All rights reserved.