Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
Image::MetaData::JPEG:UserLContributed Perl Image::MetaData::JPEG::TagLists(3)

NAME
       Image::MetaData::JPEG::TagLists - This document contains	a collection
       of tag tables for JPEG segments;	it is an appendix to the main manual
       page of the Image::MetaData::JPEG module, which the reader should refer
       to for further details and the general scope.

Valid tags for Exif APP1 data
       The Japan Electronics and Information Technology	Industries Association
       (JEITA) set up a	standard for an	exchange format	for digital still
       cameras pictures, known as Exif.	This standard defines a	structure for
       embedding meta-data in a	JPEG picture, to be written in the APP1
       segment.	The generalities and the reference documents about this
       structure are introduced	in the Structure appendix; this	section	and
       its subsections list the	valid interoperability record tags as well as
       their format.

   Canonical Exif 2.2 and TIFF 6.0 tags	for IFD0 and IFD1
       In general, IFD0	and IFD1 can host tags from the	same set. These	tags
       are divided in three categories:	canonical, additional and registered
       to companies. The tags listed in	the following table are	to be
       considered canonical; they are described	at length in the Exif standard
       document, and can be found both in the IFD0 and in the IFD1 (some of
       them, in	fact, must be present in both directories). The	'class'	column
       carries the tag class; possible values are: A (image data structure), B
       (offsets), C (image data	characteristics), D (other tags) and P
       (pointers to other IFDs). The two following columns show	tag
       hexadecimal codes and names. The	'type' column specifies	the (always
       unsigned) tag type: I (short or long), S	(short), L (long), R
       (rational) and A	(ASCII,	always null terminated). The 'count' column
       obviously carries the tag count ('-' for	a variable count, either
       because it is a variable	length string or because it depends on other
       tags).

       The 'IFD0' and 'IFD1' columns specify the support level in the
       respective directory; each column comprises four	letters, because both
       the primary image (IFD0)	and the	thumbnail (IFD1) can come in four
       varieties (uncompressed chunky, uncompressed planar, uncompressed YCC
       and JPEG	compressed). This module currently focuses only	on JPEG
       pictures	(not TIFF), so only the	fourth letter of the 'IFD0' column is
       interesting, but	note that the thumbnail	of a JPEG image	can be
       uncompressed. The support level codes stand for:	M (mandatory), R
       (recommended), O	(optional), N (not_recorded) and J (included in	JPEG
       marker and so not recorded).

       The 'thumbnail-only' column shows a 'T' for those records which cannot
       be set/changed by the user exception made during	a thumbnail update
       action (and some	of them	are calculated automatically anyway). Note
       that, in	some cases, it is possible to set a tag	when its support level
       is 'N' (e.g., the YCbCr stuff in	IFD1): picture displaying programs
       should however simply ignore it.	Some other tags, concerning offsets or
       thumbnail specific information, cannot be set by	the module user	(they
       are calculated automatically, more reliably): these are marked by
       'calculated' in the notes, or by	a 'T' in the thumbnail-only column.

	    Hexadecimal	code		    count   IFD0 IFD1 thumbnail-only
	 class |  Tag name		   type	|   supp.supp.|	notes
	 |     |  |			      |	|   |	 |    |	|
	 A   100  ImageWidth		      I	1   MMMJ MMMJ T	(not JPEG) pixels/row
	 A   101  ImageLength		      I	1   MMMJ MMMJ T	(not JPEG) num.	rows
	 A   102  BitsPerSample		      S	3   MMMJ MMMJ T	(not JPEG) 8,8,8
	 A   103  Compression		      S	1   MMMJ MMMM T	1(uncompr.) or 6(JPEG)
	 A   106  PhotometricInterpretation   S	1   MMMN MMMJ	2(RGB) or 6(YCbCr)
	 D   10e  ImageDescription	      A	-   RRRR OOOO	(see note 1)
	 D   10f  Make			      A	-   RRRR OOOO	camera manufacturer
	 D   110  Model			      A	-   RRRR OOOO	camera model
	 B   111  StripOffsets		      I	-   MMMN MMMN	calculated
	 A   112  Orientation		      S	1   RRRR OOOO	(see note 2)
	 A   115  SamplesPerPixel	      S	1   MMMJ MMMJ T	(not JPEG) 3 compon.
	 B   116  RowsPerStrip		      I	1   MMMN MMMN T	(not JPEG)
	 B   117  StripByteCounts	      I	-   MMMN MMMN T	(not JPEG)
	 A   11a  XResolution		      R	1   MMMM MMMM	(see note 3)
	 A   11b  YResolution		      R	1   MMMM MMMM	(see note 3)
	 A   11c  PlanarConfiguration	      S	1   OMOJ OMOJ	(see note 4)
	 A   128  ResolutionUnit	      S	1   MMMM MMMM	(see note 3)
	 C   12d  TransferFunction	      S	768 RRRR OOOO	(see note 5)
	 D   131  Software		      A	-   OOOO OOOO	Exif software/firmware
	 D   132  DateTime		      A	20  RRRR OOOO	(see note 6)
	 D   13b  Artist		      A	-   OOOO OOOO	owner/photogr./creator
	 C   13e  WhitePoint		      R	2   OOOO OOOO	(see note 5)
	 C   13f  PrimaryChromaticities	      R	6   OOOO OOOO	(see note 5)
	 B   201  JPEGInterchangeFormat	      L	1   NNNN NNNM	calculated
	 B   202  JPEGInterchangeFormatLength L	1   NNNN NNNM T	(only JPEG)
	 C   211  YCbCrCoefficients	      R	3   NNOO NNOO	(see note 7)
	 A   212  YCbCrSubSampling	      S	2   NNMJ NNMJ	(see note 7)
	 A   213  YCbCrPositioning	      S	1   NNMM NNOO	(see note 7)
	 C   214  ReferenceBlackWhite	      R	6   OOOO OOOO	(see note 8)
	 D  8298  Copyright		      A	-   OOOO OOOO	of photogr./editor
	 P  8769  ExifOffset		      L	1   MMMM OOOO	calculated
	 P  8825  GPSInfo		      L	1   OOOO OOOO	calculated

	 Notes:

	 1) The	image description is a string containing a title or a comment for
	    the	image and all characters must be one byte long.	When a two-byte
	    code is necessary, the Exif	Private	tag 'UserComment' is to	be used
	    (see L</Exif tags for the 0th IFD Exif private subdirectory>).
	 2) The	image orientation is defined with respect to first row and the
	    first column, according to the following table (values not listed here
	    are	reserved and should not	be used); the default value is 1.
		 ------------------------	------------------------
		 val. 0th row  0th column	val. 0th row  0th column
		 ----|--------|----------	----|--------|----------
		  1    top	left		 5    left     top
		  2    top	right		 6    right    top
		  3    bottom	right		 7    right    bottom
		  4    bottom	left		 8    left     bottom
		 ------------------------	------------------------
	 3) The	'XResolution' and 'YResolution'	tags indicate the number of pixels
	    per	resolution unit	(given by the 'ResolutionUnit' tag) along the
	    image width	or height respectively.	The resolution unit can	be only	2
	    (inches) or	3 (centimetres), all other values being	reserved. When
	    the	resolution is not set, a value of 72 dots/inch is assumed.
	 4) This indicates whether pixel components are	recorded in chunky (1,
	    default) or	planar (2) format (only	for TIFF images; JPEG compressed
	    files use a	JPEG marker instead); all other	values are reserved.
	 5) 'TransferFunction',	'WhitePoint' and 'PrimaryChromaticities' specify,
	    respectively, a transfer function for the image in tabular style
	    (3*256 short integers), the	chromaticity of	the white point, and the
	    chromaticity of the	three primary colours of the image. Normally these
	    tags are not necessary, since the colour space is specified	in the
	    'ColorSpace' L<private Exif	tag|/Exif tags for the 0th IFD Exif
	    private subdirectory>.
	 6) This tag indicates the time	of the "image creation"	(i.e., the time
	    the	file was last changed).	The tag	value is a null	terminated string
	    of the form	"YYYY:MM:DD HH:MM:SS" (note the	space in the middle and
	    the	colon signs), in 24-hour format. If the	tag is set, but	the value
	    is not meaningful, all numbers should be set to spaces (replacing also
	    the	colons with spaces is permitted	too). See also 'DateTimeOriginal'
	    and	'DateTimeDigitized' in the SubIFD L<section|/Exif tags for the 0th
	    IFD	Exif private subdirectory>. [Currently,	only years after 1800 can
	    be set with	this Perl module].
	 7) Digital images are often displayed on RGB devices, but recorded data
	    can	be saved in a YCbCr colour space because of the	JPEG
	    compression. The Exif standard provides three tags for translating one
	    space into the other (see the sYCC IEC standard for	more details).
	    'YCbCrSubSampling' is the sampling ratio of	the chrominance	components
	    in relation	to the luminance component; its	value can be only [2, 1]
	    (for YCbCr 4:2:2) or [2, 2]	(for YCbCr 4:2:0). In JPEG compressed data
	    a JPEG marker is used instead of this tag. 'YCbCrPositioning' is the
	    position of	the chrominance	components in relation to the luminance
	    component, and is meaningful only for JPEG compressed data or
	    uncompressed YCbCr data; its value can be only 1 (centred, default)	or
	    2 (co-sited). 'YCbCrCoefficients' contains the matrix coefficients for
	    the	transformation from RGB	to YCbCr image data.
	 8) This tags contains the reference values for	the black and white points
	    of the image. No defaults are given	in the TIFF standard, but Exif
	    assumes the	following values: [0, 255, 0, 255, 0, 255] (when
	    'PhotometricInterpretation'	is RGB)	or [0, 255, 0, 128, 0, 128] (when
	    'PhotometricInterpretation'	is YCbCr).

   Additional TIFF 6.0 tags not	in Exif	2.2 for	IFD0
       The tags	listed in the following	table are present in the TIFF 6.0
       standard	and not	in the Exif 2.2	standard. They are presented here just
       for reference, since some digital cameras or programs still include
       them, incorrectly, in the IFD0 (they are	not present in IFD1, I
       assume).	The 'class' column carries the tag class; possible values are:
       a (TIFF 6.0 tags	for baseline TIFFs not in Exif 2.2), b (extensions to
       TIFF 6.0	specs not in Exif 2.2) and '-' (updates	and corrections	to
       TIFF 6.0). The two following columns show tag hexadecimal codes and
       names. The 'type' column	specifies the tag type:	i (byte	or short), I
       (short or long),	B (byte), S (short), L (long), R (rational), F
       (floating point numbers), D (double precision floating point numbers),
       '-' (unspecified, best fit) and A (ASCII, always	null terminated). The
       'count' column obviously	carries	the tag	count ('-' that	it is
       variable, either	because	it is a	variable length	string or because it
       depends on other	tags).

	    Hexadecimal	code		    count  notes
	 class |  Tag name		   type	|  |
	 |     |  |			      |	|  |
	 a    fe  NewSubfileType	      L	1  TIFFs can hold multiple images
	 a    ff  SubFileType		      S	1  TIFFs can hold multiple images
	 a   107  Thresholding		      S	1  for Graylevel to Black&White
	 a   108  CellWidth		      S	1  halftoning matrix support
	 a   109  CellLength		      S	1  halftoning matrix support
	 a   10a  FillOrder		      S	1  bits' logical order in a byte
	 b   10d  DocumentName		      A	-  document storage and	retrieval
	 a   118  MinSampleValue	      S	-  only	for statistical	purposes
	 a   119  MaxSampleValue	      S	-  only	for statistical	purposes
	 b   11d  PageName		      A	-  document storage and	retrieval
	 b   11e  XPosition		      R	1  document storage and	retrieval
	 b   11f  YPosition		      R	1  document storage and	retrieval
	 a   120  FreeOffsets		      L	-  not recommended for interchange
	 a   121  FreeByteCounts	      L	-  not recommended for interchange
	 a   122  GrayResponseUnit	      S	1  for gray-scale images
	 a   123  GrayResponseCurve	      S	-  for gray-scale images
	 b   124  T4Options		      L	1  (group 3 options)
	 b   125  T6Options		      L	1  (group 4 options)
	 b   129  PageNumber		      S	2  document storage and	retrieval
	 -   12c  ColorResponseUnit	      S	1  [obsoleted in TIFF 6.0]
	 a   13c  HostComputer		      A	-  computer/OS used for	creation
	 b   13d  Predictor		      S	1  differencing	predictor
	 a   140  Colormap		      S	-  RGB colour map
	 b   141  HalftoneHints		      S	2  half	tone hints
	 b   142  TileWidth		      I	1  tiled images
	 b   143  TileLength		      I	1  tiled images
	 b   144  TileOffsets		      L	-  tiled images
	 b   145  TileByteCounts	      I	-  tiled images
	 -   146  BadFaxLines		      I	1  [TIFF class F draft]
	 -   147  CleanFaxData		      S	1  [TIFF class F draft]
	 -   148  ConsecutiveBadFaxLines      I	1  [TIFF class F draft]
	 -   14a  SubIFDs		      L	-  [Adobe TIFF technote	1]
	 b   14c  InkSet		      S	1  CMYK	images
	 b   14d  InkNames		      A	-  CMYK	images
	 b   14e  NumberOfInks		      S	1  CMYK	images
	 b   150  DotRange		      i	-  CMYK	images
	 b   151  TargetPrinter		      A	-  CMYK	images
	 a   152  ExtraSamples		      S	-  pixel extra components
	 b   153  SampleFormats		      S	-  data	sample format
	 b   154  SMinSampleValue	      -	-  data	sample format
	 b   155  SMaxSampleValue	      -	-  data	sample format
	 b   156  TransferRange		      S	6  image colourimetry
	 -   157  ClipPath		      B	-  [Adobe TIFF technote	2]
	 -   158  XClipPathUnits	      D	1  [Adobe TIFF technote	2]
	 -   159  YClipPathUnits	      D	1  [Adobe TIFF technote	2]
	 -   15a  Indexed		      S	1  [Adobe TIFF technote	3]
	 -   15b  JPEGTables		      -	-  [update (1995) for JPEG-in-TIFF]
	 -   15f  OPIProxy		      S	1  [Adobe TIFF technote	(OPI)]
	 b   200  JPEGProc		      S	1  JPEG	support
	 b   203  JPEGRestartInterval	      S	1  JPEG	support
	 b   205  JPEGLosslessPredictors      S	-  JPEG	support
	 b   206  JPEGPointTransforms	      S	-  JPEG	support
	 b   207  JPEGQTables		      L	-  JPEG	support
	 b   208  JPEGDCTables		      L	-  JPEG	support
	 b   209  JPEGACTables		      L	-  JPEG	support
	 -   2bc  XML_Packet		      B	-  [Adobe XMP technote 9-14-02]

   Exif	tags assigned to companies for IFD0 and	IFD1
       The tags	listed in the following	table, all with	a value	larger than
       0x8000, i.e. 32000, were	requested by individual	companies and assigned
       to them by the TIFF committee; well, at least I think, because it is
       very difficult to have an official list for these tags, so that they
       should be considered at the level of "rumours". This list also includes
       some TIFF/IT tags from ISO 12639	and some TIFF/EP tags from ISO 12234
       (private	Exif tags in JPEG APP1 originated from TIFF/EP,	so there is a
       large intersection: TIFF/EP tags	which are also Exif are	not listed
       here).

	 Hexadecimal code		 count	notes
	    |  Tag name			type |	|
	    |  |			   | |	|
	 800d  ImageID			   A -	[Adobe TIFF technote		(OPI)]
	 80b9  RefPts			   ? ?	[Island	Graphics		     ]
	 80ba  RegionTackPoint		   ? ?	[Island	Graphics		     ]
	 80bb  RegionWarpCorners	   ? ?	[Island	Graphics		     ]
	 80bc  RegionAffine		   ? ?	[Island	Graphics		     ]
	 80e3  Matteing			   S 1	[SGI	  (obsoleted by	ExtraSamples)]
	 80e4  DataType			   S -	[SGI	  (obsoleted by	SampleFormat)]
	 80e5  ImageDepth		   I 1	[SGI			(z dimension)]
	 80e6  TileDepth		   I 1	[SGI		   (subvolume tiling)]
	 8214  ImageFullWidth		   L 1	[Pixar		     (cropped images)]
	 8215  ImageFullLength		   L 1	[Pixar		     (cropped images)]
	 8216  TextureFormat		   A -	[Pixar		    (texture formats)]
	 8217  WrapModes		   A -	[Pixar		    (texture formats)]
	 8218  FovCot			   F 1	[Pixar		    (texture formats)]
	 8219  MatrixWorldToScreen	   F 16	[Pixar		    (texture formats)]
	 821a  MatrixWorldToCamera	   F 16	[Pixar		    (texture formats)]
	 827d  WriterSerialNumber	   ? ?	[Eastman Kodak (device serial number)]
	 828d  CFARepeatPatternDim	   S 2	[	      ISO/DIS 12234-2 TIFF/EP]
	 828e  CFAPattern		   B -	[	      ISO/DIS 12234-2 TIFF/EP]
	 828f  BatteryLevel		  RA 1-	[	      ISO/DIS 12234-2 TIFF/EP]
	 830e  ModelPixelScaleTag	   D 3	[SoftDesk		    (GeoTIFF)]
	 83bb  IPTC/NAA			  LA -	[	      ISO/DIS 12234-2 TIFF/EP]
	 8480  IntergraphMatrixTag	   D 16	[Intergraph, deprecated	    (GeoTIFF)]
	 8482  ModelTiepointTag		   D -	[Intergraph, aka Georef.Tag (GeoTIFF)]
	 84e0  Site			   A -	[		ISO/DIS	12639 TIFF/IT]
	 84e1  ColorSequence		   A -	[		ISO/DIS	12639 TIFF/IT]
	 84e2  IT8Header		   A -	[		ISO/DIS	12639 TIFF/IT]
	 84e3  RasterPadding		   S 1	[		ISO/DIS	12639 TIFF/IT]
	 84e4  BitsPerRunLength		   S 1	[		ISO/DIS	12639 TIFF/IT]
	 84e5  BitsPerExtendedRunLength	   S 1	[		ISO/DIS	12639 TIFF/IT]
	 84e6  ColorTable		   B -	[		ISO/DIS	12639 TIFF/IT]
	 84e7  ImageColorIndicator	   B 1	[		ISO/DIS	12639 TIFF/IT]
	 84e8  BackgroundColorIndicator	   B 1	[		ISO/DIS	12639 TIFF/IT]
	 84e9  ImageColorValue		   B 1	[		ISO/DIS	12639 TIFF/IT]
	 84ea  BackgroundColorValue	   B 1	[		ISO/DIS	12639 TIFF/IT]
	 84eb  PixelIntensityRange	   B 2	[		ISO/DIS	12639 TIFF/IT]
	 84ec  TransparencyIndicator	   B 1	[		ISO/DIS	12639 TIFF/IT]
	 84ed  ColorCharacterization	   A -	[		ISO/DIS	12639 TIFF/IT]
	 84ee  HCUsage			   L 1	[		ISO/DIS	12639 TIFF/IT]
	 84ef  TrapIndicator		   B 1	[		ISO/DIS	12639 TIFF/IT]
	 84f0  CMYKEquivalent		   i -	[		ISO/DIS	12639 TIFF/IT]
	 84f1  Reserved_TIFF_IT_1	   - -	[		ISO/DIS	12639 TIFF/IT]
	 84f2  Reserved_TIFF_IT_2	   - -	[		ISO/DIS	12639 TIFF/IT]
	 84f3  Reserved_TIFF_IT_3	   - -	[		ISO/DIS	12639 TIFF/IT]
	 85b8  FrameCount		   L 1	[Texas Instruments   (Sequence Count)]
	 85d8  ModelTransformationTag	   D 16	[JPL Cartogr. App. Group    (GeoTIFF)]
	 8649  PhotoshopImageResources	   B ?	[Adobe			  (Photoshop)]
	 8773  ICCProfile		   - -	[Inter Colour Consortium    (TIFF/IT)]
	 87af  GeoKeyDirectoryTag	   S -	[SPOT Image Inc.	    (GeoTIFF)]
	 87b0  GeoDoubleParamsTag	   D -	[SPOT Image Inc.	    (GeoTIFF)]
	 87b1  GeoAsciiParamsTag	   A -	[SPOT Image Inc.	    (GeoTIFF)]
	 87be  JBIGOptions		   ? ?	[Pixel Magic			     ]
	 8829  Interlace		   S 1	[	      ISO/DIS 12234-2 TIFF/EP]
	 882a  TimeZoneOffset		  SS -	[	      ISO/DIS 12234-2 TIFF/EP]
	 882b  SelfTimerMode		   S 1	[	      ISO/DIS 12234-2 TIFF/EP]
	 885c  FaxRecvParams		   L 1	[SGI			(fax support)]
	 885d  FaxSubAddress		   A -	[SGI			(fax support)]
	 885e  FaxRecvTime		   L 1	[SGI			(fax support)]
	 8871  FedExEDR			   ? ?	[FedEx				     ]
	 920b  FlashEnergy		   R -	[	      ISO/DIS 12234-2 TIFF/EP]
	 920c  SpatialFrequencyResponse	   - -	[	      ISO/DIS 12234-2 TIFF/EP]
	 920d  Noise			   - -	[	      ISO/DIS 12234-2 TIFF/EP]
	 920e  FocalPlaneXResolution	   R 1	[	      ISO/DIS 12234-2 TIFF/EP]
	 920f  FocalPlaneYResolution	   R 1	[	      ISO/DIS 12234-2 TIFF/EP]
	 9210  FocalPlaneResolutionUnit	   S 1	[	      ISO/DIS 12234-2 TIFF/EP]
	 9211  ImageNumber		   L 1	[	      ISO/DIS 12234-2 TIFF/EP]
	 9212  SecurityClassification	   A -	[	      ISO/DIS 12234-2 TIFF/EP]
	 9213  ImageHistory		   A -	[	      ISO/DIS 12234-2 TIFF/EP]
	 9215  ExposureIndex		   R -	[	      ISO/DIS 12234-2 TIFF/EP]
	 9216  TIFF/EPStandardID	   B 4	[	      ISO/DIS 12234-2 TIFF/EP]
	 9217  SensingMethod		   S 1	[	      ISO/DIS 12234-2 TIFF/EP]
	 923f  StoNits			   D 1	[SGI		    (LogLuv Encoding)]
	 935c  ImageSourceData		   - -	[Adobe Photoshop		     ]
	 c4a5  PrintIM_Data		   ? ?	[Epson				     ]
	 c44f  PhotoshopAnnotations	   ? ?	[Adobe Photoshop		     ]
	 ffff  DCSHueShiftValues	   ? ?	[Eastman Kodak			     ]

   Exif	tags for the 0th IFD Exif private subdirectory
       The tags	listed in the following	table are all the Exif 2.2 private
       tags, i.e., those which populate	the 0th	IFD SubIFD; they are described
       at length in the	Exif standard document (but see	also the non-standard
       Photoshop SubIFD	tags at	the end	of this	section). The 'class' column
       carries the tag class; possible values are: a (tags relating to
       version), b (image data characteristics), c (image configuration), d
       (user information), e (related file information), f (date and time), g
       (picture	taking conditions) and h (other	Exif 2.2 tags).	The two
       following columns show tag hexadecimal codes and	names. The 'type'
       column specifies	the tag	type: I	(short or long), S (short), L (long),
       R (rational), SR	(signed	rational), U (undefined) and A (ASCII, always
       null terminated). The 'count' column obviously carries the tag count
       ('-' means that it is variable).

       The 'SubIFD' column specifies the support level;	it comprises four
       letters,	because	the primary image (IFD0) can come in four varieties
       (uncompressed chunky, uncompressed planar, uncompressed YCC and JPEG
       compressed). This module	currently focuses only on JPEG pictures	(not
       TIFF), so only the fourth letter	is interesting.	The support level
       codes stand for:	M (mandatory), R (recommended),	O (optional), and N
       (not recorded). Tags marked as 'calculated' in the notes	must not be
       set by the module user, since they concern offsets and data types
       (which are calculated automatically, more reliably).

	    Hexadecimal	code		    count SubIFD notes
	 class |  Tag name		   type	| support|
	 |     |  |			      |	|   |	 |
	 g  829a  ExposureTime		      R	1   RRRR in seconds
	 g  829d  FNumber		      R	1   OOOO (see note 1)
	 g  8822  ExposureProgram	      S	1   OOOO valid values are 0-8
	 g  8824  SpectralSensitivity	      A	-   OOOO see ASTM technical committee
	 g  8827  ISOSpeedRatings	      S	-   OOOO see ISO 12232
	 g  8828  OECF			      U	-   OOOO see ISO 14524
	 a  9000  ExifVersion		      U	4   MMMM (see note 2)
	 f  9003  DateTimeOriginal	      A	20  OOOO (see note 3)
	 f  9004  DateTimeDigitized	      A	20  OOOO (see note 3)
	 c  9101  ComponentsConfiguration     U	4   NNNM (see note 4)
	 c  9102  CompressedBitsPerPixel      R	1   NNNO compression rate
	 g  9201  ShutterSpeedValue	     SR	1   OOOO (see note 1)
	 g  9202  ApertureValue		      R	1   OOOO (see note 1)
	 g  9203  BrightnessValue	     SR	1   OOOO (see note 1)
	 g  9204  ExposureBiasValue	     SR	1   OOOO (see note 1)
	 g  9205  MaxApertureValue	      R	1   OOOO smallest ApertureValue
	 g  9206  SubjectDistance	      R	1   OOOO in meters
	 g  9207  MeteringMode		      S	1   OOOO valid values are 0-6 and 255
	 g  9208  LightSource		      S	1   OOOO use 0-4,9-15,17-24 or 255
	 g  9209  Flash			      S	1   RRRR (see note 5)
	 g  920a  FocalLength		      R	1   OOOO in millimetres
	 g  9214  SubjectArea		      S	-   OOOO (see note 6)
	 d  927c  MakerNote		      U	-   OOOO calculated
	 d  9286  UserComment		      U	-   OOOO (see note 7)
	 f  9290  SubSecTime		      A	-   OOOO (see note 8)
	 f  9291  SubSecTimeOriginal	      A	-   OOOO (see note 8)
	 f  9292  SubSecTimeDigitized	      A	-   OOOO (see note 8)
	 a  a000  FlashpixVersion	      U	4   MMMM (see note 2)
	 b  a001  ColorSpace		      S	1   MMMM valid values are 1 and	65535
	 c  a002  PixelXDimension	      I	1   NNNM picture X-dim,	see note 9)
	 c  a003  PixelYDimension	      I	1   NNNM picture Y-dim,	see note 9)
	 e  a004  RelatedSoundFile	      A	13  OOOO (see note 10)
	 h  a005  InteroperabilityOffset      L	1   NNNO calculated by the module
	 g  a20b  FlashEnergy		      R	1   OOOO in BCPS
	 g  a20c  SpatialFrequencyResponse    U	-   OOOO (see ISO 12233
	 g  a20e  FocalPlaneXResolution	      R	1   OOOO .
	 g  a20f  FocalPlaneYResolution	      R	1   OOOO .
	 g  a210  FocalPlaneResolutionUnit    S	1   OOOO valid values are 2 and	3
	 g  a214  SubjectLocation	      S	2   OOOO in pixels
	 g  a215  ExposureIndex		      R	1   OOOO .
	 g  a217  SensingMethod		      S	1   OOOO valid values are 1-5,7	and 8
	 g  a300  FileSource		      U	1   OOOO only allowed value is 3
	 g  a301  SceneType		      U	1   OOOO only allowed value is 1
	 g  a302  CFAPattern		      U	-   OOOO (see note 11)
	 g  a401  CustomRendered	      S	1   OOOO valid values are 0 and	1
	 g  a402  ExposureMode		      S	1   RRRR valid values are 0,1 and 2
	 g  a403  WhiteBalance		      S	1   RRRR valid values are 0 and	1
	 g  a404  DigitalZoomRatio	      R	1   OOOO .
	 g  a405  FocalLengthIn35mmFilm	      S	1   OOOO .
	 g  a406  SceneCaptureType	      S	1   RRRR valid values are 0,1,2	and 3
	 g  a407  GainControl		      S	1   OOOO valid values are 0,1,2,3 & 4
	 g  a408  Contrast		      S	1   OOOO valid values are 0,1 and 2
	 g  a409  Saturation		      S	1   OOOO valid values are 0,1 and 2
	 g  a40a  Sharpness		      S	1   OOOO valid values are 0,1 and 2
	 g  a40b  DeviceSettingDescription    U	-   OOOO (see note 12)
	 g  a40c  SubjectDistanceRange	      S	1   OOOO valid values are 0,1,2	and 3
	 h  a420  ImageUniqueID		      A	33  OOOO matches /[0-9a-fA-F]+\000+/

	 Notes:
	 1) The	camera information in the Exif standard	conforms to the	APEX
	    (Additive System of	Photographic Exposure) unit system. APEX is a
	    convenient unit for	expressing exposure (Ev). The relation of APEX
	    to other units is essentially as follows:
	    --------------------------------------------------------
	    ApertureValue     (Av) = 2 log2(FNumber)
	    ShutterSpeedValue (Tv) = - log2(ExposureTime)
	    BrightnessValue   (Bv) =   log2(Brightness)	+ constant
	    FilmSensitivity   (Sv) =   log2(ASA/3.125) [not in Exif]
	    Exposure	      (Ev) = Av	+ Tv = Bv + Sv
	    --------------------------------------------------------
	 2) A version tag is a sequence	of four	numerical characters representing
	    the	supported version of the standard (e.g., '0220'	for version 2.2).
	    Possible versions for Exif:	1.0, 1.1, 2.0, 2.1, 2.2	and 2.2.1.
	    Possible versions for Flashpix: 1.0.
	 3) These tags indicate	the time of the	original-image data generation and
	    of its storage (hardly any difference, usually). Their value is a
	    null terminated string of the form "YYYY:MM:DD HH:MM:SS" (note the
	    space in the middle	and the	colon signs), in 24-hour format. If the
	    tag	is set,	but the	value is not meaningful, all numbers should be set
	    to spaces (replacing also the colons with spaces is	permitted
	    too). See also 'DateTime' in the canonical tag L<section|/Canonical
	    Exif 2.2 and TIFF 6.0 tags for IFD0	and IFD1>. [Currently, only years
	    after 1800 can be set with this Perl module].
	 4) This tag indicates the channels of each component, arranged	in order
	    from the 1st component to the 4th. For uncompressed	data the data
	    arrangement	is given in the	'PhotometricInterpretation' tag. The four
	    numeric characters must be in the range '0'	- '6', and legal combina-
	    tions are '4560' (if RGB uncompressed) and '1230' (all other cases).
	 5) This tag indicates the status of flash when	the image was shot.
	    Bit	0 indicates the	flash firing status, bits 1 and	2 indicate the
	    flash return status, bits 3	and 4 indicate the flash mode, bit 5
	    indicates whether the flash	function is present, and bit 6 indicates
	    "red eye" mode. The	allowed	decimal	values for the bit-mask	are
	    therefore 0, 1, 5, 7, 9, 13, 15, 16, 24, 25, 29, 31, 32, 65, 69,
	    71,	73, 77,	79, 89,	93 and 95.
	 6) This tag indicates the location and	area of	the main subject in the
	    overall scene. Count can be	2 (a spot defined by two coordinates),
	    3 (a circle	defined	by centre coordinates and diameter) and
	    4 (a rectangle defined by its centre coordinates and its dimensions).
	 7) The	'UserComment' tag must start with an 8 byte "ID	code", which
	    can	be "ASCII\00\00\00", "JIS\00\00\00\00\00", "Unicode" or	eight
	    null bytes for "undefined".	The ID code identifies the character
	    code to be used in the following. A	null terminator	is not required.
	 8) A sub-second-time tag value	represents a fraction of a second, relative
	    to the 'DateTime' tag and other such tags, as an ASCII null-terminated
	    string made	of numeric characters; an arbitrary number of spaces can
	    be appended	to the numeric characters string. If sub-second	data is	not
	    known the tag value	may contain only spaces. The corresponding regular
	    expression is /\d*\s*\000/.
	 9) This is the	valid width or height of the meaningful	image (horizontal
	    dimension does not include data padding). Overall image dimensions can
	    be read in the SOF segment (this includes padding however).
	10) This tag is	used to	record the name	of an audio file related to the
	    image data:	an ASCII string	consisting of 8	characters + '.' + 3
	    characters,	terminated by NULL. The	path is	not recorded.
	    The	corresponding regular expression is /\w{8}\.\w{3}\000/.
	11) This tag indicates the colour filter array (CFA) geometric pattern of
	    the	image sensor when a one-chip colour area sensor	is used. The first
	    four bytes must be interpreted as two shorts giving	the horizontal (m)
	    and	vertical (n) repeat pixel units. Then, m x n bytes follow, giving
	    the	actual colour filter values (in	the range 0-6).
	12) This tag indicates information on the picture-taking conditions of a
	    particular camera model, for a reader. The first four bytes	must be
	    interpreted	as two shorts giving the number	of display rows	and columns.
	    The	following bytes	must be	interpreted as Unicode (UCS-2) streams,
	    NULL terminated and	including the signature. The specifics of the
	    Unicode string are as given	in ISO/IEC 10464-1. An approximation to
	    the	corresponding regular expression is /.{4}(\376\377(.{2})*\000\000)*/.

       The Adobe's Photoshop program, at least from version 7.0	on, seems to
       add some	non-standard tags to the Exif private tags subdirectory	during
       the treatment of	raw camera pictures. The corresponding record values
       are all ASCII strings ($ASCII type), and	contain	the description	of the
       tags themselves.	The following might be an incomplete list:

	   Hexadecimal code	 count	 value begins with (a null terminated
	      |	 Tag name     type |	 string	is to be added at the end):
	      |	 |		 | |	 |
	   fde8	 _OwnerName	 A -	 "Owner's Name:	"
	   fde9	 _SerialNumber	 A -	 "Serial Number: "
	   fdea	 _Lens		 A -	 "Lens:	"
	   fe4c	 _RawFile	 A -	 "Raw File: "
	   fe4d	 _Converter	 A -	 "Converter: "
	   fe4e	 _WhiteBalance	 A -	 "White	Balance: "
	   fe51	 _Exposure	 A -	 "Exposure: "
	   fe52	 _Shadows	 A -	 "Shadows: "
	   fe53	 _Brightness	 A -	 "Brightness: "
	   fe54	 _Contrast	 A -	 "Contrast: "
	   fe55	 _Saturation	 A -	 "Saturation: "
	   fe56	 _Sharpness	 A -	 "Sharpness: "
	   fe57	 _Smoothness	 A -	 "Smoothness: "
	   fe58	 _MoireFilter	 A -	 "Moire	Filter:	"

   Exif	tags for the 0th IFD Interoperability subdirectory
       If the main image is compressed (which is always	the case for a JPEG
       picture), the "Design rule for Camera File system" recommendations
       suggest to add another IFD below	SubIFD,	the Interoperability IFD,
       pointed to by the InteroperabilityOffset	tag; legal tags	are listed in
       the following table. The	first two columns show tag hexadecimal codes
       and names. The 'type' column specifies the tag type: I (short or	long),
       U (undefined) and A (ASCII, always null terminated). The	'count'	column
       obviously specifies the value count ('-'	means that it is variable).
       The "Index" and "Version" tags are mandatory if the subIFD is present,
       and they	are automatically added	by this	module if necessary.

	    Hexadecimal	code		    count SubIFD notes
	       |  Tag name		   type	| suppt. |
	       |  |			      |	|   |	 |
	    0001  InteroperabilityIndex	      A	4 NNNM	 R98 (THM would	work for IFD1)
	    0002  InteroperabilityVersion     U	4 NNNM	 e.g. '0100' means 1.00
	    1000  RelatedImageFileFormat      A	- NNNO	 e.g. 'Exif JPEG Ver. 2.1'
	    1001  RelatedImageWidth	      I	1 NNNO	 image X dimension
	    1002  RelatedImageLength	      I	1 NNNO	 image Y dimension

   Exif	tags for the 0th IFD GPS subdirectory
       The following tags are used for GPS attributes in the GPS IFD, pointed
       to (if present) by the GPSInfo tag in IFD0 or IFD1. This	standard was
       already used in TIFF/EP,	and is now part	of Exif	2.2. The first two
       columns show tag	hexadecimal codes and names. The 'type'	column
       specifies the tag type: B (byte), S (short), R (rational), U
       (undefined) and A (ASCII, always	null terminated). The 'count' column
       obviously specifies the value count ('-'	means that it is variable).
       All GPS tags are	optional in a JPEG or TIFF file, but the 'VersionID'
       tag must	be present, if the GPS IFD is present (a default 'VersionID' =
       (2,2,0,0), i.e. v.2.2, is automatically added by	this module if
       necessary).

	    Hexadecimal	code		    count   notes
	       |  Tag name		   type	|   |
	       |  |			      |	|   |
	      00  GPSVersionID		      B	4   mandatory
	      01  GPSLatitudeRef	      A	2   (see note 1)
	      02  GPSLatitude		      R	3   (see note 2)
	      03  GPSLongitudeRef	      A	2   (see note 1)
	      04  GPSLongitude		      R	3   (see note 2)
	      05  GPSAltitudeRef	      B	1   0 (sea level) or 1 (absolute)
	      06  GPSAltitude		      R	1   in metres
	      07  GPSTimeStamp		      R	3   hours, minutes and seconds
	      08  GPSSatellites		      A	-   satellites used for	measurement
	      09  GPSStatus		      A	2   'A'	(in progr.) or 'V' (interop.)
	      0a  GPSMeasureMode	      A	2   '2'	(2-dim)	or '3' (3-dim)
	      0b  GPSDOP		      R	1   data degree	of precision
	      0c  GPSSpeedRef		      A	2   (see note 3)
	      0d  GPSSpeed		      R	1   speed of the GPS receiver
	      0e  GPSTrackRef		      A	2   (see note 4)
	      0f  GPSTrack		      R	1   (see note 5)
	      10  GPSImgDirectionRef	      A	2   (see note 4)
	      11  GPSImgDirection	      R	1   (see note 5)
	      12  GPSMapDatum		      A	-   geodetic survey data
	      13  GPSDestLatitudeRef	      A	2   (see note 1)
	      14  GPSDestLatitude	      R	3   (see note 2)
	      15  GPSDestLongitudeRef	      A	2   (see note 1)
	      16  GPSDestLongitude	      R	3   (see note 2)
	      17  GPSDestBearingRef	      A	2   (see note 4)
	      18  GPSDestBearing	      R	1   (see note 5)
	      19  GPSDestDistanceRef	      A	2   (see note 3)
	      1a  GPSDestDistance	      R	1   distance to	the destination	point
	      1b  GPSProcessingMethod	      U	-   location finding (see note 6)
	      1c  GPSAreaInformation	      U	-   name of the	GPS area (see note 6)
	      1d  GPSDateStamp		      A	11  (see note 7)
	      1e  GPSDifferential	      S	1   0 (without)	or 1 (with) diff.corr.

	 Notes:
	 1) A latitude or longitude reference specifies	a sign for another
	    (related) latitude or longitude value tag. A latitude reference can	be
	    only 'N' (for North) or 'S'	(for South); a longitude reference can be
	    only 'E' (for East)	or 'W' (for West).
	 2) A latitude or a longitude is stored	as a sequence of three rational
	    numbers (each rational number is the ratio of two unsigned long
	    integers), representing degrees, minutes and seconds. A typical format
	    is (dd/1, mm/1, ss/1). Sometimes, seconds are dropped in favour of
	    fractions of minutes (usually with two decimal places); in this case
	    the	format is (dd/1, mmmm/100, 0/1). Latitudes are limited to the
	    interval [0,90], while longitudes to [0,180].
	 3) A "speed (distance)	reference" is the unit for the speed (distance)
	    value stored in another (related) tag. The only allowed values are 'K'
	    (for Km/h or Km), 'M' (for miles/h or miles) or 'N'	(knots). Let us
	    appreciate the fact	that knot in English is	both a unit of speed (one
	    nautical mile per hour) and	of distance (one nautical mile).
	 4) A direction	reference specifies how	to interpret a following direction
	    value. Only	two references are possible: 'T' (for the true direction)
	    or 'M' (for	the magnetic direction).
	 5) A direction	(of the	pointed	image, of the movement of the GPS
	    receiver, ecc ...) is a decimal number specifying an angle.	The
	    allowed range is between 0.00 and 359.99.
	 6) The	processing method and the area information are character strings,
	    whose first	character specifies the	character code used: this is the
	    first character of the 8-byte character code identification	in the
	    'UserComment' tag in the SubIFD, so	'A' means ASCII, 'J' means JIS,
	    'U'	means Unicode and a null character means undefined. Since the type
	    is not ASCII, null termination is not required.
	 7) A date tag value is	a null terminated string of the	form "YYYY:MM:DD"
	    (note the colon signs). [I currently allow only years after	1800].

Valid tags for Photoshop-style APP13 data
       The structure of	a Photoshop-style APP13	segment	is introduced in
       section "Structure of a Photoshop-style APP13 segment" in
       Image::MetaData::JPEG::Structures.

   Non-IPTC data (visual rendering - Photoshop variables)
       This section contains only the list of valid Image Resource ID's; note
       that not	all file formats use all ID's, and some	information may	be
       stored somewhere	else in	the file. In the following list	'PS' stands
       for Photoshop, and 'Pstring' for	Pascal string:

	    Hexadecimal	code		     notes
	       |  Tag name		     |
	       |  |			     |
	     3e8  Photoshop2Info	     [obsolete]	(PS.2.0) General information
	     3e9  MacintoshPrintInfo	     [optional]	Macintosh print	manager	info
	     3eb  Photoshop2ColorTable	     [obsolete]	(PS.2.0) Indexed colour	table
	     3ed  ResolutionInfo	     see appendix A in Photoshop SDK
	     3ee  AlphaChannelsNames	     as	a series of Pstrings
	     3ef  DisplayInfo		     see appendix A in Photoshop SDK
	     3f0  PStringCaption	     [optional]	the caption, as	a Pstring
	     3f1  BorderInformation	     border width and units
	     3f2  BackgroundColor	     see additional Adobe information
	     3f3  PrintFlags		     labels, crop marks, colour	bars, ecc...
	     3f4  BWHalftoningInfo	     Gray-scale	and multich. half-toning info
	     3f5  ColorHalftoningInfo	     Colour half-toning	information
	     3f6  DuotoneHalftoningInfo	     Duo-tone half-toning information
	     3f7  BWTransferFunc	     Gray-scale	and multich. transfer function
	     3f8  ColorTransferFuncs	     Colour transfer function
	     3f9  DuotoneTransferFuncs	     Duo-tone transfer function
	     3fa  DuotoneImageInfo	     Duo-tone image information
	     3fb  EffectiveBW		     effective black and white values
	     3fc  ObsoletePhotoshopTag1	     [obsolete]	??
	     3fd  EPSOptions		     Encapsulated Postscript options
	     3fe  QuickMaskInfo		     channel ID	plus initial state flag
	     3ff  ObsoletePhotoshopTag2	     [obsolete]	??
	     400  LayerStateInfo	     index of target layer (0 means bottom)
	     401  WorkingPathInfo	     should not	be saved to the	file
	     402  LayersGroupInfo	     for grouping layers together
	     403  ObsoletePhotoshopTag3	     [obsolete]	??
	     404  IPTC/NAA		     see L</Valid tags for IPTC	data>
	     405  RawImageMode		     image mode	for raw	format files
	     406  JPEGQuality		     [private]
	     408  GridGuidesInfo	     see additional Adobe information
	     409  ThumbnailResource	     see additional Adobe information
	     40a  CopyrightFlag		     true if image is copyrighted
	     40b  URL			     text string with a	resource locator
	     40c  ThumbnailResource2	     see additional Adobe information
	     40d  GlobalAngle		     global lighting angle for effects layer
	     40e  ColorSamplersResource	     see additional Adobe information
	     40f  ICCProfile		     see notes from Internat. Color Consortium
	     410  Watermark		     one byte
	     411  ICCUntagged		     1 means intentionally untagged
	     412  EffectsVisible	     1 byte to show/hide all effects layers
	     413  SpotHalftone		     version, length and data
	     414  IDsBaseValue		     base value	for new	layers ID's
	     415  UnicodeAlphaNames	     length plus Unicode string
	     416  IndexedColourTableCount    (PS.6.0) 2	bytes
	     417  TransparentIndex	     (PS.6.0) 2	bytes
	     419  GlobalAltitude	     (PS.6.0) 4	bytes
	     41a  Slices		     (PS.6.0) see additional Adobe info
	     41b  WorkflowURL		     (PS.6.0) 4	bytes length + Unicode string
	     41c  JumpToXPEP		     (PS.6.0) see additional Adobe info
	     41d  AlphaIdentifiers	     (PS.6.0) 4*(n+1) bytes
	     41e  URLList		     (PS.6.0) structured Unicode URL's
	     421  VersionInfo		     (PS.6.0) see additional Adobe info
	  7d0-bb6 PathInfo_%3x		     see additional Adobe info (saved path)
	     bb7  ClippingPathName	     see additional Adobe info
	    2710  PrintFlagsInfo	     see additional Adobe info

   IPTC	data (Editorial	information and	envelope record)
       The structure of	an IPTC	stream is introduced in	section	"Structure of
       an IPTC data block" in Image::MetaData::JPEG::Structures. This section
       contains	only the list of valid IPTC tags. Since	the use	of APP13 for
       IPTC information	in a JPEG picture is not a real	standard, it is	not
       clear which subset of IPTC should be considered valid; my current guess
       is that only editorial IPTC datasets (2:xx) and,	more rarely, some
       envelope	datasets (1:xx,	which are however needed for non ASCII
       character sets) are found. Numeric tag values (record keys), in the
       first column, are in decimal notation, and they are followed by tag
       names in	the second column. The presence	of 'N' in the third column
       means that the record is	non-repeatable (i.e., there should not be two
       such records in the file). The following	number or range	in square
       brackets	indicates valid	lengths	for the	record data field. The final
       comment specifies additional format constraints,	sometimes in natural
       language: "/regex/" means that the string must match the	regular
       expression regex; "invalid" means that this valid IPTC tag is not used
       in JPEG pictures; other formats are specified in	the notes. Note	that
       IPTC strings are	stored in records with an explicit length, so they do
       not need	the final null character (they are not C-strings).

	Decimal	code			      size     notes
	   |  Tag name		   repeatable |	       |
	   |  |				    | |	       |
	 -------------------------------------------------------------------------
	 1:xx datasets from the	envelope record	(seldom	used)
	 -------------------------------------------------------------------------
	   0  ModelVersion		    N [	 2,  ] binary, always 4	in JPEGs?
	   5  Destination		      [1-1024] word (see note 1)
	  20  FileFormat		    N [	 2   ] invalid,	binary
	  22  FileFormatVersion		    N [	 2   ] invalid,	binary (see 1:20)
	  30  ServiceIdentifier		    N [	<=10 ] word (see note 1)
	  40  EnvelopeNumber		    N [	 8   ] invalid,	/\d{8}/
	  50  ProductID			      [	<=32 ] word (see note 1)
	  60  EnvelopePriority		    N [	 1   ] invalid,	/[1-9]/
	  70  DataSent			    N [	 8   ] invalid,	date (see note 2)
	  80  TimeSent			    N [	11   ] invalid,	time (see note 3)
	  90  CodedCharacterSet		    N [	<=32 ] character set (see note 4)
	 100  UNO			    N [14-80 ] invalid (eternal	identifier)
	 120  ARMIdentifier		    N [	 2   ] invalid,	binary
	 122  ARMVersion		    N [	 2   ] invalid,	binary
	 -------------------------------------------------------------------------
	 2:xx datasets from the	application record (editorial tags)
	 -------------------------------------------------------------------------
	   0  RecordVersion		    N [	 2   ] binary, always 2	in JPEGs ?
	   3  ObjectTypeReference	    N [	3-67 ] /\d{2}?:[\w\s]{0,64}?/
	   4  ObjectAttributeReference	      [	4-68 ] /\d{3}?:[\w\s]{0,64}?/
	   5  ObjectName		    N [	<=64 ] line (see note 5)
	   7  EditStatus		    N [	<=64 ] line (see note 5)
	   8  EditorialUpdate		    N [	 2   ] /01/
	  10  Urgency			    N [	 1   ] /[1-8]/
	  12  SubjectReference		      [13-236] complicated, see	note 7
	  15  Category			    N [	<=3  ] /[a-zA-Z]{1,3}?/
	  20  SupplementalCategory	      [	<=32 ] line (see note 5)
	  22  FixtureIdentifier		    N [	<=32 ] word (see note 1)
	  25  Keywords			      [	<=64 ] line (see note 5)
	  26  ContentLocationCode	      [	 3   ] /[A-Z]{3}/
	  27  ContentLocationName	      [	<=64 ] line (see note 5)
	  30  ReleaseDate		    N [	 8   ] date (see note 2)
	  35  ReleaseTime		    N [	11   ] time (see note 3)
	  37  ExpirationDate		    N [	 8   ] date (see note 2)
	  38  ExpirationTime		    N [	11   ] time (see note 3)
	  40  SpecialInstructions	    N [	<=256] line (see note 5)
	  42  ActionAdvised		    N [	 2   ] /0[1-4]/
	  45  ReferenceService		      [	10   ] invalid (see 1:30)
	  47  ReferenceDate		      [	 8   ] invalid (see 1:70)
	  50  ReferenceNumber		      [	 8   ] invalid (see 1:40)
	  55  DateCreated		    N [	 8   ] date (see note 2)
	  60  TimeCreated		    N [	11   ] time (see note 3)
	  62  DigitalCreationDate	    N [	 8   ] date (see note 2)
	  63  DigitalCreationTime	    N [	11   ] time (see note 3)
	  65  OriginatingProgram	    N [	32   ] line (see note 5)
	  70  ProgramVersion		    N [	<=10 ] line (see note 5)
	  75  ObjectCycle		    N [	 1   ] /a|p|b/
	  80  ByLine			      [	<=32 ] line (see note 5)
	  85  ByLineTitle		      [	<=32 ] line (see note 5)
	  90  City			    N [	<=32 ] line (see note 5)
	  92  SubLocation		    N [	<=32 ] line (see note 5)
	  95  Province/State		    N [	<=32 ] line (see note 5)
	 100  Country/PrimaryLocationCode   N [	 3   ] /[A-Z]{3}?/
	 101  Country/PrimaryLocationName   N [	<=64 ] line (see note 5)
	 103  OriginalTransmissionReference N [	<=32 ] line (see note 5)
	 105  Headline			    N [	<=256] line (see note 5)
	 110  Credit			    N [	<=32 ] line (see note 5)
	 115  Source			    N [	<=32 ] line (see note 5)
	 116  CopyrightNotice		    N [	<=128] line (see note 5)
	 118  Contact			      [	<=128] line (see note 5)
	 120  Caption/Abstract		    N [<=2000] line with CR and	LF
	 122  Writer/Editor		      [	<=32 ] line (see note 5)
	 125  RasterizedCaption		    N [	7360 ] binary data (460x128 PBM)
	 130  ImageType			    N [	 2   ] /[0-49][WYMCKRGBTFLPS]/
	 131  ImageOrientation		    N [	 1   ] /P|L|S/
	 135  LanguageIdentifier	    N [	2-3  ] /[a-zA-Z]{2,3}?/
	 150  AudioType			    N [	 2   ] /[012][ACMQRSTVW]/
	 151  AudioSamplingRate		    N [	 6   ] /\d{6}?/
	 152  AudioSamplingResolution	    N [	 2   ] /\d{2}?/
	 153  AudioDuration		    N [	 6   ] duration	(see note 6)
	 154  AudioOutcue		    N [	<=64 ] line (see note 5)
	 200  ObjDataPreviewFileFormat	    N [	 2   ] invalid,	binary (see 1:20)
	 201  ObjDataPreviewFileFormatVer   N [	 2   ] invalid,	binary (see 1:22)
	 202  ObjDataPreviewData	    N [<=256000] invalid, binary

	 Notes:
	 1) A "word" is	made of	elements of what the IPTC standard calls "graphic
	    characters"	set, i.e. all characters that have visual representation.
	    Control codes, the space character and the DEL character are NOT
	    graphic characters.	Note that the visual representation of a graphic
	    character depends upon the character set invoked at	the time of
	    evaluation.	A "word" is matched by the following regular expression:
	    /^[^\000-\040\177]*$/.
	 2) A date is stored, in conformity to the ISO 8601 standard, as the eight
	    character string 'CCYYMMDD', e.g., '19890317' indicates March 17th
	    1989. A date string	is matched by the following regular expression:
	    /\d{4}(0\d|1[0-2])([0-2]\d|3[01])/.	[Currently, I allow only years
	    after 1800;	but 'DateCreated' has no limitation since it refers to the
	    creation date of the photographed object, not to the creation of the
	    photo itself].
	 3) A time is stored, in conformity to the ISO 8601 standard, as the
	    eleven character string 'HHMMSS+/-HHMM', e.g., '090000-0500' indicates
	    9AM, 5 hours behind	the coordinated	universal time.	A time string is
	    matched by the following regular expression:
	    /([01]\d|2[0-3])[0-5]\d[0-5]\d[\+-]([01]\d|2[0-3])[0-5]\d/.
	 4) This dataset selects a character set, for use in character oriented
	    datasets in	records	2-6, according to the "International Register of
	    Coded Character Sets" (ISO/IEC 2022	and ISO/IEC 2375, see for instance
	    L<http://www.itscj.ipsj.or.jp/ISO-IR/>), and typically consist of the
	    escape control character followed by one or	more graphic characters.
	    For	instance, "\033/A" refers to ISO-8859-1	(latin-1) and "\033%G" refers
	    to UTF-8 (a	Unicode	encoding).
	 5) A "line" is	made of	graphic	characters (see	note 1)	and space. This	is
	    matched by the following regular expression: /^[^\000-\037\177]*$/.
	 6) A "duration" is stored like	a "time", but there is no time zone spec;
	    this means that the	string is only six characters wide (see	also note 3).
	 7) The	complicated regular expression for the SubjectReference	is the
	    following: /[$validchar]{1,32}?:[01]\d{7}?(:[$validchar\s]{0,64}?){3}?/,
	    where $validchar is	'\040-\051\053-\071\073-\076\100-\176'.

AUTHOR
       Stefano Bettelli, bettelli@cpan.org

COPYRIGHT AND LICENSE
       Copyright (C) 2004,2005,2006 by Stefano Bettelli

       This library is free software; you can redistribute it and/or modify it
       under the terms of the GNU General Public License. See the COPYING and
       LICENSE file for	the license terms.

SEE ALSO
       The main	documentation page for the Image::MetaData::JPEG module.

perl v5.24.1			  2006-09-02Image::MetaData::JPEG::TagLists(3)

NAME | Valid tags for Exif APP1 data | Valid tags for Photoshop-style APP13 data | AUTHOR | COPYRIGHT AND LICENSE | SEE ALSO

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=Image::MetaData::JPEG::TagLists&sektion=3&manpath=FreeBSD+12.0-RELEASE+and+Ports>

home | help