Luis Díaz Más
b675c58bab
Move include/CMake to src
4 years ago
tbeu
bf0d8114c9
#525 : Update comment and fix variable name
4 years ago
tbeu
94420ab591
Remove custom rwlock in favor of `std::mutex` of C++11
...
Current design on Windows was broken anyway, since legacy class `RWLock` does not implement a proper rwlock (shared read and exclusive write)
Once we are allowed using C++14 features, we can replace the `std::mutex` by `std::shared_timed_mutex` and the read-access locks by `std::shared_lock`.
Once we are allowed using C++17 features, we can replace the `std::mutex` by `std::shared_mutex` and the read-acces locks by `std::shared_lock`.
4 years ago
Miloš Komarčević
bc37a6ccb4
Update bmffimage.hpp include order and path
...
No need to treat it differently since 206a2c495c
(could even back-port to 0.27 if there is RC3 coming)
4 years ago
Luis Díaz Más
d5240a4bda
eps: Fix code after usage of unique_ptr. Remove deprecation tags
4 years ago
Luis Díaz Más
ed6cbf77b4
Revert "eps - do not install header"
...
This reverts commit 8f16196ad3
.
4 years ago
Luis Díaz Más
8314030604
Revert "Remove deprecated EPS format"
...
This reverts commit 537cdad99e
.
4 years ago
Luis Díaz Más
75e4bd9059
Remove rest of useless typedefs from datasets.hpp
4 years ago
Luis Díaz Más
75bf666d3b
Remove typedef to Dictionary::const_iterator
4 years ago
Luis Díaz Más
83dda6ccd7
Fix warnings related to -Wdeprecated-copy
4 years ago
Luis Díaz Más
2de3bad869
Remove EXIV2_ENABLE_VIDEO and related stuff
4 years ago
Luis Díaz Más
3eb1eee7fe
Remove deprecated RiffVideo support
4 years ago
Luis Díaz Más
061ec1a75d
Remove deprecated QuickTime support
4 years ago
Luis Díaz Más
8dcc07887a
Remove deprecated Matroska support
4 years ago
Luis Díaz Más
94b87a8dec
Remove deprecated SSH support
4 years ago
Luis Díaz Más
384a5edfcf
Remove deprecated ASF Video
4 years ago
Robin Mills
b19e79650f
Only reveal class bmffimage in include/exiv2/bmffimage.hpp ifdef EXV_ENABLE_BMFF
4 years ago
Robin Mills
206a2c495c
fix_enableBMFF_v1
4 years ago
Luis Díaz Más
8f16196ad3
eps - do not install header
4 years ago
Luis Díaz Más
0bbaa6eff3
cpp: Replace auto_ptr by unique_ptr
4 years ago
Luis Díaz Más
537cdad99e
Remove deprecated EPS format
4 years ago
Robin Mills
d632988bbd
Massive code prolog cleanup.
4 years ago
Robin Mills
9e2ac47cf9
Merge pull request #1475 from 1div0/BMFF
...
Base Media File Format
4 years ago
clanmills
e3fd0c633e
Thank You @piponazo for the code review. I've made the changes you requested.
4 years ago
Miloš Komarčević
0da1a50afe
Revert style changes
4 years ago
Miloš Komarčević
e09d093ccf
Minor whitespace formatting
4 years ago
clanmills
ae66869695
Updated to adopt Review suggestions by @kmilos. Thank You, Milos.
4 years ago
postscript-dev
6cd9263fa7
Fix langAltValue::read() parsing
...
+ Fix segmentation faults in langAlt parse
+ Fix mismatched quotation marks and incorrect values
+ Add Python testing
+ Some tests commented out as quotation marks are filtered, preventing them
from running.
Closes #1481 .
4 years ago
clanmills
0ad46453ed
With good fortune, bmffimage is ready for review.
4 years ago
Robin Mills
71d29fe60b
Fix MSVC build breaker and modify test_pr_1475_HIF.py to run on Windows.
4 years ago
Robin Mills
fd9cb67fb7
WIP: adding BmffImage::printStructure() and support for colr box.
4 years ago
Robin Mills
ea1c91874f
Added parseXmp() to parse Xmp metadata.
4 years ago
Robin Mills
44d976c2a1
Remove bmffimage::printStructure() as discussed in review with @hassec. Corpse removal and cleanup in bmpfimage.hpp
4 years ago
Robin Mills
5c77888037
Revised following code review by @hassec. Thank You, Christoph.
4 years ago
Peter Kovář
4d3af08ad8
Add CR3 image dimensions
4 years ago
Robin Mills
4ae0a1d2a3
Tidy up. Rename Tag::cr3_exif -> Tag:cmt2
4 years ago
Robin Mills
9515e4658b
Cleanup. 1. Recursively process uuid/cano box. 2. Fix LGTM/CI sprintf grumbles. 3. Comment parseTiff() in bmffimage.hpp.
4 years ago
Robin Mills
913ee33372
Parse Exif in .HEIC/.AVIF
4 years ago
Christoph Hasse
28b41f59bd
run clang-format on new files
4 years ago
Christoph Hasse
29f3d5cac9
introduce parseTiff method to parse exif
4 years ago
Robin Mills
f190f496d1
Tidying up. 1. pixelHeight_. 2. refactored indenter() -> indent(). 3. EXIV2_DEBUG_MESSAGES outputs to std::cerr
4 years ago
Robin Mills
8d7133d7bc
WIP: Added class Iloc and related code.
4 years ago
Robin Mills
6d13e44e5a
WIP: Refactored readMetadata() into recursive boxHandler()
4 years ago
Peter Kovář
04481dd753
[WIP] 64-bit length
4 years ago
Peter Kovář
f0a321dedb
[WIP] Base Media File Format
4 years ago
Peter Kovář
c608148820
[WIP] Added box types
4 years ago
Peter Kovář
e19fca6640
Small corrections
4 years ago
Robin Mills
fa39234275
Fixing Linux build/test issues.
4 years ago
Robin Mills
0844e1bbfb
Rename class ISOBMFF => class bmffImage to match other image handlers. Removed C++11 style code. Removed unused code.
4 years ago
Robin Mills
460a802671
Fix image handler to give jp2image code higher priority than the next isobmff code.
4 years ago
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