Commit Graph

2969 Commits

Author SHA1 Message Date
Mehdi Sabwat 4802b4c318 wip: rework syc_420_to_rgb function to avoid buffer overflow 2022-05-13 00:31:12 +02:00
Mehdi Sabwat b239948ad9 common: fix sycc420_to_rgb buffer overflow 2022-04-30 21:13:14 +02:00
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 3837ff1b1a
Merge pull request #1408 from rouault/fix_ossfuzz_44544
Avoid integer overflows in DWT. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=44544
2022-02-10 15:13:49 +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 99d555c0f1
Add .github/ISSUE_TEMPLATE.md 2022-01-26 21:52:40 +01:00
Even Rouault a5c95cfe26
Merge pull request #1403 from rouault/configure_guard_bits
opj_encoder_set_extra_options(): add a GUARD_BITS=value option
2022-01-24 12:00:46 +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 d87fd9279a
Merge pull request #1401 from rouault/fix_1399
opj_j2k_setup_encoder(): validate number of tiles to avoid illegal values and potential overflow (fixes #1399)
2022-01-18 17:22:44 +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
Eric Harvey a1eec9c49e
Fix unsigned vs OPJ_INT32 mismatches (#1398) 2022-01-16 18:54:00 +01:00
Eharve14 6e4588f379
Added check for integer overflow in get_num_images (#1397)
As discussed in pull request 1396, added a check for integer overflow.
Change list:
Defined num_images as unsigned int
Moved the if statement to check for an empty directory to the beginning of the read directory section
Added a check to see if num images would roll back to zero when incrementing.
2022-01-15 15:33:03 +01:00
Eharve14 1daaa0b909
Avoid overflow in multiplications in utilities related to big number of files in a directory (CVE-2021-29338) (#1396) 2022-01-13 21:05:52 +01:00
Brad Parham 79c7d7af59
opj_compress/opj_uncompress: fix integer overflow in num_images (#1395)
Includes the fix for CVE-2021-29338
Credit to @kaniini based on #1346
Fixes #1338
2022-01-12 13:46:10 +01:00
Even Rouault fe2fa70716
Merge pull request #1392 from stweil/duplicate
Remove duplicate assignments in function tiftoimage
2021-12-10 11:57:41 +01:00
Stefan Weil af8339d33f Remove duplicate assignments in function tiftoimage
Signed-off-by: Stefan Weil <sw@weilnetz.de>
2021-12-10 11:29:06 +01:00
Even Rouault 22eb737d5d
Merge pull request #1390 from stweil/typos
Fix some typos (found by codespell)
2021-12-05 14:32:51 +01:00
Stefan Weil 6ec9871eca Format source file with typo fixes
Signed-off-by: Stefan Weil <sw@weilnetz.de>
2021-12-05 13:38:47 +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
msheby 90481203a2
opj_compress: add a -TargetBitDepth switch for TIFF output (#1384)
Sometimes, given the same (16-bit TIF) input, one wants to generate a variety of J2C outputs (say, 16-, 12-, and 10-bit). This patch allows one to downsample input files, and so makes it easier to automate OpenJPEG in mass generation of J2Cs without having to pipe though an image processing program.
2021-10-27 14:10:50 +02:00
Even Rouault 9f70bf0ad1
Merge pull request #1383 from rouault/deprecate_bpp
API: deprecate 'bpp' member in favor of 'prec'
2021-10-21 17:21:36 +02: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 3835f37084
tests/: reformat a few files to be modified 2021-10-21 13:12:33 +02:00
Even Rouault 714c63efee
tests/fuzzers/build_seed_corpus.sh: add htj2k files 2021-09-27 08:04:57 +02:00
Even Rouault 0fbeeff48e
Test decoding a .jhc file with vertically causal context variation 2021-09-26 13:02:52 +02:00
Even Rouault cee8802150
README.md: update badge to github action workflows [ci skip] 2021-09-26 12:49:05 +02:00
Even Rouault 2e977fac16
Test decoding a .jph test file 2021-09-26 12:41:05 +02:00
Even Rouault 15594a3dbf
opj_dump.c: fix potential buffer overflow 2021-09-26 12:37:59 +02:00
Even Rouault 15615751b8
Merge pull request #1381 from rouault/htj2k_followup
Added support for high throughput (HTJ2K) decoding.
2021-09-25 13:29:02 +02:00
Even Rouault 0544a0885b
ht_dec.c: fix likely issue on big endian hosts (untested) 2021-09-25 12:59:04 +02:00
Even Rouault f3d8c763ba
opj_decompress / opj_dump: accept .jph and .jhc extensions for HTJ2K files 2021-09-25 12:26:59 +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 ec65174019
Merge pull request #1380 from rouault/fix_verify_indent_pr
verify-indentation.sh: fix for pull request from bar/master to foo/master
2021-09-15 14:01:20 +02:00
Even Rouault af8ed50ae7
CI 'regular': fix static builds when doing perf checks 2021-09-15 13:40:50 +02:00
Even Rouault 29818b8e92
verify-indentation.sh: fix for pull request from bar/master to foo/master 2021-09-15 13:21:25 +02:00
Even Rouault fd485f2f13
Merge pull request #1376 from rouault/gha
Port continuous integration to github actions
2021-09-14 17:15:53 +02:00
Jamaika1 8fc4bf8ecb
Use standard integer types for compatibility with libtiff 4.3.0 (#1377) 2021-09-12 12:32:38 +02:00
Even Rouault 3d3b58c61f
appveyor.yml: disable deploy 2021-09-12 11:18:14 +02:00
Even Rouault 3d582dd885
Add github action workflows CI 2021-09-12 11:18:14 +02:00
Even Rouault 0c19626698
Merge pull request #1375 from rouault/fix_ossfuzz_11700_30646
Avoid integer overflows in DWT.
2021-09-08 13:16:52 +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
Even Rouault 9bb0db7cfb
Merge pull request #1370 from madebr/cmake/export-include-directory
cmake: add install interface include directory
2021-08-12 11:42:28 +02:00
Even Rouault 0d075aa5dc
Merge pull request #1371 from DimitriPapadopoulos/codespell
A couple typos found by codespell
2021-08-12 11:40:40 +02:00
Dimitri Papadopoulos 3efa4fd334
A couple typos found by codespell 2021-08-12 12:12:22 +03:00
Anonymous Maarten 5c2053950e cmake: add install interface include directory 2021-08-01 20:56:40 +02:00