Peter Kovář
92469f4c27
[WIP] Add ISO/IEC Base Media File Format
4 years ago
Miloš Komarčević
98f4effeea
Add DateTimeOriginal to easyaccess
5 years ago
Miloš Komarčević
189e0c9338
Add more easy accessors for Exif & TIFF/EP overlap
5 years ago
Luis Díaz Más
b304244766
Move winsock2 inclusion to http.cpp
5 years ago
Robin Mills
604a268059
Second effort to unexpose winsock2.h from include <exiv2/exiv2.hpp> using EXIV2_BUILDING_EXIV2 mechanism.
5 years ago
clanmills
7ff0e0613a
fix_1335_winsock2_0.27
5 years ago
clanmills
96ddbc3738
Remove bigtiffimage.hpp from include/exiv2/CMakeLists.txt
5 years ago
clanmills
48afa7548d
fix_1329_remove_bigtiff_0.27
5 years ago
Luis Díaz Más
f39b23806b
Assume existence of stdint.h
5 years ago
Robin Mills
7bf40a2408
fix_1211_c++11_0.27. I'll explain this in the PR.
5 years ago
clanmills
529ffdc418
Use using auto_ptr = std::unique_ptr<T>; on all C++11 (and greater) platforms. Don't include unistd.h on MSVC.
5 years ago
Robin Mills
cd5512e761
WIP. C++11 support
5 years ago
clanmills
f1182b8d73
Only #include<memory> when C++ >= C++11
5 years ago
clanmills
c423b91b92
Change config.h to compile isatty() and getpid() on macOS when -DCMAKE_CXX_STANDARD=98
5 years ago
clanmills
e0f65f7e75
Always include <memory.h> before discussing auto_ptr
5 years ago
clanmills
63a13e8620
Adding option -DEXIV2_BUILD_USE_C++11
5 years ago
Robin Mills
76d2798172
Pushing very helpful suggestion by @lantw44
6 years ago
clanmills
94a777609e
fix947_FreeBSD_BasicError_typeinfo
6 years ago
Kevin Backhouse
86816c0280
Fix signed/unsigned mismatch.
6 years ago
Kevin Backhouse
caa4e6745a
Avoid negative integer overflow when `filesize < io_->tell()`.
...
This fixes #791 .
6 years ago
Michał Walenciak
a7340a3801
removinf usage of EXIV2_DEPRECATED macro
...
It can expand to [[deprecated]] which cannot be combined
with result of EXIV2API macro expansion: __attribute__(...)
6 years ago
Luis Díaz Más
704fc56d52
Keep the profileName from readMetadata and use it in writeMetadata
6 years ago
Luis Diaz Mas
42d79e87aa
Deprecate SshIo, Video, EPS and SSH classes
7 years ago
Luis Díaz Más
04c9b181cc
Fix #644 . Export specializations of BasicError
...
- Only export BasicError::setMsg which is the only implementation present in the .cpp
- Only export BasicError specialization on __APPLE__
It seems that gcc automatically adds the attribute when the visibility
settings are set to hidden. See this link for more information:
https://reviews.llvm.org/D35388
7 years ago
Luis Diaz Mas
6f8d8e3da6
cleanup header inclusions in API
7 years ago
Luis Diaz Mas
4bd7e9ef1f
Include exiv2lib_export.h in all public headers
7 years ago
Andreas Schneider
ed3a0f1341
cmake: Install header files without globbing
...
Fixes #627
Signed-off-by: Andreas Schneider <asn@cryptomilk.org>
(cherry picked from commit 0b34ccb9a3b26cd1c5267c6a5c15e9fa1a665adb)
7 years ago
Robin Mills
54d4507a4d
Fix: https://github.com/Exiv2/exiv2/issues/584
7 years ago
Robin Mills
6f3e10779e
Fix: https://github.com/Exiv2/exiv2/issues/576
7 years ago
clanmills
c22a38cfb4
Fix for https://github.com/Exiv2/exiv2/issues/560 (eraseFamily() crashes in MSVC/Debug).
7 years ago
Robin Mills
1b136f0657
Revision to PR#557. Restored XmpData::erase() and added XmpData::eraseFamily(). Restored and augumented conversions.sh
7 years ago
Robin Mills
ccd708df24
Fix: https://github.com/Exiv2/exiv2/issues/521
...
conversions.sh reveals a (harmless) order change runTest exiv2 -M'set Xmp.xmp.ModifyDate 2015-04-17T18:10:22Z' v.xmp
7 years ago
Robin Mills
89375979d8
https://github.com/Exiv2/exiv2/issues/555
...
I have restored the Macro EXIV2_TEST_VERSION in include/exiv2/version.hpp
I have added an option --version-test to exifprint.cpp to test/validate EXIV2_TEST_VERSION works as documented.
Version strings in Exiv2 v0.27 and later have a fourth digit to indicate the pre-release number of the build.
Pre-release builds should never be used for production purposes.
7 years ago
Luis Díaz Más
b208bcef7d
CMake: CURL does not need to be propagated
7 years ago
Luis Díaz Más
44a01863be
Include unistd.h only where it is needed
7 years ago
Luis Díaz Más
38ed6de05d
MSVC: Move compile definitions from config.h to CMake.
...
+ Also remove inclusion of <Windows.h> from config.h
7 years ago
Luis Díaz Más
8bf9ca8e6d
MSVC: Delete deprecated stuff related to MSVC < 2008
7 years ago
Luis Díaz Más
7485bb54d7
Create function getProcessPath and add unit test for it
...
Debugging: Relative and Absolute path alternatives
7 years ago
Luis Díaz Más
e20329b8e0
Remove EXV_HAVE_DLL and disable C4251 always on msvc.
7 years ago
Luis Díaz Más
417ad89e4b
Pass argument by const reference
7 years ago
Luis Díaz Más
59ba209fe8
Move BlockMap to .cpp file (Remove it from API)
...
- Also make some BlockMap methods const
7 years ago
Luis Díaz Más
cd09cda6ff
Clarify calculation precedence for >> and ?
7 years ago
Luis Díaz Más
dc7eb5008b
Add explicit to constructors with 1 argument
7 years ago
Robin Mills
12d44f8f17
Fix https://github.com/Exiv2/exiv2/issues/468
7 years ago
Dan Čermák
962962a8e9
Port Iptc::printStructure & getUshort to slices API
...
This fixes #211 , #210 , #209
7 years ago
Dan Čermák
98bca06592
Add Slices: views of STL containers & C-arrays and add unit tests
...
This commit adds a very simple implementation of std::span but with
mandatory range checks and only the most essential functionality.
7 years ago
Luis Díaz Más
19e740b447
Restore API functions remove in #450
7 years ago
Luis Díaz Más
18690f4c54
Provide default and copy constructor for AnyError
7 years ago
Luis Díaz Más
6e4404da81
Move implementation details from tags.cpp to tags_int.cpp
7 years ago
Luis Díaz Más
b9f913d5af
Move implementation to .cpp files. Fix more issues related to visibility settings
7 years ago
Luis Díaz Más
4574a659cc
Do not use EXIV2API where it is not needed
7 years ago
Luis Díaz Más
6ba4081f95
Use CMake-GenerateExportHeader to generate a macro to export symbols
...
- Delete the hardcoded macros in config.h taking care of that.
7 years ago
Luis Díaz Más
a0e7b7490f
Add MSVC definitions back that are still needed
7 years ago
Luis Díaz Más
78c0efeaef
Remove unused c++11 stuff from config.h
7 years ago
Luis Díaz Más
5c0a3b9786
Remove unused definitions from config.h
7 years ago
Luis Díaz Más
0da42d0399
Remove useless header inclusions from config.h
7 years ago
Luis Díaz Más
a6aeadc26b
Remove unused definitions for MSVC
7 years ago
Luis Díaz Más
ab6aac054a
Remove deprecated code from version source files
7 years ago
Luis Díaz Más
1871ce5acd
Remove 'version.hpp' inclusion from places where it is not needed
...
By removing the inclusion from types.hpp we avoid lots of recompilation
of source files.
7 years ago
Luis Díaz Más
808de65c37
Use CMake PROJECT_VERSION components in version files
7 years ago
Luis Díaz Más
2b74ad4feb
Default initialyze DataBuf::pData_ so that valgrind does not complain
7 years ago
Luis Díaz Más
603692a1d8
Copyright to Exiv2 authors
7 years ago
Luis Díaz Más
19d9ae844b
Remove hardcoded CURL_STATICLIB definition in config.h
7 years ago
Luis Díaz Más
4161099b91
Fix warnings reported by MSVC
7 years ago
clanmills
3c42fdddeb
Fix include <exiv2/exiv2.hpp> to include exiv2/config.h (and consequential changes)
...
Fix cltest.cpp and version.cpp to report MSVC 2017 in which _MSC_VER == 1910
7 years ago
Dan Čermák
9f1a5a1ebb
[futils] Change signature of getEnv to take an int
...
While taking an EnVar as the parameter is more clear it has the
disadvantage, that passing anything outside of the range of the
enumeration is undefined behavior. The compiler could then optimize
the range check in getEnv away (perfectly legal due to UB), leading
to buffer overreads.
7 years ago
Dan Čermák
11df43be78
[types] Apply Safe::abs() in floatToRationalCast & gcd
...
Also check for infinity in floatToRationalCast as depending on the
compiler special values of floats are converted to either
LONGMAX/LONGMIN or +/-inf
7 years ago
Luis Diaz Mas
eb306fdbae
Substitute malloc/free with new/delete
7 years ago
Luis Diaz Mas
08cbb0c206
Use header guards instead of pragma once
7 years ago
Luis Diaz Mas
5d76036af5
Add more tests for decoding and encoding URL functions
7 years ago
Luis Diaz Mas
eefee8125b
to_hex and from_hex removed from API
7 years ago
Luis Diaz Mas
22d9ab82a7
Format futils.h for better readability (also pass clang-format to it)
7 years ago
Luis Diaz Mas
c82d875707
Use pragma once instead of guards
7 years ago
Luis Diaz Mas
a3c200a23e
Remove useless header inclusions
7 years ago
Dan Čermák
b12a868454
Add EXV_WARN_UNUSED_RESULT macro & add it to DataBuf::release()
...
EXV_WARN_UNUSED_RESULT is a conditional macro that expands to either
__attribute__((warn_unused_result)) on gcc & clang or to _Check_return
for MSVC
=> Compiler warns if the return value is ignored
7 years ago
Dan Čermák
1b74db8f51
[types] Add DataBuf::free()
...
DataBuf::release() easily cause memory leaks, when the return value is
ignored. free() provides the desired behavior, when the internal data should
just be deleted and not used further.
7 years ago
Luis Diaz Mas
69ee165291
msvc: Remove manually generated configuration files for MSVC builds
7 years ago
tbeu
9c507b9d20
Fix function declaration
...
V762 It is possible a virtual function was overridden incorrectly. See third argument of function 'printStructure' in derived class 'TiffImage' and base class 'Image'. tiffimage.hpp 93
7 years ago
Luis Díaz Más
e32323d7c7
Simplify usage of strerror_r.
...
- Define STRERROR_R_CHAR_P properly on CMake and use it on futils.cpp
- We use now _GNU_SOURCE to determine which version of strerror_r to use
- strError only throws if ret==ERANGE
- Remove STRERROR_R_CHAR_P. It has been never used
- sort defines in config.h.cmake
- Remove EXV_HAVE_DECL_STRERROR_R that is not used anymore
- Remove EXV_HAVE_STRERROR. C++98 always will have it
7 years ago
Luis Díaz Más
f86542e5f6
Remove EXV_HAVE_STRTOL
7 years ago
Luis Díaz Más
d55b2b1b65
Remove HAVE_STDLIB_H check and replace stdlib.h by cstdlib
7 years ago
Luis Díaz Más
aded1965c5
Remove EXV_HAVE_MEMSET
7 years ago
Luis Díaz Más
abd28a6a9e
Remove EXV_HAVE_STRCHR
7 years ago
Dan Čermák
b1a31352b6
Add default constructor for XmpData
7 years ago
Dan Čermák
2bf89f4854
Store pointers to Impl classes in auto_ptr
...
Pimpl class Impl is stored in raw pointers which are allocated on the heap in
the constructor. However, the constructor can throw an exception resulting in a
memory leak as the destructor is **not** invoked.
=> A smart pointer is however properly deallocated.
7 years ago
Luis Díaz Más
bf7047a71b
clang-format XmpKey code
7 years ago
Luis Díaz Más
336b759cc0
Remove 'using namespace' from public header
7 years ago
Dan Čermák
22a7a8c2ed
Fix outdated documentation of PngImage::doWriteMetadata()
...
The function does not return anything, it only throws exceptions.
7 years ago
Dan Čermák
efe2ccdcb6
Replaced all hardcoded error codes with ker... constants
7 years ago
Dan Čermák
d897997b29
Force error code usage to construct a Exiv2::BasicError
...
changed parameter code_'s type from int to ErrorCode => requires the
usage of the enum constants
7 years ago
Dan Čermák
b80fa1b4ed
Added error codes from src/error.cpp into an enumeration
7 years ago
Luis Díaz Más
f36bea3801
exiv2::getEnv throws std::out_of_range on unexpected EnVar
...
This change define explicitly the behavior that exiv2::getEnv should have
on response to unexpected inputs.
There are some other minor changes:
- Use _putenv_s for the unit tests on Windows
- Add todo comment
- Remove deprecated note about freeing memory
8 years ago
Luis Díaz Más
8dc3c1f0a0
Replace malloc/free by new/delete. Use const char* for input arg
8 years ago
Luis Díaz Más
8b049922d7
Change exiv2::urlencode signature to return std::string
...
The goal of this change is to remove the responsibility from the client code to
free the memory of the returned string.
8 years ago
tbeu
5df8b01b77
Remove obsolete svn revision
8 years ago
Luis Díaz Más
4beb08e219
Merge pull request #105 from Kicer86/bigtiff
...
Work in progress - improvements for bigtiff
8 years ago
Michał Walenciak
2e535d8a27
trying to fix windows build
8 years ago
Luis Díaz Más
5b8894908b
Remove all references to EXV_HAVE_REGEX and related code
8 years ago
Luis Díaz Más
8ad49f6d73
Robin changes in sync with master changes
8 years ago
clanmills
6e3855aed7
Fix https://github.com/Exiv2/exiv2/issues/55
8 years ago
clanmills
e3298ab5e1
Integrating #55 and #78
8 years ago
Dan Čermák
d4e7510f7c
Added missing include for INT_MIN & INT_MAX constants
8 years ago
clanmills
8a8f60a4e7
Fix https://github.com/Exiv2/exiv2/issues/55 Thank You, Raphaël Hertzog.
8 years ago
Michał Walenciak
b6e79357de
Adding 8-byte swap functions + consts
8 years ago
Michał Walenciak
c008ad2403
making tag related functions private
8 years ago
Michał Walenciak
ca1929d88a
adding 64bit types
8 years ago
Michał Walenciak
ab27bfab3c
introducing getULongLong()
8 years ago
Michał Walenciak
bc6eed0b03
registering new file type
8 years ago
clanmills
d366943297
Refactoring EXV_USE_CURL and EXV_USE_SSH
8 years ago
Robin Mills
d356aaae95
cmakeBuild.cmd --webready working with VS 2005
8 years ago
clanmills
2828b11cf7
Build changes to support EXV_HAVE_REGEX and EXV_HAVE_REGEX_H
8 years ago
Robin Mills
31fc5d2e30
Merge pull request #62 from Kicer86/crash_fix
...
Fix for crash in multithread environment
8 years ago
Michał Walenciak
20582a93c6
Marking members in a proper way.
8 years ago
Michał Walenciak
4e25435afb
Changing return type of Image::tagName to std::string
8 years ago
Michał Walenciak
0d9552aede
adding comment
8 years ago
Michał Walenciak
ddb87fe0cf
Moving static tagName() into Image class to prevent multithread crashes.
...
static variables inside of tagName() were not protected against multithread access.
It could cause a crash in case of simultaneous initialization of map of tags.
8 years ago
Robin Mills
aac74efb8e
http://dev.exiv2.org/boards/3/topics/2872 I've removed the troublesome Visual Studio SRWLock code and use CRITICAL_SECTION for all msvc builds.
8 years ago
Robin Mills
afba52e042
Remove include tags_int.hpp from include/exiv2/*video.hpp files
8 years ago
Luis Diaz Mas
6be5278dd2
Fix inclusion of file
8 years ago
Luis Díaz Más
1c03767391
Move inclusion of private header from .hpp to .cpp (not needed in the .hpp)
8 years ago
clanmills
935421c855
Refactoring autotools to support ADOBE_XMPSDK (Work in Progress)
8 years ago
clanmills
62d24d3c77
Correction to previous commit.
8 years ago
clanmills
2e816165ea
Changes to autotools to support C++11 (work in progress)
8 years ago
clanmills
df53123cfb
Restoring exv_msvc.h for use by msvc/exiv2/libexiv2.vcproj
8 years ago
Luis Díaz Más
ea0c4899ff
Remove exv_msvc.h. It has the same content than exv_conf.h and we were getting lot of warnings when compiling with MSVC
8 years ago
Luis Diaz Mas
22efdffd1d
Use #ifdef instead of #if for EXV_HAVE_REGEX
8 years ago
Luis Diaz Mas
8c323cad04
Remove EXV_HAVE_STDINT_H definition that was causing warnings
8 years ago
Luis Diaz Mas
db5ce5ed82
Remove few unused variables declared in CMakeChecks.txt
8 years ago
Luis Diaz Mas
367d3b8a1e
Remove unused HAVE_WCHAR_H variable
8 years ago
Luis Diaz Mas
2887a0dbad
Remove unused HAVE_VPRINTF variable
8 years ago
Luis Diaz Mas
d85a7c6751
Remove unused HAVE_SYS_TIME_H and TM_IN_SYS_TIME variables
8 years ago
Luis Diaz Mas
1a34a55383
Handle HAVE_STRINGS_H variable in the new cmake file
8 years ago
Luis Diaz Mas
bfb849859a
Remove unused variable HAVE__BOOL
8 years ago
Luis Diaz Mas
72e12cdbf2
Remove unused variable HAVE_REALLOC
8 years ago
Luis Diaz Mas
d8ada323e3
Remove unused MALLOC variables
8 years ago
Luis Diaz Mas
09fc98eebf
Handle all the PACKAGE_XXX variables in the new cmake file
8 years ago
Luis Diaz Mas
485891b991
Remove unused definition HAVE_ALARM
8 years ago
clanmills
a9c9e8ff8e
Remove svn_version.h
8 years ago
Robin Mills
bf473ae718
#1292 Dimitri: Thank You for reporting this and providing the patch.
8 years ago
Robin Mills
559ace375b
#1291 Reverting change in r4763 relating to windows.h as they break the Cygwin build. Retain changes in exiv2/exiv2.hpp and exv_msvc.h
8 years ago
Robin Mills
f36cccefa2
#1291 include header simplification
8 years ago
Robin Mills
fb24a572c6
#1291 Thank you to T Modes for reporting this and providing this patch.
8 years ago
Robin Mills
73572aa54d
#1291 Fix submitted. Thank You to T Modes for reporting this issue.
8 years ago
Robin Mills
67859f4f4e
#1175 I'm going to accept the recommendation to change BasicIo::size() to return size_t. This passes the test suite. The only "ripple" outside of basicio is to iotest.cpp. This change enables several casts to be removed.
8 years ago
Robin Mills
73047ce568
#1279 Correction to r4748 which broke the CMake build.
8 years ago
Robin Mills
54408bac2f
#1279 Move src/ini_int.hpp to include/exiv2/ini.hpp to reveal class Exiv2:INIReader in API
8 years ago
Robin Mills
192a2a83cf
#1279 Cleaned up doxygen warnings for doc and website.
8 years ago
Robin Mills
199820576d
#1279 Work in Progress: API Documentation (doxygen)
8 years ago
Robin Mills
11993b3b55
#1271 Thanks to Ben for reporting this and providing the patch.
8 years ago
Robin Mills
85eb0da9d1
#1279 Bump EXIV2_MINOR_VERSION in include/exiv2/version.hpp
8 years ago
Robin Mills
6d5c2c3256
Getting ready to release v0.26
8 years ago
Robin Mills
54cfc47346
class RWLock should not be in the Exiv2::Internal namespace
8 years ago
Robin Mills
2ebacb6b0b
#1272 Use in-memory temporary files.
8 years ago
Robin Mills
9f06ff2971
#1272 Submitting modified version of Ben's patch.
8 years ago
Robin Mills
5392ada8f4
#1273 Thanks to A Wilcox for reporting this and providing the patch.
9 years ago
Robin Mills
81265684f0
#1108 Fixed bugs in printStructure(kpsRecursive) handling of RATIONAL data.
9 years ago
Robin Mills
0c57b55035
#1230 Fix msvc build breaker when building using configure.bat -W (with WebReady)
9 years ago
Robin Mills
03ca00fc1e
#1244 . Correction to r4637. Added bigBlock_(NULL) to BasicIo::BasicIo().
9 years ago
Robin Mills
a057af1616
#1244 . Removing experimental APIs introduced by r4637. I submitted those APIs just to retain the code somewhere. I have no plan to release such as API.
9 years ago
Robin Mills
f5956d5db2
#1230 Fixes to read tiff with web-ready. Includes the BasicIo expiremental API readUnmarked() and markRead() which I will remove later.
9 years ago
Robin Mills
774f96094c
#1243 Work-in-progress on iccProfile related code.
9 years ago
Robin Mills
163f3ce7f1
#1243 Work-in-progress on writing ICC profiles. Fixed elusive issue in exiv2 -pS foo.jp2
9 years ago
Robin Mills
05f56e95af
#1242 Issue warning when we encounter erroneous Exif\0\0 in the Exif UUID box.
9 years ago
Robin Mills
699e1c744e
#1243 Work in progress. Implemented jp2image::printStructure. Still to add iccProfile support to jp2image::writeMetadata()
9 years ago
Robin Mills
e922a066be
#1230 Fix cygwin buildbreaker.
9 years ago
Robin Mills
5282bc2120
#1230 More changes to pacify MinGW (the nightmare environment).
9 years ago
Robin Mills
cf284286d8
#1234 Fix submitted. Passes test suite littleEndian. To be tested on Mac Powerbook PPC bigEndian.
9 years ago
Robin Mills
5f1d52e497
#1230 Added stdin-test and fixing issue identified by the test.
9 years ago
Robin Mills
52f0bd2ea1
#1109 Work in Progress on MinGW/32. Put stdout into binary mode for options -pC -pX, -eABC-, -eABC-
9 years ago
Robin Mills
b46cac7790
#1126 Fixes submitted for msvc2003
9 years ago
Robin Mills
5edc759cc9
#1074 For discussion see: http://dev.exiv2.org/issues/1074#note-23
9 years ago
Robin Mills
9ff2224fd7
#1074 . Rollback r4479 which has inflicted a lot harm on the test harness.
9 years ago
Robin Mills
3aaebf50f7
#1074 Added ICC support to tiffimage.writeMetadata(). pngimage.readMetadata() is not complete.
9 years ago
Robin Mills
f44f706478
MinGW changes following discussion about building with Qt5.6/MinGW 4.9.2 http://dev.exiv2.org/boards/3/topics/2705
9 years ago
Robin Mills
9026954816
#1074 Work in progress for ICC/jpg - changes to readMetadata() and printStructure()
9 years ago
Robin Mills
5f9807cbef
#1216 . Rollback r4448/6/2/1 r4439/38 to restabilize test suite on trunk. r4449 is copy of r4448 to branches/develop
9 years ago
sridharb
d78dec24e3
Moved ExifDatum::ignore from exif.hpp to the exif.cpp.
...
This frees up exif.hpp from needing to include tags_int.hpp.
The downside is that this function is no longer inline.
9 years ago
sridharb
8a8ec67136
This is mainly a fix for #1206 , but also interprets missing Canon Exif
...
Tags in exiv2 with the help of Phil Harvey's exiftool (see
http://www.sno.phy.queensu.ca/~phil/exiftool/TagNames/Canon.html ).
Even with these changes (toward #1204 and #1205 ), exiv2 lags behind
exiftool in some areas of interpretation of Canon tags. Ideally, a
catch-up effort to bring the code in source: canonmn.cpp in line with
lib/Image/ExifTool/Canon.pm. v10.25 of exiftool was used as reference
for this change.
#1206 seeks to address the fact that when Canon does not have data for
certain tags, they use specific default values in those fields. These
default values need to be ignored and not displayed. This change
brings this feature to exiv2, something that already exiftool does.
With regards to implementation, the struct TagInfo in source: tags.hpp
is extended with four new fields.
The first field is a bool that if set to true (default false), denotes
that this field has ignorable default values.
The second field is the default value that needs to be ignored. This
can be of four types (String, Long, Float, Rational). These four types
were chosen as they had conversion functions in the Value class.
The third field is the comparison type (default equal_to). There are
six comparison types possible (equal_to, not_equal_to, less,
less_equal, greater, greater_equal). This is the comparison applied to
the value stored in the tag's field and the default value specified
above. For e.g. if the value in the tag Exif.CanonCs.RecordMode is -1,
then it needs to be ignored.
The fourth field is the data type (default Long). This could have been
guessed from the type of the second field, but that would necessitate
making this structure into a template calling for changes in multitude
of files.
Usage: In source: canonmn.cpp, several exif tags now have ignorable
default properties. I will list a few examples.
1. Exif.CanonCs.FocusMode: TagInfo(0x0007, "FocusMode", N_("Focus Mode"), N_("Focus mode setting"), canonCsId, makerTags, signedShort, 1, EXV_PRINT_TAG(canonCsFocusMode)),
There are no changes - i.e. this is an example of how the TagInfo
structure was being populated.
2. Exif.CanonCs.RecordMode: TagInfo(0x0009, "RecordMode", N_("Record Mode"), N_("Record mode setting"), canonCsId, makerTags, signedShort, 1, EXV_PRINT_TAG(canonCsRecordMode), true, s_1_),
Take a look at the two new arguments. The first one (true) specifies
that there is a default value that can be ignored. The second one s_1_
specifies the value (-1, in this case) to be ignored.
const UShortValue CanonMakerNote::s_1_(65535, unsignedShort); // Till bug is resolved
Note s_1_ is temporarily having the value 65535 till #1203 that causes
signedShorts to be interpreted as unsignedShorts is resolved.
3. Exif.CanonSi.TargetAperture: TagInfo(0x0004, "TargetAperture", N_("Target Aperture"), N_("Target Aperture"), canonSiId, makerTags, unsignedShort, 1, printSi0x0015, true, us0_, TagInfo::less_equal),
Note the third argument TagInfo::less_equal. This combined with the
second argument us0_ (the number 0) signifies that any values in this
tag that are less than or equal (<=) to 0 should be ignored.
4. TagInfo(0x0028, "ImageUniqueID", N_("Image Unique ID"), N_("Image Unique ID"), canonId, makerTags, asciiString, -1, printValue, true, s0x16_, TagInfo::equal_to, TagInfo::String),
The previous examples have all been of Long type. This shows a case
where the default value is a string.
const AsciiValue CanonMakerNote::s0x16_("0000000000000000");
Once these tag values have been defined, the actual mechanics of
ignoring these default values happens in Image::exifData().
Before the exifData is returned, we loop through the data, ask the
data whether it needs to be ignored (which in turn checks its
underlying tagInfo and compares it with the default value, if
specified) and if so, deletes that element.
A compile-time switch called EXV_DONT_IGNORE_UNDEFINED which when set
to a non-zero value will cause the behavior to revert back to the
original where all values are reported irregardless of the fact that
they need to be ignored.
9 years ago
draekko
c858b7d44e
#1199 minor code update, updated comments, added constants for headers, bit definitions, and misc.
9 years ago
Robin Mills
9a061d895e
#1199 Fix WebP printStructure(), readMetadata() and doWriteMetadata() to handle payload padding byte. Extended webp-test to cover -iX, -ix and -ie
9 years ago
Robin Mills
043c039d25
#1199 Fixing exiv2 -dC image-path to delete ICC profile.
9 years ago
draekko
6f7b3ba8f7
#1199 removed convenience converstion for iptc to xmp, apps should handle it directly since webp doesnt support iptc.
9 years ago
tbeu
85c736831c
Fix encoding
9 years ago
draekko
bcaa22ae6f
#1199 removed warnings in stringToHex, enabled iptc support for WebPImage.
9 years ago
draekko
85cc2f745d
#1199 Fixed crash with iptc by disabling it, updated decodeChunk to do better header checks, added hexdump function.
9 years ago
Robin Mills
bcd455be7a
#1199 Patch from Ben. http://dev.exiv2.org/issues/1199#note-37
9 years ago
Robin Mills
541dfe8fdf
#1199 Thank you to Ben for the patch. This corrects various matters and adds a first stab at WebPImage::printStructure()
9 years ago
Robin Mills
b3f107bd8c
#1199 WebP Support (work in progress). Thank You to Ben for the patch. Thanks to Gilles for encouragement.
9 years ago
Robin Mills
80e2a47240
Corrections to r4338
9 years ago
Robin Mills
fc24b8c541
#1041 Reorganized and simplified config header files.
9 years ago
Robin Mills
2f8e56fd70
Correction to r4327
9 years ago
Robin Mills
1ac5ccc2f9
Fixing warning from contrib/buildserver/test_daily.sh concerning redefinition of EXV_SEPARATOR_STR|CHR when testing msvc builds
9 years ago
Robin Mills
c211816b2c
#1189 See issue report for discussion.
9 years ago
Robin Mills
5c125a9f19
#1187 and #1041 . Fixing CMake/MSVC 2013/15 build breakers
9 years ago
Robin Mills
0afe5a97a1
#1187 and #1041 Fixing CMake/MSVC build breaker
9 years ago
Robin Mills
32577413e5
#1187 Fixing msvc build breaker in r4308 Thank You Taras for the patch.
9 years ago
Robin Mills
b15a401569
#1187 Thank You to Taras for the patch.
9 years ago
Robin Mills
664af57e10
#1034 Added samples/toexv This is a first step to write exif metadata to memory to send to a web service.
9 years ago
Robin Mills
f02b94a6b4
#1169 . Code simplication/clarification.
9 years ago
Robin Mills
f88138bc59
#1169 . Correction to r4282. I should not have submitted the change to exv_msvc.h
9 years ago
Robin Mills
30f279787f
#1169 Fix submitted.
9 years ago
Robin Mills
00984afaa2
#1178 Thanks to Terence for reporting this an providing confidential test data
9 years ago
Robin Mills
62e2fc086b
#1034 Added msvc2005/ini-test
9 years ago
Robin Mills
06eabfdd88
#1074 . jpgimage.cpp ICC support (Work in Progress)
9 years ago
Robin Mills
aa7e277dbc
#1169 . Fixing issues concerning msvc2005/EXV_UNICODE_PATH
9 years ago
Robin Mills
09c734fbcd
#1108 . Refactored the IPTC printStructure code from png/jpeg/tiff into iptc.cpp
9 years ago
Robin Mills
8e7eaa65a7
#1057 , #1064 , #922 , #1148 . Work in progress. This is a composite patch of several matters in development. None are totally complete at this time.
9 years ago
Robin Mills
5e968dc6f7
#1081 Added Cr2Image::printStructure()
10 years ago
Robin Mills
04f871cc4c
#1152 Fix submitted. Also added new static function FileIo::temporaryPath() which I require for tgt - code and fixed typo in tiffvisitor.cpp
10 years ago
Robin Mills
f49dd0b95f
#1108 and #1074 Correction to r4165 to fix MSVC build breaker and to document: exiv2 -eC (extract ICC profile).
10 years ago
Robin Mills
fd5e983746
r1108 Recursively dump an image (exiv2 -pR file...)
10 years ago
Robin Mills
ab9ee2c6df
#1024 . Support for C++11 #include <regex>. --grep keys may have an optional trailer /i to indicate to ignore case.
10 years ago
Robin Mills
d6dd463c57
#1041 . Finally fixed stdint.h on all platforms. CMake builds exiv2 with VS 2005, 2008, 2010, 2012, 2013 and 2013 on both laptop and buildserver.
10 years ago
Robin Mills
c5136b444b
Added cmakeBuild --static option. Fixed issues with include <stdint.h> in include/exiv2/types.hpp Documentation update.
10 years ago
Robin Mills
6895e9ca5b
#1041 . More polishing to get every version of VS to build using CMake.
10 years ago
Robin Mills
e75bcbe385
#1041 . Fixed issues with VS2008 incorrectly setting EXV_HAVE_STDINT_H
10 years ago
danielkaneider
5c7ecc6514
[cmake] add webready support and better cmake for windows
10 years ago
danielkaneider
577469b949
[cmake-webready] align VS header files
10 years ago
Robin Mills
abd5ecedd4
#1129 . Fix submitted.
10 years ago
Andreas Huggel
910f389e50
#1116 : Reverted changes to BasicIo::BasicIo() introduced in r3933
10 years ago
Robin Mills
63c7eff4f6
#1128 Fix HAVE_LIBZ on Visual Studio
10 years ago
Robin Mills
4795a1309a
Correction to r3960 for Visual Studio
10 years ago
Robin Mills
8ff86b6875
#1110 . Xcode project moved to contrib/xcode. Interesting errors in samples/Makefile. Replaced gsoc13 Exiv2::dict_t with (identical twin) Exiv2::Dictionary
10 years ago
Andreas Huggel
648b71cac8
#1111 : Doc tweaks for new bootstrapped API documentation.
10 years ago
Robin Mills
6767878fb8
#1116 . Fix submitted.
10 years ago
Robin Mills
ed2751612d
#640 Public API to reveal all namespaces known to Exiv2 and XMPsdk is XmpProperties::registeredNamespaces(Exiv2::Dictionary&)
10 years ago
Robin Mills
3f1380e91a
#640 Modified XmpParser::getRegisteredNamespaces to use Exiv2::Dictionary.
10 years ago
Robin Mills
9501be5c7d
#1112 . Fix submitted. Also added typedefs to datasets.hpp for Exiv2::Dictionary, Exiv2::StringSet, Exiv2::StringVector
10 years ago
Robin Mills
c396a92e01
#960 added API: static void Exiv2::XMPParser::getRegisteredNamespaces(std::map<std::string,std::string>&);
10 years ago
Robin Mills
6808b073f3
#1074 . Implemented exiv2 options -eC and -pC for JPEG.
10 years ago
Andreas Huggel
b030a4de7c
#1077 : Removed msync() calls from MemIo.
10 years ago
Robin Mills
05594e35ac
Fix #1103 .
10 years ago
Andreas Huggel
533668808d
Fixed cross-compiler warnings.
10 years ago
Andreas Huggel
ade51daf7f
Only compile ssh module if using SSH and another hack to prevent a compiler warning about undefined EXV_USE_SSH.
10 years ago
Andreas Huggel
4e96e2742a
Hack to prevent compiler warning about undefined EXV_USE_CURL.
10 years ago
Andreas Huggel
4974ff976f
Bumped version to 0.25.
10 years ago
Andreas Huggel
108310bfb4
Prefix published precompiler define as usual.
10 years ago
Andreas Huggel
a57317f685
Some API policing
10 years ago
Andreas Huggel
006625e116
Removed helper functions binaryToString() and stringFormat() from the API and from class Image and made them internal helpers. Renamed type printStructureOption_e to PrintStructureOption to conform with the common naming convention.
10 years ago
Andreas Huggel
bfddfcbc17
Moved internal headers into the src/ directory. Only published headers remain in include/exiv2/.
10 years ago
Robin Mills
f52eacf921
#1071 Remove Jzon from libexiv2
...
1) Move src/Jzon.cpp and include/exiv2/Jzon.hpp to samples/Jzon.{cpp|hpp}
2) Update build environment appropriately.
10 years ago
Robin Mills
c1933e6882
msvc2005/configure.py fixes discovered by testing configure -vat and configure -Vat (with/without video).
10 years ago
Robin Mills
f62db9b037
msvc2005/configure.py Ready to test
10 years ago
Andreas Huggel
fd80993ab0
Updated copyright notice.
10 years ago
Robin Mills
0cf64e2542
#922 . Better platform and endian detection.
10 years ago
Robin Mills
5aec2c4957
#1069 . Make video a build option (msvc/autotools/cmake). Default is not to build video or webready.
10 years ago
Robin Mills
84bf485ebe
#922 . Fixing -pS and -pX on MSVC.
10 years ago
Robin Mills
a69026c911
CID 1296109
10 years ago
Robin Mills
60f4c18da7
Move dumpLibraryInfo() to Exiv2 namespace.
10 years ago
Robin Mills
40ffba6033
#922 -pS and -pX support for TIFF. Added formatters to Image class and use them from {jpg/png/tiff}image.cpp
10 years ago
Robin Mills
e90dcdc219
#922 . Documentation update. Exiv2::Image::printStructure() is not thread safe. No reason to use this in a multi-threaded application.
10 years ago
Robin Mills
0f36e0492c
#1065 . Fixing thread safety in fileProtocol. Thank You, Max for reporting this.
10 years ago
Robin Mills
3926d3cb93
#922 . Work In Progress. Adding support for -pX and -pS for tiff files.
10 years ago
Robin Mills
c49b024810
#1056 . Changed LangAltValueComparator to return bool str1 < str2 ? true : false. Test reference files updated to reflect alphabetic lang output.
10 years ago
Robin Mills
0404bc75e9
#1058 . Change comparator to return -1 : 0 : 1
10 years ago
Robin Mills
32f7d1de65
#1058 . XMP spec chapter B.4 (page 42) the xml:lang qualifier is to be compared case insensitive.
...
https://www.adobe.com/content/dam/Adobe/en/devnet/xmp/pdfs/XMPSpecificationPart1.pdf
10 years ago
tbeu
8f5e5a8c4a
refs #922 :
...
* Fix MSVC warning introduced by r3650
* Change first argument of BasicIo::seek to signed integer type
10 years ago
Robin Mills
3c42a1e47f
#1053 . Added new option -K key for exact Key match (not grep as -g).
...
Added long versions of all options (eg --key = -K)
Added Command Summary to exiv2.1
Work in progress: exiv2.1 documents features which are not yet implemented:
- modifier - (stdin/stdout) to insert/extract
- modifier R (roundtrip) to insert
10 years ago
Robin Mills
6c113871ef
#922 . Added options -pS and -pX to exiv2(.exe). Still to deal with -dI
10 years ago
Robin Mills
e51425046e
#1043 #1042 #812 . Thank You to Thomas for this "polishing" patch. Thank you to everybody who has worked on this issue. Adding all the comments on the three issues together comes to about 60 items by at least 6 contributors. And it involves platform issues, networking, Linux and Windows APIs. One of the most complex issues to arise in Exiv2. Well done everybody. And we've dealt with this quickly. Only 9 days since Calvin first reported #1042 .
...
I use the term "complex" to mean many threads of technology. "complex" != "complicated". "complicated" = "difficult to understand". We try to avoid "complicated".
10 years ago
Robin Mills
6b20a636b7
#1043 and #1042 . Thanks to Thomas for showing that r3627 reintroduced #812 . Thanks to Thoralf for suggesting msync MemIo fix.
10 years ago
Robin Mills
6b89dc9452
#1038 . Initialize timeScale_ in ctor because MSVC (correctly) refused header member variable initialization.
10 years ago
Robin Mills
41243f8653
#1038 . Thank You to Vitaliy for reporting this and providing the patch.
10 years ago
Robin Mills
856ddd323c
#1029 Spell separator correctly everywhere (not seperator).
10 years ago
Robin Mills
405231439c
#1029 . Added missing change required in include/exiv2/exv_msvc.h (discovered thank to Jenkins).
10 years ago
Robin Mills
0df8356a56
#1029 . Thank You, Thomas for reporting this and providing the patch.
11 years ago
nkbj
f2071ead33
Remove empty line at EOF.
11 years ago
Robin Mills
ba6fc80213
fixed typo in include/exiv2/exv_msvc-webready.h. Documentation update. Removed organize.sln from msvc2003.
11 years ago
Robin Mills
d0ef5b2e47
#1024 . Adding file missing from r3562.
11 years ago
Robin Mills
faf51171d0
#1024 . Thank you, Thomas for this very useful contribution.
11 years ago
Robin Mills
24cb148e11
#1004 . Reviewed all include directives in src/*.cpp and samples/*.cpp
...
fixed svn_version.sh again!
change to test/build-test.py for MacOS-X/Xcode 6.
11 years ago
Robin Mills
d54b8cbdeb
#1012 . Thank You, Thomas for the patch.
11 years ago
Robin Mills
cc8fcb08c1
#1012 . r3508 broke the build on macosx and linux.
...
Fixed cosmetic issues in samples/httptest.cpp and <exiv2dir>/Makefile.
11 years ago
Robin Mills
f2abf92fd7
#1013 and #1015 . Thank You, Thomas, for reporting these and for the fixes.
11 years ago
Robin Mills
f2a247fb62
#1012 . Thank you, Thomas, for reporting this a providing the patch.
11 years ago
Robin Mills
d393b0fa7e
trunk: exiv2 v0.25
11 years ago