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