33 Commits (4fcbb7ad1132ae55201cdbe24517b124d4929c7f)

Author SHA1 Message Date
Miloš Komarčević 8b7d8729b7 Expose unsupported CR3 previews as binary 4 years ago
Miloš Komarčević 40e5021577 Limit CR3 previews to JPEG only 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 02d4ef2c5e
Support for 64-bit box lengths looked broken. 4 years ago
Kevin Backhouse 8c64e9abba
Add `pbox_end` param to `BmffImage::boxHandler` to enforce box nesting. 4 years ago
Rosen Penev 7732b9308e clang-tidy: add explicit
Found with hicpp-explicit-conversions

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev 99823a526c clang-tidy: replace virtual with override
Found with modernize-use-override

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Rosen Penev 7a2b05e813 clang-tidy: use = default
Found with modernize-use-equals-default

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Luis Díaz Más f30022d73d
Fix issues detected with PVS-Studio + other little improvements (#1689)
* avoid re-declaration of constant variables

* Replace pthreads critical section with std::mutex

* ci - better naming

* cmake - increase minimum version to 3.11. Use project DESCRIPTION

* fix - do not treat string::find() return type as bool

* remove conditions that were always true

* remove condition that were always false

* Remove EXV_HAVE_GMTIME_R which is not used anymore

* pixelWidth_ was inherited from Exiv2::Image

The width & height variables in the TiffImage class need to be mutable
to be able to change their values on the getters pixelHeight() and
pixelWidth() ... Do not ask me why ...

* Remove superfluous if

* pvs:V766 item with identical key added already

* pvs:V730 not all members were initialized (time)

* pvs:V730 not all members are initialized

* pvs:v668 no point in testing pointer against null after new

* pvs:V1048 variable assigned the same value

* replace c-style dynamic vector with std one

* pvs:547 fakeData is always true

* Remove useless constructor in derived class

* pvs:V690 modern way to disable copy-ctor

* Replace malloc/free with new/delete. No need to check for null

* pvs:V1028 cast operands and not result

* Remove custom MIN/MAX functions

* pvs:V595 pointer used before verified against null

* pvs: index used before being checked

* pvs:V1028 possible overflow. Cast operands

* pvs:v575 potential null pointer passed to other functions

* pvs:V547 deal with always true/false expressions

* pvs:V560 part of conditional expressions always false or true

* pvs:V701 possible break in realloc -> move to std::vector

* Make some classes 'final'

* Replace sprintf with std::to_string()

* fix compilation on windows
4 years ago
Rosen Penev ff39473c18 clang-tidy: convert to static
Found with readability-convert-member-functions-to-static

Signed-off-by: Rosen Penev <rosenp@gmail.com>
4 years ago
Robin Mills b19e79650f Only reveal class bmffimage in include/exiv2/bmffimage.hpp ifdef EXV_ENABLE_BMFF 4 years ago
Luis Díaz Más 0bbaa6eff3 cpp: Replace auto_ptr by unique_ptr 4 years ago
clanmills e3fd0c633e Thank You @piponazo for the code review. I've made the changes you requested. 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 0844e1bbfb Rename class ISOBMFF => class bmffImage to match other image handlers. Removed C++11 style code. Removed unused code. 4 years ago