Changes:
+ Update BMFF types in FILE TYPES section
+ Add text in FILE TYPES explaining formats
+ Change IPTC datasets and XMP properties to IPTC and XMP tags
+ Fix text and formatting
@ -236,7 +247,7 @@ The flags for those options are:
| *flg* | E \| I \| X \| x \| g \| k \| l \| n \| y \| c \| s \| v \| t \| h<br>(Exif, IPTC, XMP, num, grp, key, label, name, type, count, size, vanilla, translated, hex) |
| *fmt* | Default format: %Y%m%d_%H%M%S |
| *key* | See [Exiv2 key syntax](#exiv2_key_syntax)) |
| *lvl* | d \| i \| w \| e<br>(debug, info, warning, error) |
| *lvl* | d \| i \| w \| e \| m<br>(debug, info, warning, error, mute) |
| *mod* | s \| a \| e \| t \| v \| h \| i \| x \| c \| p \| C \| R \| S \| X<br>(summary, all, Exif, translated, vanilla, hex, IPTC, XMP, comment, preview, ICC Profile, Recursive Structure, Simple Structure, raw XMP) |
| *suf* | '.' then the file's extension (e.g., '.txt') |
| *time* | [ +\|-]HH[:MM[:SS[.mmm]]]<br>(Default is **+** when **+**/**-** are missing) |
Charset to use when decoding Exif Unicode user comments, where *enc* is
a name understood by [iconv_open(3)](https://linux.die.net/man/3/iconv_open)
(e.g., 'UTF-8').
(e.g., 'UTF-8'). See [Exif 'Comment' values](#exif_comment_values).
<divid="keep">
@ -512,13 +523,13 @@ Possible modes are:
| Option | Description |
|:------ |:---- |
| s | A summary of the Exif metadata (the default for the [print](#pr_print) action) |
| a | Exif, IPTC and XMP metadata (shortcut for [--Print kyct](#Print_flgs)) |
| e | Exif metadata (shortcut for [--Print Ekycv](#Print_flgs)) |
| a | Exif, IPTC and XMP tags (shortcut for [--Print kyct](#Print_flgs)) |
| e | Exif tags (shortcut for [--Print Ekycv](#Print_flgs)) |
| t | Interpreted (translated) Exif tag values (shortcut for [--Print Ekyct](#Print_flgs)) |
| v | Plain (untranslated) Exif tag values (shortcut for [--Print Exgnycv](#Print_flgs)) |
| h | Hex dump of the Exif data (shortcut for [--Print Exgnycsh](#Print_flgs)) |
| i | IPTC datasets (shortcut for [--Print Ikyct](#Print_flgs)) |
| x | XMP properties (shortcut for [--Print Xkyct](#Print_flgs)) |
| i | IPTC tags (shortcut for [--Print Ikyct](#Print_flgs)) |
| x | XMP tags (shortcut for [--Print Xkyct](#Print_flgs)) |
| c | JPEG comment |
| p | List available image previews, sorted by size in pixels (e.g., see [--extract tgt3](#extract_tgt3)) |
| C | Image ICC Profile |
@ -543,8 +554,8 @@ as well as data columns included in the print output. Valid flags are:
| Option | Description |
|:------ |:---- |
| E | Exif tags |
| I | IPTC datasets |
| X | XMP properties |
| I | IPTC tags |
| X | XMP tags |
| x | Tag number for Exif or IPTC tags (in hexadecimal) |
| g | Group name (e.g., for Exif.Photo.UserComment, outputs Photo) |
| k | Key (e.g., Exif.Photo.UserComment) |
@ -585,13 +596,14 @@ Delete target(s) for the [delete](#rm_delete) action. Possible targets are:
| Option | Description |
|:------ |:---- |
| a | All supported metadata (the default for the [delete](#rm_delete) action) |
| e | Exif section |
| e | Exif tags |
| t | Exif thumbnail only |
| i | IPTC data |
| x | XMP packet |
| i | IPTC tags |
| x | XMP tags |
| c | JPEG comment |
| C | ICC Profile |
| I | All IPTC data (removes broken metadata containing multiple IPTC blocks) |
| - | Insert from stdin. This option is intended for "filter" operations |
<divid="insert_tgt2">
@ -603,24 +615,30 @@ targets are:
| Option | Description |
|:------ |:---- |
| a | All supported metadata (the default for the [insert](#in_insert) action) |
| e | Exif section |
| e | Exif tags |
| t | Exif thumbnail. Only JPEG thumbnails can be inserted from a file called *file-thumb.jpg* |
| i | IPTC data |
| x | XMP packet |
| i | IPTC tags |
| x | XMP tags |
| c | JPEG comment |
| C | ICC Profile, inserted from a file called *<file>.icc* |
| X | Insert metadata from an XMP sidecar file, <file>.xmp. The remaining targets determine which metadata to include, possible are Exif, IPTC and XMP (default is all of these). Inserted XMP properties include those converted to Exif and IPTC |
| X | Insert metadata from an XMP sidecar file, <file>.xmp. The remaining targets determine which metadata to include, possible are Exif, IPTC and XMP (default is all of these). Inserted XMP tags include those converted to Exif and IPTC |
| XX | Insert "raw" XMP metadata from a sidecar file, *<file>.exv* |
| - | Insert from stdin. This option is intended for "filter" operations |
Filter operations between extract and insert are possible, using the
following template; [xmllint(1)](https://linux.die.net/man/1/xmllint) can
be optionally used when extracting XMP sidecar files:
To insert from a location other than the current directory, use [--location dir](#location_dir).
Filter operations between [--extract tgt3](#extract_tgt3) and
**--insert** *tgt2* are possible, using the following template;
[xmllint(1)](https://linux.die.net/man/1/xmllint) can be optionally used
| a | All supported metadata (the default for the [extract](#ex_extract) action) |
| e | Exif section |
| e | Exif tags |
| t | Extract Exif thumbnail only to a file called *<file>-thumb.jpg* |
| i | IPTC data |
| x | XMP packet |
| i | IPTC tags |
| x | XMP tags |
| c | JPEG comment |
| p\[\<n\>\[,\<m\> ...\]\] | Extract preview images to files called *\<file\>-preview\<n \| m \| ...\>.jpg* (`--extract p` extracts all previews). The thumbnail is included in any preview images |
| C | Extract ICC profile, to a file called *<file>.icc* |
| X | Insert metadata from an XMP sidecar file, <file>.xmp. The remaining targets determine which metadata to include, possible are Exif, IPTC and XMP (default is all of these). Inserted XMP properties include those converted to Exif and IPTC |
| XX | Extract "raw" XMP metadata to a sidecar . Other targets cannot be used with this, as only XMP data is written |
| X | Extract metadata to an XMP sidecar file, <file>.xmp. Other targets cannot be used with this, as only XMP data is written. Extracted XMP tags include those converted from Exif and IPTC |
| XX | Extract "raw" XMP metadata to a sidecar, <file>.exv. The remaining targets determine which metadata to include, possible are Exif and IPTC (XMP is always included) |
| - | Output to stdout (see [--insert tgt2](#insert_tgt2) for an example of this feature) |
To extract to a location other than the current directory, use [--location dir](#location_dir).
When extracting preview images, first list which previews are available:
```
@ -790,7 +810,7 @@ using the parameters:
| Parameter | Description |
|:------ |:---- |
| *key* | An Exif, IPTC or XMP key (see [Exiv2 key syntax](#exiv2_key_syntax)) |
| *key* | See [Exiv2 key syntax](#exiv2_key_syntax) |
| *type* | The *type* for the tag, a default is used if none is given. For built-in tags, the default is defined in the standard and for registered XMP tags, the default is XmpText (see [Exif/IPTC/XMP types](#exiv2_types)) |
| *value* | The remaining text on the line is the value, and can optionally be enclosed in quotes (see [Quotations with 'modify' commands](#quotes_modify)). For Ascii, XmpAlt, XmpBag, XmpSeq and XmpText, the value is optional which is equivalent to an empty value ("") |
| *prefix* | This is the XMP 'Group' that is being registered. This is case sensitive and must be unique within an image's metadata. e.g., For an "Exiv2" *prefix*, the tags for that group are available as Xmp.Exiv2.Tagname |
+ Many camera manufacturer tags are available and are accessed as
+ Many camera manufacturer's tags are available and are accessed as
different Exif groups, using the manufacturer's name as a prefix (e.g.,
CanonCs is the Camera Settings for a Canon camera). Groups called the
manufacturer name plus number, access the main tags in different file
@ -1107,11 +1130,11 @@ tags for all the different manufacturers is an ongoing task, only partial
support is available. The full unprocessed makernotes data is available
in [Exif.Photo.MakerNote](https://www.exiv2.org/tags.html).
+ Every Exif tag and IPTC dataset has a tag number (16 bit, 2 byte
integer), which is unique within a Group (to display, see [--Print x](#Print_flgs)).
+ Every Exif and IPTC tag has a tag number (16 bit, 2 byte integer),
which is unique within a Group (to display, see [--Print x](#Print_flgs)).
+ Some of the Exif tags and IPTC datasets are mirrored in the XMP
specification (see https://www.exiv2.org/metadata.html).
+ Some of the Exif and IPTC tags are mirrored in the XMP specification
(see https://www.exiv2.org/metadata.html).
+ The XMP specification is flexible and allows new custom 'Groups' and
'Tagnames' to be added (see [Adding new XMP tags](#add_xmp_tags) and
@ -1198,7 +1221,7 @@ The standard format for Exif and IPTC tags is:
Definition | Description |
|:------ |:---- |
| Family | Either 'Exif' or 'Iptc' |
| Group | The tag group within the family. e.g., for Exif, 'Image' |
| Group | The group within the family. e.g., for Exif, 'Image' |
| Tagname | The tagname within a family and group. e.g., For Exif.Image, 'Model' |
For example, Exif.Image.Model or Iptc.Application2.Subject .
@ -1212,8 +1235,8 @@ In addition to the standard key syntax, XMP can also use an extended format:
| Definition | Description |
|:------ |:---- |
| Family | i.e. 'Xmp' |
| Group | The tag group within the family. e.g., for Xmp, 'dc' |
| Family | i.e., 'Xmp' |
| Group | The group within the family. e.g., for Xmp, 'dc' |
| Tagname | The tagname within a family and group. e.g., For Xmp.dc, 'subject' |
| *\<index\>* | An integer (1,...,n) surrounded by square brackets (e.g., [n], is the n'th item in the 'array') |
| *\<value_types\>* | This is */name1* : *name2* (e.g., /dim:length). Within a *Family.Group.Tagname[n]* and nested arrays, only one type of */name1* identifier is allowed, but many *name2* values |
@ -1240,16 +1263,16 @@ available from: https://www.adobe.com/content/dam/acom/en/devnet/xmp/pdfs/XMPSDK
<divid="multi_elements">
### Multiple elements
Some IPTC datasets and XMP properties allow multiple elements to be
stored, although they both do this in different ways.
Some IPTC and XMP tags allow multiple elements to be stored, although
they both do this in different ways.
<divid="multi_elements_iptc">
#### IPTC
IPTC datasets marked as repeatable, can have multiple entries with the
same key (i.e. Family.Group.Tagname) in the image metadata (for
supported datasets, see https://www.exiv2.org/iptc.html, column R).
IPTC tags marked as repeatable, can have multiple entries with the same
key (i.e., Family.Group.Tagname) in the image metadata (for supported
tags, see https://www.exiv2.org/iptc.html, column R).
For example, a file containing three [Iptc.Application2.Subject](https://www.exiv2.org/iptc.html)