Andreas Huggel
687f9d9432
Added test for the type of the entries to decide if non-intrusive writing is possible. Fixes bug #452 .
2006-12-29 02:32:03 +00:00
Andreas Huggel
0723a62899
Removed trailing whitespace
2006-12-15 05:07:05 +00:00
Andreas Huggel
f381cb6966
Do not write TIFF header to JPEG images if the Exif data is empty. Fixes bug #498 .
2006-11-25 15:38:38 +00:00
Andreas Huggel
592ca5c711
Improved loading of JPEG data in case of problems. Existing Exif data is not modified until the new IFD0 is read successfully. Improved ExifData::clear()
2006-11-25 10:47:52 +00:00
Andreas Huggel
9daaaa3f6d
Fixed compiler warnings
2006-06-21 09:16:36 +00:00
Andreas Huggel
73c6be0749
Stripped trailing whitespace
2006-06-01 15:09:39 +00:00
Andreas Huggel
521cf5eb01
Added support for Minolta CameraSettings, part 2
2006-05-09 19:42:23 +00:00
Andreas Huggel
5b57a1749b
TIFF parser checkpoint (experimental): Improved CR2 support (changes in the TIFF structure table), added support for Jpeg thumbnails, enhanced TiffDirectory so that the next pointer is optional.
2006-04-23 08:05:55 +00:00
Andreas Huggel
1311ff7b10
Fixed buffer overflow in ExifData::load() when called with an empty buffer; marked the function as deprecated, as it will eventually disappear.
2006-04-10 12:23:49 +00:00
Andreas Huggel
ab10daa6d9
Removed trailing whitespace
2006-03-29 10:43:54 +00:00
Andreas Huggel
a1a5ff02b8
Fixed invalid type id for user comment tag, bug #451
2006-02-03 04:41:44 +00:00
Andreas Huggel
99b4e71459
Updated copyright and fsf address
2006-01-17 14:53:57 +00:00
Andreas Huggel
f4adc6528b
Changed Exif parser to skip broken Ifds if possible. Fixes bug #443 .
2005-11-12 17:10:47 +00:00
Andreas Huggel
8c623635e9
Changed hasMakerNote to return an IfdId instead of bool
2005-10-09 05:00:43 +00:00
Andreas Huggel
260b9af10b
Removed hasMakerNote() from ExifData and made it a free function. Added setting to generate an XML tagfile to Doxyfile.
2005-10-08 16:30:21 +00:00
Andreas Huggel
06e5c0719e
Removed trailing whitespace from source files
2005-10-08 11:25:44 +00:00
Andreas Huggel
489fff191d
Canon CRW read support, first try. Introduces a new approach to parsing metadata. Cluttered by some related additions to the Canon makernote note and a bit of cleanup.
2005-09-11 08:41:54 +00:00
Andreas Huggel
47aad1f393
Added experimental bool ExifData::hasMakerNote() method
2005-07-31 09:35:15 +00:00
Andreas Huggel
5823ceaff3
Changed Ifd::read() to allow it to access the complete Exif data buffer. Corresponding changes done to makernotes. Fixes bug #424 .
2005-07-31 08:50:09 +00:00
Andreas Huggel
1a2183c2ea
This should fix 'unused parameter' warnings reported on Mac OS 10.4.1 Tiger / gcc4. To be confirmed.
2005-07-24 04:09:51 +00:00
Andreas Huggel
043a4a348b
Added #ifndef SUPPRESS_WARNINGS blocks around all output from the library: compile with -DSUPPRESS_WARNINGS for a quiet library
2005-07-09 10:38:09 +00:00
Andreas Huggel
7d3f50c244
Minor changes (moved inline functions which throw to *.cpp files)
2005-07-08 15:50:52 +00:00
Andreas Huggel
a70511cc4a
Changed MakerNoteFactory according to ImageFactory. Removes the need to link applications with mn.o. Fixes bug #427
2005-05-28 05:48:43 +00:00
Andreas Huggel
55aebc0686
Overhauled exception handling. The new class Error has a list of error messages, which is selected based on the error code provided in the constructor.
...
Image::read/writeMetadata and ImageFactory::open now throw Error in case of failure. Applications therefore now need an exception handler for the error handling of such function calls. This should result in shorter and simpler application code.
2005-04-17 11:51:32 +00:00
Andreas Huggel
90a707fa2e
Fixed bugs found on MinGW and with MSVC. iotest still misteriously fails.
2005-04-10 09:00:47 +00:00
Andreas Huggel
6a675f3d82
Added support for Canon Camera settings 1/2 and Custom Functions tags
2005-04-10 04:06:05 +00:00
Andreas Huggel
1f82dffcfa
Added type information to Exif tag tables. Updated comment example, documentation and tests. Implements feature #425
2005-03-26 17:25:52 +00:00
Andreas Huggel
adb618fcf9
More clean-up, updated component dependency graph
2005-03-19 14:56:47 +00:00
Andreas Huggel
2347ae9e0a
Cleaned up exif.hpp dependencies
2005-03-19 10:59:49 +00:00
Andreas Huggel
59e1a6f29f
Added an EXV_ prefix to precompiler defines (still not to all yet - I don't like the idea of "exv_size_t" or "exv_const" - but hopefully to those more likely to create conflicts). Fixes bug #420
2005-03-19 06:50:19 +00:00
Andreas Huggel
54a42fc1f7
Generalized and cleaned-up makernote handling
2005-03-13 12:52:56 +00:00
Andreas Huggel
8521dead83
Added 2005 to Copyright lines
2005-03-12 16:43:06 +00:00
Andreas Huggel
2a0149184a
Fixes and cosmetic changes; all tests now pass again, finally!
2005-03-12 10:54:52 +00:00
Andreas Huggel
8221293072
Completed ExifData assignment operator and copy constructor, added related code and tests. Fixes bug #417
2005-02-21 15:57:10 +00:00
brad
0cab366ec2
Merges all changes from the insideout branch back into trunk. This includes the IO abstraction code, split-up of image.cpp, and inside-out design change ( #402 , #403 , and #404 ).
2005-01-16 09:22:28 +00:00
Andreas Huggel
5ea6544c6d
Fixed bug #407 (that was easier than I first thought)
2005-01-13 15:55:05 +00:00
Andreas Huggel
72f9786ad3
Added very basic assignment op and copy constructor to ExifData - untested
2004-12-22 10:34:32 +00:00
Andreas Huggel
c8d9fe0b35
Changed operator hack to be more consistent, added op=(const Value&)
2004-12-10 18:04:07 +00:00
Andreas Huggel
4b86ee4583
Fixed ExifData::eraseThumbnail(). Bug #401
2004-12-05 04:13:00 +00:00
Andreas Huggel
57a5b8c422
Undid changes from rev 421 (doesn't compile with g++), moved definitions of Exifdatum::op= to exif.cpp
2004-12-03 16:00:55 +00:00
Andreas Huggel
bd5b6d2ccc
Added ExifData setJpegThumbnail and op[] and Exifdatum op=. With the operator stuff you can now do things like: exifData["Exif.Thumbnail.Compression"] = uint16_t(6);
2004-11-29 15:00:55 +00:00
Andreas Huggel
c4eca96836
Revamped Thumbnail classes to use the new data area feature. Implements feature #398 .
2004-11-24 12:32:21 +00:00
Andreas Huggel
974d5e4637
Added data area concept to Value, ValueType, Entry, Ifd. Implements feature #395
2004-11-14 16:33:04 +00:00
brad
77d3d5621a
added subversion style keywords
2004-11-09 19:10:37 +00:00
Andreas Huggel
44d0deac92
Converted Value hierarchy to use std::auto_ptr where appropriate
2004-10-16 06:43:40 +00:00
Andreas Huggel
e20bffaec7
Converted Key hierarchy to use std::auto_ptr where appropriate
2004-10-16 04:43:21 +00:00
Andreas Huggel
8551c935f8
Changed MakerNote class hierarchy to use std::auto_ptr where appropriate
2004-10-14 16:42:57 +00:00
Andreas Huggel
f40fba88bf
Added Image::AutoPtr and related updates
...
Changed some local buffers to DataBuf
2004-10-12 16:23:08 +00:00
Andreas Huggel
79721d04e0
Move ExifKey to component tags, moved IptcKey to component datasets
2004-09-29 13:48:55 +00:00
Andreas Huggel
25404d55e5
Minor changes
2004-09-21 15:57:55 +00:00
Andreas Huggel
9b6e62c552
Added support to build a MakerNote from scratch
2004-09-19 09:22:20 +00:00
Andreas Huggel
1efd83bf04
Minor cleanup
2004-09-18 16:28:15 +00:00
Andreas Huggel
e88a307858
Improved and cleaned-up ExifKey implementation
2004-09-18 15:58:03 +00:00
Andreas Huggel
a25763d070
Replaced custom integer types with C99 types
2004-09-15 13:14:52 +00:00
Andreas Huggel
54e126d3e4
Appended one more Id to an Ifd id to work around a g++-3.4
2004-09-05 05:48:01 +00:00
Andreas Huggel
5e050bce0a
Appended 'Id' to Ifd ids to work around a g++-3.4 problem
2004-09-04 09:28:36 +00:00
Andreas Huggel
6b0489a02f
More patches for masked Exiv2::ifd0 and Exiv2::exifIfd (Joseph Heled)
2004-09-04 08:56:54 +00:00
Andreas Huggel
0147a77c7b
Added Key, ExifKey and IptcKey class hierarchy
...
Changed Exif keys to 'Exif.ifdItem.tagName'
2004-09-04 08:42:56 +00:00
Andreas Huggel
cb164f712f
Added check if file exists before calls to ImageFactory::open
2004-08-21 15:39:43 +00:00
Andreas Huggel
166e6f7928
Added full IPTC read and write support (Brad, bs_3.patch)
2004-08-12 03:57:27 +00:00
Andreas Huggel
93d8dd7e1f
Fix for masked Exiv2::ifd1 (Joseph Heled)
2004-07-28 15:55:07 +00:00
Andreas Huggel
735bb60985
Removed obsolete includes
2004-07-26 14:41:45 +00:00
Andreas Huggel
9d72b7d1ec
Revamped image and introduced byte* interface (Brad, bs_1.patch with minor modifications by ahu)
2004-07-26 08:11:38 +00:00
Andreas Huggel
d3ee3bdc9a
Really fixed ExifData::copyFromMetadata to automatically add missing offset tags
2004-06-27 04:54:49 +00:00
Andreas Huggel
3156f53a25
Delete Exif section from the file when writing an empty ExifData
2004-06-20 06:29:14 +00:00
Andreas Huggel
8f445fa016
* Fixed MSVC errors and warnings (Steve, sking_5.patch)
...
* Fixed ExifData::copyFromMetadata to automatically add missing offset tags
* Fixed an embarassing bug in ExifData::updateEntries, which caused write
after erasing metadata to write back the original metadata.
2004-06-19 11:31:34 +00:00
Andreas Huggel
b921d51d1b
Attempt for a fix for copyFromMetadata. Not complete.
2004-06-10 16:18:18 +00:00
Andreas Huggel
f98f131244
Added the makernote buffer to the arguments passed to the create function. This allows the makernote create function to determine the exact makernote needed based on its
...
content. The new concept is used to automatically determine which of the three Nikon makernotes to create.
2004-05-26 01:59:07 +00:00
Andreas Huggel
fdfb5fee63
Added warning when makernote cannot be read
2004-05-25 05:55:58 +00:00
Andreas Huggel
59edeff2d8
Added len argument and boundary checks to various read functions and slightly improved error handling
2004-05-13 16:12:12 +00:00
Andreas Huggel
cbb1c15810
Changed namespace name Exif to Exiv2
2004-05-08 09:25:17 +00:00
Andreas Huggel
0b24a0ad29
makernote:
...
Added MakerNote::offset()
Fixed IfdMakerNote::copy() for IfdMakerNote with a prefix
Various doc fixes
ifd:
Fixed Ifd::erase(pos) to return an iterator
Added Ifd::dataOffset()
Various doc fixes
exif:
Added Thumbnail::offset()
Fixed ExifData::eraseThumbnail()
Fixed ExifData::erase(pos) to return an iterator
2004-05-07 05:09:57 +00:00
Andreas Huggel
99a87043a4
Workaround for MinGW bug: use remove() before rename()
2004-04-23 13:55:42 +00:00
Andreas Huggel
20bcdef949
Use DataBuf for temporary data buffers
2004-04-03 03:47:41 +00:00
Andreas Huggel
57cdf19286
Added support to read from / write to *.exv files, made return values of writeThumbnail consistent with those of other write functions
2004-04-02 09:59:16 +00:00
Andreas Huggel
2db819ccb6
Implemented erase Exif data
2004-04-01 08:34:50 +00:00
Andreas Huggel
f520a571a6
Avoid opening the image twice on read and write
2004-03-31 12:03:02 +00:00
Andreas Huggel
7d7322dff7
Implemented ImageFactory::create() and its use in ExifData
2004-03-31 02:53:21 +00:00
Andreas Huggel
3681403ac4
Naming convention: Renamed data members xyz_ that are pointers to pXyz_
2004-03-23 02:55:12 +00:00
Andreas Huggel
a0a42b148e
Added Thumbnail class hierarchy and support to erase thumbnails
2004-03-22 08:51:07 +00:00
Andreas Huggel
532b0c33a7
Added Thumbnail::dataSize
2004-03-20 10:41:20 +00:00
Andreas Huggel
bac67ee39f
Use assert macro where appropriate
2004-03-20 05:35:10 +00:00
Andreas Huggel
8a776d2f44
Supported MakerNote byte order and invalidTypeId
2004-03-18 16:04:53 +00:00
Andreas Huggel
6c389a708b
Fixed TIFF thumbnail bug in Thumbnail::updateTiffImage
2004-03-09 05:43:08 +00:00
Andreas Huggel
eb9541f172
Makernote write support, part 3 (differentiate memory management modes, do not sort makernote)
2004-03-09 04:29:45 +00:00
Andreas Huggel
cdae02333f
Makernote write support, part 2
2004-03-08 16:37:25 +00:00
Andreas Huggel
7174da0192
Auto-registration of MakerNote subclasses in the factory, combined mnfactory and makernote into one component again
2004-03-08 02:20:03 +00:00
Andreas Huggel
6cafaf11e3
Split makernote component in makernote, mnfactory and canonmn
2004-03-07 11:02:58 +00:00
Andreas Huggel
1daee4d7ae
Changes for makernote write support, documentation updates
2004-03-07 08:47:20 +00:00
Andreas Huggel
03f2f15d98
Bugfixes (creation of Metadatum with 2 shorts instead of 1, duplicate StripOffset tags in thumbnail IFD) and change of makeKey() signature
2004-03-06 06:35:25 +00:00
Andreas Huggel
fdd338981a
MakerNote related changes and Entry clean-up
2004-02-21 12:02:24 +00:00
Andreas Huggel
6749046e40
Divided exif.[ch]pp into components
2004-02-11 06:39:36 +00:00
Andreas Huggel
8f4668a6e9
Added printing of the interpreted metadatum value
2004-02-10 09:25:09 +00:00
Andreas Huggel
9cf3e66801
Fixed blunders related to non-intrusive writing: Ambiguous Ifd constructor, incomplete implementation of updateIfds
2004-02-10 02:39:34 +00:00
Andreas Huggel
f3a3e32ac2
Implemented "non-intrusive write support", part 2 and JPEG file write support
2004-02-06 12:13:32 +00:00
Andreas Huggel
214a00b842
Added thumbnail type none, added ifd and TIFF header to thumbnail
2004-02-05 03:45:20 +00:00
Andreas Huggel
cd45eb0e5c
Bugfixes: use the correct version of delete
2004-02-05 01:24:27 +00:00
Andreas Huggel
39172050a8
Implemented ExifData::copy() and related Thumbnail stuff
2004-02-03 12:24:35 +00:00
Andreas Huggel
a4a95c0aec
Added RCS id to each *.cpp file
2004-02-02 02:44:26 +00:00
Andreas Huggel
ff2fdd3b9f
Implemented IFD logic to support "non-intrusive write operations", part 1
2004-01-31 02:55:20 +00:00