Aous Naman
59a2d211f3
Fixed style.
2022-07-13 12:18:01 +10:00
Aous Naman
057c4c188a
Modified the mel_init code to replace the assert statement with an if statement, returning false when an incorrect sequence of bytes are encountered in the MEL segment. Similar code should be added to the main MEL decoding subrountine, but the change is more involved; in any case, an incorrect sequence produces incorrect results, but should not be harmful or cause a crash.
2022-07-13 11:30:49 +10:00
Even Rouault
dd1a2d6480
opj_t1_encode_cblk(): avoid undefined behaviour on fuzzed input ( fixes #1432 )
2022-06-29 11:47:58 +02:00
Yuan
0535bfc3b7
HT_DEC: Fix opj_t1_allocate_buffers malloc size error ( #1426 ) ( fixes #1413 )
2022-05-31 11:55:12 +02:00
Even Rouault
5292728740
Merge pull request #1423 from Neumann-A/patch-1
...
Fix windows arm builds
2022-05-16 23:35:22 +02:00
Alexander Neumann
098bb874db
Fix windows arm builds
2022-05-16 23:10:26 +02:00
Biswapriyo Nath
17d1bc7f1a
pkgconfig: Define OPJ_STATIC for static linking with pkgconf
...
allows for the usage of $(pkgconf --static --cflags libopenjp2) to produce
the proper CFLAGS for static linking. Relies on pkgconf rather than pkg-config
2022-05-15 18:11:50 +05:30
Even Rouault
6a29f5a9e3
opj_j2k_decode_tile(): avoid 'Stream too short' error in non-strict mode
2022-02-10 15:50:07 +01:00
Even Rouault
1462e9403f
Avoid integer overflows in DWT. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=44544
2022-02-10 14:30:13 +01:00
Robert Gabriel Jakabosky
883c31dbe0
Add support for partial bitstream decoding ( #1407 ) ( fixes #715 )
...
Add a -allow-partial option to opj_decompress utility and a opj_decoder_set_strict_mode() option to the API
Co-authored-by: Chris Hafey <chafey@gmail.com>
2022-02-10 14:27:17 +01:00
Even Rouault
1de5fc6c51
opj_encoder_set_extra_options(): add a GUARD_BITS=value option
...
and add a -GuardBits option to opj_compress.
The recently-released SMPTE DCP Bv2.1 Application Profile (link below)
says that the number of guard bits in the QCD marker shall be 1 for 2K
content and 2 for 4K content. This change allows the number of guard bits
to be configured, so that users of openjpeg have the control they need to meet the specification.
https://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=9161348
This is an alternative implementation of https://github.com/uclouvain/openjpeg/pull/1388
that keeps ABI unchanged.
2022-01-23 17:54:44 +01:00
Eric Harvey
241e9e8efe
Fix potential overflow related issues spotted by LGTM code analysis ( #1402 )
2022-01-18 21:55:10 +01:00
Even Rouault
70f5e0a0df
opj_j2k_setup_encoder(): validate number of tiles to avoid illegal values and potential overflow ( fixes #1399 )
2022-01-18 15:44:18 +01:00
Stefan Weil
ef73ad1c97
Fix singular/plural mismatch
...
Signed-off-by: Stefan Weil <sw@weilnetz.de>
2021-12-05 13:32:09 +01:00
Stefan Weil
667149ffa1
Fix some typos (found by codespell)
...
Signed-off-by: Stefan Weil <sw@weilnetz.de>
2021-12-05 13:14:33 +01:00
Even Rouault
0b5d62684f
API: deprecate 'bpp' member in favor of 'prec'
...
in opj_image_comp and opj_image_comptparm structures.
bpp was redundant with prec, and almost never set by the library, except
by opj_image_create(). This change should hopefully not impact existing,
working, users of the API, which should already have used prec to get
things working.
Fixes #1379
2021-10-21 14:13:58 +02:00
Even Rouault
0544a0885b
ht_dec.c: fix likely issue on big endian hosts (untested)
2021-09-25 12:59:04 +02:00
Aous Naman
1e6c925eb5
Added support for high throughput (HTJ2K) decoding.
...
There are a few limitations:
- mixed mode (HT and regular code blocks) is not supported.
- ROI in HT blocks is not supported.
- Placeholder passes are not supported.
- MultiHT sets are not support, only a singleHT set.
- there are known issues with some compliance testing files related to
the parsing of packet header.
2021-09-25 12:26:59 +02:00
Even Rouault
badbd93af9
Avoid integer overflows in DWT. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=11700 and https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=30646
2021-09-03 15:17:56 +02: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
Even Rouault
85a87cd505
Remove obsolete components JPWL, JP3D and MJ2
2021-05-04 19:21:45 +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