Commit Graph

548 Commits

Author SHA1 Message Date
norbertwg 9ca161d1e5 Rename resp. remove duplicate exif keys (#2434)
* rename resp. remove duplicate Exif keys

Duplicate key names with different tag are renamed
Following most of the existing entries, the key with higher tag number
is renamed to ...2.
Exceptions: Canon.CustomFunctions,Olympus.ImageHeight,Olympus.ImageWidth
In the available images samples only the key with higher tag number is
used, so changing the other has less impact on test data and also on
users.
Canon.WhiteBalanceTable with tag 0x00a4 was listed twice, once with
description "SharpnessTable". The entry with the deviating description
is deleted.

* clang format

* adjust test output files (after merge with Exiv2)

* add Exif.NikonLd4.FocusDistance to EasyAccess API

* clang format
2022-12-30 14:37:05 +01:00
Kevin Backhouse 9a133856ba Regression test for https://github.com/Exiv2/exiv2/issues/2427 2022-11-27 15:35:57 +00:00
Kevin Backhouse 7d9deba071 Regression test for https://github.com/Exiv2/exiv2/issues/2423 2022-11-23 12:37:08 +00:00
Peter 1f364be1fa Fix seg fault when using iconv_open() (#2403)
* Fix seg fault when using `iconv_open()`

- Fix failure condition for `iconv_open()`
- Add new exception when failing to change the text encoding of an
Exif comment

* Add testing for `iconv_open()` seg fault bug

* Fix Python test by changing log level
2022-11-01 13:33:36 +00:00
Kevin Backhouse 951247edcc Regression test for https://github.com/Exiv2/exiv2/issues/2393 2022-10-26 22:02:01 +01:00
Kevin Backhouse 62705a6615 Use Safe::add() in tiffvisitor_int.cpp 2022-10-23 20:04:42 +01:00
Kevin Backhouse f3f66c56db Regression test for https://github.com/Exiv2/exiv2/issues/2385 2022-10-22 10:41:11 -07:00
Kevin Backhouse 03abb2c109 Merge pull request #2384 from kevinbackhouse/fix-issue-2383
Avoid null pointer deref
2022-10-22 17:03:26 +01:00
Kevin Backhouse 222c45c154 Merge pull request #2374 from norbertwg/update_easyAccessAPI
several keys added to easyaccess
2022-10-22 16:29:55 +01:00
Kevin Backhouse baf1969ec7 Regression test for https://github.com/Exiv2/exiv2/issues/2383 2022-10-22 15:54:20 +01:00
Kevin Backhouse 459910c36a Credit to OSS-Fuzz: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=51751
Credit to OSS-Fuzz: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=52053
Avoid null pointer deref and heap buffer overflow.
2022-10-08 21:40:04 +01:00
norbertwg e38d3d9976 several keys added to easyaccess
sample easyaccess-test enhanced with additional optional arguments
"category" for easier definition of some tests
2022-10-07 18:25:25 +02:00
Kevin Backhouse b1e2cc6129 Regression test for https://github.com/Exiv2/exiv2/issues/2352 2022-09-28 21:23:38 -07:00
Kevin Backhouse a94b02063a Regression test for https://github.com/Exiv2/exiv2/issues/2366 2022-09-28 21:22:35 -07:00
Peter 9dc34ad39c Update Sony(1|2) tags (#2323)
* Update Sony(1|2) group (minor Minolta changes)

Transcribe all tags (except for `LensID`) from main ExifTool Sony
group into Exiv2.
Changes include:
- Rename `ColorReproduction` -> `CreativeStyle` and
  `LongExposureNoiseReduction` -> `FocusMode3` to reflect use.
- Rename `0x*` tagnames to equivalent ExifTool tags (e.g.,
  `0x2006` -> `Sharpness`).
- Remove tag entries that are Groups (e.g., `ShotInfo`).
- Separate some common Sony/Minolta data as the camera types use
  different values (e.g., `Quality`)
- Additional `exiv2-Sony*.exv` test files come from ExifTool Sony
  samples (https://exiftool.org/Sony.tar.gz).

ExifTool Sony tags sources:
https://www.exiftool.org/TagNames/Sony.html
https://github.com/exiftool/exiftool/blob/1e17485cbb372a502e5b9d052d01303db735e6fa/lib/Image/ExifTool/Sony.pm

* Improve coverage of `Sony(1|2)` group

* Fix clang compilation on macOS

* Fix github-code-scanning warnings

* Fix minor `Exif.Sony(1|2)` problems

* Fix tests and update `Sony(1|2)` group coverage

* Fix testing

* Minor fixes and regenerate Regression data

* Update Sony tags with `getModel()`

Make finding the Sony model more resilient by also using
`SonyModelID`.

* Fix `Exif.Sony(1|2).AFPointsUsed` type

* Improve `Exif.Sony(1|2).*` coverage

* Fix types in Sony func `getFocusMode()`

* Update Regression tests for `Sony(1|2)`

* Minor fixes to `Sony(1|2)` tags

* Update `Sony(1|2)` tag coverage

* Improve `Sony(1|2)` tag coverage

* Update easyaccess with `Exif.Sony(1|2)` tags

* Update `SonyModelID` array comment

* Add Sony `LensSpec` tag to easyaccess

* Update `Sony(1|2)` label/descriptions

* Update `int` to `size_t` (credit:@kevinbackhouse)

* Fix Windows build warning in `src/tags_int.hpp`
2022-09-27 09:26:26 +01:00
Kevin Backhouse 640b0fbf5d Merge pull request #2346 from kevinbackhouse/fix-issue-2345
Fix buffer overflow in QuickTimeVideo::tagDecoder
2022-09-21 14:54:37 +01:00
Kevin Backhouse bf151a17a3 Don't allow zero width/height in WebPImage::inject_VP8X 2022-09-05 23:43:35 +01:00
Kevin Backhouse 760a6c54f9 Regression test for https://github.com/Exiv2/exiv2/issues/2345 2022-09-04 20:17:09 +01:00
Christoph Hasse 6cc44ae8b1 test(quicktimevideo) add poc for #2340 2022-08-31 16:32:11 +02:00
Kevin Backhouse d15fdee91e Regression test for https://github.com/Exiv2/exiv2/issues/2339 2022-08-28 23:15:55 -07:00
Peter ccebe7936e Update Nikon flash tags (#2274) 2022-08-28 10:02:18 +01:00
Christoph Hasse 9afb877324 test(video) add small video file to execute some code in quicktimevideo.cpp 2022-08-24 17:39:42 +02:00
Kevin Backhouse df59a6bb67 Regression test for https://github.com/Exiv2/exiv2/issues/2320 2022-08-08 23:47:11 -04:00
Viktor Schneider 73a1a0ec21 Merge remote-tracking branch 'origin' 2022-08-01 22:20:01 +02:00
Peter 94f8889cd3 Update olympus tags (#2246) (#2249)
Update translation output of `Exif.OlympusCs.ArtFilter`/`Exif.OlympusCs.MagicFilter`, `Exif.OlympusCs.ImageStabilization` and `Exif.OlympusCs.WhiteBalance` tags.

Fix `Exif.OlympusCs.ImageStabilization` type from `unsignedShort` to `unsignedLong`.

Closes #2246.

Ref: Exiftool Olympus tags and Olympus E-M10 Mark II instuction manual.
2022-07-19 15:42:00 +01:00
Peter dc4ae73013 Add tag description option to exiv2 app (#2279)
* Add `tagDesc()` to (Exif|Xmp|Iptc) Datums and Keys
* Add `--Print d` option to exiv2 app
* Add testing for all exiv2 application `--Print` options
* Update manpage
2022-07-12 15:31:43 +01:00
Kevin Backhouse a608138f5f Simplify the iptcDataSegs logic 2022-07-08 13:51:34 +01:00
Kevin Backhouse 58cef7516e Add issue_2268_poc.jp2 to the exclude list. 2022-07-07 19:55:28 +01:00
Kevin Backhouse 6b5453c9d5 Regression test for https://github.com/Exiv2/exiv2/issues/2268 2022-07-07 17:29:49 +01:00
Kevin Backhouse 7ebf2a184e Merge pull request #2231 from kevinbackhouse/exiv2app-types-cleanup
types cleanup exiv2app.hpp
2022-05-23 10:24:01 +01:00
Kevin Backhouse 1ceddb2962 Replace long with int64_t in exiv2app.hpp 2022-05-22 19:59:11 +01:00
Miloš Komarčević 4f9bed24e1 Add more JXL tests 2022-05-19 10:25:13 +02:00
Viktor Schneider 2c41063984 update test cases to respect new fujifilm tags 2022-05-13 13:57:58 +02:00
Luis Díaz Más c3d0100d48 Fixing bad usages of DataBuf (when it is empty) 2022-04-14 10:40:58 +02:00
Luis Díaz Más 941017d281 Fix issues on ARM builds (#2205)
* Specify base class initialization in Copy Constructor

* Fix printing of uint64_t variable in ARM 32bits

Use cinttypes

* Fix alignment issues on ARM 32 bits

* tests: add assertion with custom message
2022-04-13 15:22:22 +02:00
Luis Diaz 047f6b733e Change logic to determine if segment has size
Note that the failing tests that had to be adapted were bad formed files
from FUZZERs. We should not consider invalid markers like 0x00 or 0x52
but only undefined APPn markers.
2022-04-10 10:53:36 +02:00
Luis Díaz Más 3795e5318b Add POC file 2022-04-04 10:03:37 +02:00
Luis Díaz Más b8cb4e096f Merge pull request #2180 from Exiv2/main_issue2178
Fix out of bounds read in isValidBoxFileType()
2022-04-01 09:07:35 +02:00
Luis Díaz Más c6340caca7 Remove exiv2json sample and tests depending on it 2022-04-01 09:07:08 +02:00
Kevin Backhouse 74622cf494 Add poc for fuzzing coverage. 2022-04-01 08:11:25 +02:00
Miloš Komarčević 44c3aab2dc Add OM System MakerNote test
(manually adapted from 18e2b9a6bb305854bfe05d0275425ad3699ea757)
2022-03-30 11:16:44 +02:00
Luis Díaz Más 5ed9fb4120 Merge pull request #2155 from Exiv2/mainFixJp2_2
Fix in Jp2 metadata writing & improvements in reading (2)
2022-03-23 16:45:57 +01:00
Kevin Backhouse ddc96bc38e Add exclusion for issue_2160_poc.jpg 2022-03-19 18:26:00 +00:00
Luis Díaz Más 2b9f6ccf6b Adapt tests to changes in JP2 2022-03-18 14:44:25 +01:00
Luis Díaz Más b9f9d041ea Several transformations on DataBuf + migration to size_t
- Provide begin/end iterators to DataBuf and simplify code
- Adapt test output after last changes
- Replacing long by size_t in value.hpp
- Use size_t in some Photoshop functions
- Remove some static_casts
2022-02-27 09:41:47 +01:00
Luis Díaz Más f1e04ee866 Replace DataBuf internal buffer with std::vector 2022-02-27 09:36:46 +01:00
Robin Mills 9bf4967e5c Merge pull request #2110 from mallman/nikon_ContrastDetectAFInFocus
Make Nikon ContrastDetectAFInFocus tags Bytes that print as "Yes" or "No"
2022-02-26 17:44:05 +00:00
Peter d17b7e4484 Fix test_pr_1905.py for native 2019msvc64 (#2108) (#2112)
* Fix test_pr_1905.py for native 2019msvc64 (#2108)

* Move test_pr_1905_poc1_ref.out to reference dir
2022-02-20 21:38:25 +00:00
Michael Allman a3e2410b88 Print value of ContrastDetectAFInFocus as Yes/No. Change internal
selection logic for NikonAf2* from tag data length to group version
2022-02-19 15:47:02 -08:00
Michael Allman 9541a89b13 Make Exif.NikonAf2.ContrastDetectAFInFocus and
Exif.NikonAf22.ContrastDetectAFInFocus byte types
2022-02-18 15:52:53 -08:00