From 9cc583bbbbcb36e5c6c9354b7de020f59f6a1c5e Mon Sep 17 00:00:00 2001 From: Drew Noakes Date: Mon, 5 Feb 2024 13:34:03 +1100 Subject: [PATCH] Extend Apple makernote support These were some of the most common unrecognised tags in our sample data. --- .../makernotes/AppleMakernoteDescriptor.cs | 35 +++++++++ .../makernotes/AppleMakernoteDirectory.cs | 74 ++++++++++++++++--- .../PublicAPI/net462/PublicAPI.Unshipped.txt | 32 ++++++++ .../netstandard1.3/PublicAPI.Unshipped.txt | 32 ++++++++ .../netstandard2.1/PublicAPI.Unshipped.txt | 32 ++++++++ 5 files changed, 196 insertions(+), 9 deletions(-) diff --git a/MetadataExtractor/Formats/Exif/makernotes/AppleMakernoteDescriptor.cs b/MetadataExtractor/Formats/Exif/makernotes/AppleMakernoteDescriptor.cs index 3314bf7a1..9c88da575 100644 --- a/MetadataExtractor/Formats/Exif/makernotes/AppleMakernoteDescriptor.cs +++ b/MetadataExtractor/Formats/Exif/makernotes/AppleMakernoteDescriptor.cs @@ -16,12 +16,26 @@ public class AppleMakernoteDescriptor(AppleMakernoteDirectory directory) { return tagType switch { + TagAEStable => GetAEStableDescription(), + TagAFStable => GetAEStableDescription(), TagHdrImageType => GetHdrImageTypeDescription(), TagAccelerationVector => GetAccelerationVectorDescription(), + TagImageCaptureType => GetImageCaptureTypeDescription(), + TagFrontFacingCamera => GetFrontFacingCameraDescription(), _ => base.GetDescription(tagType) }; } + public string? GetAEStableDescription() + { + return GetBooleanDescription(TagAEStable, "Yes", "No"); + } + + public string? GetAFStableDescription() + { + return GetBooleanDescription(TagAFStable, "Yes", "No"); + } + public string? GetHdrImageTypeDescription() { return GetIndexedDescription(TagHdrImageType, 3, "HDR Image", "Original Image"); @@ -36,5 +50,26 @@ public class AppleMakernoteDescriptor(AppleMakernoteDirectory directory) $"{values[1].Absolute.ToDouble():N2}g {(values[1].IsPositive ? "down" : "up")}, " + $"{values[2].Absolute.ToDouble():N2}g {(values[2].IsPositive ? "forward" : "backward")}"; } + + public string? GetImageCaptureTypeDescription() + { + if (Directory.TryGetInt32(TagImageCaptureType, out int value)) + { + return value switch + { + 1 => "ProRAW", + 2 => "Portrait", + 10 => "Photo", + _ => base.GetDescription(TagImageCaptureType) + }; + } + + return base.GetDescription(TagImageCaptureType); + } + + public string? GetFrontFacingCameraDescription() + { + return GetBooleanDescription(TagFrontFacingCamera, "Yes", "No"); + } } } diff --git a/MetadataExtractor/Formats/Exif/makernotes/AppleMakernoteDirectory.cs b/MetadataExtractor/Formats/Exif/makernotes/AppleMakernoteDirectory.cs index e750beaaa..9f1c1afb0 100644 --- a/MetadataExtractor/Formats/Exif/makernotes/AppleMakernoteDirectory.cs +++ b/MetadataExtractor/Formats/Exif/makernotes/AppleMakernoteDirectory.cs @@ -3,12 +3,18 @@ namespace MetadataExtractor.Formats.Exif.Makernotes { /// Describes tags specific to Apple cameras. - /// Using information from http://owl.phy.queensu.ca/~phil/exiftool/TagNames/Apple.html + /// Using information from https://exiftool.org/TagNames/Apple.html /// Drew Noakes https://drewnoakes.com public class AppleMakernoteDirectory : Directory { #pragma warning disable format - public const int TagRunTime = 0x0003; + public const int TagMakernoteVersion = 0x0001; + public const int TagAEMatrix = 0x0002; + public const int TagRunTime = 0x0003; + public const int TagAEStable = 0x0004; + public const int TagAETarget = 0x0005; + public const int TagAEAverage = 0x0006; + public const int TagAFStable = 0x0007; /// /// XYZ coordinates of the acceleration vector in units of g. /// As viewed from the front of the phone, @@ -16,26 +22,76 @@ public class AppleMakernoteDirectory : Directory /// positive Y is toward the bottom, /// positive Z points into the face of the phone /// - public const int TagAccelerationVector = 0x0008; - public const int TagHdrImageType = 0x000a; + public const int TagAccelerationVector = 0x0008; + public const int TagHdrImageType = 0x000a; /// /// Unique ID for all images in a burst. /// - public const int TagBurstUuid = 0x000b; - public const int TagContentIdentifier = 0x0011; - public const int TagImageUniqueId = 0x0015; - public const int TagLivePhotoId = 0x0017; + public const int TagBurstUuid = 0x000b; + public const int TagFocusDistanceRange = 0x000c; + public const int TagOisMode = 0x000f; + public const int TagContentIdentifier = 0x0011; + public const int TagImageCaptureType = 0x0014; + public const int TagImageUniqueId = 0x0015; + public const int TagLivePhotoId = 0x0017; + public const int TagImageProcessingFlags = 0x0019; + public const int TagQualityHint = 0x001a; + public const int TagLuminanceNoiseAmplitude = 0x001d; + public const int TagImageCaptureRequestID = 0x0020; + public const int TagHdrHeadroom = 0x0021; + public const int TagSceneFlags = 0x0025; + public const int TagSignalToNoiseRatioType = 0x0026; + public const int TagSignalToNoiseRatio = 0x0027; + public const int TagPhotoIdentifier = 0x002b; + public const int TagFocusPosition = 0x002f; + public const int TagHdrGain = 0x0030; + public const int TagAFMeasuredDepth = 0x0038; + public const int TagAFConfidence = 0x003d; + public const int TagColorCorrectionMatrix = 0x003e; + public const int TagGreenGhostMitigationStatus = 0x003f; + public const int TagSemanticStyle = 0x0040; + public const int TagSemanticStyleRenderingVer = 0x0041; + public const int TagSemanticStylePreset = 0x0042; + public const int TagFrontFacingCamera = 0x0045; #pragma warning restore format private static readonly Dictionary _tagNameMap = new() { + { TagMakernoteVersion, "Makernote Version" }, + { TagAEMatrix, "AE Matrix" }, { TagRunTime, "Run Time" }, + { TagAEStable, "AE Stable" }, + { TagAETarget, "AE Target" }, + { TagAEAverage, "AE Average" }, + { TagAFStable, "AF Stable" }, { TagAccelerationVector, "Acceleration Vector" }, { TagHdrImageType, "HDR Image Type" }, { TagBurstUuid, "Burst UUID" }, + { TagFocusDistanceRange, "Focus Distance Range" }, + { TagOisMode, "OIS Mode" }, { TagContentIdentifier, "Content Identifier" }, + { TagImageCaptureType, "Image Capture Type" }, { TagImageUniqueId, "Image Unique ID" }, - { TagLivePhotoId, "Live Photo ID" } + { TagLivePhotoId, "Live Photo ID" }, + { TagImageProcessingFlags, "Image Processing Flags" }, + { TagQualityHint, "Quality Hint" }, + { TagLuminanceNoiseAmplitude, "Luminance Noise Amplitude" }, + { TagImageCaptureRequestID, "Image Capture Request ID" }, + { TagHdrHeadroom, "HDR Headroom" }, + { TagSceneFlags, "Scene Flags" }, + { TagSignalToNoiseRatioType, "Signal-to-Noise Ratio Type" }, + { TagSignalToNoiseRatio, "Signal-to-Noise Ratio" }, + { TagPhotoIdentifier, "Photo Identifier" }, + { TagFocusPosition, "Focus Position" }, + { TagHdrGain, "HDR Gain" }, + { TagAFMeasuredDepth, "AF Measured Depth" }, + { TagAFConfidence, "AF Confidence" }, + { TagColorCorrectionMatrix, "Color Correction Matrix" }, + { TagGreenGhostMitigationStatus, "Green Ghost Mitigation Status" }, + { TagSemanticStyle, "Semantic Style" }, + { TagSemanticStyleRenderingVer, "Semantic Style Rendering Ver" }, + { TagSemanticStylePreset, "Semantic Style Preset" }, + { TagFrontFacingCamera, "Front Facing Camera" } }; public AppleMakernoteDirectory() : base(_tagNameMap) diff --git a/MetadataExtractor/PublicAPI/net462/PublicAPI.Unshipped.txt b/MetadataExtractor/PublicAPI/net462/PublicAPI.Unshipped.txt index 5751c89ec..83d602076 100644 --- a/MetadataExtractor/PublicAPI/net462/PublicAPI.Unshipped.txt +++ b/MetadataExtractor/PublicAPI/net462/PublicAPI.Unshipped.txt @@ -1,6 +1,34 @@ #nullable enable abstract MetadataExtractor.IO.IndexedReader.GetBytes(int index, System.Span bytes) -> void abstract MetadataExtractor.IO.SequentialReader.GetBytes(System.Span bytes) -> void +const MetadataExtractor.Formats.Exif.Makernotes.AppleMakernoteDirectory.TagAEAverage = 6 -> int +const MetadataExtractor.Formats.Exif.Makernotes.AppleMakernoteDirectory.TagAEMatrix = 2 -> int +const MetadataExtractor.Formats.Exif.Makernotes.AppleMakernoteDirectory.TagAEStable = 4 -> int +const MetadataExtractor.Formats.Exif.Makernotes.AppleMakernoteDirectory.TagAETarget = 5 -> int +const MetadataExtractor.Formats.Exif.Makernotes.AppleMakernoteDirectory.TagAFConfidence = 61 -> int +const MetadataExtractor.Formats.Exif.Makernotes.AppleMakernoteDirectory.TagAFMeasuredDepth = 56 -> int +const MetadataExtractor.Formats.Exif.Makernotes.AppleMakernoteDirectory.TagAFStable = 7 -> int +const MetadataExtractor.Formats.Exif.Makernotes.AppleMakernoteDirectory.TagColorCorrectionMatrix = 62 -> int +const MetadataExtractor.Formats.Exif.Makernotes.AppleMakernoteDirectory.TagFocusDistanceRange = 12 -> int +const MetadataExtractor.Formats.Exif.Makernotes.AppleMakernoteDirectory.TagFocusPosition = 47 -> int +const MetadataExtractor.Formats.Exif.Makernotes.AppleMakernoteDirectory.TagFrontFacingCamera = 69 -> int +const MetadataExtractor.Formats.Exif.Makernotes.AppleMakernoteDirectory.TagGreenGhostMitigationStatus = 63 -> int +const MetadataExtractor.Formats.Exif.Makernotes.AppleMakernoteDirectory.TagHdrGain = 48 -> int +const MetadataExtractor.Formats.Exif.Makernotes.AppleMakernoteDirectory.TagHdrHeadroom = 33 -> int +const MetadataExtractor.Formats.Exif.Makernotes.AppleMakernoteDirectory.TagImageCaptureRequestID = 32 -> int +const MetadataExtractor.Formats.Exif.Makernotes.AppleMakernoteDirectory.TagImageCaptureType = 20 -> int +const MetadataExtractor.Formats.Exif.Makernotes.AppleMakernoteDirectory.TagImageProcessingFlags = 25 -> int +const MetadataExtractor.Formats.Exif.Makernotes.AppleMakernoteDirectory.TagLuminanceNoiseAmplitude = 29 -> int +const MetadataExtractor.Formats.Exif.Makernotes.AppleMakernoteDirectory.TagMakernoteVersion = 1 -> int +const MetadataExtractor.Formats.Exif.Makernotes.AppleMakernoteDirectory.TagOisMode = 15 -> int +const MetadataExtractor.Formats.Exif.Makernotes.AppleMakernoteDirectory.TagPhotoIdentifier = 43 -> int +const MetadataExtractor.Formats.Exif.Makernotes.AppleMakernoteDirectory.TagQualityHint = 26 -> int +const MetadataExtractor.Formats.Exif.Makernotes.AppleMakernoteDirectory.TagSceneFlags = 37 -> int +const MetadataExtractor.Formats.Exif.Makernotes.AppleMakernoteDirectory.TagSemanticStyle = 64 -> int +const MetadataExtractor.Formats.Exif.Makernotes.AppleMakernoteDirectory.TagSemanticStylePreset = 66 -> int +const MetadataExtractor.Formats.Exif.Makernotes.AppleMakernoteDirectory.TagSemanticStyleRenderingVer = 65 -> int +const MetadataExtractor.Formats.Exif.Makernotes.AppleMakernoteDirectory.TagSignalToNoiseRatio = 39 -> int +const MetadataExtractor.Formats.Exif.Makernotes.AppleMakernoteDirectory.TagSignalToNoiseRatioType = 38 -> int const MetadataExtractor.Formats.Exif.Makernotes.AppleRunTimeMakernoteDirectory.TagEpoch = 2 -> int const MetadataExtractor.Formats.Exif.Makernotes.AppleRunTimeMakernoteDirectory.TagFlags = 1 -> int const MetadataExtractor.Formats.Exif.Makernotes.AppleRunTimeMakernoteDirectory.TagScale = 3 -> int @@ -46,6 +74,10 @@ MetadataExtractor.Formats.Apple.BplistReader.BplistReader() -> void MetadataExtractor.Formats.Apple.BplistReader.PropertyListResults MetadataExtractor.Formats.Apple.BplistReader.PropertyListResults.Get(byte key) -> object! MetadataExtractor.Formats.Apple.BplistReader.PropertyListResults.GetTopObject() -> System.Collections.Generic.Dictionary? +MetadataExtractor.Formats.Exif.Makernotes.AppleMakernoteDescriptor.GetAEStableDescription() -> string? +MetadataExtractor.Formats.Exif.Makernotes.AppleMakernoteDescriptor.GetAFStableDescription() -> string? +MetadataExtractor.Formats.Exif.Makernotes.AppleMakernoteDescriptor.GetFrontFacingCameraDescription() -> string? +MetadataExtractor.Formats.Exif.Makernotes.AppleMakernoteDescriptor.GetImageCaptureTypeDescription() -> string? MetadataExtractor.Formats.Exif.Makernotes.AppleRunTimeMakernoteDescriptor MetadataExtractor.Formats.Exif.Makernotes.AppleRunTimeMakernoteDescriptor.AppleRunTimeMakernoteDescriptor(MetadataExtractor.Formats.Exif.Makernotes.AppleRunTimeMakernoteDirectory! directory) -> void MetadataExtractor.Formats.Exif.Makernotes.AppleRunTimeMakernoteDescriptor.GetFlagsDescription() -> string? diff --git a/MetadataExtractor/PublicAPI/netstandard1.3/PublicAPI.Unshipped.txt b/MetadataExtractor/PublicAPI/netstandard1.3/PublicAPI.Unshipped.txt index 5751c89ec..83d602076 100644 --- a/MetadataExtractor/PublicAPI/netstandard1.3/PublicAPI.Unshipped.txt +++ b/MetadataExtractor/PublicAPI/netstandard1.3/PublicAPI.Unshipped.txt @@ -1,6 +1,34 @@ #nullable enable abstract MetadataExtractor.IO.IndexedReader.GetBytes(int index, System.Span bytes) -> void abstract MetadataExtractor.IO.SequentialReader.GetBytes(System.Span bytes) -> void +const MetadataExtractor.Formats.Exif.Makernotes.AppleMakernoteDirectory.TagAEAverage = 6 -> int +const MetadataExtractor.Formats.Exif.Makernotes.AppleMakernoteDirectory.TagAEMatrix = 2 -> int +const MetadataExtractor.Formats.Exif.Makernotes.AppleMakernoteDirectory.TagAEStable = 4 -> int +const MetadataExtractor.Formats.Exif.Makernotes.AppleMakernoteDirectory.TagAETarget = 5 -> int +const MetadataExtractor.Formats.Exif.Makernotes.AppleMakernoteDirectory.TagAFConfidence = 61 -> int +const MetadataExtractor.Formats.Exif.Makernotes.AppleMakernoteDirectory.TagAFMeasuredDepth = 56 -> int +const MetadataExtractor.Formats.Exif.Makernotes.AppleMakernoteDirectory.TagAFStable = 7 -> int +const MetadataExtractor.Formats.Exif.Makernotes.AppleMakernoteDirectory.TagColorCorrectionMatrix = 62 -> int +const MetadataExtractor.Formats.Exif.Makernotes.AppleMakernoteDirectory.TagFocusDistanceRange = 12 -> int +const MetadataExtractor.Formats.Exif.Makernotes.AppleMakernoteDirectory.TagFocusPosition = 47 -> int +const MetadataExtractor.Formats.Exif.Makernotes.AppleMakernoteDirectory.TagFrontFacingCamera = 69 -> int +const MetadataExtractor.Formats.Exif.Makernotes.AppleMakernoteDirectory.TagGreenGhostMitigationStatus = 63 -> int +const MetadataExtractor.Formats.Exif.Makernotes.AppleMakernoteDirectory.TagHdrGain = 48 -> int +const MetadataExtractor.Formats.Exif.Makernotes.AppleMakernoteDirectory.TagHdrHeadroom = 33 -> int +const MetadataExtractor.Formats.Exif.Makernotes.AppleMakernoteDirectory.TagImageCaptureRequestID = 32 -> int +const MetadataExtractor.Formats.Exif.Makernotes.AppleMakernoteDirectory.TagImageCaptureType = 20 -> int +const MetadataExtractor.Formats.Exif.Makernotes.AppleMakernoteDirectory.TagImageProcessingFlags = 25 -> int +const MetadataExtractor.Formats.Exif.Makernotes.AppleMakernoteDirectory.TagLuminanceNoiseAmplitude = 29 -> int +const MetadataExtractor.Formats.Exif.Makernotes.AppleMakernoteDirectory.TagMakernoteVersion = 1 -> int +const MetadataExtractor.Formats.Exif.Makernotes.AppleMakernoteDirectory.TagOisMode = 15 -> int +const MetadataExtractor.Formats.Exif.Makernotes.AppleMakernoteDirectory.TagPhotoIdentifier = 43 -> int +const MetadataExtractor.Formats.Exif.Makernotes.AppleMakernoteDirectory.TagQualityHint = 26 -> int +const MetadataExtractor.Formats.Exif.Makernotes.AppleMakernoteDirectory.TagSceneFlags = 37 -> int +const MetadataExtractor.Formats.Exif.Makernotes.AppleMakernoteDirectory.TagSemanticStyle = 64 -> int +const MetadataExtractor.Formats.Exif.Makernotes.AppleMakernoteDirectory.TagSemanticStylePreset = 66 -> int +const MetadataExtractor.Formats.Exif.Makernotes.AppleMakernoteDirectory.TagSemanticStyleRenderingVer = 65 -> int +const MetadataExtractor.Formats.Exif.Makernotes.AppleMakernoteDirectory.TagSignalToNoiseRatio = 39 -> int +const MetadataExtractor.Formats.Exif.Makernotes.AppleMakernoteDirectory.TagSignalToNoiseRatioType = 38 -> int const MetadataExtractor.Formats.Exif.Makernotes.AppleRunTimeMakernoteDirectory.TagEpoch = 2 -> int const MetadataExtractor.Formats.Exif.Makernotes.AppleRunTimeMakernoteDirectory.TagFlags = 1 -> int const MetadataExtractor.Formats.Exif.Makernotes.AppleRunTimeMakernoteDirectory.TagScale = 3 -> int @@ -46,6 +74,10 @@ MetadataExtractor.Formats.Apple.BplistReader.BplistReader() -> void MetadataExtractor.Formats.Apple.BplistReader.PropertyListResults MetadataExtractor.Formats.Apple.BplistReader.PropertyListResults.Get(byte key) -> object! MetadataExtractor.Formats.Apple.BplistReader.PropertyListResults.GetTopObject() -> System.Collections.Generic.Dictionary? +MetadataExtractor.Formats.Exif.Makernotes.AppleMakernoteDescriptor.GetAEStableDescription() -> string? +MetadataExtractor.Formats.Exif.Makernotes.AppleMakernoteDescriptor.GetAFStableDescription() -> string? +MetadataExtractor.Formats.Exif.Makernotes.AppleMakernoteDescriptor.GetFrontFacingCameraDescription() -> string? +MetadataExtractor.Formats.Exif.Makernotes.AppleMakernoteDescriptor.GetImageCaptureTypeDescription() -> string? MetadataExtractor.Formats.Exif.Makernotes.AppleRunTimeMakernoteDescriptor MetadataExtractor.Formats.Exif.Makernotes.AppleRunTimeMakernoteDescriptor.AppleRunTimeMakernoteDescriptor(MetadataExtractor.Formats.Exif.Makernotes.AppleRunTimeMakernoteDirectory! directory) -> void MetadataExtractor.Formats.Exif.Makernotes.AppleRunTimeMakernoteDescriptor.GetFlagsDescription() -> string? diff --git a/MetadataExtractor/PublicAPI/netstandard2.1/PublicAPI.Unshipped.txt b/MetadataExtractor/PublicAPI/netstandard2.1/PublicAPI.Unshipped.txt index b1912d67a..40d49e160 100644 --- a/MetadataExtractor/PublicAPI/netstandard2.1/PublicAPI.Unshipped.txt +++ b/MetadataExtractor/PublicAPI/netstandard2.1/PublicAPI.Unshipped.txt @@ -1,6 +1,34 @@ #nullable enable abstract MetadataExtractor.IO.IndexedReader.GetBytes(int index, System.Span bytes) -> void abstract MetadataExtractor.IO.SequentialReader.GetBytes(System.Span bytes) -> void +const MetadataExtractor.Formats.Exif.Makernotes.AppleMakernoteDirectory.TagAEAverage = 6 -> int +const MetadataExtractor.Formats.Exif.Makernotes.AppleMakernoteDirectory.TagAEMatrix = 2 -> int +const MetadataExtractor.Formats.Exif.Makernotes.AppleMakernoteDirectory.TagAEStable = 4 -> int +const MetadataExtractor.Formats.Exif.Makernotes.AppleMakernoteDirectory.TagAETarget = 5 -> int +const MetadataExtractor.Formats.Exif.Makernotes.AppleMakernoteDirectory.TagAFConfidence = 61 -> int +const MetadataExtractor.Formats.Exif.Makernotes.AppleMakernoteDirectory.TagAFMeasuredDepth = 56 -> int +const MetadataExtractor.Formats.Exif.Makernotes.AppleMakernoteDirectory.TagAFStable = 7 -> int +const MetadataExtractor.Formats.Exif.Makernotes.AppleMakernoteDirectory.TagColorCorrectionMatrix = 62 -> int +const MetadataExtractor.Formats.Exif.Makernotes.AppleMakernoteDirectory.TagFocusDistanceRange = 12 -> int +const MetadataExtractor.Formats.Exif.Makernotes.AppleMakernoteDirectory.TagFocusPosition = 47 -> int +const MetadataExtractor.Formats.Exif.Makernotes.AppleMakernoteDirectory.TagFrontFacingCamera = 69 -> int +const MetadataExtractor.Formats.Exif.Makernotes.AppleMakernoteDirectory.TagGreenGhostMitigationStatus = 63 -> int +const MetadataExtractor.Formats.Exif.Makernotes.AppleMakernoteDirectory.TagHdrGain = 48 -> int +const MetadataExtractor.Formats.Exif.Makernotes.AppleMakernoteDirectory.TagHdrHeadroom = 33 -> int +const MetadataExtractor.Formats.Exif.Makernotes.AppleMakernoteDirectory.TagImageCaptureRequestID = 32 -> int +const MetadataExtractor.Formats.Exif.Makernotes.AppleMakernoteDirectory.TagImageCaptureType = 20 -> int +const MetadataExtractor.Formats.Exif.Makernotes.AppleMakernoteDirectory.TagImageProcessingFlags = 25 -> int +const MetadataExtractor.Formats.Exif.Makernotes.AppleMakernoteDirectory.TagLuminanceNoiseAmplitude = 29 -> int +const MetadataExtractor.Formats.Exif.Makernotes.AppleMakernoteDirectory.TagMakernoteVersion = 1 -> int +const MetadataExtractor.Formats.Exif.Makernotes.AppleMakernoteDirectory.TagOisMode = 15 -> int +const MetadataExtractor.Formats.Exif.Makernotes.AppleMakernoteDirectory.TagPhotoIdentifier = 43 -> int +const MetadataExtractor.Formats.Exif.Makernotes.AppleMakernoteDirectory.TagQualityHint = 26 -> int +const MetadataExtractor.Formats.Exif.Makernotes.AppleMakernoteDirectory.TagSceneFlags = 37 -> int +const MetadataExtractor.Formats.Exif.Makernotes.AppleMakernoteDirectory.TagSemanticStyle = 64 -> int +const MetadataExtractor.Formats.Exif.Makernotes.AppleMakernoteDirectory.TagSemanticStylePreset = 66 -> int +const MetadataExtractor.Formats.Exif.Makernotes.AppleMakernoteDirectory.TagSemanticStyleRenderingVer = 65 -> int +const MetadataExtractor.Formats.Exif.Makernotes.AppleMakernoteDirectory.TagSignalToNoiseRatio = 39 -> int +const MetadataExtractor.Formats.Exif.Makernotes.AppleMakernoteDirectory.TagSignalToNoiseRatioType = 38 -> int const MetadataExtractor.Formats.Exif.Makernotes.AppleRunTimeMakernoteDirectory.TagEpoch = 2 -> int const MetadataExtractor.Formats.Exif.Makernotes.AppleRunTimeMakernoteDirectory.TagFlags = 1 -> int const MetadataExtractor.Formats.Exif.Makernotes.AppleRunTimeMakernoteDirectory.TagScale = 3 -> int @@ -45,6 +73,10 @@ MetadataExtractor.Formats.Apple.BplistReader.BplistReader() -> void MetadataExtractor.Formats.Apple.BplistReader.PropertyListResults MetadataExtractor.Formats.Apple.BplistReader.PropertyListResults.Get(byte key) -> object! MetadataExtractor.Formats.Apple.BplistReader.PropertyListResults.GetTopObject() -> System.Collections.Generic.Dictionary? +MetadataExtractor.Formats.Exif.Makernotes.AppleMakernoteDescriptor.GetAEStableDescription() -> string? +MetadataExtractor.Formats.Exif.Makernotes.AppleMakernoteDescriptor.GetAFStableDescription() -> string? +MetadataExtractor.Formats.Exif.Makernotes.AppleMakernoteDescriptor.GetFrontFacingCameraDescription() -> string? +MetadataExtractor.Formats.Exif.Makernotes.AppleMakernoteDescriptor.GetImageCaptureTypeDescription() -> string? MetadataExtractor.Formats.Exif.Makernotes.AppleRunTimeMakernoteDescriptor MetadataExtractor.Formats.Exif.Makernotes.AppleRunTimeMakernoteDescriptor.AppleRunTimeMakernoteDescriptor(MetadataExtractor.Formats.Exif.Makernotes.AppleRunTimeMakernoteDirectory! directory) -> void MetadataExtractor.Formats.Exif.Makernotes.AppleRunTimeMakernoteDescriptor.GetFlagsDescription() -> string?