Files
mostlymatter/vendor/github.com/rwcarlsen/goexif/mknote/fields.go
Christopher Speller 38ee83e45b Moving to glide
2016-05-12 23:56:07 -04:00

269 строки
10 KiB
Go

package mknote
import "github.com/rwcarlsen/goexif/exif"
// Useful resources used in creating these tables:
// http://www.exiv2.org/makernote.html
// http://www.exiv2.org/tags-canon.html
// http://www.exiv2.org/tags-nikon.html
// Known Maker Note fields
const (
// common fields
ISOSpeed exif.FieldName = "ISOSpeed"
ColorMode = "ColorMode"
Quality = "Quality"
Sharpening = "Sharpening"
Focus = "Focus"
FlashSetting = "FlashSetting"
FlashDevice = "FlashDevice"
WhiteBalanceBias = "WhiteBalanceBias"
WB_RBLevels = "WB_RBLevels"
ProgramShift = "ProgramShift"
ExposureDiff = "ExposureDiff"
ISOSelection = "ISOSelection"
DataDump = "DataDump"
Preview = "Preview"
FlashComp = "FlashComp"
ISOSettings = "ISOSettings"
ImageBoundary = "ImageBoundary"
FlashExposureComp = "FlashExposureComp"
FlashBracketComp = "FlashBracketComp"
ExposureBracketComp = "ExposureBracketComp"
ImageProcessing = "ImageProcessing"
CropHiSpeed = "CropHiSpeed"
ExposureTuning = "ExposureTuning"
SerialNumber = "SerialNumber"
ImageAuthentication = "ImageAuthentication"
ActiveDLighting = "ActiveDLighting"
VignetteControl = "VignetteControl"
ImageAdjustment = "ImageAdjustment"
ToneComp = "ToneComp"
AuxiliaryLens = "AuxiliaryLens"
LensType = "LensType"
Lens = "Lens"
FocusDistance = "FocusDistance"
DigitalZoom = "DigitalZoom"
FlashMode = "FlashMode"
ShootingMode = "ShootingMode"
AutoBracketRelease = "AutoBracketRelease"
LensFStops = "LensFStops"
ContrastCurve = "ContrastCurve"
ColorHue = "ColorHue"
SceneMode = "SceneMode"
HueAdjustment = "HueAdjustment"
NEFCompression = "NEFCompression"
NoiseReduction = "NoiseReduction"
LinearizationTable = "LinearizationTable"
RawImageCenter = "RawImageCenter"
SensorPixelSize = "SensorPixelSize"
SceneAssist = "SceneAssist"
RetouchHistory = "RetouchHistory"
ImageDataSize = "ImageDataSize"
ImageCount = "ImageCount"
DeletedImageCount = "DeletedImageCount"
ShutterCount = "ShutterCount"
ImageOptimization = "ImageOptimization"
SaturationText = "SaturationText"
VariProgram = "VariProgram"
ImageStabilization = "ImageStabilization"
AFResponse = "AFResponse"
HighISONoiseReduction = "HighISONoiseReduction"
ToningEffect = "ToningEffect"
PrintIM = "PrintIM"
CaptureData = "CaptureData"
CaptureVersion = "CaptureVersion"
CaptureOffsets = "CaptureOffsets"
ScanIFD = "ScanIFD"
ICCProfile = "ICCProfile"
CaptureOutput = "CaptureOutput"
Panorama = "Panorama"
ImageType = "ImageType"
FirmwareVersion = "FirmwareVersion"
FileNumber = "FileNumber"
OwnerName = "OwnerName"
CameraInfo = "CameraInfo"
CustomFunctions = "CustomFunctions"
ModelID = "ModelID"
PictureInfo = "PictureInfo"
ThumbnailImageValidArea = "ThumbnailImageValidArea"
SerialNumberFormat = "SerialNumberFormat"
SuperMacro = "SuperMacro"
OriginalDecisionDataOffset = "OriginalDecisionDataOffset"
WhiteBalanceTable = "WhiteBalanceTable"
LensModel = "LensModel"
InternalSerialNumber = "InternalSerialNumber"
DustRemovalData = "DustRemovalData"
ProcessingInfo = "ProcessingInfo"
MeasuredColor = "MeasuredColor"
VRDOffset = "VRDOffset"
SensorInfo = "SensorInfo"
ColorData = "ColorData"
// Nikon-specific fields
Nikon_Version = "Nikon.Version"
Nikon_WhiteBalance = "Nikon.WhiteBalance"
Nikon_ColorSpace = "Nikon.ColorSpace"
Nikon_LightSource = "Nikon.LightSource"
Nikon_Saturation = "Nikon_Saturation"
Nikon_ShotInfo = "Nikon.ShotInfo" // A sub-IFD
Nikon_VRInfo = "Nikon.VRInfo" // A sub-IFD
Nikon_PictureControl = "Nikon.PictureControl" // A sub-IFD
Nikon_WorldTime = "Nikon.WorldTime" // A sub-IFD
Nikon_ISOInfo = "Nikon.ISOInfo" // A sub-IFD
Nikon_AFInfo = "Nikon.AFInfo" // A sub-IFD
Nikon_ColorBalance = "Nikon.ColorBalance" // A sub-IFD
Nikon_LensData = "Nikon.LensData" // A sub-IFD
Nikon_SerialNO = "Nikon.SerialNO" // usually starts with "NO="
Nikon_FlashInfo = "Nikon.FlashInfo" // A sub-IFD
Nikon_MultiExposure = "Nikon.MultiExposure" // A sub-IFD
Nikon_AFInfo2 = "Nikon.AFInfo2" // A sub-IFD
Nikon_FileInfo = "Nikon.FileInfo" // A sub-IFD
Nikon_AFTune = "Nikon.AFTune" // A sub-IFD
Nikon3_0x000a = "Nikon3.0x000a"
Nikon3_0x009b = "Nikon3.0x009b"
Nikon3_0x009f = "Nikon3.0x009f"
Nikon3_0x00a3 = "Nikon3.0x00a3"
// Canon-specific fiends
Canon_CameraSettings = "Canon.CameraSettings" // A sub-IFD
Canon_ShotInfo = "Canon.ShotInfo" // A sub-IFD
Canon_AFInfo = "Canon.AFInfo"
Canon_0x0000 = "Canon.0x0000"
Canon_0x0003 = "Canon.0x0003"
Canon_0x00b5 = "Canon.0x00b5"
Canon_0x00c0 = "Canon.0x00c0"
Canon_0x00c1 = "Canon.0x00c1"
)
var makerNoteCanonFields = map[uint16]exif.FieldName{
0x0000: Canon_0x0000,
0x0001: Canon_CameraSettings,
0x0002: exif.FocalLength,
0x0003: Canon_0x0003,
0x0004: Canon_ShotInfo,
0x0005: Panorama,
0x0006: ImageType,
0x0007: FirmwareVersion,
0x0008: FileNumber,
0x0009: OwnerName,
0x000c: SerialNumber,
0x000d: CameraInfo,
0x000f: CustomFunctions,
0x0010: ModelID,
0x0012: PictureInfo,
0x0013: ThumbnailImageValidArea,
0x0015: SerialNumberFormat,
0x001a: SuperMacro,
0x0026: Canon_AFInfo,
0x0083: OriginalDecisionDataOffset,
0x00a4: WhiteBalanceTable,
0x0095: LensModel,
0x0096: InternalSerialNumber,
0x0097: DustRemovalData,
0x0099: CustomFunctions,
0x00a0: ProcessingInfo,
0x00aa: MeasuredColor,
0x00b4: exif.ColorSpace,
0x00b5: Canon_0x00b5,
0x00c0: Canon_0x00c0,
0x00c1: Canon_0x00c1,
0x00d0: VRDOffset,
0x00e0: SensorInfo,
0x4001: ColorData,
}
// Nikon version 3 Maker Notes fields (used by E5400, SQ, D2H, D70, and newer)
var makerNoteNikon3Fields = map[uint16]exif.FieldName{
0x0001: Nikon_Version,
0x0002: ISOSpeed,
0x0003: ColorMode,
0x0004: Quality,
0x0005: Nikon_WhiteBalance,
0x0006: Sharpening,
0x0007: Focus,
0x0008: FlashSetting,
0x0009: FlashDevice,
0x000a: Nikon3_0x000a,
0x000b: WhiteBalanceBias,
0x000c: WB_RBLevels,
0x000d: ProgramShift,
0x000e: ExposureDiff,
0x000f: ISOSelection,
0x0010: DataDump,
0x0011: Preview,
0x0012: FlashComp,
0x0013: ISOSettings,
0x0016: ImageBoundary,
0x0017: FlashExposureComp,
0x0018: FlashBracketComp,
0x0019: ExposureBracketComp,
0x001a: ImageProcessing,
0x001b: CropHiSpeed,
0x001c: ExposureTuning,
0x001d: SerialNumber,
0x001e: Nikon_ColorSpace,
0x001f: Nikon_VRInfo,
0x0020: ImageAuthentication,
0x0022: ActiveDLighting,
0x0023: Nikon_PictureControl,
0x0024: Nikon_WorldTime,
0x0025: Nikon_ISOInfo,
0x002a: VignetteControl,
0x0080: ImageAdjustment,
0x0081: ToneComp,
0x0082: AuxiliaryLens,
0x0083: LensType,
0x0084: Lens,
0x0085: FocusDistance,
0x0086: DigitalZoom,
0x0087: FlashMode,
0x0088: Nikon_AFInfo,
0x0089: ShootingMode,
0x008a: AutoBracketRelease,
0x008b: LensFStops,
0x008c: ContrastCurve,
0x008d: ColorHue,
0x008f: SceneMode,
0x0090: Nikon_LightSource,
0x0091: Nikon_ShotInfo,
0x0092: HueAdjustment,
0x0093: NEFCompression,
0x0094: Nikon_Saturation,
0x0095: NoiseReduction,
0x0096: LinearizationTable,
0x0097: Nikon_ColorBalance,
0x0098: Nikon_LensData,
0x0099: RawImageCenter,
0x009a: SensorPixelSize,
0x009b: Nikon3_0x009b,
0x009c: SceneAssist,
0x009e: RetouchHistory,
0x009f: Nikon3_0x009f,
0x00a0: Nikon_SerialNO,
0x00a2: ImageDataSize,
0x00a3: Nikon3_0x00a3,
0x00a5: ImageCount,
0x00a6: DeletedImageCount,
0x00a7: ShutterCount,
0x00a8: Nikon_FlashInfo,
0x00a9: ImageOptimization,
0x00aa: SaturationText,
0x00ab: VariProgram,
0x00ac: ImageStabilization,
0x00ad: AFResponse,
0x00b0: Nikon_MultiExposure,
0x00b1: HighISONoiseReduction,
0x00b3: ToningEffect,
0x00b7: Nikon_AFInfo2,
0x00b8: Nikon_FileInfo,
0x00b9: Nikon_AFTune,
0x0e00: PrintIM,
0x0e01: CaptureData,
0x0e09: CaptureVersion,
0x0e0e: CaptureOffsets,
0x0e10: ScanIFD,
0x0e1d: ICCProfile,
0x0e1e: CaptureOutput,
}