Aous Naman
12d4e80f8e
Added support for high throughput (HT) decoding.
2021-09-02 18:51:38 +10:00
Even Rouault
172583ab5b
Merge pull request #1373 from DimitriPapadopoulos/lgtm
...
LGTM warning: Comparison result is always the same
2021-08-30 19:15:32 +02:00
Dimitri Papadopoulos
bea58764ad
LGTM warning: Comparison result is always the same
...
Comparison is always true because pos >= 0.
2021-08-30 18:48:57 +03:00
Anonymous Maarten
5c2053950e
cmake: add install interface include directory
2021-08-01 20:56:40 +02:00
Even Rouault
08ba6a1638
Fix code formatting
2021-07-12 15:59:41 +02:00
Sebastian Rasmussen
e0993d072a
opj_j2k_is_imf_compliant: Fix out of bounds access.
...
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-12 15:32:39 +02:00
Sebastian Rasmussen
c8ab3e5849
opj_j2k_is_imf_compliant: Fix argument formatting for warnings.
2021-07-12 03:43:30 +02:00
Even Rouault
a36ae03860
Add support for enabling generation of TLM markers in encoder
...
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-07 15:49:08 +02:00
Even Rouault
7e4e09a7fb
openjpeg.c: avoid casts of function pointers
2021-06-07 12:57:30 +02:00
Jamaika1
0c2b633992
Change defined WIN32
2020-12-21 07:59:12 +01:00
Even Rouault
8f5aff1dff
pi.c: avoid out of bounds access with POC ( fixes #1302 )
2020-12-04 20:45:25 +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
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
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
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
yuan
4f487798ba
Free p_tcd_marker_info to avoid memory leak
2020-11-26 00:22:49 +08: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
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
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
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
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
Even Rouault
3cd1305596
Irreversible compression/decompression DWT: use 1/K constant as per standard
...
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-20 20:31:28 +02:00
Even Rouault
f38c069547
Irreversible decoding: align code more closely to the standard by avoid messing up with stepsize (no functional change)
2020-05-20 20:31:28 +02:00