Commit Graph

2968 Commits

Author SHA1 Message Date
Even Rouault 43dd9ee178
Merge pull request #1303 from zodf0055980/fix#1283
Encoder: grow again buffer size
2020-12-04 20:37:43 +01:00
yuan 4ce7d285a5 Encoder: grow again buffer size in opj_tcd_code_block_enc_allocate_data() (fixes #1283) 2020-12-04 19:00:22 +08:00
Even Rouault aaff099b49
Merge pull request #1301 from rouault/fix_1299
opj_j2k_write_sod(): avoid potential heap buffer overflow (fixes #1299) (probably master only)
2020-12-02 23:56:57 +01:00
Even Rouault fb9eae5d63
Merge pull request #1300 from rouault/complement_1293
pi.c: avoid out of bounds access with POC (refs https://github.com/uclouvain/openjpeg/issues/1293#issuecomment-737122836)
2020-12-02 23:56:39 +01:00
Even Rouault fc6abdbeb7
Merge pull request #1298 from rouault/fix_1297
opj_t2_encode_packet(): avoid out of bound access of #1297, but likely not the proper fix
2020-12-02 23:56:30 +01:00
Even Rouault 73fdf28342
opj_j2k_write_sod(): avoid potential heap buffer overflow (fixes #1299) (probably master only) 2020-12-02 14:10:16 +01:00
Even Rouault 00383e162a
pi.c: avoid out of bounds access with POC (refs https://github.com/uclouvain/openjpeg/issues/1293#issuecomment-737122836) 2020-12-02 14:03:11 +01:00
Even Rouault 38d661a389
opj_t2_encode_packet(): avoid out of bound access of #1297, but likely not the proper fix 2020-12-02 13:13:26 +01:00
Even Rouault 18b1138fbe
Merge pull request #1295 from rouault/fix_1293
opj_j2k_setup_encoder(): validate POC compno0 and compno1 (fixes #1293)
2020-12-02 10:05:39 +01:00
Even Rouault 630b485f86
Merge pull request #1296 from rouault/workaround_1294
opj_t2_encode_packet(): avoid out of bound access of #1294, but likely not the proper fix
2020-12-02 10:05:31 +01:00
Even Rouault c9380ed0f8
opj_j2k_setup_encoder(): validate POC compno0 (fixes #1293) 2020-12-01 19:56:44 +01:00
Even Rouault fbd30b064f
opj_t2_encode_packet(): avoid out of bound access of #1294, but likely not the proper fix 2020-12-01 19:51:35 +01:00
Even Rouault 61ff143ad6
Merge pull request #1292 from rouault/fix_1286
Encoder: avoid global buffer overflow on irreversible conversion when…
2020-12-01 11:35:59 +01:00
Even Rouault 6daf5f3e1e
Encoder: avoid global buffer overflow on irreversible conversion when too many decomposition levels are specified (fixes #1286) 2020-11-30 23:29:06 +01:00
Even Rouault 2d119d03a0
Merge pull request #1291 from rouault/tnsot_zero_missing_eoc
Decoding: deal with some SPOT6 images that have tiles with a single tile-part with TPsot == 0 and TNsot == 0, and with missing EOC
2020-11-30 23:28:31 +01:00
Even Rouault b2072402b7
pngtoimage(): fix wrong computation of x1,y1 if -d option is used, that would result in a heap buffer overflow (fixes #1284) 2020-11-30 22:31:51 +01:00
Even Rouault 1aa3c60859
Decoding: deal with some SPOT6 images that have tiles with a single tile-part with TPsot == 0 and TNsot == 0, and with missing EOC 2020-11-30 17:53:04 +01:00
Even Rouault a2b2980a4b
Merge pull request #1288 from zodf0055980/master
Free p_tcd_marker_info to avoid memory leak
2020-11-27 14:25:11 +01:00
yuan 4f487798ba Free p_tcd_marker_info to avoid memory leak 2020-11-26 00:22:49 +08:00
Even Rouault 0c0f27f17d
Merge pull request #1287 from zodf0055980/master
Encoder: grow again buffer size
2020-11-25 16:59:46 +01:00
yuan 649298dcf8 Encoder: grow again buffer size in opj_tcd_code_block_enc_allocate_data() (fixes #1283) 2020-11-25 20:41:39 +08:00
Even Rouault 15cf3d9581
Encoder: grow again buffer size in opj_tcd_code_block_enc_allocate_data() (fixes #1283) 2020-11-23 18:14:02 +01:00
Even Rouault eaa098b59b
Encoder: grow buffer size in opj_tcd_code_block_enc_allocate_data() to avoid write heap buffer overflow in opj_mqc_flush (fixes #1283) 2020-11-23 13:49:05 +01:00
Even Rouault 67ec360f48
Fix typo in internal function name 2020-11-23 13:38:27 +01:00
Even Rouault 491299eb07
Merge pull request #1253 from rouault/floating_point_irreversible_encoding
Single-threaded performance improvements in forward DWT for 5-3 and 9-7 (and other improvements)
2020-10-09 13:25:27 +02:00
Pei JIA 65c8f577d2
Bump Java compatibility from 1.5 to 1.6 (#1263) 2020-09-23 11:34:31 +02:00
Even Rouault 0f16986738
Merge pull request #1276 from rouault/fix_1243
Encoder: avoid uint32 overflow when allocating memory for codestream buffer (fixes #1243)
2020-09-16 11:52:10 +02:00
Even Rouault 0863ccf291
Encoder: avoid uint32 overflow when allocating memory for codestream buffer (fixes #1243) 2020-09-16 11:27:53 +02:00
Even Rouault cbee7891a0
Merge pull request #1262 from rouault/fix_1261
opj_decompress: fix double-free on input directory with mix of valid and invalid images
2020-06-30 22:05:13 +02:00
Even Rouault e8e258ab04
opj_decompress: fix double-free on input directory with mix of valid and invalid images (CVE-2020-15389)
Fixes #1261

Credits to @Ruia-ruia for reporting and analysis.
2020-06-30 21:31:19 +02:00
Even Rouault 172c8ae5cf
Merge pull request #1260 from sebras/fix-issue-1259
openjp2: Plug image leak when failing to allocate codestream index.
2020-06-22 22:35:44 +02:00
Even Rouault e252438d5e
Merge pull request #1258 from sebras/fix-issue-1257
openjp2: Plug memory leak when setting data as TLS fails.
2020-06-22 22:12:08 +02:00
Sebastian Rasmussen b028e8d1ce openjp2: Plug image leak when failing to allocate codestream index.
This fixes issue #1259.
2020-06-23 03:42:25 +08:00
Sebastian Rasmussen 79b199a8fe openjp2: Plug memory leak when setting data as TLS fails.
Previously the Tier 1 handle was not freed when setting it as
TLS failed.

This fixes issue #1257.
2020-06-23 03:21:31 +08:00
Even Rouault 98150d0942
Merge pull request #1256 from sebras/master
openjp2: Error out if failing to create Tier 1 handle.
2020-06-22 21:03:23 +02:00
Sebastian Rasmussen 93b9f7236c openjp2: Error out if failing to create Tier 1 handle.
Previously when the handle failed to be created (e.g. when
opj_calloc returned NULL due to low memory), the code still
assumed that the t1 handle pointer was valid and dereferenced
NULL, causing a crash. After this commit OpenJPEG will instead
error out under this condition.

This fixes issue #1255.
2020-06-23 02:32:31 +08:00
szukw000 25fb144c42
Testing for invalid values of width, height, numcomps (#1254) 2020-06-10 17:40:50 +02:00
Even Rouault 1c5627ee74
T1 encoder: speed-up by aggressive inlining and more cache friendly data organization
~ 9% speed improvement seen on 10980x10980 uint16 image, T36JTT_20160914T074612_B02.tif
opj_compress time from 17.2s to 15.8s
2020-05-24 15:38:48 +02:00
Even Rouault 1e931fdb36
Forward DWT 9-7: major speed up by vectorizing vertical pass
`bench_dwt -I -encode` times goes from 8.6s to 2.1s
2020-05-23 01:01:05 +02:00
Even Rouault a38e970fa5
Forward DWT 5-3: major speed up by vectorizing vertical pass
`bench_dwt -encode` times goes from 7.9s to 1.7s
2020-05-23 01:01:05 +02:00
Even Rouault e69fa09f60
Forward DWT: small code refactoring to allow future improvements for the vertical pass 2020-05-22 16:01:45 +02:00
Even Rouault 33d3d0de07
dwt.c: remove unused typedef 2020-05-22 15:06:29 +02:00
Even Rouault 97b384aecd
Forward DWT 5x3: performance improvements in horizontal pass, and modest in vertical pass 2020-05-22 15:03:40 +02:00
Even Rouault bd5f5ee7de
Forward DWT: small code refactoring to allow future improvements for the horizontal pass 2020-05-22 15:02:33 +02:00
Even Rouault 45a35223b7
Speed-up 9x7 IDWD by ~30% with OPJ_NUM_THREADS=2
"bench_dwt -I" time goes from 2.2s to 1.5s
2020-05-21 17:21:55 +02:00
Even Rouault 272b3e0fb2
Remove useless + 5U margin in opj_dwt_decode_tile_97()
Nothing in code analysis nor test suite shows that this margin is
needed.
It dates back to commit dbeebe72b9
where vector 9x7 decoding was introduced.
2020-05-21 15:42:51 +02:00
Even Rouault 47943daa15
Speed-up 9x7 IDWD by ~20%
"bench_dwt -I" time goes from 2.8s to 2.2s
2020-05-21 15:42:51 +02:00
Even Rouault 0c09062464
bench_dwt.c: add a -I switch to test irreversible FWDT/IDWT 2020-05-20 23:20:48 +02:00
Even Rouault 19ef7f26c4
Merge pull request #1211 from sebras/master
Add check to validate SGcod/SPcoc/SPcod parameter values.
2020-05-20 21:10:55 +02:00
Even Rouault adccbc8336
Irreversible decoding: partially revert previous commit, to fix failures in test suite 2020-05-20 20:31:28 +02:00