exiftool_vendored 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 (79) hide show
  1. checksums.yaml +4 -4
  2. data/bin/Changes +39 -1
  3. data/bin/MANIFEST +9 -0
  4. data/bin/META.json +1 -1
  5. data/bin/META.yml +1 -1
  6. data/bin/README +47 -47
  7. data/bin/build_geolocation +7 -3
  8. data/bin/exiftool +65 -63
  9. data/bin/lib/Image/ExifTool/Audible.pm +1 -1
  10. data/bin/lib/Image/ExifTool/BMP.pm +2 -2
  11. data/bin/lib/Image/ExifTool/BuildTagLookup.pm +16 -9
  12. data/bin/lib/Image/ExifTool/CBOR.pm +1 -1
  13. data/bin/lib/Image/ExifTool/Canon.pm +59 -5
  14. data/bin/lib/Image/ExifTool/CanonVRD.pm +1 -1
  15. data/bin/lib/Image/ExifTool/CaptureOne.pm +1 -1
  16. data/bin/lib/Image/ExifTool/DJI.pm +5 -5
  17. data/bin/lib/Image/ExifTool/DSF.pm +138 -0
  18. data/bin/lib/Image/ExifTool/DV.pm +1 -1
  19. data/bin/lib/Image/ExifTool/EXE.pm +5 -2
  20. data/bin/lib/Image/ExifTool/FLIF.pm +1 -1
  21. data/bin/lib/Image/ExifTool/FLIR.pm +3 -3
  22. data/bin/lib/Image/ExifTool/FlashPix.pm +1 -1
  23. data/bin/lib/Image/ExifTool/FujiFilm.pm +5 -4
  24. data/bin/lib/Image/ExifTool/GIF.pm +1 -1
  25. data/bin/lib/Image/ExifTool/GM.pm +1 -1
  26. data/bin/lib/Image/ExifTool/Geolocation.pm +3 -1
  27. data/bin/lib/Image/ExifTool/Geotag.pm +13 -3
  28. data/bin/lib/Image/ExifTool/GoPro.pm +11 -8
  29. data/bin/lib/Image/ExifTool/Google.pm +814 -0
  30. data/bin/lib/Image/ExifTool/H264.pm +1 -1
  31. data/bin/lib/Image/ExifTool/ICC_Profile.pm +1 -1
  32. data/bin/lib/Image/ExifTool/ID3.pm +14 -13
  33. data/bin/lib/Image/ExifTool/JPEG.pm +1 -1
  34. data/bin/lib/Image/ExifTool/JSON.pm +1 -1
  35. data/bin/lib/Image/ExifTool/LIF.pm +1 -1
  36. data/bin/lib/Image/ExifTool/LNK.pm +2 -2
  37. data/bin/lib/Image/ExifTool/Lytro.pm +1 -1
  38. data/bin/lib/Image/ExifTool/M2TS.pm +34 -25
  39. data/bin/lib/Image/ExifTool/MIEUnits.pod +1 -1
  40. data/bin/lib/Image/ExifTool/MPEG.pm +1 -1
  41. data/bin/lib/Image/ExifTool/MWG.pm +1 -1
  42. data/bin/lib/Image/ExifTool/MXF.pm +1 -1
  43. data/bin/lib/Image/ExifTool/MacOS.pm +2 -2
  44. data/bin/lib/Image/ExifTool/MakerNotes.pm +30 -7
  45. data/bin/lib/Image/ExifTool/Microsoft.pm +4 -4
  46. data/bin/lib/Image/ExifTool/Nikon.pm +4 -4
  47. data/bin/lib/Image/ExifTool/OOXML.pm +1 -1
  48. data/bin/lib/Image/ExifTool/Ogg.pm +1 -1
  49. data/bin/lib/Image/ExifTool/Olympus.pm +2 -1
  50. data/bin/lib/Image/ExifTool/Other.pm +1 -1
  51. data/bin/lib/Image/ExifTool/Panasonic.pm +1 -1
  52. data/bin/lib/Image/ExifTool/Pentax.pm +18 -7
  53. data/bin/lib/Image/ExifTool/Protobuf.pm +12 -6
  54. data/bin/lib/Image/ExifTool/Qualcomm.pm +2 -2
  55. data/bin/lib/Image/ExifTool/QuickTime.pm +30 -8
  56. data/bin/lib/Image/ExifTool/QuickTimeStream.pl +2 -0
  57. data/bin/lib/Image/ExifTool/README +7 -6
  58. data/bin/lib/Image/ExifTool/Rawzor.pm +1 -1
  59. data/bin/lib/Image/ExifTool/Reconyx.pm +375 -91
  60. data/bin/lib/Image/ExifTool/Samsung.pm +1 -1
  61. data/bin/lib/Image/ExifTool/Shortcuts.pm +8 -5
  62. data/bin/lib/Image/ExifTool/Sony.pm +22 -7
  63. data/bin/lib/Image/ExifTool/TagInfoXML.pm +3 -2
  64. data/bin/lib/Image/ExifTool/TagLookup.pm +5753 -5696
  65. data/bin/lib/Image/ExifTool/TagNames.pod +707 -518
  66. data/bin/lib/Image/ExifTool/Text.pm +1 -1
  67. data/bin/lib/Image/ExifTool/Trailer.pm +1 -1
  68. data/bin/lib/Image/ExifTool/WPG.pm +1 -1
  69. data/bin/lib/Image/ExifTool/WTV.pm +1 -1
  70. data/bin/lib/Image/ExifTool/WavPack.pm +144 -0
  71. data/bin/lib/Image/ExifTool/XMP.pm +43 -37
  72. data/bin/lib/Image/ExifTool/XMP2.pl +0 -482
  73. data/bin/lib/Image/ExifTool/ZIP.pm +1 -1
  74. data/bin/lib/Image/ExifTool/iWork.pm +1 -1
  75. data/bin/lib/Image/ExifTool.pm +42 -27
  76. data/bin/lib/Image/ExifTool.pod +60 -59
  77. data/bin/perl-Image-ExifTool.spec +46 -46
  78. data/lib/exiftool_vendored/version.rb +1 -1
  79. metadata +6 -6
@@ -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