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:
Andreas Huggel 2006-01-20 06:12:27 +00:00
parent 7eac9bbe92
commit 4488e2c204
5 changed files with 195 additions and 5 deletions

145
doc/templates/__CrwMapping__ vendored Normal file
View 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
View 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
View 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>

View File

@ -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)
};

View File

@ -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>&nbsp;&nbsp;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