exiftool-vendored.exe 13.36.0 → 13.38.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. package/bin/exiftool.exe +0 -0
  2. package/bin/exiftool_files/exiftool.pl +1 -1
  3. package/bin/exiftool_files/lib/Image/ExifTool/Audible.pm +1 -1
  4. package/bin/exiftool_files/lib/Image/ExifTool/BMP.pm +2 -2
  5. package/bin/exiftool_files/lib/Image/ExifTool/BuildTagLookup.pm +16 -9
  6. package/bin/exiftool_files/lib/Image/ExifTool/CBOR.pm +1 -1
  7. package/bin/exiftool_files/lib/Image/ExifTool/Canon.pm +59 -5
  8. package/bin/exiftool_files/lib/Image/ExifTool/CanonVRD.pm +1 -1
  9. package/bin/exiftool_files/lib/Image/ExifTool/CaptureOne.pm +1 -1
  10. package/bin/exiftool_files/lib/Image/ExifTool/DJI.pm +5 -5
  11. package/bin/exiftool_files/lib/Image/ExifTool/DSF.pm +138 -0
  12. package/bin/exiftool_files/lib/Image/ExifTool/DV.pm +1 -1
  13. package/bin/exiftool_files/lib/Image/ExifTool/EXE.pm +5 -2
  14. package/bin/exiftool_files/lib/Image/ExifTool/FLIF.pm +1 -1
  15. package/bin/exiftool_files/lib/Image/ExifTool/FLIR.pm +3 -3
  16. package/bin/exiftool_files/lib/Image/ExifTool/FlashPix.pm +1 -1
  17. package/bin/exiftool_files/lib/Image/ExifTool/FujiFilm.pm +5 -4
  18. package/bin/exiftool_files/lib/Image/ExifTool/GIF.pm +1 -1
  19. package/bin/exiftool_files/lib/Image/ExifTool/GM.pm +1 -1
  20. package/bin/exiftool_files/lib/Image/ExifTool/Geolocation.pm +3 -1
  21. package/bin/exiftool_files/lib/Image/ExifTool/Geotag.pm +13 -3
  22. package/bin/exiftool_files/lib/Image/ExifTool/GoPro.pm +11 -8
  23. package/bin/exiftool_files/lib/Image/ExifTool/Google.pm +814 -0
  24. package/bin/exiftool_files/lib/Image/ExifTool/H264.pm +1 -1
  25. package/bin/exiftool_files/lib/Image/ExifTool/ICC_Profile.pm +1 -1
  26. package/bin/exiftool_files/lib/Image/ExifTool/ID3.pm +14 -13
  27. package/bin/exiftool_files/lib/Image/ExifTool/JPEG.pm +1 -1
  28. package/bin/exiftool_files/lib/Image/ExifTool/JSON.pm +1 -1
  29. package/bin/exiftool_files/lib/Image/ExifTool/LIF.pm +1 -1
  30. package/bin/exiftool_files/lib/Image/ExifTool/LNK.pm +2 -2
  31. package/bin/exiftool_files/lib/Image/ExifTool/Lytro.pm +1 -1
  32. package/bin/exiftool_files/lib/Image/ExifTool/M2TS.pm +34 -25
  33. package/bin/exiftool_files/lib/Image/ExifTool/MIEUnits.pod +1 -1
  34. package/bin/exiftool_files/lib/Image/ExifTool/MPEG.pm +1 -1
  35. package/bin/exiftool_files/lib/Image/ExifTool/MWG.pm +1 -1
  36. package/bin/exiftool_files/lib/Image/ExifTool/MXF.pm +1 -1
  37. package/bin/exiftool_files/lib/Image/ExifTool/MacOS.pm +2 -2
  38. package/bin/exiftool_files/lib/Image/ExifTool/MakerNotes.pm +30 -7
  39. package/bin/exiftool_files/lib/Image/ExifTool/Microsoft.pm +4 -4
  40. package/bin/exiftool_files/lib/Image/ExifTool/Nikon.pm +4 -4
  41. package/bin/exiftool_files/lib/Image/ExifTool/OOXML.pm +1 -1
  42. package/bin/exiftool_files/lib/Image/ExifTool/Ogg.pm +1 -1
  43. package/bin/exiftool_files/lib/Image/ExifTool/Olympus.pm +2 -1
  44. package/bin/exiftool_files/lib/Image/ExifTool/Other.pm +1 -1
  45. package/bin/exiftool_files/lib/Image/ExifTool/Panasonic.pm +1 -1
  46. package/bin/exiftool_files/lib/Image/ExifTool/Pentax.pm +18 -7
  47. package/bin/exiftool_files/lib/Image/ExifTool/Protobuf.pm +12 -6
  48. package/bin/exiftool_files/lib/Image/ExifTool/Qualcomm.pm +2 -2
  49. package/bin/exiftool_files/lib/Image/ExifTool/QuickTime.pm +30 -8
  50. package/bin/exiftool_files/lib/Image/ExifTool/QuickTimeStream.pl +2 -0
  51. package/bin/exiftool_files/lib/Image/ExifTool/README +7 -6
  52. package/bin/exiftool_files/lib/Image/ExifTool/Rawzor.pm +1 -1
  53. package/bin/exiftool_files/lib/Image/ExifTool/Reconyx.pm +375 -91
  54. package/bin/exiftool_files/lib/Image/ExifTool/Samsung.pm +1 -1
  55. package/bin/exiftool_files/lib/Image/ExifTool/Shortcuts.pm +8 -5
  56. package/bin/exiftool_files/lib/Image/ExifTool/Sony.pm +22 -7
  57. package/bin/exiftool_files/lib/Image/ExifTool/TagInfoXML.pm +3 -2
  58. package/bin/exiftool_files/lib/Image/ExifTool/TagLookup.pm +5753 -5696
  59. package/bin/exiftool_files/lib/Image/ExifTool/TagNames.pod +707 -518
  60. package/bin/exiftool_files/lib/Image/ExifTool/Text.pm +1 -1
  61. package/bin/exiftool_files/lib/Image/ExifTool/Trailer.pm +1 -1
  62. package/bin/exiftool_files/lib/Image/ExifTool/WPG.pm +1 -1
  63. package/bin/exiftool_files/lib/Image/ExifTool/WTV.pm +1 -1
  64. package/bin/exiftool_files/lib/Image/ExifTool/WavPack.pm +144 -0
  65. package/bin/exiftool_files/lib/Image/ExifTool/XMP.pm +43 -37
  66. package/bin/exiftool_files/lib/Image/ExifTool/XMP2.pl +0 -482
  67. package/bin/exiftool_files/lib/Image/ExifTool/ZIP.pm +1 -1
  68. package/bin/exiftool_files/lib/Image/ExifTool/iWork.pm +1 -1
  69. package/bin/exiftool_files/lib/Image/ExifTool.pm +42 -27
  70. package/bin/exiftool_files/lib/Image/ExifTool.pod +60 -59
  71. package/bin/exiftool_files/windows_exiftool.txt +66 -64
  72. package/package.json +3 -3
@@ -79,79 +79,6 @@ my %sTimecode = (
79
79
  timeValue => { },
80
80
  value => { Writable => 'integer', Notes => 'only in XMP 2008 spec; an error?' },
81
81
  );
82
- my %sPose = (
83
- STRUCT_NAME => 'Pose',
84
- NAMESPACE => { Pose => 'http://ns.google.com/photos/dd/1.0/pose/' },
85
- PositionX => { Writable => 'real', Groups => { 2 => 'Location' } },
86
- PositionY => { Writable => 'real', Groups => { 2 => 'Location' } },
87
- PositionZ => { Writable => 'real', Groups => { 2 => 'Location' } },
88
- RotationX => { Writable => 'real', Groups => { 2 => 'Location' } },
89
- RotationY => { Writable => 'real', Groups => { 2 => 'Location' } },
90
- RotationZ => { Writable => 'real', Groups => { 2 => 'Location' } },
91
- RotationW => { Writable => 'real', Groups => { 2 => 'Location' } },
92
- Timestamp => {
93
- Writable => 'integer',
94
- Shift => 'Time',
95
- Groups => { 2 => 'Time' },
96
- ValueConv => 'ConvertUnixTime($val / 1000, 1, 3)',
97
- ValueConvInv => 'int(GetUnixTime($val, 1) * 1000)',
98
- PrintConv => '$self->ConvertDateTime($val)',
99
- PrintConvInv => '$self->InverseDateTime($val,undef,1)',
100
- },
101
- );
102
- my %sEarthPose = (
103
- STRUCT_NAME => 'EarthPose',
104
- NAMESPACE => { EarthPose => 'http://ns.google.com/photos/dd/1.0/earthpose/' },
105
- Latitude => {
106
- Writable => 'real',
107
- Groups => { 2 => 'Location' },
108
- ValueConv => 'Image::ExifTool::GPS::ToDegrees($val, 1)',
109
- ValueConvInv => '$val',
110
- PrintConv => 'Image::ExifTool::GPS::ToDMS($self, $val, 1, "N")',
111
- PrintConvInv => 'Image::ExifTool::GPS::ToDegrees($val, 1, "lat")',
112
- },
113
- Longitude => {
114
- Writable => 'real',
115
- Groups => { 2 => 'Location' },
116
- ValueConv => 'Image::ExifTool::GPS::ToDegrees($val, 1)',
117
- ValueConvInv => '$val',
118
- PrintConv => 'Image::ExifTool::GPS::ToDMS($self, $val, 1, "E")',
119
- PrintConvInv => 'Image::ExifTool::GPS::ToDegrees($val, 1, "lon")',
120
- },
121
- Altitude => {
122
- Writable => 'real',
123
- Groups => { 2 => 'Location' },
124
- PrintConv => '"$val m"',
125
- PrintConvInv => '$val=~s/\s*m$//;$val',
126
- },
127
- RotationX => { Writable => 'real', Groups => { 2 => 'Location' } },
128
- RotationY => { Writable => 'real', Groups => { 2 => 'Location' } },
129
- RotationZ => { Writable => 'real', Groups => { 2 => 'Location' } },
130
- RotationW => { Writable => 'real', Groups => { 2 => 'Location' } },
131
- Timestamp => {
132
- Writable => 'integer',
133
- Shift => 'Time',
134
- Groups => { 2 => 'Time' },
135
- ValueConv => 'ConvertUnixTime($val / 1000, 1, 3)',
136
- ValueConvInv => 'int(GetUnixTime($val, 1) * 1000)',
137
- PrintConv => '$self->ConvertDateTime($val)',
138
- PrintConvInv => '$self->InverseDateTime($val,undef,1)',
139
- },
140
- );
141
- my %sVendorInfo = (
142
- STRUCT_NAME => 'VendorInfo',
143
- NAMESPACE => { VendorInfo => 'http://ns.google.com/photos/dd/1.0/vendorinfo/' },
144
- Model => { },
145
- Manufacturer => { },
146
- Notes => { },
147
- );
148
- my %sAppInfo = (
149
- STRUCT_NAME => 'AppInfo',
150
- NAMESPACE => { AppInfo => 'http://ns.google.com/photos/dd/1.0/appinfo/' },
151
- Application => { },
152
- Version => { },
153
- ItemURI => { },
154
- );
155
82
 
156
83
  # camera-raw defaults
157
84
  %Image::ExifTool::XMP::crd = (
@@ -1760,414 +1687,6 @@ my %sACDSeeRegionStruct = (
1760
1687
  ConfidenceLevel => { Writable => 'integer' },
1761
1688
  );
1762
1689
 
1763
- # Google audio namespace
1764
- %Image::ExifTool::XMP::GAudio = (
1765
- %xmpTableDefaults,
1766
- GROUPS => { 1 => 'XMP-GAudio', 2 => 'Audio' },
1767
- NAMESPACE => 'GAudio',
1768
- Data => {
1769
- Name => 'AudioData',
1770
- ValueConv => 'Image::ExifTool::XMP::DecodeBase64($val)',
1771
- ValueConvInv => 'Image::ExifTool::XMP::EncodeBase64($val)',
1772
- },
1773
- Mime => { Name => 'AudioMimeType' },
1774
- );
1775
-
1776
- # Google image namespace
1777
- %Image::ExifTool::XMP::GImage = (
1778
- %xmpTableDefaults,
1779
- GROUPS => { 1 => 'XMP-GImage', 2 => 'Image' },
1780
- NAMESPACE => 'GImage',
1781
- Data => {
1782
- Name => 'ImageData',
1783
- ValueConv => 'Image::ExifTool::XMP::DecodeBase64($val)',
1784
- ValueConvInv => 'Image::ExifTool::XMP::EncodeBase64($val)',
1785
- },
1786
- Mime => { Name => 'ImageMimeType' },
1787
- );
1788
-
1789
- # Google panorama namespace properties
1790
- # (ref https://exiftool.org/forum/index.php/topic,4569.0.html)
1791
- %Image::ExifTool::XMP::GPano = (
1792
- %xmpTableDefaults,
1793
- GROUPS => { 1 => 'XMP-GPano', 2 => 'Image' },
1794
- NAMESPACE => 'GPano',
1795
- NOTES => q{
1796
- Panorama tags written by Google Photosphere. See
1797
- L<https://developers.google.com/panorama/metadata/> for the specification.
1798
- },
1799
- UsePanoramaViewer => { Writable => 'boolean' },
1800
- CaptureSoftware => { },
1801
- StitchingSoftware => { },
1802
- ProjectionType => { },
1803
- PoseHeadingDegrees => { Writable => 'real' },
1804
- PosePitchDegrees => { Writable => 'real' },
1805
- PoseRollDegrees => { Writable => 'real' },
1806
- InitialViewHeadingDegrees => { Writable => 'real' },
1807
- InitialViewPitchDegrees => { Writable => 'real' },
1808
- InitialViewRollDegrees => { Writable => 'real' },
1809
- InitialHorizontalFOVDegrees => { Writable => 'real' },
1810
- InitialVerticalFOVDegrees => { Writable => 'real' },
1811
- FirstPhotoDate => { %dateTimeInfo, Groups => { 2 => 'Time' } },
1812
- LastPhotoDate => { %dateTimeInfo, Groups => { 2 => 'Time' } },
1813
- SourcePhotosCount => { Writable => 'integer' },
1814
- ExposureLockUsed => { Writable => 'boolean' },
1815
- CroppedAreaImageWidthPixels => { Writable => 'real' },
1816
- CroppedAreaImageHeightPixels => { Writable => 'real' },
1817
- FullPanoWidthPixels => { Writable => 'real' },
1818
- FullPanoHeightPixels => { Writable => 'real' },
1819
- CroppedAreaLeftPixels => { Writable => 'real' },
1820
- CroppedAreaTopPixels => { Writable => 'real' },
1821
- InitialCameraDolly => { Writable => 'real' },
1822
- # (the following have been observed, but are not in the specification)
1823
- LargestValidInteriorRectLeft => { Writable => 'real' },
1824
- LargestValidInteriorRectTop => { Writable => 'real' },
1825
- LargestValidInteriorRectWidth => { Writable => 'real' },
1826
- LargestValidInteriorRectHeight => { Writable => 'real' },
1827
- );
1828
-
1829
- # Google Spherical Images namespace (ref https://github.com/google/spatial-media/blob/master/docs/spherical-video-rfc.md)
1830
- %Image::ExifTool::XMP::GSpherical = (
1831
- %xmpTableDefaults,
1832
- GROUPS => { 1 => 'XMP-GSpherical', 2 => 'Image' },
1833
- WRITE_GROUP => 'GSpherical', # write in special location for video files
1834
- NAMESPACE => 'GSpherical',
1835
- AVOID => 1,
1836
- NOTES => q{
1837
- Not actually XMP. These RDF/XML tags are used in Google spherical MP4
1838
- videos. These tags are written into the video track of MOV/MP4 files, and
1839
- not at the top level like other XMP tags. See
1840
- L<https://github.com/google/spatial-media/blob/master/docs/spherical-video-rfc.md>
1841
- for the specification.
1842
- },
1843
- # (avoid due to conflicts with XMP-GPano tags)
1844
- Spherical => { Writable => 'boolean' },
1845
- Stitched => { Writable => 'boolean' },
1846
- StitchingSoftware => { },
1847
- ProjectionType => { },
1848
- StereoMode => { },
1849
- SourceCount => { Writable => 'integer' },
1850
- InitialViewHeadingDegrees => { Writable => 'real' },
1851
- InitialViewPitchDegrees => { Writable => 'real' },
1852
- InitialViewRollDegrees => { Writable => 'real' },
1853
- Timestamp => {
1854
- Name => 'TimeStamp',
1855
- Groups => { 2 => 'Time' },
1856
- Writable => 'integer',
1857
- Shift => 'Time',
1858
- ValueConv => 'ConvertUnixTime($val)', #(NC)
1859
- ValueConvInv => 'GetUnixTime($val)',
1860
- PrintConv => '$self->ConvertDateTime($val)',
1861
- PrintConvInv => '$self->InverseDateTime($val)',
1862
- },
1863
- FullPanoWidthPixels => { Writable => 'integer' },
1864
- FullPanoHeightPixels => { Writable => 'integer' },
1865
- CroppedAreaImageWidthPixels => { Writable => 'integer' },
1866
- CroppedAreaImageHeightPixels=> { Writable => 'integer' },
1867
- CroppedAreaLeftPixels => { Writable => 'integer' },
1868
- CroppedAreaTopPixels => { Writable => 'integer' },
1869
- );
1870
-
1871
- # Google depthmap information (ref https://developers.google.com/depthmap-metadata/reference)
1872
- %Image::ExifTool::XMP::GDepth = (
1873
- GROUPS => { 0 => 'XMP', 1 => 'XMP-GDepth', 2 => 'Image' },
1874
- NAMESPACE => 'GDepth',
1875
- AVOID => 1, # (too many potential tag name conflicts)
1876
- NOTES => q{
1877
- Google depthmap information. See
1878
- L<https://developers.google.com/depthmap-metadata/> for the specification.
1879
- },
1880
- WRITABLE => 'string', # (default to string-type tags)
1881
- PRIORITY => 0,
1882
- Format => {
1883
- PrintConv => {
1884
- RangeInverse => 'RangeInverse',
1885
- RangeLinear => 'RangeLinear',
1886
- },
1887
- },
1888
- Near => { Writable => 'real' },
1889
- Far => { Writable => 'real' },
1890
- Mime => { },
1891
- Data => {
1892
- Name => 'DepthImage',
1893
- ValueConv => 'Image::ExifTool::XMP::DecodeBase64($val)',
1894
- ValueConvInv => 'Image::ExifTool::XMP::EncodeBase64($val)',
1895
- },
1896
- Units => { },
1897
- MeasureType => {
1898
- PrintConv => {
1899
- OpticalAxis => 'OpticalAxis',
1900
- OpticalRay => 'OpticalRay',
1901
- },
1902
- },
1903
- ConfidenceMime => { },
1904
- Confidence => {
1905
- ValueConv => 'Image::ExifTool::XMP::DecodeBase64($val)',
1906
- ValueConvInv => 'Image::ExifTool::XMP::EncodeBase64($val)',
1907
- },
1908
- Manufacturer=> { },
1909
- Model => { },
1910
- Software => { },
1911
- ImageWidth => { Writable => 'real' },
1912
- ImageHeight => { Writable => 'real' },
1913
- );
1914
-
1915
- # Google focus namespace
1916
- %Image::ExifTool::XMP::GFocus = (
1917
- %xmpTableDefaults,
1918
- GROUPS => { 1 => 'XMP-GFocus', 2 => 'Image' },
1919
- NAMESPACE => 'GFocus',
1920
- NOTES => 'Focus information found in Google depthmap images.',
1921
- BlurAtInfinity => { Writable => 'real' },
1922
- FocalDistance => { Writable => 'real' },
1923
- FocalPointX => { Writable => 'real' },
1924
- FocalPointY => { Writable => 'real' },
1925
- );
1926
-
1927
- # Google camera namespace (ref PH)
1928
- %Image::ExifTool::XMP::GCamera = (
1929
- %xmpTableDefaults,
1930
- GROUPS => { 1 => 'XMP-GCamera', 2 => 'Camera' },
1931
- NAMESPACE => 'GCamera',
1932
- NOTES => 'Camera information found in Google panorama images.',
1933
- BurstID => { },
1934
- BurstPrimary => { },
1935
- PortraitNote => { },
1936
- PortraitRequest => {
1937
- Notes => 'HDRPlus (HDRP) data', #NealKrawetz
1938
- ValueConv => 'Image::ExifTool::XMP::DecodeBase64($val)',
1939
- ValueConvInv => 'Image::ExifTool::XMP::EncodeBase64($val)',
1940
- },
1941
- PortraitVersion => { },
1942
- SpecialTypeID => { List => 'Bag' },
1943
- PortraitNote => { },
1944
- DisableAutoCreation => { List => 'Bag' },
1945
- DisableSuggestedAction => { List => 'Bag' }, #forum16147
1946
- hdrp_makernote => {
1947
- Name => 'HDRPMakerNote',
1948
- # decoded data starts with the following bytes, but nothing yet is known about its contents:
1949
- # 48 44 52 50 02 ef 64 35 6d 5e 70 1e 2c ea e3 4c [HDRP..d5m^p.,..L]
1950
- ValueConv => 'Image::ExifTool::XMP::DecodeBase64($val)',
1951
- ValueConvInv => 'Image::ExifTool::XMP::EncodeBase64($val)',
1952
- },
1953
- MicroVideo => { Writable => 'integer' },
1954
- MicroVideoVersion => { Writable => 'integer' },
1955
- MicroVideoOffset => { Writable => 'integer' },
1956
- MicroVideoPresentationTimestampUs => { Writable => 'integer' },
1957
- shot_log_data => { #forum14108
1958
- Name => 'ShotLogData',
1959
- ValueConv => 'Image::ExifTool::XMP::DecodeBase64($val)',
1960
- ValueConvInv => 'Image::ExifTool::XMP::EncodeBase64($val)',
1961
- },
1962
- HdrPlusMakernote => {
1963
- ValueConv => 'Image::ExifTool::XMP::DecodeBase64($val)',
1964
- ValueConvInv => 'Image::ExifTool::XMP::EncodeBase64($val)',
1965
- },
1966
- MotionPhoto => { Writable => 'integer' },
1967
- MotionPhotoVersion => { Writable => 'integer' },
1968
- MotionPhotoPresentationTimestampUs => { Writable => 'integer' },
1969
- );
1970
-
1971
- # Google creations namespace (ref PH)
1972
- %Image::ExifTool::XMP::GCreations = (
1973
- %xmpTableDefaults,
1974
- GROUPS => { 1 => 'XMP-GCreations', 2 => 'Camera' },
1975
- NAMESPACE => 'GCreations',
1976
- NOTES => 'Google creations tags.',
1977
- CameraBurstID => { },
1978
- Type => { Avoid => 1 },
1979
- );
1980
-
1981
- # Google depth-map Device namespace (ref 13)
1982
- %Image::ExifTool::XMP::Device = (
1983
- %xmpTableDefaults,
1984
- GROUPS => { 1 => 'XMP-Device', 2 => 'Camera' },
1985
- NAMESPACE => { Device => 'http://ns.google.com/photos/dd/1.0/device/' },
1986
- NOTES => q{
1987
- Google depth-map Device tags. See
1988
- L<https://developer.android.com/training/camera2/Dynamic-depth-v1.0.pdf> for
1989
- the specification.
1990
- },
1991
- Container => {
1992
- Struct => {
1993
- STRUCT_NAME => 'DeviceContainer',
1994
- NAMESPACE => { Container => 'http://ns.google.com/photos/dd/1.0/container/' },
1995
- Directory => {
1996
- List => 'Seq',
1997
- Struct => {
1998
- STRUCT_NAME => 'DeviceDirectory',
1999
- NAMESPACE => { Container => 'http://ns.google.com/photos/dd/1.0/container/' },
2000
- Item => {
2001
- Struct => {
2002
- STRUCT_NAME => 'DeviceItem',
2003
- NAMESPACE => { Item => 'http://ns.google.com/photos/dd/1.0/item/' },
2004
- # use this as a key to process Google trailer
2005
- Mime => { RawConv => '$$self{ProcessGoogleTrailer} = $val' },
2006
- Length => { Writable => 'integer' },
2007
- Padding => { Writable => 'integer' },
2008
- DataURI => { },
2009
- },
2010
- },
2011
- },
2012
- }
2013
- },
2014
- },
2015
- Profiles => {
2016
- List => 'Seq',
2017
- FlatName => '',
2018
- Struct => {
2019
- STRUCT_NAME => 'DeviceProfiles',
2020
- NAMESPACE => { Device => 'http://ns.google.com/photos/dd/1.0/device/' },
2021
- Profile => {
2022
- Struct => {
2023
- STRUCT_NAME => 'DeviceProfile',
2024
- NAMESPACE => { Profile => 'http://ns.google.com/photos/dd/1.0/profile/' },
2025
- CameraIndices => { List => 'Seq', Writable => 'integer' },
2026
- Type => { },
2027
- },
2028
- },
2029
- },
2030
- },
2031
- Cameras => {
2032
- List => 'Seq',
2033
- FlatName => '',
2034
- Struct => {
2035
- STRUCT_NAME => 'DeviceCameras',
2036
- NAMESPACE => { Device => 'http://ns.google.com/photos/dd/1.0/device/' },
2037
- Camera => {
2038
- Struct => {
2039
- STRUCT_NAME => 'DeviceCamera',
2040
- NAMESPACE => { Camera => 'http://ns.google.com/photos/dd/1.0/camera/' },
2041
- DepthMap => {
2042
- Struct => {
2043
- STRUCT_NAME => 'DeviceDepthMap',
2044
- NAMESPACE => { DepthMap => 'http://ns.google.com/photos/dd/1.0/depthmap/' },
2045
- ConfidenceURI => { },
2046
- DepthURI => { },
2047
- Far => { Writable => 'real' },
2048
- Format => { },
2049
- ItemSemantic=> { },
2050
- MeasureType => { },
2051
- Near => { Writable => 'real' },
2052
- Units => { },
2053
- Software => { },
2054
- FocalTableEntryCount => { Writable => 'integer' },
2055
- FocalTable => { }, # (base64)
2056
- },
2057
- },
2058
- Image => {
2059
- Struct => {
2060
- STRUCT_NAME => 'DeviceImage',
2061
- NAMESPACE => { Image => 'http://ns.google.com/photos/dd/1.0/image/' },
2062
- ItemSemantic=> { },
2063
- ItemURI => { },
2064
- },
2065
- },
2066
- ImagingModel => {
2067
- Struct => {
2068
- STRUCT_NAME => 'DeviceImagingModel',
2069
- NAMESPACE => { ImagingModel => 'http://ns.google.com/photos/dd/1.0/imagingmodel/' },
2070
- Distortion => { }, # (base64)
2071
- DistortionCount => { Writable => 'integer' },
2072
- FocalLengthX => { Writable => 'real' },
2073
- FocalLengthY => { Writable => 'real' },
2074
- ImageHeight => { Writable => 'integer' },
2075
- ImageWidth => { Writable => 'integer' },
2076
- PixelAspectRatio=> { Writable => 'real' },
2077
- PrincipalPointX => { Writable => 'real' },
2078
- PrincipalPointY => { Writable => 'real' },
2079
- Skew => { Writable => 'real' },
2080
- },
2081
- },
2082
- PointCloud => {
2083
- Struct => {
2084
- STRUCT_NAME => 'DevicePointCloud',
2085
- NAMESPACE => { PointCloud => 'http://ns.google.com/photos/dd/1.0/pointcloud/' },
2086
- PointCloud => { Writable => 'integer' },
2087
- Points => { },
2088
- Metric => { Writable => 'boolean' },
2089
- },
2090
- },
2091
- Pose => { Struct => \%sPose },
2092
- LightEstimate => {
2093
- Struct => {
2094
- STRUCT_NAME => 'DeviceLightEstimate',
2095
- NAMESPACE => { LightEstimate => 'http://ns.google.com/photos/dd/1.0/lightestimate/' },
2096
- ColorCorrectionR => { Writable => 'real' },
2097
- ColorCorrectionG => { Writable => 'real' },
2098
- ColorCorrectionB => { Writable => 'real' },
2099
- PixelIntensity => { Writable => 'real' },
2100
- },
2101
- },
2102
- VendorInfo => { Struct => \%sVendorInfo },
2103
- AppInfo => { Struct => \%sAppInfo },
2104
- Trait => { },
2105
- },
2106
- },
2107
- },
2108
- },
2109
- VendorInfo => { Struct => \%sVendorInfo },
2110
- AppInfo => { Struct => \%sAppInfo },
2111
- EarthPos => { Struct => \%sEarthPose },
2112
- Pose => { Struct => \%sPose },
2113
- Planes => {
2114
- List => 'Seq',
2115
- FlatName => '',
2116
- Struct => {
2117
- STRUCT_NAME => 'DevicePlanes',
2118
- NAMESPACE => { Device => 'http://ns.google.com/photos/dd/1.0/device/' },
2119
- Plane => {
2120
- Struct => {
2121
- STRUCT_NAME => 'DevicePlane',
2122
- NAMESPACE => { Plane => 'http://ns.google.com/photos/dd/1.0/plane/' },
2123
- Pose => { Struct => \%sPose },
2124
- ExtentX => { Writable => 'real' },
2125
- ExtentZ => { Writable => 'real' },
2126
- BoundaryVertexCount => { Writable => 'integer' },
2127
- Boundary => { },
2128
- },
2129
- },
2130
- },
2131
- },
2132
- );
2133
-
2134
- # Google container tags (ref https://developer.android.com/guide/topics/media/platform/hdr-image-format)
2135
- # NOTE: The namespace prefix used by ExifTool is 'GContainer' instead of 'Container'
2136
- # dueo to a conflict with Google's depth-map Device 'Container' namespace!
2137
- # (see ../pics/GooglePixel8Pro.jpg sample image)
2138
- %Image::ExifTool::XMP::GContainer = (
2139
- %xmpTableDefaults,
2140
- GROUPS => { 1 => 'XMP-GContainer', 2 => 'Image' },
2141
- NAMESPACE => 'GContainer',
2142
- NOTES => q{
2143
- Google Container namespace. ExifTool uses the prefix 'GContainer' instead
2144
- of 'Container' to avoid a conflict with the Google Device Container
2145
- namespace.
2146
- },
2147
- Directory => {
2148
- Name => 'ContainerDirectory',
2149
- FlatName => 'Directory',
2150
- List => 'Seq',
2151
- Struct => {
2152
- STRUCT_NAME => 'Directory',
2153
- Item => {
2154
- Namespace => 'GContainer',
2155
- Struct => {
2156
- STRUCT_NAME => 'Item',
2157
- # (use 'GItem' to avoid conflict with Google Device Container Item)
2158
- NAMESPACE => { GItem => 'http://ns.google.com/photos/1.0/container/item/'},
2159
- Mime => { RawConv => '$$self{ProcessGoogleTrailer} = $val' },
2160
- Semantic => { },
2161
- Length => { Writable => 'integer' },
2162
- Label => { },
2163
- Padding => { Writable => 'integer' },
2164
- URI => { },
2165
- },
2166
- },
2167
- },
2168
- },
2169
- );
2170
-
2171
1690
  # Getty Images namespace (ref PH)
2172
1691
  %Image::ExifTool::XMP::GettyImages = (
2173
1692
  %xmpTableDefaults,
@@ -2415,7 +1934,6 @@ sub Init_crd($)
2415
1934
  }
2416
1935
  }
2417
1936
 
2418
-
2419
1937
  1; #end
2420
1938
 
2421
1939
  __END__
@@ -258,7 +258,7 @@ my %iWorkType = (
258
258
  # RAR v5 tags (ref 7, github#203)
259
259
  %Image::ExifTool::ZIP::RAR5 = (
260
260
  GROUPS => { 2 => 'Other' },
261
- VARS => { NO_ID => 1 },
261
+ VARS => { ID_FMT => 'none' },
262
262
  NOTES => 'These tags are extracted from RAR v5 and 7z archive files.',
263
263
  FileVersion => { },
264
264
  CompressedSize => { },
@@ -48,7 +48,7 @@ my %mimeType = (
48
48
  %Image::ExifTool::iWork::Main = (
49
49
  GROUPS => { 0 => 'XML', 1 => 'XML', 2 => 'Document' },
50
50
  PROCESS_PROC => \&Image::ExifTool::XMP::ProcessXMP,
51
- VARS => { NO_ID => 1 },
51
+ VARS => { ID_FMT => 'none' },
52
52
  NOTES => q{
53
53
  The Apple iWork '09 file format is a ZIP archive containing XML files
54
54
  similar to the Office Open XML (OOXML) format. Metadata tags in iWork