summaryrefslogtreecommitdiff
path: root/src/lib/openjp2
AgeCommit message (Collapse)Author
2021-09-03Avoid integer overflows in DWT. Fixes ↵Even Rouault
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=11700 and https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=30646
2021-08-30Merge pull request #1373 from DimitriPapadopoulos/lgtmEven Rouault
LGTM warning: Comparison result is always the same
2021-08-30LGTM warning: Comparison result is always the sameDimitri Papadopoulos
Comparison is always true because pos >= 0.
2021-08-01cmake: add install interface include directoryAnonymous Maarten
2021-07-12Fix code formattingEven Rouault
2021-07-12opj_j2k_is_imf_compliant: Fix out of bounds access.Sebastian Rasmussen
Previously when mainlevel was parsed == 12 openjpeg would generate a warning, but then the sublevel value would be compared to an out of bounds element in the tabMaxSubLevelFromMainLevel array. From this commit OpenJPEG will only use mainlevel if in range.
2021-07-12opj_j2k_is_imf_compliant: Fix argument formatting for warnings.Sebastian Rasmussen
2021-06-07Add support for enabling generation of TLM markers in encoderEven Rouault
Support was already there, but restricted to Cinema and IMF profiles, and 255 tiles * Add -TLM switch added to opj_compress * Make opj_encoder_set_extra_options() function accept a TLM=YES option.
2021-06-07openjpeg.c: avoid casts of function pointersEven Rouault
2020-12-21Change defined WIN32Jamaika1
2020-12-04pi.c: avoid out of bounds access with POC (fixes #1302)Even Rouault
2020-12-04Encoder: grow again buffer size in opj_tcd_code_block_enc_allocate_data() ↵yuan
(fixes #1283)
2020-12-02Merge pull request #1301 from rouault/fix_1299Even Rouault
opj_j2k_write_sod(): avoid potential heap buffer overflow (fixes #1299) (probably master only)
2020-12-02Merge pull request #1300 from rouault/complement_1293Even Rouault
pi.c: avoid out of bounds access with POC (refs https://github.com/uclouvain/openjpeg/issues/1293#issuecomment-737122836)
2020-12-02opj_j2k_write_sod(): avoid potential heap buffer overflow (fixes #1299) ↵Even Rouault
(probably master only)
2020-12-02pi.c: avoid out of bounds access with POC (refs ↵Even Rouault
https://github.com/uclouvain/openjpeg/issues/1293#issuecomment-737122836)
2020-12-02opj_t2_encode_packet(): avoid out of bound access of #1297, but likely not ↵Even Rouault
the proper fix
2020-12-02Merge pull request #1295 from rouault/fix_1293Even Rouault
opj_j2k_setup_encoder(): validate POC compno0 and compno1 (fixes #1293)
2020-12-02Merge pull request #1296 from rouault/workaround_1294Even Rouault
opj_t2_encode_packet(): avoid out of bound access of #1294, but likely not the proper fix
2020-12-01opj_j2k_setup_encoder(): validate POC compno0 (fixes #1293)Even Rouault
2020-12-01opj_t2_encode_packet(): avoid out of bound access of #1294, but likely not ↵Even Rouault
the proper fix
2020-11-30Encoder: avoid global buffer overflow on irreversible conversion when too ↵Even Rouault
many decomposition levels are specified (fixes #1286)
2020-11-30Decoding: deal with some SPOT6 images that have tiles with a single ↵Even Rouault
tile-part with TPsot == 0 and TNsot == 0, and with missing EOC
2020-11-26Free p_tcd_marker_info to avoid memory leakyuan
2020-11-25Encoder: grow again buffer size in opj_tcd_code_block_enc_allocate_data() ↵yuan
(fixes #1283)
2020-11-23Encoder: grow again buffer size in opj_tcd_code_block_enc_allocate_data() ↵Even Rouault
(fixes #1283)
2020-11-23Encoder: grow buffer size in opj_tcd_code_block_enc_allocate_data() to avoid ↵Even Rouault
write heap buffer overflow in opj_mqc_flush (fixes #1283)
2020-11-23Fix typo in internal function nameEven Rouault
2020-10-09Merge pull request #1253 from rouault/floating_point_irreversible_encodingEven Rouault
Single-threaded performance improvements in forward DWT for 5-3 and 9-7 (and other improvements)
2020-09-16Encoder: avoid uint32 overflow when allocating memory for codestream buffer ↵Even Rouault
(fixes #1243)
2020-06-22Merge pull request #1260 from sebras/fix-issue-1259Even Rouault
openjp2: Plug image leak when failing to allocate codestream index.
2020-06-23openjp2: Plug image leak when failing to allocate codestream index.Sebastian Rasmussen
This fixes issue #1259.
2020-06-23openjp2: Plug memory leak when setting data as TLS fails.Sebastian Rasmussen
Previously the Tier 1 handle was not freed when setting it as TLS failed. This fixes issue #1257.
2020-06-23openjp2: Error out if failing to create Tier 1 handle.Sebastian Rasmussen
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-10Testing for invalid values of width, height, numcomps (#1254)szukw000
2020-05-24T1 encoder: speed-up by aggressive inlining and more cache friendly data ↵Even Rouault
organization ~ 9% speed improvement seen on 10980x10980 uint16 image, T36JTT_20160914T074612_B02.tif opj_compress time from 17.2s to 15.8s
2020-05-23Forward DWT 9-7: major speed up by vectorizing vertical passEven Rouault
`bench_dwt -I -encode` times goes from 8.6s to 2.1s
2020-05-23Forward DWT 5-3: major speed up by vectorizing vertical passEven Rouault
`bench_dwt -encode` times goes from 7.9s to 1.7s
2020-05-22Forward DWT: small code refactoring to allow future improvements for the ↵Even Rouault
vertical pass
2020-05-22dwt.c: remove unused typedefEven Rouault
2020-05-22Forward DWT 5x3: performance improvements in horizontal pass, and modest in ↵Even Rouault
vertical pass
2020-05-22Forward DWT: small code refactoring to allow future improvements for the ↵Even Rouault
horizontal pass
2020-05-21Speed-up 9x7 IDWD by ~30% with OPJ_NUM_THREADS=2Even Rouault
"bench_dwt -I" time goes from 2.2s to 1.5s
2020-05-21Remove useless + 5U margin in opj_dwt_decode_tile_97()Even Rouault
Nothing in code analysis nor test suite shows that this margin is needed. It dates back to commit dbeebe72b9d35f6ff807c21c7f217b569fa894f6 where vector 9x7 decoding was introduced.
2020-05-21Speed-up 9x7 IDWD by ~20%Even Rouault
"bench_dwt -I" time goes from 2.8s to 2.2s
2020-05-20bench_dwt.c: add a -I switch to test irreversible FWDT/IDWTEven Rouault
2020-05-20Merge pull request #1211 from sebras/masterEven Rouault
Add check to validate SGcod/SPcoc/SPcod parameter values.
2020-05-20Irreversible decoding: partially revert previous commit, to fix failures in ↵Even Rouault
test suite
2020-05-20Irreversible compression/decompression DWT: use 1/K constant as per standardEven Rouault
The previous constant opj_c13318 was mysteriously equal to 2/K , and in the DWT, we had to divide K and opj_c13318 by 2... The issue was that the band->stepsize computation in tcd.c didn't take into account the log2gain of the band. The effect of this change is expected to be mostly equivalent to the previous situation, except some difference in rounding. But it leads to a dramatic reduction of the mean square error and peak error in the irreversible encoding of issue141.tif !
2020-05-20Irreversible decoding: align code more closely to the standard by avoid ↵Even Rouault
messing up with stepsize (no functional change)