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 |
|---|---|
int[] |
getDecryptedIntArray(int tagType)
decryption algorithm adapted from exiftool
|
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, toStringpublic static final int TAG_FIRMWARE_VERSION
public static final int TAG_ISO_1
public static final int TAG_COLOR_MODE
B & WCOLORCOOLSEPIAVIVIDpublic static final int TAG_QUALITY_AND_FILE_FORMAT
BASICFINENORMALRAWRAW2.7Mpublic static final int TAG_CAMERA_WHITE_BALANCE
AUTOCLOUDYFLASHFLUORESCENTINCANDESCENTPRESETPRESET0PRESET1PRESET3SUNNYWHITE PRESET4350K5000KDAY WHITE FLSHADEpublic static final int TAG_CAMERA_SHARPENING
AUTOHIGHLOWNONENORMALMED.HMED.Lpublic static final int TAG_AF_TYPE
AF-CAF-SMANUALAF-Apublic static final int TAG_FLASH_SYNC_MODE
NORMALRED-EYESLOWNEW_TTLREARREAR SLOWpublic static final int TAG_AUTO_FLASH_MODE
Built-in,TTLNEW_TTL Nikon Browser interprets as "D-TTL"Built-in,MOptional,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
01-3-2-10,01,05,-5public 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
AUTOMANUALpublic 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,00,1251,2500public 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/00/10/64/66/6public static final int TAG_FLASH_MODE
Red Eye ReductionD-LightingDistortion controlpublic 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
AUTOCONTRAST(+)CONTRAST(-)NORMALB & WBRIGHTNESS(+)BRIGHTNESS(-)SEPIApublic static final int TAG_CAMERA_TONE_COMPENSATION
NORMALLOWMED.LMED.HHIGHAUTOpublic static final int TAG_ADAPTER
OFFFISHEYE 1FISHEYE 2TELEPHOTO 2WIDE ADAPTERpublic 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/SNOWCLOSE UPNIGHT PORTRAITPORTRAITANTI-SHAKEBACK LIGHTBEST FACEBESTCOPYDAWN/DUSKFACE-PRIORITYFIREWORKSFOODHIGH SENS.LAND SCAPEMUSEUMPANORAMA ASSISTPARTY/INDOORSCENE AUTOSMILESPORTSPORT CONT.SUNSETpublic static final int TAG_LIGHT_SOURCE
NATURALSPEEDLIGHTCOLOREDMIXEDNORMALpublic 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+10 Normal-1-2-3 (B&W)public static final int TAG_NOISE_REDUCTION
OFFFPNRpublic 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= 00002539NO= -1000d71PKG597230621263PKG5995671330625116PKG49981281631130677BU672230725063NO= 200332c7NO= 30045efepublic 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
NORMALCUSTOMBLACK AND WHITELAND SCAPEMORE VIVIDPORTRAITSOFTVIVIDpublic static final int TAG_SATURATION_2
NORMALAUTOENHANCEDMODERATEpublic static final int TAG_DIGITAL_VARI_PROGRAM
AUTOAUTO(FLASH OFF)CLOSE UPLANDSCAPENIGHT PORTRAITPORTRAITSPORTpublic static final int TAG_IMAGE_STABILISATION
VR-ONVR-OFFVR-HYBRIDVR-ACTIVEpublic static final int TAG_AF_RESPONSE
HYBRIDSTANDARDpublic 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 © 2002-2020 Drew Noakes. All Rights Reserved.