4347 Commits (ec561bb185395055151ea40b95e3e11bd0f6bd24)

Author SHA1 Message Date
Daniel Vogelbacher f5f1f30f5b RAF: Ignore JPEG decoder errors if the JPEG offsets are invalid 2 years ago
Thomas Klausner d92fb10cdb Fix build on NetBSD. 2 years ago
Miloš Komarčević c04dcc8341 Remove exiv2-xmp from CMake exported config 2 years ago
Miloš Komarčević 972795741b Remove exiv2-xmp from pkg-config file 2 years ago
Daniel Vogelbacher d27c5ac838 RAF: Simplify metadata extraction
Remove manual TiffParser usage for reading APP1 segement,
instead use JpegImage for proper parsing.
2 years ago
Daniel Vogelbacher 6c4b6d9d7f Extract XMP data from embedded JPEG preview inside RAF files
The Fujifilm X-T5 camera stores in-camera rating for RAF images
by using XMP. But the XMP data is not directly encoded into the
RAF structure - instead it is attached as a second APP1 segment
to the embedded JPEG preview file.

This patch extracts the JPEG preview and parses it like a standalone
JPEG file.
2 years ago
Miloš Komarčević 53fe85b2c4 BMFF: fix handling of boxes w/ zero length or type
(cherry picked from commit f80403767b34818f3298d7ae54e6b36315f3b0a5)
2 years ago
Rosen Penev c319699ac5 use variadic template
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev 954153a4ec replace inline with coonstexpr
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev 4c66b4440a pair noexcept with move operations
Typically done with noexcept.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev 37184fd713 fix print format
Allows the compiler to actually diagnose formats.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Miloš Komarčević b4179adab8
Merge pull request #2472 from Exiv2/fix_soversion
Fix shared object versioning
2 years ago
Rosen Penev b2cd60eeac fix asfvideo unicode handling
Use convertStringCharset to convert instead of reimplementing.

Some data is UTF-32 and other is UTF-16. Instead of implementing another
function for Windows, convert from UCS2-LE to UTF-8 twice.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Mohamed Ali Chebbi 7ab4554c41 Update src/jpgimage.cpp
Co-authored-by: Ben McCann <322311+benmccann@users.noreply.github.com>
2 years ago
Mohamed Ali Chebbi a530cf9d03 Current master fails with image #2565: segmentation fault when trying to access outofband offest: check all locations 2 years ago
Mohamed Ali Chebbi e403f3a4c4 Current master fails with image #2565: segmentation fault when trying to access outofband offest 2 years ago
Mohamed Ali Chebbi c4e514cff8 Current master fails with image #2565 2 years ago
Rosen Penev 498f4ce273 simplify loops
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev df91578250 clang-tidy: replace defines with enum
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev 2526dcf5a1 const ref to ref conversions 2 years ago
Rosen Penev 6fd143d6a4 sonarlint cleanups
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev 25189ef1e6 remove some unused defines.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev d50d9527b5 convert manual loop to find 2 years ago
Gribouilleuse bd1e3c9acb
Uppercase Pentax to PENTAX at lines 819 to 822 2 years ago
Gribouilleuse 4074873146 Addition of 4 lenses Pentax
Addition of 4 lenses Pentax :
HD Pentax-D FA* 50mm F1.4 SDM AW
HD Pentax-D FA 70-210mm F4 ED SDM WR
HD Pentax-D FA* 85mm F1.4 SDM AW
HD Pentax-D FA 21mm F2.4 ED Limited DC WR
2 years ago
Miloš Komarčević 0db191257d Support for parsing DCP files 2 years ago
Rosen Penev c8c289613d remove EXIV2API from src
Already declared in include

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Miloš Komarčević fbf6100d3a Update Sony file format table 2 years ago
Rosen Penev 9322f137aa don't compile WIN32 stuff when iconv is present
MinGW has iconv, so this block of code can go away.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev 3633f8d2c2 clang-tidy: remove const from data members
Found with cppcoreguidelines-avoid-const-or-ref-data-members

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev 233f404ac7 direct initialize some structs
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Miloš Komarčević 0dd06894b3 makernotes: workaround for Olympus header corruption 2 years ago
Miloš Komarčević caddbf663d Fix shared object versioning 2 years ago
Miloš Komarčević 3403dabec2 Add Sony ZV-E1 ID 2 years ago
Miloš Komarčević 2f01f70eaf Add some more Nikon Z lenses 2 years ago
Rosen Penev 0fa22ed55d remove codecvt
Deprecated in C++17

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev 2e33dad1d1 easyaccess const changes
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev 357d970425 get rid of EXV_CALL_MEMBER_FN
std::invoke can be used.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev 05f2731d34 std::array removals
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev 513b0e8bbd constexpr some constructors
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev 0aed79ff57 remove several constructors
Just direct initialize

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev 024e026bbb clang: small fixes
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev 9ae339d39f clang: fix various documentation errors
Found with -Wdocumentation

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev 22b12012a6 more SonarLint cleanups
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev d29001f2a4 clang-tidy: don't use non const refs
Found with: google-runtime-references

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev 01aab49f6f don't assign an fs::path to a string
Seems to trip up MemorySanitizer on ARM32.

Also applied various simplifications to the code using std::filesystem

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev 763cfaf2b4 MSVC warning fixes
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev 1f3d1f066f extern to static
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev ca95edc6bd random fixes
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev d6c1059485 gcc: ifdef
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev 0a8fedf249 gcc: noexcept
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev 1f21164085 gcc: remove redundant struct
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev 9a1f37ecbe get rid of Key() move operations
Because of Impl, there's no way this can work properly.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev e854d93841 replace enable_if with if constexpr
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev 2fd523873b remove MSVC hacks
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev dc196e729e remove old MSVC workaround
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev 4a26eba0d9 fix compilation under FreeBSD
sys headers must come before libprocstat

meson is missing a libprocstat dependency. iconv is also broken with
meson and freebsd.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Kevin Backhouse 5d11208aa0
Minor refactorings to stop UBSAN from complaining. 2 years ago
Rosen Penev e2bf207477 add various moves
More efficient

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev 518c52c2af
Merge pull request #2544 from kevinbackhouse/fix-matroska-null-pointer-deref
Check that the pointer isn't NULL
2 years ago
Kevin Backhouse e0ac920c87
Suggestion from @neheb 2 years ago
Kevin Backhouse 244799f480 Convert tail-recursion to loop to avoid stack exhaustion. 2 years ago
Kevin Backhouse a783320520 Use enforce, not assert, to avoid crash. 2 years ago
Kevin Backhouse 65259d8936
Check that the pointer isn't NULL. 2 years ago
Rosen Penev ff7bfb3798
Merge pull request #2422 from norbertwg/interpretation-for-Exif.Photo.LensSpecification
Interpretation for Exif.Photo.LensSpecification
2 years ago
norbertwg 10bbe3f4ae to avoid compiler warnings: 0.0 changed to 0.0f 2 years ago
norbertwg db2f4ee377 interpretation for ExifPhoto.LensSpecification
printLensSpecification is copied from old Nikon3MakerNote::print0x0084
call of Nikon3MakerNote::print0x0084 replaced by printLensSpecification

add two lens tags to EasyAccess API
Exif.Photo.LensSpecification and Exif.Nikon3.Lens

handling of zero; more precision for focal length

silence compiler warnings
2 years ago
Kevin Backhouse 14e26b5abd
Fix integer overflow which enables enforce to be bypassed. 2 years ago
Kevin Backhouse b5bf079444
Fix long-running loop 2 years ago
Rosen Penev 725875497b SonarLint cleanups 2 years ago
Mohamed Ali Chebbi 8b96ebc6b4 asfvideo fuzz issue : nb_headers should not exceed the max value of uint32 2 years ago
Rosen Penev b9d94e61fe coverity: remove dead code
Found with: CID 1521533
Unsigned compared against 0 (NO_EFFECT)

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev 03d34bee04 get rid of convertToUint64
same as getULongLong

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev afbd9e7a76 coverity: add move operations
CID 1521171: Missing move assignment operator

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev 839c03fe37 use find()
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev 3fe6d78014 Remove some constructors
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev 2205a14a06 clang-tidy: default init various members
Found with cppcoreguidelines-pro-type-member-init

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev dd25d9999b direct init structs
No need to deal with individual members

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev 48caa32017 close socket before return
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev 393150c0cd cast expression
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev f2c879333e fix off by 1 error
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Kevin Backhouse 230fbaf421 Use toInt64() for hours and minutes, because they should be integer valued. 2 years ago
Kevin Backhouse c20ee1a7f5 Use double type to improve floating point accuracy. 2 years ago
Rosen Penev 9f21b78311 add contains function
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev 28358cd209 template second parameter for startsWith
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev d7bf72634e use std::replace
shorter

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev 0d50e444f2 use count_if
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev 2d1691c1e2 replace array with vector
Using the constructor is one less line. Plus it seems to fix bugs in
Apple's clang.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev 63b32ba3fb fix wrong snprintf format
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev 61e5aefcc4 explicit conversion
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev 75dae3fb96 replace localtime with _s/_r variant
cppcheck warns on localtime which is not necessarily threadsafe.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev 625a2b8167 fix memory leak
Found with cppcheck.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev 968a546dcb use upper() function
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev 5eebbbcbfb make conversions explicit
Found with MSVC's C4244

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev 31165b6a01 remove base constructor
Maybe works now

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Mohamed Ali Chebbi c555a70127 fuzz issue : add debug message for futur use 2 years ago
Mohamed Ali Chebbi 03fcc6cad2 fuzz issue : check that block is not corrupted before decoding 2 years ago
Rosen Penev 5b1bc2ef6d clang-tidy: no else after return
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev 4e3a63d9b7 replace std::pair and tuple with C structs
fixes internal MSVC libc++ warnings

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago
Rosen Penev 36e848d4fe clang-tidy: replace memcpy with copy_n
Found with bugprone-not-null-terminated-result

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2 years ago