3869 Commits (cacb54eaba6a07d2a3fe1e3f0965acfefe79be10)

Author SHA1 Message Date
Luis Díaz Más f1ff3aaa4c Make urldecode in-place 3 years ago
Luis Díaz Más 3d370cc2ae Improvements in urlencode 3 years ago
Luis Diaz 8e0e00c459 make startsWith constexpr and use string_view 3 years ago
Luis Díaz Más f5c89a4e62 Fix build on Windows 3 years ago
Luis Díaz Más 405f4b5f1b Remove Util::dirname and finally the util files 3 years ago
Luis Díaz Más 1b912fa887 get rid of suffix 3 years ago
Luis Díaz Más dad3e7f5c4 Replace suffix implementation with std::filesystem 3 years ago
Luis Díaz Más 2c51208622 Replace basename implementation with std::filesystem 3 years ago
Luis Díaz Más d64c2aad67 Replace dirname implementation with std::filesystem 3 years ago
Luis Díaz Más f1c8d5bbb4 Remove unused headers 3 years ago
Luis Díaz Más 7c6a7aefc2 Utils::strtol only used in the app 3 years ago
Luis Díaz Más 8c6e22e6aa replace is only used in actions.cpp 3 years ago
Luis Díaz Más 49fbfb44a3 Remove startsWith from utils 3 years ago
Luis Díaz Más d1524e3d96 simpler implementation of startsWith 3 years ago
Luis Díaz Más a725d22ea5 add characterisation tests for utils 3 years ago
Luis Díaz Más a8bb38ab6f Move exiv2 app into its own folder 3 years ago
Kevin Backhouse 256365830a
Replace Metadatum::toLong() with Metadatum::toInt64(). 3 years ago
Luis Díaz Más 15c91b4cc9
Merge pull request #2101 from Exiv2/main_LinuxDistrosOnPRs
Linux distros jobs on PRs + Fix linking issues on some platforms
3 years ago
Luis Diaz 38254be55e Install new image_types.h header 3 years ago
Luis Diaz b7d5c7e22a Link against stdc++fs on Linux when it is needed 3 years ago
Robin Mills 287744fa12
Merge pull request #2087 from Exiv2/update_canon_tags_2
Update canon tags 2
3 years ago
Luis Díaz Más 408d80bce8 Change order of ImageType values 3 years ago
Luis Díaz Más f10283f118 bug: Fix crash when calling ImageFactory::create(none) 3 years ago
Luis Díaz Más 5a9799ffb2 Replace ImageType namespace by a enum class 3 years ago
Christoph Hasse 0aa34c3098 fix(canon): cleanup canonAf2 and canonAf3 related code 3 years ago
Robin Mills 800ed8959f Rewire Canon MakerNote 0x0026 (AFInfo) to allow TiffDecoder::decodeCanonAFInfo to handle this tag.
Minor changes to test script.
Cosmetic code changes.
3 years ago
Luis Díaz Más d19e2d42df Use AutoRotate 3 years ago
Luis Díaz Más e625f331f9 Include CanonFlashInfo (somehow missing after cherry-picking) 3 years ago
Luis Díaz Más de036b2b2a Fix remaining wrong brackets 3 years ago
Alex Esseling 4977b7d5c3 controlmode added 3 years ago
Alex Esseling f247014ee6 AEB Bracket Value added 3 years ago
Alex Esseling 5800942a9b OpticalZoomCode added 3 years ago
Alex Esseling d72ca6806c ExposureCompensation added 3 years ago
Alex Esseling 50390717f7 fix wrong brackets 3 years ago
Alex Esseling c6b8be5498 wrong brackets fixed 3 years ago
Alex Esseling b70a3fb572 Canon AF Info 2 Tag 3 years ago
Alex Esseling 5cc52feb4b Adding Canon RawBurst Tag 3 years ago
Alex Esseling cf36feaa61 Adding Canon AF Config Tag 3 years ago
Alex Esseling 56a455422d Adding LensSerialNumber Tag 3 years ago
Alex Esseling e3311b9a4f canon filter options 3 years ago
Alex Esseling d6f1f7c614 Adding of Canon Vignetting Correction Tag 2 3 years ago
Alex Esseling 8b174900fa Adding Canon Lighting Optimization Tag 3 years ago
Alex Esseling 524b33e5df Canon MultiExposure tag added 3 years ago
Alex Esseling e2b1028973 Adding tag Canon AFMicroAdj 3 years ago
Alex Esseling 80d67b89c6 Adding Ambience Selection to tag list 3 years ago
Christoph Hasse 3ffe9938f8 Decoding of Canon HDRInfo tag 3 years ago
Alex Esseling b589ced049 update to tags 3 years ago
Alex Esseling 5f2dee4d40 update canonrf tags, new lenses 3 years ago
Alex Esseling 081f458bf1 update tags ID 3 years ago
Alex Esseling f41e7e59e3 second rund 3 years ago
Alex Esseling 23293064bb work on canon tags 3 years ago
Luis Díaz Más 23f089a1b6 Apply suggestions from code review
Co-authored-by: Kevin Backhouse <kevinbackhouse@github.com>
3 years ago
Luis Díaz Más f59a9abfe3 Remove unused PRINTUCS2 CMake option 3 years ago
Luis Díaz Más 432555eae8 Replace platform specific code with std::filesystem 3 years ago
Luis Díaz Más fdfb295cc4 windows: Trick to get UTF-8 encoded argv in main entry point
- Adapt exifprint to the new wmain strategy
- Delete have_unicode_path
- wmain does not work with MSYS & MinGW
- cmake: entry point via cmake instead of pragma
- cmake: better doc for MSVC flags
- Fix entry point in sample apps
- Adapt CMake code to work with MSVC & MinGW
3 years ago
Luis Díaz Más 7933ff401d Remove dead code around EXV_UNICODE_PATH 3 years ago
Kevin Backhouse 2a3dd2def9
Replace Value::toLong with Value::toInt64. (#2062)
* Replace Value::toLong with Value::toInt64.

* Fix compiler warning.

* Fix compile error.

* Fix declaration of canonEv

* Fix compiler warning.

* Fix compiler warning.

* Use int64_t for offsets in tiffcomposite_int.cpp

* Fix compiler warning.

* Fix compiler warnings.

* Fix compiler warning.

* Fix compiler warning.

* Fix compiler warning.

* Fix compiler warning.

* Remove static_cast<long int> in TagDetails initializer.
3 years ago
Sturmflut f2385a35aa
[nikon] Add Tokina ATX-i 11-20mm F2.8 CF lens (#2072)
* [nikon] Add Tokina ATX-i 11-20mm F2.8 CF lens

* [nikon] Add test for Tokina ATX-i 11-20mm F2.8 CF lens

Co-authored-by: Sturmflut <Simon Raffeiner>
Co-authored-by: Luis Díaz Más <piponazo@gmail.com>
3 years ago
Sturmflut 50f34f4561
[nikon] Add instructions for adding new Nikon F mount lenses
- Also cleans up a dead link
3 years ago
Sturmflut eeb1e1d5f7 [nikon] Add Tokina AT-X 14-20 F2 PRO DX lens 3 years ago
Luis Díaz Más 1f07715141 Revert "Delete dead code"
This reverts commit 1d6bac61f2.
3 years ago
Luis Díaz Más b96091880a
Merge pull request #2061 from Exiv2/main_pvs
Adding static analysis with PVS-Studio
3 years ago
Luis Díaz Más ac9439e931
Merge pull request #2063 from Exiv2/main_iterators
Modernise code around iterators & smart pointers
3 years ago
Peter 46c329081f
Fix `exiv2`: verbose extract stdout mutli-file (#2068)
When using `exiv2 --verbose --extract` with stdout and multiple files, the output is concatenated together.
3 years ago
Luis Díaz Más 524fad42e1 Remove useless ops 3 years ago
Luis Díaz Más 93fe2086e4 Simplify TaskFactory 3 years ago
Luis Díaz Más f18d04cb8f Modern implementation of Singleton
With this implementation we also make the initialization of the Singleton instance thread-safe
3 years ago
Luis Díaz Más d20f014807 Simplify cloning in actions 3 years ago
Luis Díaz Más b67dee8a57 Fix build on linux 3 years ago
Luis Díaz Más 0f03e77634 Simplify code around UniquePtr(s) & use make_unique over new 3 years ago
Luis Díaz Más db4b63937e Add some TODO comments 3 years ago
Luis Díaz Más 9d8dd86945 Use auto to reduce verbosity around code dealing with iterators 3 years ago
Sturmflut 3b1d31e0af Add Sigma 12-24mm F4 DG HSM Art lens for Nikon 3 years ago
Luis Díaz Más a42501864a Recover some documentation strings 3 years ago
Luis Díaz Más c531c4abf5 More tests for IptcDataSets 3 years ago
Luis Díaz Más 476a254dfc Remove dead code
No way to obtain nullptr DataSet* when we are checking already the 2
only existing DataSets above.
3 years ago
Luis Díaz Más 9b40f948eb More tests 3 years ago
Luis Díaz Más 15e8c75a38 Delete unused IptcKey copy operator 3 years ago
Luis Díaz Más d8fcbc4562 Add new tests for Iptc classes 3 years ago
Luis Díaz Más df0b7c450d Hide public details 3 years ago
Luis Díaz Más 8f9a780375 clang-format on datasets.cpp 3 years ago
Luis Díaz Más 1d6bac61f2 Delete dead code 3 years ago
Luis Díaz Más 071e73fa4d Add many tests for datasets 3 years ago
Luis Díaz Más a94d648d05 Rest of tests to have 100% coverage in BMP class 3 years ago
Luis Diaz edf39e00dd Add new BMP tests 3 years ago
Josh Soref e56abfa10a
Spelling (#2067)
* spelling: accelerometer

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: address

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: anonymous

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: available

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: baby

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: buffer

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: build

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: builds

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: by inclusion

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: byte order

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: camera

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: command

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: consistency

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: constructor

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: continuous

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: continuously

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: correspond

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: decompression

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: dedicated

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: denominator

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: dependencies

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: detector

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: dlighting

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: dragging

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: duplicate

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: dynamic

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: empty

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: enable

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: endianness

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: examining

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: exceed

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: extension

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: fact

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: fails

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: fixed

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: fluorescent

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: focuspoint

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: focuspoints

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: from

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: happened

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: hierarchy

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: initiate

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: interesting

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: internal

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: javascript

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: language

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: libiconv

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: libraries

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: library

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: localization

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: macros

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: member

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: members

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: metadata

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: miscellaneous

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: mnemonic

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: modified

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: multiple

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: multithreaded

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: mysterious

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: photoshop

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: platforms

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: preliminary

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: priority

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: properties

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: qualifier

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: recognition

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: recognized

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: reentrancy

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: remaining

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: remotetest

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: requested

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: sensitivity

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: standardize

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: successful

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: such

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: tags

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: temperature

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: test

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: the

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: these

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: third

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: this

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: transparent

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: unable

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: underwater

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: uninterpreted

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: using

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: utc - coordinated universal time

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: which

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: with

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

Co-authored-by: Josh Soref <jsoref@users.noreply.github.com>
3 years ago
postscript-dev da320f35a7
Remove experimental code from pr#2053 3 years ago
postscript-dev 6c59437319
Add IPTC 2021.1 source comments for pr#2053 3 years ago
postscript-dev fe83240bb8
Update XMP IPTC tags to 2021.1 standard
Changes:
1. Add/update tags.
2. According to the standard, several tags in
   `Xmp.iptc.<property>` and `Xmp.iptcExt.<property>`, had been
   wrongly added, as they only exist as part of a struct used by a
   tag. The incorrect tags have been marked as deprecated in the
   label and description.
3. Update existing test with translated output.

Ref: [IPTC Photo Metadata Standard 2021.1](https://www.iptc.org/std/photometadata/specification/IPTC-PhotoMetadata-2021.1.html)
3 years ago
Luis Díaz Más b0318c36be
Upgrade C++ standard to c++17 (#2052)
* Enable C++17 and use new inline specifier for const variable members

* Silence deprecation warning on MSVC

* Disable samples by default

* improvements after review
3 years ago
Peter 629442df9d
Merge pull request #1929 from postscript-dev/fix_exiv2_-pR
Fix `exiv2 -pR` for Sony images (#1805)
3 years ago
Luis Díaz Más 825c0c72bc Check array index before inspecting it 4 years ago
Luis Díaz Más 240a72468e Clang-format in pngchunk_int.cpp 4 years ago
Luis Díaz Más ec21f65dca Replace magicValue with constant variable 4 years ago
Luis Díaz Más ceae86899d Initialize uninitialized variables 4 years ago
Luis Díaz Más b96f5af037 Remove dead code 4 years ago
Luis Díaz Más 061df50cea keyTXTChunk improvement 4 years ago
Luis Diaz c19425f6a4 Add unit tests for PngChunk::keyTXTChunk 4 years ago
Luis Diaz c898f56ab2 cmake: Add missing source file 4 years ago
Luis Díaz Más 813566526c
Revisiting cmake code for generating coverage reports (#2047)
* cmake: better usage of gcovr for coverage reports

* Add test for FileIo::setPath

* Remove useless seek() overload

* Add missing override specifiers

* ignore .vs folder

* Small refactors in BasicIo implementations

* Remove duplicated doxygen doc

* Refactor & add tests for MemIO

* Fix compilation warnings on windows
4 years ago
Kevin Backhouse a094dde1de
Merge pull request #2040 from kevinbackhouse/TiffEntryBaseStorage
Use std::shared_ptr for storage in TiffEntryBase
4 years ago
Facundo b52b6db39f
Output of -PV was not suitable for inputting to -m-, key was missing. (#1970)
* Output of -PV was not suitable for inputting to -m-, key was missing.

Fix #1969

* Make V flag to -P also print the type

This makes -PV work also for non-built-in tags (of which their type is
not known by exiv2).

* Adjust man to accomodate for the V flag change
4 years ago
Kevin Backhouse 9268279b47
Add comments. 4 years ago
Kevin Backhouse b6a4fd1c67
Add storage parameter to setData. 4 years ago
Kevin Backhouse 29f7d0ccf0
Remove DataBuf::release() which is no longer used. 4 years ago
Kevin Backhouse 9f3240c91c
Delete TiffEntryBase::isMalloced_ field and use a std::shared_ptr instead. 4 years ago
Kevin Backhouse 29cc981180
Merge pull request #2028 from kevinbackhouse/FixIssue2027
Use memmove in TiffEncoder::updateDirEntry
4 years ago
Robin Mills 13a2cf336d
fix_1416_iptc_DateCreated (#1547)
* fix_1416_iptc_DateCreated

* Fix unit tests

* DateValue:read 2nd iteration on pre-condition

* test with ISO_8601 date format

* Use std::regex for ISO 8601 basic & extended date formats

* Use std::regex for ISO 8601 basic & extended time formats

* Add more tests & notes for DateValue & TimeValue

* Comment tests using local calendar times

* DateValue::write also adds padding to year field

Co-authored-by: Luis Díaz Más <piponazo@gmail.com>
4 years ago
Kevin Backhouse e34eacc467
Use memmove, rather than memcpy, because memory regions might overlap. 4 years ago
Miloš Komarčević fd8447129c
Add more DNG 1.6 tags (#2023)
* Add more DNG 1.6 tags

* Update CinemaDNG, add more spec links
4 years ago
Kevin Backhouse 65fad9db0e
Merge pull request #2007 from kevinbackhouse/FixIssue2006
Fix integer overflow in PanasonicMakerNote::printAccelerometer
4 years ago
Kevin Backhouse aebb3fb2c0
Merge pull request #2015 from kevinbackhouse/SonyPreviewUndefined
Treat Exif.Sony1.PreviewImage as undefined tag
4 years ago
Kevin Backhouse 0a1fa497d5
Merge pull request #1999 from jim-easterbrook/bug_1998
Restore modified tags after TZ manipulation
4 years ago
Kevin Backhouse a1ad29edf3
Treat Exif.Sony1.PreviewImage as undefined tag. 4 years ago
Kevin Backhouse 35f48ae5c9
Credit to OSS-Fuzz: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=41438
Replace weird sign-conversion code with a simple static_cast.
4 years ago
Kevin Backhouse 6758e7288d
Merge branch 'main' into fix_exiv2_-pR 4 years ago
Peter 797f86c226
Fix minor whitespace formatting
Co-authored-by: Kevin Backhouse <kevinbackhouse@github.com>
4 years ago
postscript-dev 9c294ef4fd
Fix exiv2: verbose extract to stdout (see #1934)
Fix ignores `--verbose` when extracting to stdout.
4 years ago
Jim Easterbrook 02ce7e9aff Restore modified tags after TZ manipulation
This ensures that Xmp date/times that have been set by the user aren't
over written by the TZ restoration efforts. This fixes bug #1998
4 years ago
Kevin Backhouse fde8ed07b3
Merge pull request #1967 from kevinbackhouse/ReadOrThrow
Add readOrThrow and seekOrThrow to BasicIo
4 years ago
Peter 1ae9f42cd8
Add camera models for NikonFl3 makernotes group (#1994)
* Add camera models for NikonFl3

* Python test for new NikonFl3 camera models
4 years ago
postscript-dev 562b10f2c7
Fix Exif.NikonFl7.FlashCompensation 4 years ago
postscript-dev bd676bedc6
Fix `exiv2 -pR` for Sony images (#1805)
`exiv2 -pR` failed to process Sony makernotes. Fix checks if
makernotes header has Sony string, then uses correct offset.

Fix supplied by @clanmills
4 years ago
postscript-dev 277b1875f7
Fix Exif.NikonFl7.FlashGroupBCControlData output 4 years ago
postscript-dev b3ca98c1e7
Fix Exif.NikonFl7.FlashCompensation pretty print 4 years ago
postscript-dev 8ebf10f921
Fix condition in Exif.NikonFl7.FlashCompensation 4 years ago
postscript-dev f23d965643
Add limits check: Exif.NikonFl7.FlashCompensation 4 years ago
postscript-dev f0f3c7e8a2
Fix compile issues for NikonFl7 makernotes group
+ Fix fuzzing CI errors of `exp2` and `round` not being in `std` by adding
  `#include <cmath>`
+ Fix Windows CI warning C4305 by explicitly defining value as a float
4 years ago
postscript-dev eb134d1946
Add testing for NikonFl7 makernotes group 4 years ago
Kevin Backhouse ab90d430c7
Merge pull request #1979 from postscript-dev/fix_exiv2_sample_thumb_stdout
Add exiv2 extract thumb to stdout (#1934)
4 years ago
Kevin Backhouse 68473d9d10
Remove static functions readOrThrow and seekOrThrow. 4 years ago
Kevin Backhouse 44542a9f94
Add readOrThrow and seekOrThrow to BasicIo. 4 years ago
Miloš Komarčević 8b7d8729b7 Expose unsupported CR3 previews as binary 4 years ago
postscript-dev 31a2467a61
Add exiv2 extract thumb to stdout (#1934): src 4 years ago
Miloš Komarčević 40e5021577 Limit CR3 previews to JPEG only 4 years ago
Kevin Backhouse 0ae85cc4ca
Merge pull request #1974 from dhoulder/skip-isobmff-boxes
Performance boost: don't read boxes we're not interested in
4 years ago
mergify[bot] 2d80891837
Only include expat.h when XMP is enabled. (#1973)
(cherry picked from commit 03cc59122249e79c5a72982b25dad88f4c2803d6)

Co-authored-by: Kevin Backhouse <kevinbackhouse@github.com>
4 years ago
David Houlder 4e587fa931 Performance boost: don't read boxes we're not interested in 4 years ago
David Houlder b385f2db1c
Canon cr3 previews (#1958)
* Extract THMB and PRVW images from Canon CR3 file

* Added test for Canon CR3 preview extraction.

Added test data Canon-R6-pruned.CR3 (first 492016 bytes of https://raw.pixls.us/getfile.php/4659/nice/Canon%20-%20Canon%20EOS%20R6%20-%203:2.CR3).

See https://github.com/Exiv2/exiv2/issues/1893

* Fixed format specifier

* Update src/bmffimage.cpp

Co-authored-by: Miloš Komarčević <4973094+kmilos@users.noreply.github.com>

* Update src/bmffimage.cpp

Co-authored-by: Miloš Komarčević <4973094+kmilos@users.noreply.github.com>

* retrigger checks

Co-authored-by: Miloš Komarčević <4973094+kmilos@users.noreply.github.com>
4 years ago
Kevin Backhouse 71744d5f7f
Merge pull request #1944 from Exiv2/nikon_colorbalance
Extending Nikon3.ColorBalance version coverage
4 years ago
Kevin Backhouse 81cfc162c1
Use std::move to transfer ownership of DataBufs. 4 years ago
Kevin Backhouse 4901c5dba6
Merge pull request #1930 from kevinbackhouse/CiffComponent-pData-ownership
Clarify ownership model of CiffComponent::pData_
4 years ago
Kevin Backhouse 3b0d827047
More =default changes. 4 years ago
Kevin Backhouse 5fdd9da3d3
Use =default. 4 years ago
Miloš Komarčević 2074f82344 Fold into common 02xx versions 4 years ago
Miloš Komarčević 4205e03c43 Extending Nikon3.ColorBalance version coverage 4 years ago
Kevin Backhouse be5a01f0b2
Merge pull request #1921 from kevinbackhouse/FixIssue1920
Fix UBSAN failure caused by left-shift of negative number
4 years ago
Kevin Backhouse 83b9944cdd
We only need to extract one byte. 4 years ago
Kevin Backhouse 887acd098a
Merge pull request #1926 from postscript-dev/fix_sony_temperature_tags
Add conditions to 2 Sony temperature tags
4 years ago
John55h 02d40734a1
Update canonmn_int.cpp
Correct Exif.CanonCs.LensType 38 for "Canon EF 80-200mm f/4.5-5.6 II"
4 years ago
Kevin Backhouse 482cb2ded5
Clarify ownership model of CiffComponent::pData_ 4 years ago
Kevin Backhouse b27aa0b82c
Merge pull request #1922 from postscript-dev/fix_sony_tags
Add SonyMisc(2b|3c) Groups for Sony TIFF files
4 years ago
postscript-dev 54ee165261
Add conditions to 2 Sony temperature tags
Only certain camera models are supported.

Source: https://github.com/exiftool/exiftool/blob/master/lib/Image/ExifTool/Sony.pm
4 years ago
Dmitry Fedorov 45fe046a9c
Update src/tiffimage_int.cpp
Co-authored-by: Miloš Komarčević <4973094+kmilos@users.noreply.github.com>
4 years ago
Dmitry Fedorov 193eea1913
Update src/tiffimage_int.cpp
Co-authored-by: Miloš Komarčević <4973094+kmilos@users.noreply.github.com>
4 years ago
postscript-dev 7ace96263e
Add SonyMisc(2b|3c) Groups in TIFF files
- Previous version only supported JPEGs.
- Update Python test to use more specific grep, as this prevents
  SonyMisc(2b|3c) from being included. Regression test to be added
  in a different commit.
4 years ago
Kevin Backhouse a71bb64fe9
Credit to OSS-Fuzz: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=39060
Fix UBSAN failure caused by left shift of a negative number.
4 years ago
Dmitry Fedorov 1491b106d9 fix for reading jpeg-xr images 4 years ago
Heiko Bauke 8a1e949bff fix out of range access, minor performance improvement 4 years ago
Kevin Backhouse 7d2eb4ad09
Merge pull request #1905 from postscript-dev/update_website_docs
Update website docs
4 years ago
Kevin Backhouse be296814c1
Merge pull request #1913 from kevinbackhouse/FixIssue1912
Fix integer overflow in print0x0007
4 years ago
Kevin Backhouse cd4316c4f5
Do the calculation in floating point to avoid integer overflow. 4 years ago
Evan Miller 04f4624718
Explicitly test for libproc.h (#1916)
This change adds support for ancient macOS lacking libproc. It also
eliminates a bug where exiv2 could not be built on case-sensitive
file systems (the header file is properly TargetConditionals.h).
4 years ago
Kevin Backhouse 801e20123a
Merge pull request #1902 from kevinbackhouse/FixIssue1901
Comment out bogus code in XMPUtils.cpp
4 years ago
Kevin Backhouse d92b0a6717
Merge pull request #1910 from kevinbackhouse/PentaxQuadraticPrint
Fix quadratic loops in pentaxmn_int.cpp
4 years ago
Kevin Backhouse 7cb65d1e25
Merge pull request #1872 from postscript-dev/update_exiv2_manpage
Update exiv2 program and manpage
4 years ago
Kevin Backhouse 9f1e3e3e72
Credit to OSS-Fuzz: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=38887
Fix quadratic loops.
4 years ago
Colin Watson f643d9bb5e Annotate some strings with xgettext:no-c-format
Some descriptions of location properties contain the text "100%
overlap".  When extracting text for translation, `xgettext`
misidentifies this as containing the C format string "% o", and tags it
as `c-format`.  Translation tools that are sensitive to this will
require that translations contain matching format strings; since in this
case the format string is nonsensical, that is often not reasonably
possible.  See:

  https://answers.launchpad.net/launchpad/+question/698762

The description of the DotRange tag contains the text "0% dot and 100%
dot", which is similarly misidentified.

To fix this, inform `xgettext` that the messages do not contain C format
strings, as documented here (towards the end):

  https://www.gnu.org/software/gettext/manual/html_node/c_002dformat-Flag.html
4 years ago
Peter 098283c1f8
Merge branch 'Exiv2:main' into update_website_docs 4 years ago
postscript-dev c4e73831f2
Add missing MpfInfo group to `taglist.exe Exif` 4 years ago
Kevin Backhouse e1e7dddfbd
Fix test failure. 4 years ago
postscript-dev 795cfe90ce
Update exiv2 program, --help and usage 4 years ago
Kevin Backhouse bb9ff53ebe
Throw an exception on integer overflow. 4 years ago
Kevin Backhouse e71b99b236
Merge pull request #1886 from kevinbackhouse/private-pData
Make fields of DataBuf private
4 years ago
Kevin Backhouse bd211a90ac
Credit to OSS-Fuzz: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=37889
Avoid reading 1 byte off the end when the string does not contain a '\0' byte.
4 years ago
Kevin Backhouse 9ff72e5ca5
Make offset=0 the default parameter. 4 years ago
Kevin Backhouse 61a14c45d1
Fix build failure. 4 years ago
Kevin Backhouse e41f0c2cce
Fix build failure on Windows. 4 years ago
Kevin Backhouse c9d0cf3643
Make fields of DataBuf private. 4 years ago
Kevin Backhouse cb16324bcf
Merge pull request #1882 from kevinbackhouse/FixIssue1881
Throw an error if the size of the preview is greater than 1MB
4 years ago
Kevin Backhouse ccfdcf84ea
Merge pull request #1824 from 1div0/JPEG XL
Corrected JPEG XL file type
4 years ago
Kevin Backhouse 67746dee73
Merge pull request #1874 from neheb/emp
remove most usages of std::make_pair
4 years ago
Kevin Backhouse ce02361a64
Only build XMLValidator when XMP is enabled. 4 years ago
Kevin Backhouse 60144df557
Credit to OSS-Fuzz: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=37492
Throw an error if the size of the preview is greater than 1MB.
4 years ago
Kevin Backhouse b35cc5ffa6
Credit to OSS-Fuzz: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=37363
Do some basic XML validation before running the xmpsdk library to avoid bugs in xmpsdk.
4 years ago
Rosen Penev e7eddfc2f5 use more emplace_back
Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev f3fcffd6e6 remove most usages of std::make_pair
Better alternatives exist with C++11.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
postscript-dev fbdb38b959
Add missing `--extract` option to exiv2 program
The long option version of `-e` was missing.
4 years ago
Kevin Backhouse 64fe77673f
Decouple EXIV2_BUILD_FUZZ_TESTS from EXIV2_TEAM_USE_SANITIZERS. 4 years ago
Kevin Backhouse a1b65a7928
Merge pull request #1849 from Exiv2/mergify/bp/main/pr-1848
Replace assertion with an error message (backport #1848)
4 years ago
Kevin Backhouse 0dc5cdd910
Merge pull request #1852 from Exiv2/mergify/bp/main/pr-1846
Replace assertion with error message in TiffDirectory::writeDirEntry() (backport #1846)
4 years ago
Kevin Backhouse 330483a859
Merge pull request #1843 from Exiv2/mergify/bp/main/pr-1840
Check that the float is within the range of an int before casting (backport #1840)
4 years ago
Kevin Backhouse 9fd8b40a4e Replace assertion with an error message.
(cherry picked from commit cb32b809c80163c2392543dfb830dffe44e47f91)
4 years ago
mergify[bot] 66259b1c71
Check if embedded RAF image is really a TIFF (backport #1796) (#1851)
* Check if embedded RAF image is really a TIFF

(cherry picked from commit be12ae6f9e2f053bf101902865deadfe7c937f8d)

* Clarify comment on old vs new RAF

Co-authored-by: Christoph Hasse <hassec@users.noreply.github.com>
(cherry picked from commit 30f39ac98c1671547aa0b4021081e374864f1f04)

* Check I/O read result on RAF inspection

Co-authored-by: Kevin Backhouse <kevinbackhouse@github.com>
(cherry picked from commit 09de8dc901a38555151bd87d89ada3bd931451ea)

* Add test

(cherry picked from commit 9c3db7f3c3cb48fe0669061e627174402f366816)

Co-authored-by: Miloš Komarčević <miloskomarcevic@aim.com>
Co-authored-by: Miloš Komarčević <4973094+kmilos@users.noreply.github.com>
4 years ago
Kevin Backhouse 9e160a453b
Replace assertion with an error message. 4 years ago
Peter Kovář 1d095cf751 Removed tag handled separately 4 years ago
Kevin Backhouse 5bc444ff00
Use DataBuf rather than raw malloc. 4 years ago
Kevin Backhouse 7c2ab1d7de
Check that the float is within the range of an int before casting. 4 years ago
Christoph Hasse 0fab606e90 fix: incorrectly triggered enforce check during preview extraction in LoaderTiff::getData(), closes #1829 4 years ago
Kevin Backhouse e34e150f22 Replace assertion with an error message.
(cherry picked from commit 4ec1768415ba015041a9bb28ab17c1ccf6a8c63e)
4 years ago