341 lines
10 KiB
JavaScript
341 lines
10 KiB
JavaScript
// Metro module 4826 (f4827).
|
|
import Module4825 from "./Module4825";
|
|
import { getStringValue, getEncodedString } from "./Module4827";
|
|
export default {
|
|
33434: {
|
|
name: "ExposureTime",
|
|
description: Module4825.ExposureTime
|
|
},
|
|
33437: {
|
|
name: "FNumber",
|
|
description: Module4825.FNumber
|
|
},
|
|
34850: {
|
|
name: "ExposureProgram",
|
|
description: Module4825.ExposureProgram
|
|
},
|
|
34852: "SpectralSensitivity",
|
|
34855: "ISOSpeedRatings",
|
|
34856: {
|
|
name: "OECF",
|
|
description: () => "[Raw OECF table data]"
|
|
},
|
|
34858: "TimeZoneOffset",
|
|
34859: "SelfTimerMode",
|
|
34864: {
|
|
name: "SensitivityType",
|
|
description: (a0) => ({
|
|
1: "Standard Output Sensitivity",
|
|
2: "Recommended Exposure Index",
|
|
3: "ISO Speed",
|
|
4: "Standard Output Sensitivity and Recommended Exposure Index",
|
|
5: "Standard Output Sensitivity and ISO Speed",
|
|
6: "Recommended Exposure Index and ISO Speed",
|
|
7: "Standard Output Sensitivity, Recommended Exposure Index and ISO Speed"
|
|
})[a0] || "Unknown"
|
|
},
|
|
34865: "StandardOutputSensitivity",
|
|
34866: "RecommendedExposureIndex",
|
|
34867: "ISOSpeed",
|
|
34868: "ISOSpeedLatitudeyyy",
|
|
34869: "ISOSpeedLatitudezzz",
|
|
36864: {
|
|
name: "ExifVersion",
|
|
description: (a0) => getStringValue(a0)
|
|
},
|
|
36867: "DateTimeOriginal",
|
|
36868: "DateTimeDigitized",
|
|
36873: "GooglePlusUploadCode",
|
|
36880: "OffsetTime",
|
|
36881: "OffsetTimeOriginal",
|
|
36882: "OffsetTimeDigitized",
|
|
37121: {
|
|
name: "ComponentsConfiguration",
|
|
description: Module4825.ComponentsConfiguration
|
|
},
|
|
37122: "CompressedBitsPerPixel",
|
|
37377: {
|
|
name: "ShutterSpeedValue",
|
|
description: Module4825.ShutterSpeedValue
|
|
},
|
|
37378: {
|
|
name: "ApertureValue",
|
|
description: Module4825.ApertureValue
|
|
},
|
|
37379: "BrightnessValue",
|
|
37380: "ExposureBiasValue",
|
|
37381: {
|
|
name: "MaxApertureValue",
|
|
description: (a0) => Math.pow(Math.sqrt(2), a0[0] / a0[1]).toFixed(2)
|
|
},
|
|
37382: {
|
|
name: "SubjectDistance",
|
|
description: (a0) => a0[0] / a0[1] + " m"
|
|
},
|
|
37383: {
|
|
name: "MeteringMode",
|
|
description: Module4825.MeteringMode
|
|
},
|
|
37384: {
|
|
name: "LightSource",
|
|
description: Module4825.LightSource
|
|
},
|
|
37385: {
|
|
name: "Flash",
|
|
description: (a0) => {
|
|
let r1 = "Flash did not fire";
|
|
if (a0 !== 0) {
|
|
let r2 = "Flash fired";
|
|
if (a0 !== 1) {
|
|
let r3 = "Strobe return light not detected";
|
|
if (a0 !== 5) {
|
|
let r4 = "Strobe return light detected";
|
|
if (a0 !== 7) {
|
|
let r5 = "Flash fired, compulsory flash mode";
|
|
if (a0 !== 9) {
|
|
let r6 = "Flash fired, compulsory flash mode, return light not detected";
|
|
if (a0 !== 13) {
|
|
let r7 = "Flash fired, compulsory flash mode, return light detected";
|
|
if (a0 !== 15) {
|
|
let r8 = "Flash did not fire, compulsory flash mode";
|
|
if (a0 !== 16) {
|
|
let r9 = "Flash did not fire, auto mode";
|
|
if (a0 !== 24) {
|
|
let r10 = "Flash fired, auto mode";
|
|
if (a0 !== 25) {
|
|
let r11 = "Flash fired, auto mode, return light not detected";
|
|
if (a0 !== 29) {
|
|
let r12 = "Flash fired, auto mode, return light detected";
|
|
if (a0 !== 31) {
|
|
let r13 = "No flash function";
|
|
if (a0 !== 32) {
|
|
let r14 = "Flash fired, red-eye reduction mode";
|
|
if (a0 !== 65) {
|
|
const r15 = a0 !== 69 ? a0 !== 71 ? a0 !== 73 ? a0 !== 77 ? a0 !== 79 ? a0 !== 89 ? a0 !== 93 ? a0 === 95 ? "Flash fired, auto mode, return light detected, red-eye reduction mode" : "Unknown" : "Flash fired, auto mode, return light not detected, red-eye reduction mode" : "Flash fired, auto mode, red-eye reduction mode" : "Flash fired, compulsory flash mode, red-eye reduction mode, return light detected" : "Flash fired, compulsory flash mode, red-eye reduction mode, return light not detected" : "Flash fired, compulsory flash mode, red-eye reduction mode" : "Flash fired, red-eye reduction mode, return light detected" : "Flash fired, red-eye reduction mode, return light not detected";
|
|
r14 = r15;
|
|
}
|
|
r13 = r14;
|
|
}
|
|
r12 = r13;
|
|
}
|
|
r11 = r12;
|
|
}
|
|
r10 = r11;
|
|
}
|
|
r9 = r10;
|
|
}
|
|
r8 = r9;
|
|
}
|
|
r7 = r8;
|
|
}
|
|
r6 = r7;
|
|
}
|
|
r5 = r6;
|
|
}
|
|
r4 = r5;
|
|
}
|
|
r3 = r4;
|
|
}
|
|
r2 = r3;
|
|
}
|
|
r1 = r2;
|
|
}
|
|
return r1;
|
|
}
|
|
},
|
|
37386: {
|
|
name: "FocalLength",
|
|
description: Module4825.FocalLength
|
|
},
|
|
37393: "ImageNumber",
|
|
37394: {
|
|
name: "SecurityClassification",
|
|
description: (a0) => ({
|
|
C: "Confidential",
|
|
R: "Restricted",
|
|
S: "Secret",
|
|
T: "Top Secret",
|
|
U: "Unclassified"
|
|
})[a0] || "Unknown"
|
|
},
|
|
37395: "ImageHistory",
|
|
37396: {
|
|
name: "SubjectArea",
|
|
description: (a0) => a0.length === 2 ? `Location; X: ${a0[0]}, Y: ${a0[1]}` : a0.length === 3 ? `Circle; X: ${a0[0]}, Y: ${a0[1]}, diameter: ${a0[2]}` : a0.length === 4 ? `Rectangle; X: ${a0[0]}, Y: ${a0[1]}, width: ${a0[2]}, height: ${a0[3]}` : "Unknown"
|
|
},
|
|
37500: {
|
|
name: "MakerNote",
|
|
description: () => "[Raw maker note data]"
|
|
},
|
|
37510: {
|
|
name: "UserComment",
|
|
description: getEncodedString
|
|
},
|
|
37520: "SubSecTime",
|
|
37521: "SubSecTimeOriginal",
|
|
37522: "SubSecTimeDigitized",
|
|
37724: "ImageSourceData",
|
|
37888: {
|
|
name: "AmbientTemperature",
|
|
description: (a0) => a0[0] / a0[1] + " °C"
|
|
},
|
|
37889: {
|
|
name: "Humidity",
|
|
description: (a0) => a0[0] / a0[1] + " %"
|
|
},
|
|
37890: {
|
|
name: "Pressure",
|
|
description: (a0) => a0[0] / a0[1] + " hPa"
|
|
},
|
|
37891: {
|
|
name: "WaterDepth",
|
|
description: (a0) => a0[0] / a0[1] + " m"
|
|
},
|
|
37892: {
|
|
name: "Acceleration",
|
|
description: (a0) => a0[0] / a0[1] + " mGal"
|
|
},
|
|
37893: {
|
|
name: "CameraElevationAngle",
|
|
description: (a0) => a0[0] / a0[1] + " °"
|
|
},
|
|
40960: {
|
|
name: "FlashpixVersion",
|
|
description: (a0) => a0.map((item) => String.fromCharCode(item)).join("")
|
|
},
|
|
40961: {
|
|
name: "ColorSpace",
|
|
description: Module4825.ColorSpace
|
|
},
|
|
40962: "PixelXDimension",
|
|
40963: "PixelYDimension",
|
|
40964: "RelatedSoundFile",
|
|
40965: "Interoperability IFD Pointer",
|
|
41483: "FlashEnergy",
|
|
41484: {
|
|
name: "SpatialFrequencyResponse",
|
|
description: () => "[Raw SFR table data]"
|
|
},
|
|
41486: "FocalPlaneXResolution",
|
|
41487: "FocalPlaneYResolution",
|
|
41488: {
|
|
name: "FocalPlaneResolutionUnit",
|
|
description: Module4825.FocalPlaneResolutionUnit
|
|
},
|
|
41492: {
|
|
name: "SubjectLocation",
|
|
description: (a0) => {
|
|
const [r7, r24] = a0;
|
|
return `X: ${r7}, Y: ${r24}`;
|
|
}
|
|
},
|
|
41493: "ExposureIndex",
|
|
41495: {
|
|
name: "SensingMethod",
|
|
description: (a0) => a0 !== 1 ? a0 !== 2 ? a0 !== 3 ? a0 !== 4 ? a0 !== 5 ? a0 !== 7 ? a0 === 8 ? "Color sequential linear sensor" : "Unknown" : "Trilinear sensor" : "Color sequential area sensor" : "Three-chip color area sensor" : "Two-chip color area sensor" : "One-chip color area sensor" : "Undefined"
|
|
},
|
|
41728: {
|
|
name: "FileSource",
|
|
description: (a0) => a0 === 3 ? "DSC" : "Unknown"
|
|
},
|
|
41729: {
|
|
name: "SceneType",
|
|
description: (a0) => a0 === 1 ? "A directly photographed image" : "Unknown"
|
|
},
|
|
41730: {
|
|
name: "CFAPattern",
|
|
description: () => "[Raw CFA pattern table data]"
|
|
},
|
|
41985: {
|
|
name: "CustomRendered",
|
|
description: Module4825.CustomRendered
|
|
},
|
|
41986: {
|
|
name: "ExposureMode",
|
|
description: Module4825.ExposureMode
|
|
},
|
|
41987: {
|
|
name: "WhiteBalance",
|
|
description: Module4825.WhiteBalance
|
|
},
|
|
41988: {
|
|
name: "DigitalZoomRatio",
|
|
description: (a0) => a0[0] !== 0 ? "" + a0[0] / a0[1] : "Digital zoom was not used"
|
|
},
|
|
41989: {
|
|
name: "FocalLengthIn35mmFilm",
|
|
description: Module4825.FocalLengthIn35mmFilm
|
|
},
|
|
41990: {
|
|
name: "SceneCaptureType",
|
|
description: Module4825.SceneCaptureType
|
|
},
|
|
41991: {
|
|
name: "GainControl",
|
|
description: (a0) => a0 !== 0 ? a0 !== 1 ? a0 !== 2 ? a0 !== 3 ? a0 === 4 ? "High gain down" : "Unknown" : "Low gain down" : "High gain up" : "Low gain up" : "None"
|
|
},
|
|
41992: {
|
|
name: "Contrast",
|
|
description: Module4825.Contrast
|
|
},
|
|
41993: {
|
|
name: "Saturation",
|
|
description: Module4825.Saturation
|
|
},
|
|
41994: {
|
|
name: "Sharpness",
|
|
description: Module4825.Sharpness
|
|
},
|
|
41995: {
|
|
name: "DeviceSettingDescription",
|
|
description: () => "[Raw device settings table data]"
|
|
},
|
|
41996: {
|
|
name: "SubjectDistanceRange",
|
|
description: (a0) => a0 !== 1 ? a0 !== 2 ? a0 === 3 ? "Distant view" : "Unknown" : "Close view" : "Macro"
|
|
},
|
|
42016: "ImageUniqueID",
|
|
42032: "CameraOwnerName",
|
|
42033: "BodySerialNumber",
|
|
42034: {
|
|
name: "LensSpecification",
|
|
description: (a0) => {
|
|
const r31 = `${parseFloat((a0[0][0] / a0[0][1]).toFixed(5))}-${parseFloat((a0[1][0] / a0[1][1]).toFixed(5))} mm`;
|
|
if (a0[3][1] === 0) {
|
|
return `${r31} f/?`;
|
|
}
|
|
return `${r31} f/${parseFloat((1 / (a0[2][1] / a0[2][1] / (a0[3][0] / a0[3][1]))).toFixed(5))}`;
|
|
}
|
|
},
|
|
42035: "LensMake",
|
|
42036: "LensModel",
|
|
42037: "LensSerialNumber",
|
|
42080: {
|
|
name: "CompositeImage",
|
|
description: (a0) => ({
|
|
1: "Not a Composite Image",
|
|
2: "General Composite Image",
|
|
3: "Composite Image Captured While Shooting"
|
|
})[a0] || "Unknown"
|
|
},
|
|
42081: "SourceImageNumberOfCompositeImage",
|
|
42082: "SourceExposureTimesOfCompositeImage",
|
|
42240: "Gamma",
|
|
59932: "Padding",
|
|
59933: "OffsetSchema",
|
|
65000: "OwnerName",
|
|
65001: "SerialNumber",
|
|
65002: "Lens",
|
|
65100: "RawFile",
|
|
65101: "Converter",
|
|
65102: "WhiteBalance",
|
|
65105: "Exposure",
|
|
65106: "Shadows",
|
|
65107: "Brightness",
|
|
65108: "Contrast",
|
|
65109: "Saturation",
|
|
65110: "Sharpness",
|
|
65111: "Smoothness",
|
|
65112: "MoireFilter"
|
|
};
|