Commit Graph

371 Commits

Author SHA1 Message Date
Rosen Penev ff7bfb3798 Merge pull request #2422 from norbertwg/interpretation-for-Exif.Photo.LensSpecification
Interpretation for Exif.Photo.LensSpecification
2023-03-07 08:22:00 -08:00
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
2023-03-06 11:01:18 +01:00
Kevin Backhouse 4a6d786256 Fix test failures on 32-bit platforms. 2023-02-26 09:00:33 -08: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 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
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
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
Kevin Backhouse a608138f5f Simplify the iptcDataSegs logic 2022-07-08 13:51:34 +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 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
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 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
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
Robin Mills ad424dfb6a Fixing test following Christoph's Review. (Christoph is one clever Mother!) 2022-02-14 16:30:00 +01:00
Robin Mills 800ed8959f Rewire Canon MakerNote 0x0026 (AFInfo) to allow TiffDecoder::decodeCanonAFInfo to handle this tag.
Minor changes to test script.
Cosmetic code changes.
2022-02-14 16:30:00 +01:00
Robin Mills e1889e39bd Fixing tests. test_issue_981.py is now running all 6 commands. The output Key has correctly changed. The type and value are wrong.
```bash
730 rmills@rmillsmm-local:~/gnu/github/exiv2/update_canon_tags_2/build $ env DYLD_LIBRARY_PATH=$PWD/lib bin/exiv2 -g InfoSize ../test/data/*981*a.exv
Exif.CanonAf2Id.AFInfoSize                   SLong       1  131168
731 rmills@rmillsmm-local:~/gnu/github/exiv2/update_canon_tags_2/build $ exiv2 -g InfoSize ../test/data/*981*a.exv
Exif.Canon.AFInfoSize                        SShort      1  96
732 rmills@rmillsmm-local:~/gnu/github/exiv2/update_canon_tags_2/build $
```
2022-02-14 16:29:59 +01:00
Alex Esseling 1afeea0f29 fix test cases 2022-02-14 16:29:52 +01:00
Alex Esseling 55de9f4dea fix test_issue_1122.py 2022-02-14 16:29:45 +01:00
Alex Esseling 3e0d9a8b66 fix of test_issue_1151.py 2022-02-14 16:29:45 +01:00
Alex Esseling 5e2c84aa69 fix of tests case test_issue_981.py 2022-02-14 16:29:45 +01:00
Christoph Hasse b318b9de65 feat(testing): add a new extensive regression test that runs exiv2 over every test file we have 2022-02-13 22:46:54 +01:00
Luis Díaz Más c7185c71db Move all tests depending on sample applications to bash_tests 2022-02-09 22:19:49 +01:00
Luis Díaz Más 2a818e924d remove usage of exiv2json in a test (#199) 2022-02-09 22:19:49 +01:00
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>
2022-02-09 17:41:51 +01:00
Sturmflut d53080c820 [tests] Add test for Tokina AT-X 14-20 F2 PRO DX lens on Nikon bodies 2022-02-08 20:46:48 +01:00
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.
2022-02-05 16:43:34 +00:00