source: gs2-extensions/parallel-building/trunk/src/perllib/cpan/Image/ExifTool/Microsoft.pm@ 24626

Last change on this file since 24626 was 24626, checked in by jmt12, 13 years ago

An (almost) complete copy of the perllib directory from a (circa SEP2011) head checkout from Greenstone 2 trunk - in order to try and make merging in this extension a little easier later on (as there have been some major changes to buildcol.pl commited in the main trunk but not in the x64 branch)

  • Property svn:executable set to *
File size: 5.8 KB
Line 
1#------------------------------------------------------------------------------
2# File: Microsoft.pm
3#
4# Description: Definitions for custom Microsoft tags
5#
6# Revisions: 2010/10/01 - P. Harvey Created
7#
8# References: 1) http://research.microsoft.com/en-us/um/redmond/groups/ivm/hdview/hdmetadataspec.htm
9#------------------------------------------------------------------------------
10
11package Image::ExifTool::Microsoft;
12
13use strict;
14use vars qw($VERSION);
15use Image::ExifTool::XMP;
16
17$VERSION = '1.03';
18
19# tags written by Microsoft HDView (ref 1)
20%Image::ExifTool::Microsoft::Stitch = (
21 PROCESS_PROC => \&Image::ExifTool::ProcessBinaryData,
22 WRITE_PROC => \&Image::ExifTool::WriteBinaryData,
23 CHECK_PROC => \&Image::ExifTool::CheckBinaryData,
24 WRITABLE => 1,
25 FORMAT => 'float',
26 FIRST_ENTRY => 0,
27 GROUPS => { 0 => 'MakerNotes', 2 => 'Image' },
28 NOTES => q{
29 Information found in the Microsoft custom EXIF tag 0x4748, as written by
30 Windows Live Photo Gallery.
31 },
32 0 => {
33 Name => 'PanoramicStitchVersion',
34 Format => 'int32u',
35 },
36 1 => {
37 Name => 'PanoramicStitchCameraMotion',
38 Format => 'int32u',
39 PrintConv => {
40 2 => 'Rigid Scale',
41 3 => 'Affine',
42 4 => '3D Rotation',
43 5 => 'Homography',
44 },
45 },
46 2 => {
47 Name => 'PanoramicStitchMapType',
48 Format => 'int32u',
49 PrintConv => {
50 0 => 'Perspective',
51 1 => 'Horizontal Cylindrical',
52 2 => 'Horizontal Spherical',
53 257 => 'Vertical Cylindrical',
54 258 => 'Vertical Spherical',
55 },
56 },
57 3 => 'PanoramicStitchTheta0',
58 4 => 'PanoramicStitchTheta1',
59 5 => 'PanoramicStitchPhi0',
60 6 => 'PanoramicStitchPhi1',
61);
62
63# Microsoft Photo schema properties (MicrosoftPhoto) (ref PH)
64%Image::ExifTool::Microsoft::XMP = (
65 %Image::ExifTool::XMP::xmpTableDefaults,
66 GROUPS => { 0 => 'XMP', 1 => 'XMP-microsoft', 2 => 'Image' },
67 NAMESPACE => 'MicrosoftPhoto',
68 TABLE_DESC => 'XMP Microsoft',
69 VARS => { NO_ID => 1 },
70 NOTES => q{
71 Microsoft Photo 1.0 schema XMP tags. This is likely not a complete list,
72 but represents tags which have been observed in sample images. The actual
73 namespace prefix is "MicrosoftPhoto", but ExifTool shortens this to
74 "XMP-microsoft" in the family 1 group name.
75 },
76 CameraSerialNumber => { },
77 DateAcquired => { Groups => { 2 => 'Time' }, %Image::ExifTool::XMP::dateTimeInfo },
78 FlashManufacturer => { },
79 FlashModel => { },
80 LastKeywordIPTC => { List => 'Bag' },
81 LastKeywordXMP => { List => 'Bag' },
82 LensManufacturer => { },
83 LensModel => { },
84 Rating => {
85 Name => 'RatingPercent',
86 Notes => q{
87 normal Rating values of 1,2,3,4 and 5 stars correspond to RatingPercent
88 values of 1,25,50,75 and 99 respectively
89 },
90 },
91);
92
93# Microsoft Photo 1.1 schema properties (MP1 - written as 'prefix0' by MSPhoto) (ref PH)
94%Image::ExifTool::Microsoft::MP1 = (
95 %Image::ExifTool::XMP::xmpTableDefaults,
96 GROUPS => { 0 => 'XMP', 1 => 'XMP-MP1', 2 => 'Image' },
97 NAMESPACE => 'MP1',
98 TABLE_DESC => 'XMP Microsoft Photo',
99 VARS => { NO_ID => 1 },
100 NOTES => q{
101 Microsoft Photo 1.1 schema XMP tags which have been observed.
102 },
103 PanoramicStitchCameraMotion => {
104 PrintConv => {
105 'RigidScale' => 'Rigid Scale',
106 'Affine' => 'Affine',
107 '3DRotation' => '3D Rotation',
108 'Homography' => 'Homography',
109 },
110 },
111 PanoramicStitchMapType => {
112 PrintConv => {
113 'Perspective' => 'Perspective',
114 'Horizontal-Cylindrical' => 'Horizontal Cylindrical',
115 'Horizontal-Spherical' => 'Horizontal Spherical',
116 'Vertical-Cylindrical' => 'Vertical Cylindrical',
117 'Vertical-Spherical' => 'Vertical Spherical',
118 },
119 },
120 PanoramicStitchPhi0 => { Writable => 'real' },
121 PanoramicStitchPhi1 => { Writable => 'real' },
122 PanoramicStitchTheta0 => { Writable => 'real' },
123 PanoramicStitchTheta1 => { Writable => 'real' },
124);
125
126# Microsoft Photo 1.2 schema properties (MP) (ref PH)
127my %sRegions = (
128 STRUCT_NAME => 'Regions',
129 NAMESPACE => 'MPReg',
130 Rectangle => { },
131 PersonDisplayName => { },
132);
133%Image::ExifTool::Microsoft::MP = (
134 %Image::ExifTool::XMP::xmpTableDefaults,
135 GROUPS => { 0 => 'XMP', 1 => 'XMP-MP', 2 => 'Image' },
136 NAMESPACE => 'MP',
137 TABLE_DESC => 'XMP Microsoft Photo',
138 VARS => { NO_ID => 1 },
139 NOTES => q{
140 Microsoft Photo 1.2 schema XMP tags which have been observed.
141 },
142 RegionInfo => {
143 Name => 'RegionInfoMP',
144 Struct => {
145 STRUCT_NAME => 'RegionInfoMP',
146 NAMESPACE => 'MPRI',
147 Regions => { Struct => \%sRegions, List => 'Bag' },
148 },
149 },
150 RegionInfoRegionsRectangle => {
151 Name => 'RegionRectangle',
152 Flat => 1,
153 },
154 RegionInfoRegionsPersonDisplayName => {
155 Name => 'RegionPersonDisplayName',
156 Flat => 1,
157 },
158);
159
160
1611; # end
162
163__END__
164
165=head1 NAME
166
167Image::ExifTool::Microsoft - Definitions for custom Microsoft tags
168
169=head1 SYNOPSIS
170
171This module is used by Image::ExifTool
172
173=head1 DESCRIPTION
174
175This module contains definitions required by Image::ExifTool to interpret
176Microsoft-specific EXIF and XMP tags.
177
178=head1 AUTHOR
179
180Copyright 2003-2011, Phil Harvey (phil at owl.phy.queensu.ca)
181
182This library is free software; you can redistribute it and/or modify it
183under the same terms as Perl itself.
184
185=head1 REFERENCES
186
187=over 4
188
189=item L<http://research.microsoft.com/en-us/um/redmond/groups/ivm/hdview/hdmetadataspec.htm>
190
191=back
192
193=head1 SEE ALSO
194
195L<Image::ExifTool::TagNames/Microsoft Tags>,
196L<Image::ExifTool(3pm)|Image::ExifTool>
197
198=cut
199
Note: See TracBrowser for help on using the repository browser.