Added some basic CRW mapping documentation and a few unknown tags to the Canon Makernote (in order to define the type)
This commit is contained in:
parent
7eac9bbe92
commit
4488e2c204
145
doc/templates/__CrwMapping__
vendored
Normal file
145
doc/templates/__CrwMapping__
vendored
Normal file
@ -0,0 +1,145 @@
|
||||
<table class="ReportTable" id="CrwMapping" cellspacing="0">
|
||||
<colgroup>
|
||||
<col>
|
||||
<col>
|
||||
<col>
|
||||
</colgroup>
|
||||
<thead><tr>
|
||||
<th>Exif Key</th>
|
||||
<th align="right">CRW Tag</th>
|
||||
<th align="right">CRW Directory</th>
|
||||
</tr></thead>
|
||||
<tbody>
|
||||
<tr class="OddRow">
|
||||
<td>Mapped to the image comment</td>
|
||||
<td>0x0805</td>
|
||||
<td>0x300a</td>
|
||||
</tr>
|
||||
<tr class="EvenRow">
|
||||
<td>Exif.Image.Make <br>
|
||||
Exif.Image.Model</td>
|
||||
<td>0x080a</td>
|
||||
<td>0x2807</td>
|
||||
</tr>
|
||||
<tr class="OddRow">
|
||||
<td>Exif.Canon.FirmwareVersion</td>
|
||||
<td>0x080b</td>
|
||||
<td>0x3004</td>
|
||||
</tr>
|
||||
<tr class="EvenRow">
|
||||
<td>Exif.Canon.OwnerName</td>
|
||||
<td>0x0810</td>
|
||||
<td>0x2807</td>
|
||||
</tr>
|
||||
<tr class="OddRow">
|
||||
<td>Exif.Canon.ImageType</td>
|
||||
<td>0x0815</td>
|
||||
<td>0x2804</td>
|
||||
</tr>
|
||||
<tr class="EvenRow">
|
||||
<td>Exif.Canon.0x0002</td>
|
||||
<td>0x1029</td>
|
||||
<td>0x300b</td>
|
||||
</tr>
|
||||
<tr class="OddRow">
|
||||
<td>Exif.CanonCs2.* <br>
|
||||
Exif.Photo.FNumber (not used on write) <br>
|
||||
Exif.Photo.ExposureTime (not used on write)</td>
|
||||
<td>0x102a</td>
|
||||
<td>0x300b</td>
|
||||
</tr>
|
||||
<tr class="EvenRow">
|
||||
<td>Exif.CanonCs1.*</td>
|
||||
<td>0x102d</td>
|
||||
<td>0x300b</td>
|
||||
</tr>
|
||||
<tr class="OddRow">
|
||||
<td>Exif.CanonCf.*</td>
|
||||
<td>0x1033</td>
|
||||
<td>0x300b</td>
|
||||
</tr>
|
||||
<tr class="EvenRow">
|
||||
<td>Exif.Canon.PictureInfo</td>
|
||||
<td>0x1038</td>
|
||||
<td>0x300b</td>
|
||||
</tr>
|
||||
<tr class="OddRow">
|
||||
<td>Exif.Canon.WhiteBalanceTable</td>
|
||||
<td>0x10a9</td>
|
||||
<td>0x300b</td>
|
||||
</tr>
|
||||
<tr class="EvenRow">
|
||||
<td>Exif.Photo.ColorSpace</td>
|
||||
<td>0x10b4</td>
|
||||
<td>0x300b</td>
|
||||
</tr>
|
||||
<tr class="OddRow">
|
||||
<td>Exif.Canon.0x00b5</td>
|
||||
<td>0x10b5</td>
|
||||
<td>0x300b</td>
|
||||
</tr>
|
||||
<tr class="EvenRow">
|
||||
<td>Exif.Canon.0x00c0</td>
|
||||
<td>0x10c0</td>
|
||||
<td>0x300b</td>
|
||||
</tr>
|
||||
<tr class="OddRow">
|
||||
<td>Exif.Canon.0x00c1</td>
|
||||
<td>0x10c1</td>
|
||||
<td>0x300b</td>
|
||||
</tr>
|
||||
<tr class="EvenRow">
|
||||
<td>Exif.Photo.SubjectDistance</td>
|
||||
<td>0x1807</td>
|
||||
<td>0x3002</td>
|
||||
</tr>
|
||||
<tr class="OddRow">
|
||||
<td>Exif.Canon.SerialNumber</td>
|
||||
<td>0x180b</td>
|
||||
<td>0x2807</td>
|
||||
</tr>
|
||||
<tr class="EvenRow">
|
||||
<td>Exif.Photo.DateTimeOriginal</td>
|
||||
<td>0x180e</td>
|
||||
<td>0x300a</td>
|
||||
</tr>
|
||||
<tr class="OddRow">
|
||||
<td>Exif.Photo.PixelXDimension <br>
|
||||
Exif.Photo.PixelYDimension</td>
|
||||
<td>0x1810</td>
|
||||
<td>0x300a</td>
|
||||
</tr>
|
||||
<tr class="EvenRow">
|
||||
<td>Exif.Canon.ImageNumber</td>
|
||||
<td>0x1817</td>
|
||||
<td>0x300a</td>
|
||||
</tr>
|
||||
<tr class="OddRow">
|
||||
<td>Exif.Canon.0x0015</td>
|
||||
<td>0x183b</td>
|
||||
<td>0x300b</td>
|
||||
</tr>
|
||||
<tr class="EvenRow">
|
||||
<td>Exif.Thumbnail.Compression <br>
|
||||
Exif.Thumbnail.JPEGInterchangeFormat <br>
|
||||
Exif.Thumbnail.JPEGInterchangeFormatLength</td>
|
||||
<td>0x2008</td>
|
||||
<td>root</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table><script type="text/javascript">
|
||||
//
|
||||
var CrwMapping = new SortableTable(
|
||||
document.getElementById("CrwMapping"),
|
||||
["String", "String", "String"]
|
||||
);
|
||||
CrwMapping.onsort = function () {
|
||||
var rows = CrwMapping.tBody.rows;
|
||||
var l = rows.length;
|
||||
for (var i = 0; i < l; i++) {
|
||||
removeClassName(rows[i], i % 2 ? "OddRow" : "EvenRow");
|
||||
addClassName(rows[i], i % 2 ? "EvenRow" : "OddRow");
|
||||
}
|
||||
};
|
||||
//
|
||||
</script>
|
||||
7
doc/templates/__index3__
vendored
Normal file
7
doc/templates/__index3__
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="crw-mapping.html"><span>Canon CRW</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<h1>Exiv2 supported Raw File Formats</h1>
|
||||
36
doc/templates/crw-mapping.html.in
vendored
Normal file
36
doc/templates/crw-mapping.html.in
vendored
Normal file
@ -0,0 +1,36 @@
|
||||
__doctype__
|
||||
<html>
|
||||
__header2__
|
||||
<body>
|
||||
|
||||
<div id="content">
|
||||
__index1__
|
||||
__index3__
|
||||
<h2>Canon CRW files: Mapping of CIFF to Exif tags</h2>
|
||||
<div>
|
||||
|
||||
<p> CRW files are encoded in CIFF format. CIFF format consists of a
|
||||
header and a hierarchy of directories and entries, similar to TIFF
|
||||
(but easier to deal with). In Exiv2, there is no CRW or CIFF type of
|
||||
metadata. Instead, known and suitable CIFF tags are mapped to Exif
|
||||
metadata, but not all CIFF tags are mapped. Exiv2 reads Canon CRW
|
||||
files, parses the CIFF structure and maps known and suitable tags to
|
||||
Exif metadata. Writing to CRW files entails a reverse mapping from
|
||||
Exif metadata to the CIFF tags. This way it is possible, e.g., to
|
||||
adjust the date when the image was taken by reading the CRW file,
|
||||
modifying Exif.Photo.DateTimeOriginal and writing the Exif data back
|
||||
to a CRW file. Tags for which there is no mapping defined are ignored
|
||||
during both, reading and writing.</p>
|
||||
|
||||
<p>Reference: <a href="http://www.sno.phy.queensu.ca/~phil/exiftool/canon_raw.html">The Canon RAW (CRW) File Format</a> by Phil Harvey.</p>
|
||||
|
||||
<p>Exiv2 supports the mappings listed in the table below.</p>
|
||||
<p>Click on a column header to sort the table.</p>
|
||||
|
||||
</div>
|
||||
__CrwMapping__
|
||||
</div>
|
||||
<!-- closes content -->
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@ -90,6 +90,9 @@ namespace Exiv2 {
|
||||
TagInfo(0x000f, "CustomFunctions", "CustomFunctions", "Custom Functions", canonIfdId, makerTags, unsignedShort, printValue),
|
||||
TagInfo(0x0012, "PictureInfo", "PictureInfo", "Picture info", canonIfdId, makerTags, unsignedShort, printValue),
|
||||
TagInfo(0x00a9, "WhiteBalanceTable", "WhiteBalanceTable", "White balance table", canonIfdId, makerTags, unsignedShort, printValue),
|
||||
TagInfo(0x00b5, "0x00b5", "0x00b5", "Unknown", canonIfdId, makerTags, unsignedShort, printValue),
|
||||
TagInfo(0x00c0, "0x00c0", "0x00c0", "Unknown", canonIfdId, makerTags, unsignedShort, printValue),
|
||||
TagInfo(0x00c1, "0x00c1", "0x00c1", "Unknown", canonIfdId, makerTags, unsignedShort, printValue),
|
||||
// End of list marker
|
||||
TagInfo(0xffff, "(UnknownCanonMakerNoteTag)", "(UnknownCanonMakerNoteTag)", "Unknown CanonMakerNote tag", canonIfdId, makerTags, invalidTypeId, printValue)
|
||||
};
|
||||
|
||||
@ -21,7 +21,7 @@
|
||||
%Exiv2 keys and standard C++ iterators
|
||||
- a smart Iptc implementation that does not effect data that programs like
|
||||
Photoshop store in the same image segment
|
||||
- Exif %MakerNote support:
|
||||
- Exif <A HREF="makernote.html">MakerNote</A> support:
|
||||
- %MakerNote tags can be accessed just like any other Exif metadata
|
||||
- a sophisticated write algorithm avoids corrupting the %MakerNote:
|
||||
<br> 1) the %MakerNote is not re-located if possible at all, and
|
||||
@ -41,7 +41,7 @@
|
||||
<A HREF="getting-started.html">A few pointers</A> to get you started with
|
||||
the %Exiv2 library without delay.
|
||||
|
||||
@section metadata Supported Exif and MakerNote tags and Iptc datasets
|
||||
@section metadata Exif and MakerNote tags and Iptc datasets
|
||||
|
||||
- <A HREF="tags-exif.html">Standard Exif tags</A>
|
||||
- <A HREF="tags-canon.html">Canon MakerNote tags</A>
|
||||
@ -53,10 +53,9 @@
|
||||
- <A HREF="tags-sony.html">Sony MakerNote tags</A>
|
||||
- <A HREF="tags-iptc.html">Iptc datasets</A>
|
||||
|
||||
@section makernote MakerNote Formats and Specifications
|
||||
@section formats Raw File Formats
|
||||
|
||||
A summary of <A HREF="makernote.html">MakerNote structures</A> with links to
|
||||
publicly available specifications.
|
||||
- <A HREF="crw-mapping.html">Canon CRW</A>
|
||||
|
||||
@section supp Support
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user