Commit Graph

345 Commits

Author SHA1 Message Date
Chip Kerchner Chip.Kerchner@ibm.com
058367f34c Rewrite code in BGR2Gray functions so that auto vectorizer does a better job. 2019-06-07 11:48:05 -05:00
Alexander Alekhin
ddcf388270 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-06-07 19:02:55 +03:00
Alexander Alekhin
94ec0e9b74 Merge pull request #14724 from asashour:typos 2019-06-06 10:01:03 +00:00
Alexander Alekhin
a2445c44cb imgcodecs: sanitize PAM decoding
backporting of commit: 76fca0e755
2019-06-05 18:12:43 +03:00
Ahmed Ashour
1aca1d582e Fix some typos 2019-06-05 12:24:13 +02:00
Alexander Alekhin
76fca0e755 imgcodecs: sanitize PAM decoding
oss-fuzz: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=13282
2019-06-03 22:19:42 +00:00
Alexander Alekhin
43467a2ac7 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-05-28 18:29:48 +00:00
Alexander Alekhin
d73261844e Merge pull request #14622 from asashour:junit 2019-05-27 14:55:45 +00:00
Ahmed Ashour
f9564e053d java: test: use assertNotNull and assertFalse 2019-05-24 10:45:09 +02:00
Jan Starzynski
fb9c083a51 handle all orientations properly 2019-05-23 16:51:25 +02:00
Alexander Alekhin
f7856a0f35 imgcodecs(tiff): update tile size checks
backporting of commit: 25247b9f6e
2019-04-21 18:36:39 +00:00
Alexander Alekhin
25247b9f6e imgcodecs(tiff): update tile size checks
oss-fuzz: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=14185
oss-fuzz: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=14321
2019-04-20 20:13:47 +00:00
Alexander Alekhin
c024edb9a8 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-04-19 15:43:58 +03:00
Alexander Alekhin
0d747daf47 cmake: use absolute library paths from 'pkgconfig'
- drop legacy check_module() macro
- drop 'ALIASOF_'
2019-04-15 22:11:49 +00:00
Alexander Alekhin
c9fc27b337 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-04-05 19:08:23 +00:00
Alexander Alekhin
0c490accae imgcodecs(tiff): check TIFF tile size
oss-fuzz: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=13280
oss-fuzz: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=13283
2019-04-05 18:13:15 +03:00
Alexander Alekhin
473941c341 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-04-04 18:09:24 +00:00
Alexander Alekhin
ba5ddd6499 imgcodecs(tiff): sanitize tiff decoder
- more checks
- drop separate branches for 32FC1/32FC3(read) handling
- added for 32F/64F non-compressed
- added tests for 32FC3 (RAW + hdr SGILOG compression)
- added test 64FC1
- dump tiff errors on stderr
2019-04-04 14:16:53 +03:00
Alexander Alekhin
c4ec46c195 imgcodecs(sunras): avoid undefined shift
backporting of commit: f2803aba07
2019-04-02 18:38:01 +03:00
Alexander Alekhin
d2854448c2 Merge pull request #14203 from alalek:fix_ossfuzz_13292 2019-04-02 15:15:13 +00:00
Alexander Alekhin
7d2118e324 Merge pull request #14223 from alalek:backport_14201 2019-04-02 14:33:57 +00:00
Alexander Alekhin
b4e2c99346 Merge pull request #14201 from alalek:fix_ossfuzz_13295 2019-04-01 18:47:00 +00:00
Alexander Alekhin
33dde339fe Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-04-01 18:11:55 +03:00
Alexander Alekhin
341e2fa72d Merge pull request #14214 from alalek:backport_14202 2019-04-01 14:39:25 +00:00
Alexander Alekhin
2ece029fe0 imgcodecs(tiff): avoid leak of helper struct on malformed inputs
backporting of commit: 45428b897f
2019-04-01 14:08:40 +00:00
Alexander Alekhin
6dfb6a3016 imgcodecs: fix RBaseStream::setPos() outside of current block
Seeking outside of the current block doesn't update actual data,
so getByte()/etc will get wrong data from stalled buffer.
2019-03-31 12:55:32 +00:00
Alexander Alekhin
f2803aba07 imgcodecs(sunras): avoid undefined shift
oss-fuzz: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=13292
2019-03-31 12:14:42 +00:00
Alexander Alekhin
45428b897f imgcodecs(tiff): avoid leak of helper struct on malformed inputs
oss-fuzz: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=13285
2019-03-31 11:50:33 +00:00
Alexander Alekhin
ccb89a889a imgcodecs(bmp): limit size of processed images
2Gb+ images can't be handled properly by current implementation

backporting of commit: 50a6f9d251
2019-03-31 10:52:33 +00:00
Alexander Alekhin
50a6f9d251 imgcodecs(bmp): limit size of processed images
2Gb+ images can't be handled properly by current implementation

ozz-fuzz: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=13295
2019-03-31 10:48:07 +00:00
Alexander Alekhin
26087e28ad Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-03-15 22:42:57 +00:00
Alexander Alekhin
43c68d1864 imgcodecs: OPENCV_IO_ENABLE_JASPER runtime parameter 2019-03-14 21:43:24 +00:00
Alexander Alekhin
bd1fd59fc1 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-03-13 19:13:13 +00:00
rpici
9cca066ee8
Fix bug in test_tiff.cpp
The big endian data in the tiff_sample_data array was never being tested.  This could be observed by e.g. changing the 9th byte in the big endian data from 0xde to something that should fail the test, e.g. 0xdd, and the test would still pass even though it should fail.
2019-03-13 09:42:47 -05:00
Alexander Alekhin
8c0b0714e7 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-03-11 19:20:22 +00:00
Gregor Mittag
d71977b4dd Add JPEG2000 compression flag. 2019-03-10 07:59:09 +01:00
Rajkiran Natarajan
40af53b1d6 issue-13921: Support setting compression setting for writing tiff images 2019-03-09 15:48:21 -05:00
klemens
997b7b18af spelling fixes 2019-02-09 22:29:54 +01:00
Alexander Alekhin
ea64e860de Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2018-12-09 13:21:58 +00:00
LaurentBerger
f1dc26d7ce Merge pull request #13382 from LaurentBerger:imreadsize
* try to solve #13381

* Add note
2018-12-09 15:05:27 +03:00
Alexander Alekhin
c0016d7fe9
Merge pull request #13253 from alalek:fix_13201
* cmake: install 'legacy/constants_c.h' files

* samples: add compatibility test code
2018-11-23 20:02:46 +03:00
pascal
7579cd8068 updated documentation for imread and imwrite (added pfm image format) 2018-11-21 17:59:37 +01:00
Alexander Alekhin
a574788e89 move legacy C-API constants into separate files 2018-11-17 23:47:51 +00:00
Alexander Alekhin
1913482cf5 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2018-11-10 20:50:26 +00:00
Vadim Pisarevsky
11eafca3e2
removed C API in the following modules: photo, video, imgcodecs, videoio (#13060)
* removed C API in the following modules: photo, video, imgcodecs, videoio

* trying to fix various compile errors and warnings on Windows and Linux

* continue to fix compile errors and warnings

* continue to fix compile errors, warnings, as well as the test failures

* trying to resolve compile warnings on Android

* Update cap_dc1394_v2.cpp

fix warning from the new GCC
2018-11-09 00:52:09 +03:00
Alexander Alekhin
b74b05d1b3 Revert CV_TRY/CV_CATCH macros
This reverts commit 7349b8f5ce (partially).
2018-11-08 19:56:52 +03:00
Alexander Alekhin
687fa6a8ca Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2018-11-02 05:33:35 +00:00
Ilari Venäläinen
e6c41f0de6 Merge pull request #12989 from venalil:fix_thresholded_tiff_read
* Fix reading of black-and-white (thresholded) TIFF images

I recently updated my local OpenCV version to 3.4.3 and found out that
I could not read my TIFF images related to my project. After debugging I
found out that there has been some static analysis fixes made
that accidentally have broken reading those black-and-white TIFF images.

Commit hash in which reading of mentioned TIFF images has been broken:
cbb1e867e5

Basically the fix is to revert back to the same functionality that has been there before,
when black-and-white images are read bpp (bitspersample) is 1.
Without the case 1: this TiffDecoder::readHeader() function always return false.

* Added type and default error message

* Added stdexcept include

* Use CV_Error instead of throw std::runtime_error

* imgcodecs(test): add TIFF B/W decoding tests
2018-11-01 14:34:34 +03:00
Suleyman TURKMEN
4d0ed5c13c Merge pull request #12971 from sturkmen72:upd_imgproc_hpp
* Update imgproc.hpp

* update color conversion codes
2018-10-31 18:08:24 +03:00
Maksim Shabunin
0ccd810738 Fixed several issues found by static analysis 2018-10-25 10:45:59 +03:00
Alexander Alekhin
5115e5decb Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2018-10-13 16:19:05 +00:00
drkoller
978ad4981e Clean up documentation for imread and imwrite 2018-10-12 17:08:01 -04:00
Alexander Alekhin
690fb0544c Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2018-10-02 14:31:05 +03:00
Alexander Alekhin
9253e8bda2
Merge pull request #12705 from berak:imread_document_grayscale 2018-09-30 23:59:48 +03:00
berak
df4139d373 document imread grayscale behaviour 2018-09-30 15:22:26 +02:00
Alexander Alekhin
dca657a2fd Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2018-09-10 00:10:21 +03:00
cyy
286c2c236b Merge pull request #12458 from DEEPIR:3.4
* may be an typo fix

* remove identical branch,may be paste error

* add parentheses around macro parameter

* simplify if condition

* check malloc fail

* change the condition of branch removed by commit 3041502861
2018-09-07 18:43:47 +03:00
Alexander Alekhin
73bfe68821 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2018-09-07 12:40:27 +03:00
Alexander Alekhin
8a3c394d6a don't use constructors for C API structures 2018-09-06 14:34:16 +03:00
Alexander Alekhin
d74b98c3d9 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2018-09-04 18:39:03 +00:00
Alexander Alekhin
acce95f446 backport fixes for static analyzer warnings
Commits:
- 09837928d9
- 10fb88d027

Excluded changes with std::atomic (C++98 requirement)
2018-09-04 16:49:42 +03:00
cyy
10fb88d027 Merge pull request #12391 from DEEPIR:master
fix some errors found by static analyzer. (#12391)

* fix possible divided by zero and by negative values

* only 4 elements are used in these arrays

* fix uninitialized member

* use boolean type for semantic boolean variables

* avoid invalid array index

* to avoid exception and because base64_beg is only used in this block

* use std::atomic<bool> to avoid thread control race condition
2018-09-04 16:39:19 +03:00
Alexander Alekhin
20bf7b6a79 imgcodecs(webp): use safe cast to size_t on Win32 2018-09-02 10:00:52 +00:00
Jakub Golinowski
9f1218b00b Merge pull request #11897 from Jakub-Golinowski:hpx_backend
* Add HPX backend for OpenCV implementation
Adds hpx backend for cv::parallel_for_() calls respecting the nstripes chunking parameter. C++ code for the backend is added to modules/core/parallel.cpp. Also, the necessary changes to cmake files are introduced.
Backend can operate in 2 versions (selectable by cmake build option WITH_HPX_STARTSTOP): hpx (runtime always on) and hpx_startstop (start and stop the backend for each cv::parallel_for_() call)

* WIP: Conditionally include hpx_main.hpp to tests in core module
Header hpx_main.hpp is included to both core/perf/perf_main.cpp and core/test/test_main.cpp.
The changes to cmake files for linking hpx library to above mentioned test executalbles are proposed but have issues.

* Add coditional iclusion of hpx_main.hpp to cpp cpu modules

* Remove start/stop version of hpx backend
2018-08-31 16:23:26 +03:00
Vadim Pisarevsky
4b03a4a841 Merge pull request #12353 from alalek:imgcodecs_fix_webp 2018-08-31 13:03:10 +00:00
Alexander Alekhin
0d4fd20a73 imgcodecs: add null pointer check 2018-08-31 12:56:02 +03:00
Alexander Alekhin
0515f930e8 imgcodecs(webp): multiple fixes
- don't reallocate passed 'img' (test fixed - must use IMREAD_UNCHANGED / IMREAD_ANYCOLOR)
- avoid memory DDOS
- avoid reading of whole file during header processing
- avoid data access after allocated buffer during header processing (missing checks)
- use WebPFree() to free allocated buffers (libwebp >= 0.5.0)
- drop unused & undefined `.close()` method
- added checks for channels >= 5 in encoder
2018-08-30 20:42:33 +00:00
Alexander Alekhin
6356403964 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2018-08-22 17:38:51 +03:00
Colin Smith
76f47548b3 Add export macro for ios conversion functions 2018-08-20 14:10:54 -07:00
pasbi
76eb389761 Merge pull request #12240 from pasbi:pfm_fix
* fixed 64-float pfm auto conversion

* removed trailing whitespace
2018-08-17 18:53:09 +03:00
pasbi
9f5f64e14e Merge pull request #12192 from pasbi:pfm
* created new decoder and encoder for PFM

pfm file format stores binary RGB or grayscale float images.

* added test for pfm codec

* replaced large with short licence header

* little/big-endian-check is now compile time

* fixed width/height confusion, improved big/little endian recognition, fixed scaling issue and Improved signature check

* adapted tests to handle float images well

* removed data-dependency: lena.pfm

the lena image is now loaded is pam and converted to pfm.

* fixed bug in endianess detection macro

* Added endianess detection for android and win

* removed fancy endianess detection

endianess detection will be implemented in cmake scripts soonish.

* fixed minor warnings

* fixed stupid elif defined bug

* silenced some implicit cast warnings

* replaced std::to_string with std::stringstream solution

std::to_string variant did not build on android.

* replaced new endianess macros with existing ones

* improved readability
2018-08-13 13:14:12 +03:00
Maksim Shabunin
cbb1e867e5 More issues found by static analysis 2018-07-24 16:04:42 +03:00
Alexander Alekhin
b09a4a98d4 opencv: Use cv::AutoBuffer<>::data() 2018-07-04 19:11:29 +03:00
Alexander Alekhin
5557474467 imgcodecs(sunras): avoid buffer overrun
`src_pitch` may be large than data `step`
2018-07-02 12:56:50 +03:00
Alexander Alekhin
2f9b4439af Merge pull request #11565 from alalek:issue_11545 2018-05-22 16:00:37 +00:00
Alexander Enaldiev
84584002f2 Merge pull request #11417 from Turim:imgcodecs_cmake_decoders_customize_formats
* imgcodecs cmake: the option to customize supported formats list (WITH_IMGCODEC_HDR, WITH_IMGCODEC_SUNRASTER, WITH_IMGCODEC_PXM)

* imgcodecs: fixes

- fixed CMake scripts (=OFF doesn't really work)
- restore dropped GDCM block
- added _IMGCODEC_ prefix
- fixed tests
- include PAM format under WITH_IMGCODEC_PXM option
2018-05-22 15:10:15 +00:00
Alexander Alekhin
35a4551609 imgcodecs: fix imwrite handling of different OutputArray types 2018-05-22 13:57:51 +03:00
Alexander Alekhin
76ac7ab4ef imgcodecs: added test for imwrite parameter types
issue 11545
2018-05-22 13:55:14 +03:00
Alexander Alekhin
f8252702a8 3rdparty: integrate libjpeg-turbo build scripts into OpenCV 2018-05-11 18:29:57 +03:00
Alexander Alekhin
6b581c4e51 build: unreachable code after CV_Error() (part 2) 2018-04-24 16:03:40 +03:00
Alexander Alekhin
576d2dbac0 refactor: don't use CV_ErrorNoReturn() internally 2018-04-24 15:38:42 +03:00
Vadim Pisarevsky
72cb06abf0 Merge pull request #11231 from saskatchewancatch:tiff-dpi-feature 2018-04-09 13:28:08 +00:00
Alexander Alekhin
a22ee76b45 imgcodecs: exclude rle8.bmp from GDAL tests
GDAL message:
- ERROR 1: The BMP file is probably corrupted or too large. Image width = 480
2018-04-09 13:18:33 +03:00
Rajkiran Natarajan
4668836071 Support for setting TIFF DPI info in imwrite 2018-04-04 21:20:16 -07:00
catree
a885480c9e Remove temporary file used for test. 2018-03-29 18:34:30 +02:00
RAJKIRAN NATARAJAN
6d83a80385 Merge pull request #11176 from saskatchewancatch:issue-11165
* fix cv::imwrite to allow cv::UMat and vectors of it to be written

* cv::imwrite failure handling improvements

* Unit test for regression testing imwrite support for and fix whitespace
2018-03-29 16:47:31 +03:00
Alexander Alekhin
a91953b15c imgcodecs: apply CV_OVERRIDE/CV_FINAL 2018-03-28 17:57:59 +03:00
Maksim Shabunin
7c855aa3e1 Fixed two issues found by static analysis 2018-02-26 00:16:02 +03:00
Maksim Shabunin
92e9d4ec3a Fixed several issues detected by static analysis 2018-02-22 17:11:33 +03:00
Alexander Alekhin
6e8241b78d imgcodecs: fix RBaseStream hang on truncated inputs 2018-02-21 13:17:18 +03:00
Rostislav Vasilikhin
27b1f8f446 imwrite for multipage images implemented 2018-02-20 19:08:45 +03:00
Vadim Pisarevsky
120b7a61c3 Merge pull request #10745 from terfendail:tiff_fix 2018-02-20 14:47:13 +00:00
Vitaly Tuzov
24ee7b5080 Fix for vertically flipped tiff files reading 2018-02-19 18:49:19 +03:00
Alexander Alekhin
c020a7bb67 build: portable integer types 2018-02-15 23:43:02 +03:00
luz.paz
d05714995c Misc. modules/ cont. pt2
Found via `codespell`
2018-02-13 11:28:11 -05:00
Alexander Alekhin
4a297a2443 ts: refactor OpenCV tests
- removed tr1 usage (dropped in C++17)
- moved includes of vector/map/iostream/limits into ts.hpp
- require opencv_test + anonymous namespace (added compile check)
- fixed norm() usage (must be from cvtest::norm for checks) and other conflict functions
- added missing license headers
2018-02-03 19:39:47 +00:00
Alexander Alekhin
f056e713c3 Merge pull request #10512 from sturkmen72:update_documentation 2018-01-18 04:44:59 +00:00
Maksim Shabunin
8b87c4b96a Fixed several warnings produced by clang 6 and static analyzers 2018-01-16 15:26:28 +03:00
Suleyman TURKMEN
dcd4f8f5db Update documentation 2018-01-12 22:21:14 +03:00
Alexander Alekhin
73316e10a0 java(test): fix test names 2018-01-12 19:14:00 +00:00