[SCM] exiv2 packaging branch, master, updated. debian/0.25-3.1-3734-gdcbc29a
Maximiliano Curia
maxy at moszumanska.debian.org
Thu Jul 13 17:37:23 UTC 2017
Gitweb-URL: http://git.debian.org/?p=pkg-kde/kde-extras/exiv2.git;a=commitdiff;h=4488e2c
The following commit has been merged in the master branch:
commit 4488e2c204f11fb24939a7b11da6e62c3c60ad25
Author: Andreas Huggel <ahuggel at gmx.net>
Date: Fri Jan 20 06:12:27 2006 +0000
Added some basic CRW mapping documentation and a few unknown tags to the Canon Makernote (in order to define the type)
---
doc/templates/__CrwMapping__ | 145 ++++++++++++++++++++++++++++++++++++++
doc/templates/__index3__ | 7 ++
doc/templates/crw-mapping.html.in | 36 ++++++++++
src/canonmn.cpp | 3 +
src/doxygen.hpp | 9 ++-
5 files changed, 195 insertions(+), 5 deletions(-)
diff --git a/doc/templates/__CrwMapping__ b/doc/templates/__CrwMapping__
new file mode 100644
index 0000000..ea42201
--- /dev/null
+++ b/doc/templates/__CrwMapping__
@@ -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>
diff --git a/doc/templates/__index3__ b/doc/templates/__index3__
new file mode 100644
index 0000000..bf765c3
--- /dev/null
+++ b/doc/templates/__index3__
@@ -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>
diff --git a/doc/templates/crw-mapping.html.in b/doc/templates/crw-mapping.html.in
new file mode 100644
index 0000000..c92fd0c
--- /dev/null
+++ b/doc/templates/crw-mapping.html.in
@@ -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>
diff --git a/src/canonmn.cpp b/src/canonmn.cpp
index 4e55ca0..d9c2f1e 100644
--- a/src/canonmn.cpp
+++ b/src/canonmn.cpp
@@ -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)
};
diff --git a/src/doxygen.hpp b/src/doxygen.hpp
index e3ac253..ebbaf92 100644
--- a/src/doxygen.hpp
+++ b/src/doxygen.hpp
@@ -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
--
exiv2 packaging
More information about the pkg-kde-commits
mailing list