Even Rouault
fa55b52d19
Improve performance of inverse DWT 5x3 ( #953 )
...
* Use single-pass lifting inverse wavelet transform.
* For vertical pass, use SSE2 when available so as to process 8 columns
in parallel. This is the most beneficial improvement, since the
vertical pass involves a lot of cache trashing.
With the bench_dwt utility with default arguments (16383x16383 image),
time goes from 4.064 s to 1.212 s.
2017-06-20 18:01:34 +02:00
Even Rouault
919ed5f8b8
Add bench_dwt program (compiled only if BUILD_BENCH_DWT=ON)
2017-06-20 17:56:19 +02:00
Even Rouault
8df2521a60
Remove OPJ_NOSANITIZE in opj_bio_read() and opj_bio_write() ( #761 )
...
Commit 29313eb5
introduced those flags to avoid issues with
-fsanitize=unsigned-integer-overflow
However it is better just to rewrite the loop to avoid such condition
to occur.
2017-06-17 19:15:00 +02:00
Even Rouault
32b20b93e0
Fix astyle issue
2017-06-17 16:37:56 +02:00
Even Rouault
5f596cb283
Fix warning about unused arguments
2017-06-17 14:10:15 +02:00
Even Rouault
cc07aec6c7
Fix warnings with recent GCC versions
2017-06-17 14:09:31 +02:00
Jeroen Ooms
a0839cca24
only build both static and dynamic on non-windows
2017-06-16 13:58:25 +02:00
Jeroen Ooms
1329b3240a
build both shared and static library
2017-06-16 13:27:19 +02:00
Antonin Descampe
36dd87cea8
Merge pull request #928 from RussellMcOrmond/master
...
Quiet mode for opj_decompress via -quiet long parameter.
2017-06-14 17:23:06 +02:00
Even Rouault
9cbc9903c3
Merge branch 't1_flag_optimizations'
2017-06-13 12:09:52 +02:00
Even Rouault
2609fb8077
Packet header writing: set empty packet header bit to 0 when appropriate (small optimization)
2017-06-12 18:38:11 +02:00
Even Rouault
73d1510d47
Encoder: fix packet writing of empty sub-bands ( #891 , #892 )
...
There are situations where, given a tile size, at a resolution level,
there are sub-bands with x0==x1 or y0==y1, that consequently don't have any
valid codeblocks, but the other sub-bands may be non-empty.
Given that we recycle the memory from one tile to another one, those
ghost codeblocks might be non-0 and thus candidate for packet inclusion.
2017-06-12 18:37:50 +02:00
Even Rouault
81c5311758
T1: fix BYPASS/LAZY, TERMALL/RESTART and PTERM/ERTERM encoding modes. ( #674 )
...
There were a number of defects regarding when and how the termination of
passes had to done and the computation of their rate.
2017-06-09 10:49:03 +02:00
Even Rouault
9a9b06911e
opj_t1_dec_sigpass_raw/opj_t1_dec_refpass_raw: harmonize style with mqc methods
2017-06-02 19:22:15 +02:00
Even Rouault
532243f1fd
MQC/RAW decoder: use an artificial 0xFF 0xFF terminating marker.
...
This saves comparing the current pointer with the end of buffer pointer.
This results at least in tiny speed improvement for raw decoding, and
smaller code size for MQC as well.
This kills the remains of the raw.h/.c files that were only used for
decoding. Encoding using the mqc structure already.
2017-06-02 18:24:07 +02:00
Even Rouault
9b39fc4bcc
Fix documentation of opj_t1_decode_cblks()
2017-06-02 18:23:49 +02:00
Even Rouault
dde6cbabc0
Simplify VSC handling: instead of masking out bits when reading the 4th row.
...
Do not set them when updating flags of the 1st row
2017-06-02 18:23:38 +02:00
Even Rouault
3d9940a35b
Force inlining of mqc decoding and pass steps through heavy use of macros, so as to get better register allocation
2017-06-02 18:23:20 +02:00
Even Rouault
7e8b502842
t1_generate_luts.c: fix compiler warnings
2017-06-02 18:22:59 +02:00
Even Rouault
2ba861c37c
Optimize opj_t1_update_flags()
2017-06-02 18:22:42 +02:00
Even Rouault
a0861855c1
T1: remove use of neghalf variable. It is useless since bpno is always > 0
2017-06-02 18:22:21 +02:00
Even Rouault
10410fe72e
T1: avoid pointer indirection for mqc and raw members of opj_t1_t
2017-06-02 18:21:54 +02:00
Even Rouault
a5003787ff
T1: remove flags_stride variable from opj_t1_t
2017-06-02 18:21:39 +02:00
Even Rouault
0ec842e1f1
Inline opj_raw_decode()
2017-06-02 18:21:21 +02:00
Even Rouault
aa7a8a4398
T1: loop unrolling in dec_sigpass_raw and dec_refpass_raw
2017-06-02 18:20:58 +02:00
Even Rouault
68557ff503
T1: Transpose coder optimizations to decoder, and cleanup code
2017-06-02 18:20:35 +02:00
Even Rouault
1957a498b6
Fix compiler warnings
2017-05-23 17:06:46 +02:00
Even Rouault
40c0f42def
Factor index computation for lut_enc_ctxno_sc and lut_enc_spb
2017-05-23 17:06:46 +02:00
Even Rouault
d6907b9304
Optimize a bit opj_t1_enc_clnpass()
2017-05-23 17:06:46 +02:00
Even Rouault
c76a592131
T1: remove unused code in decoder
2017-05-23 17:06:46 +02:00
Even Rouault
4068363ff5
T1: fix VSC mode in encoder
2017-05-23 16:16:32 +02:00
Even Rouault
cd12414c6b
T1: use more compact flags to optimize cache usage in encoder passes. ( #172 )
...
Ported from Carl Hetherington work (actually through Matthieu Darbois's port
on top of OpenJPEG 2.1.0)
Can reduce total encoding time by 10-15%
WARNING: VSC mode is not implemented, and so is a temporary regression
that must be fixed.
2017-05-23 16:16:32 +02:00
Even Rouault
a8ca7c51f3
CMake: add stronger warnings for openjp2 lib/bin by default, and error out on declaration-after-statement
...
And remove occurences of unused arguments in src/lib/openjp2
2017-05-23 15:47:57 +02:00
Even Rouault
8728cfbc79
t1.c: fix compiler warnings
2017-05-23 13:54:28 +02:00
Russell McOrmond
5f1e380b51
Fixed formatting issues ASTYLE
2017-05-16 09:31:07 -04:00
Russell McOrmond
9d8e1ecdeb
Quiet mode for opj_decompress via -quiet long parameter.
2017-05-15 14:39:54 -04:00
Even Rouault
83d7a6d4a4
MQC: remove disabled MQC_PERF_OPT mode, which brings no performance improvements (see #923 )
2017-05-15 14:11:47 +02:00
Even Rouault
4431fa7265
Add comments about non successfull attempt of implementing alternate INITDEC, DECODE and BYTEIN procedures (refs #921 )
2017-05-15 14:09:51 +02:00
Even Rouault
3c2972f924
Reformat: apply reformattin on .h files ( #128 )
2017-05-15 12:21:30 +02:00
Even Rouault
563bd8499e
Reformat whole codebase with astyle.options ( #128 )
2017-05-09 20:46:20 +02:00
Even Rouault
a43f1bea62
Remove warnings related to empty tag-trees.
...
Decoding some valid .jp2 files like Sentinel2 datasets leads to warnings like:
No incltree created.
tgt_create tree->numnodes == 0, no tree created.
No imsbtree created.
tgt_create tree->numnodes == 0, no tree created.
Besides that, the image is correctly decoded. So there is no reason to emit
those warnings.
2017-02-13 12:36:45 +01:00
Mathieu Malaterre
34dae137a9
OPENJPEG_NAMESPACE is configurable by user
2016-09-26 12:01:31 +02:00
Mathieu Malaterre
4d5c5e7c48
Remove typos from comments and man pages
2016-09-26 11:26:55 +02:00
Matthieu Darbois
fac916f72a
Fix PNM file reading ( #847 )
...
Malformed PNM file could cause a crash in opj_compress.
Checks were added to prevent this.
Fixes #843
Updates #440
2016-09-22 00:30:34 +02:00
Stefan Weil
8715ce2749
Fix some issues reported by Coverity Scan ( #846 )
...
* test_tile_decoder: Fix potential buffer overflow (coverity)
CID 1190155 (#1 of 1): Unbounded source buffer (STRING_SIZE)
Using a pointer instead of buffer of fixed size avoids the limit
for the length of the input file name.
Signed-off-by: Stefan Weil <sw@weilnetz.de>
* test_tile_encoder: Fix potential buffer overflow (coverity)
CID 1190154 (#1 of 1): Unbounded source buffer (STRING_SIZE)
Using a pointer instead of buffer of fixed size avoids the limit
for the length of the output file name. This implies that the length
can exceed 255, so the data type for variable len had to be fixed, too.
Signed-off-by: Stefan Weil <sw@weilnetz.de>
* openjpip: Initialize data before returning it
This fixes an error reported by Coverity:
CID 1190143 (#1 of 1): Uninitialized scalar variable (UNINIT)
Signed-off-by: Stefan Weil <sw@weilnetz.de>
2016-09-21 21:15:25 +02:00
Stefan Weil
045aa4d9f2
Fix potential out-of-bounds read (coverity) ( #844 )
...
* query_parser: Fix potential out-of-bounds read (coverity)
CID 1190207 (#1 of 1): Out-of-bounds read (OVERRUN)
Variable i must be checked before testing query_param.box_type.
Signed-off-by: Stefan Weil <sw@weilnetz.de>
* jpip_parser: Fix potential out-of-bounds read (coverity)
CID 1190206 (#1 of 1): Out-of-bounds read (OVERRUN)
Variable i must be checked before testing query_param.box_type.
Signed-off-by: Stefan Weil <sw@weilnetz.de>
2016-09-21 13:17:09 +02:00
Antonin Descampe
da94042481
Merge pull request #834 from trylab/issue833
...
Fix issue 833.
2016-09-20 18:59:30 +02:00
Antonin Descampe
31d44f0280
Disable automatic compilation of t1_generate_luts
...
Fix #831
2016-09-20 18:48:06 +02:00
Antonin Descampe
3aaeea7ce8
renamed USE_THREAD to OPJ_USE_THREAD
...
renaming to be consistent with previous OPJ CMake options
2016-09-16 17:54:12 +02:00
Matthieu Darbois
6e7616c83c
Remove TODO for overflow check ( #842 )
...
The check was already done. It’s been simplified.
Reformat to get consistent style throughout the functions.
2016-09-15 23:51:34 +02:00
Matthieu Darbois
9a07ccb3d0
Add overflow checks for opj_aligned_malloc ( #841 )
...
See
https://pdfium.googlesource.com/pdfium/+/b20ab6c7acb3be1393461eb650ca8fa4660c937e/third_party/libopenjpeg20/0020-opj_aligned_malloc.patch
2016-09-15 01:57:53 +02:00
Matthieu Darbois
f88c9974e2
Flags in T1 shall be unsigned ( #840 )
...
This will remove some conversion warnings
2016-09-14 23:46:46 +02:00
Matthieu Darbois
0954bc11e3
Fix some warnings ( #838 )
...
Fix warnings introduced by uclouvain/openjpeg#786
2016-09-14 00:12:43 +02:00
Antonin Descampe
f66e120452
Merge branch 'bit-fields-type' of https://github.com/smuehlst/openjpeg into smuehlst-bit-fields-type
2016-09-13 21:21:11 +02:00
Antonin Descampe
d6d0f070e1
Merge pull request #786 from rouault/tier1_optimizations_multithreading
...
T1 & DWT multithreading decoding optimizations
2016-09-13 16:39:26 +02:00
trylab
893143c8e1
Fix issue 833.
...
Add some overflow check operations.
2016-09-13 17:43:30 +08:00
Matthieu Darbois
b21a8317e5
Fix coverity 113065 (CWE-484) ( #824 )
2016-09-08 22:14:19 +02:00
Even Rouault
48c16b2c19
Merge branch 'master' of https://github.com/uclouvain/openjpeg into tier1_optimizations_multithreading_2
...
Conflicts:
src/lib/openjp2/t1.c
2016-09-08 10:30:09 +02:00
Even Rouault
ab22c5bad5
opj_thread_pool: fix potential deadlock at thread pool destruction
2016-09-08 09:43:36 +02:00
Matthieu Darbois
ef01f18dfc
Cast to size_t before multiplication
...
Need to cast to size_t before multiplication otherwise overflow check is useless.
2016-09-08 07:34:46 +02:00
Matthieu Darbois
e078172b1c
Add sanity check for tile coordinates ( #823 )
...
Coordinates are casted from OPJ_UINT32 to OPJ_INT32
Add sanity check for negative values and upper bound becoming lower
than lower bound.
See also
https://pdfium.googlesource.com/pdfium/+/b6befb2ed2485a3805cddea86dc7574510178ea9
2016-09-08 00:24:15 +02:00
Stephan Mühlstrasser
8750e183c6
Moved type OPJ_BITFIELD from openjpeg.h to opj_includes.h
...
OPJ_BITFIELD is used only in internal headers and must not
appear in the public openjpeg.h header.
2016-09-07 08:41:01 +02:00
Stephan Mühlstrasser
6c83f1468c
Merge branch 'master' into bit-fields-type
2016-09-07 08:35:19 +02:00
Matthieu Darbois
734d57d5f7
fix incrementing of "l_tcp->m_nb_mcc_records" in opj_j2k_read_mcc ( #820 )
2016-09-06 22:33:26 +02:00
trylab
c16bc057ba
Fix an integer overflow issue ( #809 )
...
Prevent an integer overflow issue in function opj_pi_create_decode of
pi.c.
2016-09-06 07:55:49 +02:00
Matthieu Darbois
ea320dab8b
Add overflow check in opj_tcd_init_tile ( #819 )
2016-09-06 07:54:29 +02:00
Matthieu Darbois
d7e6b7de8a
Fix leak & invalid behavior of opj_jp2_read_ihdr ( #818 )
...
In case multiple ihdr box are present, only the first one shall be
taken into account.
2016-09-06 01:31:15 +02:00
Matthieu Darbois
ccd9ced49e
Add overflow check in opj_j2k_update_image_data ( #817 )
2016-09-06 00:50:44 +02:00
Matthieu Darbois
9f24b078c7
Change 'restrict' define to 'OPJ_RESTRICT' ( #816 )
...
Visual Studio 2015 does not pass regression tests with `__restrict` so kept disabled for MSVC.
Need to check proper usage of OPJ_RESTRICT (if correct then there’s
probably a bug in vc14)
Closes #661
2016-09-06 00:49:53 +02:00
Even Rouault
4f9abb9a45
[Win32] Use _beginthreadex instead of CreateThread()
2016-08-11 21:59:28 +02:00
Stephan Mühlstrasser
54874194a8
Unified bit-field declaration, removed tabs.
2016-07-27 10:09:54 +02:00
Stephan Mühlstrasser
d2d35bf6c2
Create separate type for bit-fields.
...
The definition of bit-fields with type OPJ_UINT32 caused complilation errors
on IBM iSeries, because OPJ_UINT32 is defined as uint32_t, and
uint32_t is defined as unsigned long in <stdint.h>. The definition of
bit-fields with an integer type of a specific size doesn't make sense
anyway.
2016-07-25 20:46:11 +02:00
Stefan Weil
e40c28c2e8
jpwl: Remove non-portable data type u_int16_t (fix issue #796 ) ( #797 )
...
The type casts which used this data type can be removed by changing
the signature of function swap16. As this function is called with
unsigned variables, this change is reasonable.
Signed-off-by: Stefan Weil <sw@weilnetz.de>
2016-07-14 10:49:17 +02:00
Stefan Weil
18da6155b2
Fix dependency for pkg-config (issue #594 ) ( #795 )
...
openjpeg provides libopenjp2.pc, so the require statements must refer to
libopenjp2 instead of openjp2.
Fixes #594
Signed-off-by: Stefan Weil <sw@weilnetz.de>
2016-07-12 00:45:51 +02:00
maddin200
cb72c08472
Update tcd.c ( #790 )
...
cppcheck unitialized variable
2016-06-21 22:13:57 +02:00
Even Rouault
7d3c7a345f
Be robust to failed allocations of job structures
2016-05-26 23:51:32 +02:00
Even Rouault
69497d35c0
opj_decompress: use clock_gettime() instead of getrusage() so as to get the time spent, and not to the total CPU time
2016-05-25 21:59:43 +02:00
Even Rouault
d67cd2220a
opj_decompress: add a -threads <num_threads> option
2016-05-25 21:02:07 +02:00
Even Rouault
57b216bb58
Use thread pool for DWT decoding
2016-05-25 21:02:07 +02:00
Even Rouault
5fbb8b2645
Use thread-pool for T1 decoding
2016-05-25 21:02:07 +02:00
Even Rouault
d4b7f03cfa
Add opj_codec_set_threads() in public API and propagate resulting thread pool to tcd level
...
By default, only the main thread is used. If opj_codec_set_threads() is not used,
but the OPJ_NUM_THREADS environment variable is set, its value will be
used to initialize the number of threads. The value can be either an integer
number, or "ALL_CPUS". If OPJ_NUM_THREADS is set and this function is called,
this function will override the behaviour of the environment variable.
2016-05-25 21:02:07 +02:00
Even Rouault
54179fe1d5
Add threading and thread pool API
2016-05-25 21:02:07 +02:00
Even Rouault
7092f7ea11
Fix MSVC210 build issue (use of C99 declaration after statement) introduced in ba1edf6cd4
2016-05-23 16:00:28 +02:00
Even Rouault
107eb31531
Improve perf of opj_t1_dec_sigpass_mqc_vsc() and opj_t1_dec_refpass_mqc_vsc() with loop unrolling
2016-05-23 13:45:15 +02:00
Even Rouault
8371491a99
Better inlining of opj_t1_updateflagscolflags() w.r.t. flags_stride
2016-05-23 11:53:54 +02:00
Even Rouault
956c31d5a6
opj_t1_dec_clnpass(): remove useless test in the runlen decoding path (of the non VSC case)
2016-05-23 11:53:54 +02:00
Even Rouault
93f7f90711
opj_t1_decode_cblks(): tiny perf increase when loop unrolling
2016-05-23 11:53:53 +02:00
Even Rouault
1da397e94a
Tier 1 decoding: add a colflags array
...
Addition flag array such that colflags[1+0] is for state of col=0,row=0..3,
colflags[1+1] for col=1, row=0..3, colflags[1+flags_stride] for col=0,row=4..7, ...
This array avoids too much cache trashing when processing by 4 vertical samples
as done in the various decoding steps.
2016-05-23 11:53:53 +02:00
Even Rouault
31882ad7f4
Const'ify lut arrays so they are in the read-only data section
2016-05-22 00:54:06 +02:00
Even Rouault
ba1edf6cd4
Reduce number of occurrences of orient function argument
...
This is essentially used to shift inside the lut_ctxno_zc, which we
can precompute at the beginning of opj_t1_decode_cblk() /
opj_t1_encode_cblk()
2016-05-22 00:50:34 +02:00
Even Rouault
23a01dfdef
Specialize decoding passes for 64x64 code blocks
2016-05-21 16:27:35 +02:00
Even Rouault
d8fef96f23
Improve code generation in opj_t1_dec_clnpass()
...
Add a opj_t1_dec_clnpass_step_only_if_flag_not_sig_visit() method that
does the job of opj_t1_dec_clnpass_step_only() assuming the conditions
are met. And use it in opj_t1_dec_clnpass(). The compiler generates
more efficient code.
2016-05-21 15:52:02 +02:00
Even Rouault
c539808d09
opj_t1_updateflags(): tiny optimization
...
We can avoid using a loop-up table with some shift arithmetics.
2016-05-21 15:46:56 +02:00
Kal Conley
426bf8d337
Move some MQC functions into a header for speed
...
Allow these hot functions to be inlined. This boosts decode performance by ~10%.
2016-05-21 15:18:07 +02:00
Stefan Weil
4d2b6a671a
Update implementation of opj_calloc ( #705 )
2016-05-10 22:08:49 +02:00
Stefan Weil
aae066debc
Add missing source for the JPIP library and executables (issue #658 ) ( #659 )
...
They all need opj_malloc and other functions from opc_malloc.c.
Signed-off-by: Stefan Weil <sw@weilnetz.de>
2016-05-10 22:02:49 +02:00
mayeut
1a8318f6c2
Fix Out-of-Bounds Access in function opj_tgt_reset
...
Fix uclouvain/openjpeg#775
2016-05-08 20:10:13 +02:00
mayeut
162f6199c0
Fix Heap Buffer Overflow in function color_cmyk_to_rgb
...
Fix uclouvain/openjpeg#774
2016-05-08 19:18:05 +02:00
mayeut
8f9cc62b3f
Fix division by zero
...
Fix uclouvain/openjpeg#733
2016-05-08 18:40:12 +02:00
Julien Malik
17a0a8a195
Use lowercase for cmake commands consistenly
...
Inspired from https://github.com/InsightSoftwareConsortium/ITK/blob/master/Utilities/Maintenance/HowToCreateTheCMakeCaseConversion.txt
This needs vim 7.3 and fails with vim 7.4
This also fixes a number of :
- missing empty line at end of files
- useless space at end of lines
2016-05-02 16:05:41 +02:00
Julien Malik
e1e018a8dc
Fix UBSan gcc warning for first arg to memset non null
2016-05-02 12:13:24 +02:00
Antonin Descampe
72deb588cb
Merge pull request #706 from mayeut/issue135
...
Fix issue 135
The fix is legal regarding the standard but I did not manage to find out if it covers a bug in opj_t2_read_packet_data or if the file is corrupted
2016-04-30 13:51:01 +02:00
mayeut
cd77b6003b
Fix some coverity warnings
2016-04-30 12:15:22 +02:00
mayeut
f40a2ff2ad
Fix bad call to fclose with NULL pointer
2016-04-30 01:50:33 +02:00
Matthieu Darbois
be42e72d22
Fix warnings ( #763 )
2016-04-30 01:12:16 +02:00
Matthieu Darbois
15f081c896
Fix Out-Of-Bounds Read in sycc42x_to_rgb function ( #745 )
...
42x Images with an odd x0/y0 lead to subsampled component starting at the
2nd column/line.
That is offset = comp->dx * comp->x0 - image->x0 = 1
Fix #726
2016-04-30 00:33:27 +02:00
Matthieu Darbois
ad593c9e06
Fix heap-buffer-overflow in color_esycc_to_rgb ( #748 )
...
When all components do not have the same dx/dy, components buffer are
read beyond their end.
Do not convert in this case.
Update uclouvain/openjpeg#725
2016-04-29 23:51:14 +02:00
julienmalik
319fc971fe
cppcheck fix for openjp2 ( #740 )
2016-04-29 23:49:17 +02:00
Matthieu Darbois
e166e4a209
Check SSIZ is valid in opj_j2k_read_siz ( #762 )
2016-04-28 19:20:14 +02:00
Matthieu Darbois
29313eb5f1
Fix unsigned int overflow reported by UBSan ( #761 )
...
* Fix unsigned int overflow reported by UBSan
Please add -DOPJ_UBSAN_BUILD to CFLAGS when building with
-fsanitize=undefined,unsigned-integer-overflow
It seems clang/gcc do not allow to disable checking for block of code
other than function or file.
2016-04-28 13:16:43 +02:00
julienmalik
e982d03966
Fix implicit float-to-bool conversions ( #752 )
2016-04-28 11:52:45 +02:00
Matthieu Darbois
66fd497765
Fix unsigned int overflow reported by UBSan ( #759 )
2016-04-28 00:18:37 +02:00
mayeut
20789fed4e
Fix issue 135
...
dwt_interleave_h.gsr105.jp2 now has the same output as kakadu
issue399 is corrupted. Only the corrupted part changes.
Update known failures for x86 MD5
NR-DEC-kodak_2layers_lrcp.j2c-31-decode-md5
NR-DEC-kodak_2layers_lrcp.j2c-32-decode-md5
NR-DEC-issue135.j2k-68-decode-md5
2016-04-27 23:15:47 +02:00
Matthieu Darbois
e6881e7527
Fix negative shift left reported by UBSan ( #758 )
...
Follow-up of #757
This shall have no performance impact on 2’s complement machine where
the compiler replaces the multiplication by power of two (constant) by
a left shift.
Verified at least on MacOS Xcode 7.3, same assembly generated after fix.
2016-04-27 21:56:09 +02:00
Stefan Weil
2296dc9e68
Remove whitespace and CR at line endings ( #678 )
...
Signed-off-by: Stefan Weil <sw@weilnetz.de>
2016-04-26 22:12:11 +02:00
Matthieu Darbois
6f2ac3ee36
Fix negative shift left reported by UBSan ( #757 )
...
This shall have no performance impact on 2’s complement machine where
the compiler replaces the multiplication by power of two (constant) by
a left shift.
Verified at least on MacOS Xcode 7.3, same assembly generated after fix.
2016-04-26 22:06:06 +02:00
Matthieu Darbois
c559c62853
Do not define __attribute__ in opj_includes.h ( #751 )
...
Fix #727
2016-04-23 14:17:31 +02:00
mayeut
74e814358c
Allow to write 3/5/7/9/11/13/15 bpp TIF files
...
Update uclouvain/openjpeg#729
2016-04-23 04:29:03 +02:00
mayeut
54393d9e38
Allow to read 3/5/7/9/11/13/15 bpp TIF files
2016-04-23 04:24:04 +02:00
Antonin Descampe
e1a93d9e59
Merge pull request #708 from GrokImageCompression/issue_695
...
issue #695 MQ Encode: ensure that bp pointer never points to uninitialized memory
2016-04-18 10:51:51 +02:00
Antonin Descampe
a1c0ee9a86
Merge pull request #734 from senbox-org/opj_dump_dead_code
...
Remove dead code in opj_dump
2016-04-12 10:48:02 +02:00
Julien Malik
e7797b97a1
Fix uninitialized variable reported by cppcheck
...
Also reorder initialization to follow declaration order
2016-04-09 19:02:05 +02:00
Julien Malik
5e5f6999a8
Remove dead code in opj_dump
2016-04-09 18:34:11 +02:00
Aaron Boxer
0069a2bd2f
suppress valgrind error - avoid accessing uninitialized memory in mq encoder
2016-01-30 10:05:46 -05:00
Aaron Boxer
e3100f714c
issue #695 MQ Encode: ensure that bp pointer never points to uninitialized memory
2016-01-28 19:34:00 -05:00
Antonin Descampe
5c5ae1d51a
fixed tile numbering
...
Fixes #245
2016-01-25 17:30:43 +01:00
Antonin Descampe
3767af52de
Merge pull request #648 from stweil/alloc
...
Fix support of posix_memalloc for Linux
2016-01-23 19:43:09 +01:00
Matthieu Darbois
a42d03df79
Merge pull request #551 from mayeut/coc-qcc
...
Add COC/QCC in main header when needed
2016-01-11 00:23:44 +01:00
Even Rouault
6a1974d40d
Add comment explaining bj is not use when l_data_size == 0
2016-01-09 14:30:48 +01:00
Even Rouault
87c0d7dc1e
[git/2.1 regression] Fix opj_write_tile() failure when numresolutions=1
...
When trying the GDAL OpenJPEG driver against openjpeg current master HEAD,
I get failures when trying to create .jp2 files. The driver uses
opj_write_tile() and in some tests numresolutions = 1.
In openjp2/dwt.c:410, l_data_size = opj_dwt_max_resolution( tilec->resolutions,tilec->numresolutions) * (OPJ_UINT32)sizeof(OPJ_INT32);
is called and returns l_data_size = 0. Now in git opj_malloc() has a special case
for 0 to return a NULL pointer whereas previously it relied on system malloc(),
which in my case didn't return NULL.
So only test the pointer value if l_data_size != 0. This makes the GDAL
autotest suite to pass again.
2016-01-08 19:38:45 +01:00
Stefan Weil
9cad6bc1f6
Fix fatal crash on 64 bit Linux
...
By default, OpenJPEG uses the function memalign to allocate aligned
memory on Linux systems. That function needs malloc.h which was
missing. This results in a compiler warning:
openjpeg/src/lib/openjp2/opj_malloc.c:63:3: warning:
implicit declaration of function ‘memalign’
[-Wimplicit-function-declaration]
On hosts where sizeof(int) < sizeof(void *) the return value of memalign
will be truncated which results in an invalid pointer.
That caused "make test" to produce lots of segmentation faults when
running on a 64 bit Linux host.
Signed-off-by: Stefan Weil <sw@weilnetz.de>
2016-01-06 21:40:09 +01:00
Stefan Weil
79b1c4cc85
Fix whitespace issues in opj_malloc.c
...
Some lines ended with spaces. Remove them.
Signed-off-by: Stefan Weil <sw@weilnetz.de>
2016-01-06 21:40:01 +01:00
Stefan Weil
c00ee8bff7
Fix support of posix_memalign for Linux
...
posix_memalign is only declared conditionally in stdlib.h,
so add one of the possible definitions to get the declaration.
Signed-off-by: Stefan Weil <sw@weilnetz.de>
2016-01-06 18:06:45 +01:00
Stefan Weil
99c4f621bd
Fix duplicate article in comments
...
Signed-off-by: Stefan Weil <sw@weilnetz.de>
2016-01-06 08:55:29 +01:00
Stefan Weil
a834ab305f
Fix grammar in comment
...
Signed-off-by: Stefan Weil <sw@weilnetz.de>
2015-12-31 10:13:26 +01:00
Jakub Wilk
4ddc2627dd
Fix typos
2015-11-27 21:38:41 +01:00
mayeut
fb4be3894e
Fix undefined size jp2 box handling
...
Update #653
2015-11-07 01:35:43 +01:00
Stefan Weil
93a61459cd
opj_decompress: Update error message
...
The png format is also supported, so add it to the message.
Remove also the unneeded blank character before \n.
Signed-off-by: Stefan Weil <sw@weilnetz.de>
2015-11-01 21:01:20 +01:00
mayeut
38ffbbe42e
Fin compiler warnings
2015-11-01 17:08:47 +01:00
mayeut
ce26e523dd
Fix compiler warnings
2015-11-01 16:56:50 +01:00
Stefan Weil
7dfcbf9d7b
convert: Fix compiler warnings
...
Fix this and other similar compiler warnings:
src/bin/jp2/convert.c: In function ‘tga_readheader’:
src/bin/jp2/convert.c:595:5: warning:
dereferencing type-punned pointer will break strict-aliasing rules
[-Wstrict-aliasing]
cmap_len = get_ushort(*(unsigned short*)(&tga[5]));
Signed-off-by: Stefan Weil <sw@weilnetz.de>
2015-11-01 16:54:38 +01:00
Stefan Weil
4ac509182a
convert: Remove unneeded type casts
...
Signed-off-by: Stefan Weil <sw@weilnetz.de>
2015-11-01 16:53:55 +01:00
Stefan Weil
9f78c68953
Fix typo in comments
...
Signed-off-by: Stefan Weil <sw@weilnetz.de>
2015-10-29 20:37:27 +01:00
Matthieu Darbois
f080ab8ce0
Merge pull request #638 from stweil/master
...
Fix format strings and unneeded assignment
2015-10-21 20:53:22 +02:00
mayeut
e975ca2832
Merge branch 'master' into coc-qcc
2015-10-21 20:45:50 +02:00
Stephan Mühlstrasser
b7a162348d
Avoid pointer arithmetic with (void *) pointers.
2015-10-21 09:01:31 +02:00
mayeut
d48be27f5a
Generic aligned malloc implementation update.
...
Update #642
2015-10-21 00:09:04 +02:00
Stephan Mühlstrasser
eaf55b677c
Generic aligned malloc implementation.
...
Used for platforms where none of posix_memalign(), memalign() and
_aligned_malloc() is available.
2015-10-20 21:34:54 +02:00
Stephan Mühlstrasser
a1fc83cc25
Fix HP compiler warning about redeclaration of function ( #640 )
...
HP compiler warns:
cc: "dwt.c", line 798: warning 562: Redeclaration of "opj_v4dwt_decode"
with a different storage class specifier: "opj_v4dwt_decode" will have
internal linkage.
cc: "t2.c", line 1341: warning 562: Redeclaration of "opj_t2_init_seg"
with a different storage class specifier: "opj_t2_init_seg" will have
internal linkage.
2015-10-19 12:14:27 +02:00
Stefan Weil
ad7eb5630e
Fix format strings and unneeded assignment
...
The static code analyzer cppcheck warns about unsigned integers
which use "%d" in the format string.
It also warns about an unneeded assignment.
Fix both issues.
Signed-off-by: Stefan Weil <sw@weilnetz.de>
2015-10-18 19:52:57 +02:00
mayeut
80be580d50
Merge branch 'master' into coc-qcc
2015-10-18 03:23:38 +02:00
Matthieu Darbois
05b3afd28f
Merge pull request #636 from uclouvain/opj_malloc-625
...
Update allocation functions
Fix #625
Fix #624
Fix #635
2015-10-18 03:14:55 +02:00
mayeut
e1122a8f50
Cleanup includes
2015-10-18 02:52:33 +02:00
mayeut
f9d47e28b9
Fix _aligned_malloc usage
2015-10-18 02:23:01 +02:00
mayeut
8034ffde8b
Fix inconsistent behavior of malloc(0)
...
Update #635
Update #625
2015-10-17 02:55:09 +02:00
mayeut
b3a15954f6
Add missing checks. Fix crash on failed allocation.
2015-10-17 02:16:17 +02:00
mayeut
83249c318f
Fixed crash on encoding
...
Update #624
Update #625
2015-10-17 01:30:23 +02:00
Stephan Mühlstrasser
b3c581760f
Fix OpenJPEG GitHub issue #633 .
...
"opj_includes.h" must be included before system headers, otherwise
inconsistent definitions of configuration macros lead to build
failures on AIX.
2015-10-15 10:53:33 +02:00
mayeut
c8d03fea9b
Merge branch 'master' into coc-qcc
2015-10-13 21:57:58 +02:00
Mathieu Malaterre
372fead0d7
Remove the explicit restrict keyword
...
It would trigger a compiler error on xlc compiler. Fixes #620
2015-10-13 21:07:11 +02:00
Giuseppe Baruffa
98324bbd6b
I do not recall exactly... I would say that the correct version should be
...
if (!JPWL_ASSUME)
return false;
meaning that once JPWL_ASSUME=1 the code will pass over such errors and try to decode anyway (just paired with the other JPWL_ASSUME on line 1112).
Fixes #596
2015-10-13 15:20:54 +02:00
Mathieu Malaterre
26dcb7c125
Remove a possible uninitialized variable
...
Fixes #629
2015-10-12 21:29:12 +02:00
Mathieu Malaterre
51a67a9cbf
Minor style fix to remove c++ comments
2015-10-12 21:25:53 +02:00
Mathieu Malaterre
dd81b5892d
minor tweaks to the code
2015-10-12 21:24:10 +02:00
Mathieu Malaterre
ab8929262a
Fix an issue with parenthesis
2015-10-10 21:03:44 +02:00
Mathieu Malaterre
dc869c2985
Add paranoid sentinels
2015-10-10 18:38:08 +02:00
Mathieu Malaterre
d753441028
implement a portable aligned realloc
2015-10-10 17:51:29 +02:00
Mathieu Malaterre
2d410fc74b
do not use aligned_alloc since it requires c11
2015-10-10 14:54:21 +02:00
Mathieu Malaterre
0dc4914b4e
cleanup header file and move to implementation
2015-10-09 22:04:04 +02:00
mayeut
de0a9ed103
Revert "Make sure to allocate on 16bits alignement. Fix issue #624 "
...
This reverts commit 553714a87a
.
2015-10-09 21:13:06 +02:00
Mathieu Malaterre
553714a87a
Make sure to allocate on 16bits alignement. Fix issue #624
2015-10-09 15:37:09 +02:00
mayeut
3259fe2ff8
Merge branch 'master' into coc-qcc
2015-10-08 19:11:52 +02:00
Stefan Weil
c8ae3c5225
Fix warnings for C++
...
g++ complains about invalid conversions like these ones:
error: invalid conversion from ‘const char*’ to ‘char*’ [-fpermissive]
error: invalid conversion from ‘void*’ to ‘opj_precision* {aka opj_prec*}’ [-fpermissive]
Signed-off-by: Stefan Weil <sw@weilnetz.de>
2015-10-07 20:53:57 +02:00
Stephan Mühlstrasser
8414870ca7
Fixed problem that C++ compilation failed because of enum variable.
...
Replaced usage of an enum typedef for a variable that is used
for bit flags with OPJ_UINT32 type.
2015-10-07 12:28:12 +02:00
mayeut
2dab5fed59
Merge branch 'master' into coc-qcc
2015-10-06 20:55:36 +02:00
Stephan Mühlstrasser
d6b51b7041
Added missing casts for return values of opj_malloc()/opj_calloc().
2015-10-06 15:33:46 +02:00
mayeut
db23831d57
Add check for seek support before trying TPsot==TNsot workaround
2015-10-02 22:33:44 +02:00
mayeut
cf352af089
Fix up-scaling bit depth
...
Fixes #609
2015-09-29 09:28:34 +02:00
Stefan Weil
05235963d9
Fix typo in variable name
...
This makes checks with codespell easier.
Signed-off-by: Stefan Weil <sw@weilnetz.de>
2015-09-29 05:57:09 +02:00
Stefan Weil
99fc1ab306
Fix typos in comments and string
...
Most typos were found by codespell.
Signed-off-by: Stefan Weil <sw@weilnetz.de>
2015-09-29 05:55:43 +02:00
mayeut
838dfb8058
Provide safer string copy than strncpy
...
As per @boxerab suggestion in commit
b9ca882749
2015-09-25 22:04:58 +02:00
mayeut
4da7e9617f
Fix resource leak
2015-09-25 00:39:05 +02:00
mayeut
b9ca882749
Fix resource leaks & unchecked resource allocations
2015-09-25 00:08:34 +02:00
mayeut
f9df8ba19a
Fix some resource leaks
2015-09-24 23:32:03 +02:00
mayeut
f82d7f3a63
Use buffer on stack to read TGA header
...
Fixes a potential leak
Fixes #601
2015-09-23 21:17:06 +02:00
mayeut
faf63fddad
Fix warning in rle4 decoding
2015-09-23 21:09:19 +02:00
mayeut
55dbf8acff
Fix resource leak in opj_j2k_create_cstr_index
...
Fixes #599
2015-09-17 12:46:42 +02:00
mayeut
c16c91797f
Fix resource leak in opj_j2k_encode
...
Fixes #598
2015-09-17 12:41:41 +02:00
mayeut
a4e93c3b0a
fix resource leak in opj_j2k_decode_one_tile
...
Fixes #597
2015-09-17 12:31:18 +02:00
mayeut
4bb5e24d23
Merge branch 'master' into coc-qcc
2015-09-17 02:12:27 +02:00
mayeut
c8a3117659
Fix function name
2015-09-13 14:51:00 +02:00
mayeut
49cbc11a19
Correct leak in color_cielab_to_rgb
2015-09-13 14:42:56 +02:00
Matthieu Darbois
bac2c9e0a3
Change test in opj_tcd_makelayer
...
Remove float equality test. Such a test has no meaning.
2015-09-11 14:17:30 +02:00
Matthieu Darbois
ee0f313848
Update check in opj_tcd_makelayer to be robust to different float precisions
2015-09-10 15:46:51 +02:00
Matthieu Darbois
ccdce606f1
Fix threshold calculation
...
It doesn't change the outcome of the test suite, that's weird...
2015-09-10 15:10:14 +02:00
mayeut
5f02757eef
Correct lossless issue on linux x86
...
Update uclouvain/openjpeg#571
2015-09-10 00:39:23 +02:00
mayeut
4f5ec07c31
Remove C++ comment
2015-09-09 23:38:46 +02:00
mayeut
66d890bf22
Merge remote-tracking branch 'uclouvain/master' into coc-qcc
2015-09-08 22:33:07 +02:00
mayeut
29c644ec49
Correct mismatching delete
...
Fixes #575
2015-09-07 19:24:20 +02:00
mayeut
940100c28a
Fix potential use-after-free in opj_j2k_write_mco function
...
Fixes #563
2015-09-06 17:24:03 +02:00
mayeut
c31fb68ccc
fix resource leak in jpwl
...
Fixes #573
2015-09-06 17:18:37 +02:00
mayeut
c5dd6035c9
Correct CMake version requirements
...
Update uclouvain/openjpeg#488
2015-09-01 20:43:43 +02:00
mayeut
8a95efcd3f
Fix some UBSan warnings
2015-08-23 11:43:38 +02:00
mayeut
38770403d4
Fix some calculations in opj_tcd_init_tile
...
Fixes #486
Fixes #394
Update #480
Update #388
2015-08-23 11:38:04 +02:00
mayeut
a521472427
Add tests for CMYK/esYCC/CIELab
2015-08-21 21:41:50 +02:00
mayeut
d4ac2f613d
Fix formatting
2015-08-21 20:17:55 +02:00
mayeut
fa9142b7e4
Fix formatting
2015-08-21 20:15:50 +02:00
mayeut
f98df1c715
TIFF can output CMYK
2015-08-21 19:54:22 +02:00
Matthieu Darbois
3109759fd7
Merge pull request #559 from szukw000/cmyk-cielab-esycc
...
Add support for CIELab, EYCC and CMYK
2015-08-21 19:48:31 +02:00
szukw000
238f4419ab
Defines three new functions
...
Declares three new functions
Calls the three new functions
Collects data for CIELab, sets the color_space for EYCC and CMYK
2015-07-30 23:31:12 +00:00
mayeut
60301842c7
Sync coc-qcc branch with master
2015-07-31 01:07:14 +02:00
ak-dxdy
acbb297a0a
Small correction + attempt to understand git-openjpeg workflow
2015-07-31 00:51:31 +02:00
ak-dxdy
4fc1073809
French comments replaced by English ones
2015-07-31 00:51:08 +02:00
Matthieu Darbois
7c688c3453
Merge pull request #558 from mayeut/remove-printf
...
Remove printf/fprintf to stdout/stderr throughout openjp2 lib
2015-07-30 23:37:20 +02:00
mayeut
372c887aad
Fix typo (that brakes building with '-DBUILD_MJ2:bool=on')
...
Fixes #556
2015-07-30 23:34:12 +02:00
mayeut
0df90afdf7
Remove printf/fprintf to stdout/stderr throughout openjp2 lib
...
Update uclouvain/openjpeg#246
2015-07-30 23:26:31 +02:00
Rex Dieter
e4735c703d
better -ffast-math handling
...
issue #488
See also
http://public.kitware.com/pipermail/cmake/2015-April/060479.html
2015-07-30 09:54:07 -05:00
mayeut
c3d9719cd4
Write COC/QCC in Main Header
...
Update uclouvain/openjpeg#459
2015-07-29 00:29:49 +02:00
mayeut
2263b6bacc
Start support for qcc/coc
2015-07-28 23:58:10 +02:00
mayeut
b0035538af
Use __emul under msvc x86 for fast 64 = 32 * 32
...
Update uclouvain/openjpeg#220
2015-07-27 20:12:48 +02:00
mayeut
45ccf501f0
Fix ARM build with Visual Studio
2015-07-26 21:12:36 +02:00
mayeut
15e4168ee2
Remove some warnings when building
...
Update #442
2015-07-26 19:19:31 +02:00
mayeut
2452bb7c45
Remove some warnings when building
...
Update #442
2015-07-26 19:01:52 +02:00
mayeut
f3dad25c77
Update convert for PNG output
...
Update uclouvain/openjpeg#264
2015-07-26 18:28:03 +02:00
mayeut
e6cf1744d4
Remove some warnings when building
...
Update #442
2015-07-26 13:41:59 +02:00
mayeut
c423cc84e7
Remove some warnings when building
...
Update #442
2015-07-26 02:41:39 +02:00
Matthieu Darbois
8c4afeff40
Merge pull request #521 from manisandro/bigendian
...
Fix opj_write_bytes_BE
Fixes #472
Fixes #345
Fixes #518
2015-07-25 15:54:26 +02:00
mayeut
ffd9db9700
Remove some warnings when building
...
Update #442
2015-07-25 03:16:16 +02:00
mayeut
b190a91ab5
Remove some warnings when building
...
Update #442
2015-07-24 23:55:45 +02:00
mayeut
a56819eaab
Add some missing static keywords
...
Update uclouvain/openjpeg#243
2015-07-23 07:48:42 +02:00
mayeut
9ac3a1572e
Prevent overflow when coding 16 bits images
...
Update uclouvain/openjpeg#539
2015-07-22 00:10:32 +02:00
Matthieu Darbois
28c6f54798
Merge pull request #533 from mayeut/refactor-read-ppX
...
Refactor opj_j2k_read_ppm & opj_j2k_read_ppt
Fixes uclouvain/openjpeg#470
Fixes uclouvain/openjpeg#288
Fixes uclouvain/openjpeg#532
2015-07-21 01:26:02 +02:00
mayeut
1bbb607069
Merge remote-tracking branch 'uclouvain/master' into issue-235
2015-07-21 00:20:05 +02:00
mayeut
5bb074611a
Update PNG support
...
Only input modified for now
Update uclouvain/openjpeg#536
Update uclouvain/openjpeg#264
2015-07-19 17:42:11 +02:00
mayeut
46c1dd22fc
Correct error message for invalid TIFF input
2015-07-19 15:01:12 +02:00
mayeut
ae4799ad07
Add some missing static
...
Still needs to check j2k.c & jp2.c
Update uclouvain/openjpeg#243
2015-07-18 02:39:32 +02:00
mayeut
b88025b38f
Add headers to CMake target
2015-07-18 01:50:17 +02:00
mayeut
8048bbc7a2
Add tests for TIFF input with Alpha channel
...
Update uclouvain/openjpeg#322
2015-07-18 00:07:04 +02:00
mayeut
635a358962
Fix build warnings in converttif.c
2015-07-16 06:51:21 +02:00
mayeut
8f798864a9
Update imagetotif to support more output TIF formats
...
Update uclouvain/openjpeg#322
Update uclouvain/openjpeg#264
2015-07-16 00:26:02 +02:00
mayeut
ac9fb5a302
Update tiftoimage to support more input TIF formats
...
Update uclouvain/openjpeg#322
Update uclouvain/openjpeg#264
2015-07-14 23:51:02 +02:00
mayeut
775ee87776
Add checks for odd looking cmap & for cmap outside jp2h box
...
Update uclouvain/openjpeg#235
Update uclouvain/openjpeg#447
2015-07-12 19:39:30 +02:00
mayeut
0b1f8eb6f7
Merge pull request #529 from renevanderark/master
...
fix Suspicious code in j2k.c
Fixes #517
2015-07-12 19:20:57 +02:00
mayeut
c887df12a3
Refactor opj_read_ppm
...
Update uclouvain/openjpeg#470
Update uclouvain/openjpeg#288
2015-07-12 18:09:30 +02:00
mayeut
d1b053afe2
Refactor opj_j2k_read_ppt
...
Update uclouvain/openjpeg#470
Update uclouvain/openjpeg#532
2015-07-12 15:55:58 +02:00
mayeut
dc43ebf96c
Add option to force component splitting in imagetopnm
...
Update uclouvain/openjpeg#289
2015-07-11 11:35:21 +02:00
Rene van der Ark
ba05549b0f
fix Suspicious code in j2k.c #517
2015-07-08 11:13:31 +02:00
mayeut
237ddd72f1
Merge pull request #514 from mayeut/issue-254
...
Correctly decode files with incorrect tile-part header fields (TPsot==TNsot)
Fixes uclouvain/openjpeg#254
2015-07-04 00:47:59 +02:00
mayeut
c999b6c0f0
uclouvain/openjpeg#254 Add build option to disable the fix
2015-07-04 00:04:55 +02:00
Antonin Descampe
eadfad7a50
commented out printf line
2015-07-03 17:36:39 +02:00
Antonin Descampe
14361eee24
commented out a printf line
2015-07-03 16:35:16 +02:00
Aaron Boxer
c9e231508b
various small T1 optimizations
2015-07-03 15:23:15 +02:00
Aaron Boxer
6347686385
fixed a few bugs
2015-07-03 15:22:58 +02:00
Aaron Boxer
1a8f929111
visual studio lrintf is very slow - do not use
2015-07-03 15:22:42 +02:00
Aaron Boxer
56d3f5af6e
add timing to compress and decompress
2015-07-03 15:20:11 +02:00
Sandro Mani
c665e81a39
Fix opj_write_bytes_BE ( #518 )
2015-06-25 23:11:22 +02:00
mayeut
c7535d084e
Merge branch 'master' into issue-254
2015-06-05 20:42:57 +02:00
Matthieu Darbois
c0d7afe15c
[trunk] Fix offset computations in opj_j2k_update_image_data
...
Update issue 481
2015-06-03 20:56:13 +00:00
Matthieu Darbois
6def7e38b4
[trunk] Fix wrong return value for opj_setup_encoder & opj_set_decoded_resolution_factor (fixes issue 497)
...
Thanks Aaron.
2015-05-29 21:58:08 +00:00
Matthieu Darbois
73881d0e52
[trunk] Fix sscanf format specifier (fixes issue 494)
...
Thanks Aaron.
2015-05-28 22:16:49 +00:00
Matthieu Darbois
e3291c4e1f
[trunk] Fix overflow in opj_image_comp_header_update (fixes issue 495)
2015-05-27 23:05:16 +00:00
Matthieu Darbois
0fa5a17c98
[trunk] Correct potential double free on malloc failure in opj_j2k_copy_default_tcp_and_create_tcp (fixes issue 492)
2015-05-19 21:57:27 +00:00
Matthieu Darbois
757f9394bf
[trunk] Add check for number of layers & cblkw/cblkh values (fixes issue 475)
2015-05-19 21:24:44 +00:00
Matthieu Darbois
daed8cc919
[trunk] Add check for at most 1 COD marker per tile. 1 COD marker for MH (fixes issue 476)
2015-05-19 20:13:37 +00:00
mayeut
d1a941ea50
Revert "Correct overflows in opj_j2k_update_image_data"
...
This reverts commit 1fb24aba4b
.
2015-05-16 14:22:16 +02:00
mayeut
00a47c1e06
Implement TNsot correction for non conforming files
2015-05-16 11:15:29 +02:00
mayeut
1fb24aba4b
Correct overflows in opj_j2k_update_image_data
2015-05-16 02:51:31 +02:00
Antonin Descampe
2d24b6000d
[trunk] added overflow checks (fixes issue 431)
...
Thanks mdarbois
2015-02-02 16:11:31 +00:00
Antonin Descampe
8b5e2a5143
[trunk] fixes a bug that prevented opj_decompress to take directory as input (fixes issue 463)
...
Thanks Aaron.
2015-02-02 16:11:23 +00:00
Matthieu Darbois
3ed5858902
[trunk] use hidden visibility for static library (fixes issue 354)
2015-01-25 16:59:39 +00:00
Antonin Descampe
7a8cdc4bb0
[trunk] fixed a bug encoutntered when multiple MCT markers are provided
...
Update issue 430
Cc: savmickael@gmail.com
@Mickael: this revision affects your work on custom MCT. Is there a way
you could provide test data to add to our test suite ? Thanks
2015-01-20 16:29:16 +00:00
Antonin Descampe
4c0ed02806
[trunk] checks for JP2 signature and file type boxes more carefully
...
Update issue 430
2015-01-20 14:27:20 +00:00
Antonin Descampe
5d00b719f4
[trunk] fixed a buffer overflow in opj_tcd_init_decode_tile
...
Update issue 431
2015-01-15 18:16:29 +00:00
Matthieu Darbois
42132ed6b5
[trunk] removed warning from convertbmp.c
...
Update issue 442
2014-12-27 11:31:43 +00:00
Matthieu Darbois
31f5efe453
[trunk] fixed typo in opj_decompress (fixes issue 465)
2014-12-26 15:37:16 +00:00
Matthieu Darbois
78a7762e3f
[trunk] removed unnecessary operation in opj_bio_flush (fixes issue 461)
2014-12-23 16:05:19 +00:00
Matthieu Darbois
33f52fb611
[trunk] removed warning from convert.c
...
Update issue 442
2014-12-23 16:03:45 +00:00
Matthieu Darbois
81abe5b3bb
[trunk] fixed imagetoraw unsigned 16bits conversion (fixes issue 460)
2014-12-23 15:06:23 +00:00
Matthieu Darbois
4a09296771
[trunk] removed warning from convertbmp.c
...
Update issue 442
2014-12-23 10:13:28 +00:00
Matthieu Darbois
6922124c4c
[trunk] fixed colorspace mapping for raw grayscale images (fixes issue 456)
2014-12-22 18:39:14 +00:00
Matthieu Darbois
59b844347c
[trunk] fixed component precision upscaling in opj_decompress (fixes issue 458)
2014-12-22 15:50:32 +00:00
Matthieu Darbois
bde5ba6ae8
[trunk] fixed compression check for 1 bit unsigned component (fixes issue 457)
2014-12-22 15:00:12 +00:00
Matthieu Darbois
16240e21f9
[trunk] updated BMP format input support
...
Update issue 203
2014-12-22 14:40:31 +00:00
Matthieu Darbois
33a0e66eb1
[trunk] updated BMP format input support
...
Update issue 203
2014-12-22 13:14:37 +00:00
Matthieu Darbois
f1bae45c76
[trunk] fixed BMP reading for 8bpp when width & 3 == 1
...
Update issue 203
2014-12-20 18:45:53 +00:00
Matthieu Darbois
e966fef3eb
[trunk] fixed a possible overflow in opj_t1_encode_cblks call to opj_int_fix_mul (fixes issue 141)
2014-12-20 13:03:11 +00:00
Matthieu Darbois
dde788b59e
[trunk] Updated checks regarding number of decomposition levels when compressing
...
Update issue 215
2014-12-19 22:56:00 +00:00
Matthieu Darbois
58fc86452d
[trunk] Fixed a crash on illegal tile offset when decoding
...
Update issue 427
2014-12-18 22:56:38 +00:00
Matthieu Darbois
c0cb119c0e
[trunk] Fixed a crash on 0xh or wx0 image size decoding
...
Update issue 427
2014-12-18 22:19:52 +00:00
Matthieu Darbois
9a21e1eef0
[trunk] removed warnings when building tcd.c (Update issue 442)
2014-12-15 18:48:50 +00:00
Matthieu Darbois
a0688a9874
[trunk] Add SSE2/SSE41 implementations for mct.c (fixes issue 451)
2014-12-13 12:29:22 +00:00
Matthieu Darbois
d0ce2ced53
[trunk] Speed-up opj_int_fix_mul by removing unneeded operation
...
Update issue 220
2014-12-13 10:27:21 +00:00
Matthieu Darbois
e05d2901ec
[trunk] Reduce encoder code block memory usage for non 64x64 code block sizes (fixes issue 444)
2014-12-12 21:54:22 +00:00
Matthieu Darbois
c0710f557c
[trunk] Fixed invalid check in in tiff reading method (fixes issue 449)
2014-12-11 20:21:26 +00:00
Antonin Descampe
8d320bbdf8
[trunk] check number of components when getting mct norm (fixes issue 436)
2014-12-09 12:09:08 +00:00
Matthieu Darbois
776b83ddbc
[trunk] Fixed compilation error under Visual Studio 2003 (fixes issue 351)
2014-12-09 05:44:55 +00:00
Matthieu Darbois
04ace2a558
[trunk] Fixed typo in opj_compress error report (fixes issue 350)
2014-12-02 20:18:50 +00:00
Matthieu Darbois
570dd13f55
[trunk] removed some warnings when configuring with CMake 3.x on MacOS
...
Update issue 443
Warnings related to OPJ_USE_DSYMUTIL are fixed
2014-11-25 21:52:24 +00:00
Matthieu Darbois
63f877769c
[trunk] removed some warnings when building src/bin/jp2/convert.c
...
Update issue 442
2014-11-25 20:06:12 +00:00
Matthieu Darbois
04c6bb4a72
[trunk] removed warnings when building jp2.c (Update issue 442)
2014-11-24 21:31:09 +00:00
Matthieu Darbois
131cc98491
[trunk] added an option to upsample image components in opj_decompress
...
Update issue 289
Issue is left open since there's still one image failing the tests.
2014-11-22 17:59:07 +00:00
Matthieu Darbois
13bcb63b73
[trunk] fixed pnmtoimage for odd pgm files (fixes issue 294)
2014-11-22 14:09:16 +00:00
Matthieu Darbois
0ba5d15b58
[trunk] fixed warning in option to force rgb output in opj_decompress (fixes issue 282)
2014-11-22 12:30:04 +00:00
Matthieu Darbois
7e38446075
[trunk] added option to force rgb output in opj_decompress (fixes issue 282 , fixes issue 286)
2014-11-22 00:04:39 +00:00
Matthieu Darbois
548aff34f4
[trunk] added check for tile component data size overflow (fixes issue 432)
2014-11-21 21:35:43 +00:00
Matthieu Darbois
8397eac382
[trunk] added check for pclr box validity (fixes issue 429)
2014-11-20 23:47:09 +00:00
Matthieu Darbois
a2c2d86d3d
[trunk] fixed memleak in abnormal condition (fixes issue 437)
2014-11-20 20:13:47 +00:00
Matthieu Darbois
3bc360fc9d
[trunk] added option to force output bit depth in opj_decompress (fixes issue 283)
2014-11-19 20:05:39 +00:00
Matthieu Darbois
ae1da37558
[trunk] replace OPJ_MACRO_TCD_ALLOCATE macro by inlined function (fixes issue 433)
2014-11-19 19:08:09 +00:00
Matthieu Darbois
f57f59b10d
[trunk] remove warning during build (fixes issue 435)
2014-11-18 18:30:44 +00:00
Matthieu Darbois
b65e3ebdb6
[trunk] fixed a bug leading to jpwl build failure & add related odd width/height sYCC tests (fixes issue 422)
2014-11-18 00:07:50 +00:00
Matthieu Darbois
f123ce8f8a
[trunk] fixed a bug preventing palette image with cdef to decode properly using opj_get_decoded_tile (fixes issue 428)
2014-11-17 21:46:43 +00:00
Antonin Descampe
c3629e37a2
[trunk] significantly reduces memory for single tile RGB encoding (fixes
...
issue 375)
2014-11-03 14:51:41 +00:00
Antonin Descampe
cf5153c518
[trunk] add a cdef box when alpha component is present (fixes issue 416)
2014-11-03 14:12:01 +00:00
Antonin Descampe
3b7dced8e6
[trunk] fixed a bug preventing palette image with cdef to decode properly (fixes issue 412)
2014-10-30 18:26:10 +00:00
Antonin Descampe
03a410e03d
[trunk] fixed a bug that was preventing image with per channel alpha to decode properly (fixes issue 414)
2014-10-30 18:26:04 +00:00
Antonin Descampe
0a6eaaa605
[trunk] add a check on precinct size (fixes issue 420)
2014-10-30 18:00:45 +00:00
Antonin Descampe
7f8f284ee5
[trunk] prevent overflow in j2k.c
...
Update issue 392
Issue left open to solve problem on x64-Asan and to investigate Matthieu's suggestion
2014-10-30 11:53:06 +00:00
Antonin Descampe
3e1fad2da4
[trunk] resets resno_decoded for each tile (fixes issue 399)
2014-10-22 13:16:35 +00:00
Antonin Descampe
d72940c56b
[trunk] resets code-blocks reused for other tiles than the first one (fixes issue 418)
2014-10-22 13:16:12 +00:00
Antonin Descampe
ad4fad0965
[trunk] add a check on mandatory headers in Main Header (fixes issue 408)
2014-10-22 10:30:35 +00:00
Antonin Descampe
aff9cb39ed
[trunk] fixed invalid member values from opj_read_header or opj_decode (fixes issue 411)
2014-10-21 15:22:22 +00:00
Antonin Descampe
0a3f234df7
[trunk] verify channel definitions is complete when cdef is present (fixes issue 397)
2014-10-21 12:54:08 +00:00
Antonin Descampe
efb70af001
[trunk] add a check on the number of resolution passed to cmdline (fixes issue 352)
2014-10-21 12:47:48 +00:00
Antonin Descampe
e65303b903
[trunk] added check on JP2_IHDR box (fixes issue 364)
2014-10-21 12:35:16 +00:00
Antonin Descampe
413de4fbfa
[trunk] add a check on Zppm value in PPM markers (fixes issue 393)
2014-10-21 12:27:58 +00:00
Antonin Descampe
984351f86f
[trunk] Add option to call dsymutil on built binaries (fixes issue 409)
2014-10-15 10:24:49 +00:00
Antonin Descampe
f8796711e8
[trunk] add a check on progression order (fixes issue 413)
2014-10-15 10:14:54 +00:00
Antonin Descampe
0b540067b1
[trunk] add a check for illegal SCod value (fixes issue 400)
2014-10-15 08:48:19 +00:00
Antonin Descampe
3df347eded
[trunk] additional checks for marker size inconsistency (fixes issue 363)
2014-10-14 15:15:09 +00:00
Antonin Descampe
eb7c6d295a
[trunk] fixed potential negative size params (fixes issue 390)
2014-10-06 21:05:32 +00:00
Antonin Descampe
f126eb0d41
[trunk] added box length inconsistency check
...
Update issue 364
issue364-38.patch applied. Thanks Matthieu.
2014-10-06 21:05:27 +00:00
Antonin Descampe
7256e43c48
[trunk] fixed PDF crash in Chrome (fixes issue 362)
2014-10-06 21:05:21 +00:00
Antonin Descampe
a0a3af1dee
[trunk] removed illegal character in comment
2014-10-03 19:52:20 +00:00
Antonin Descampe
48832d944f
[trunk]fixes buffer overflow in t2.c
...
Update issue 390
Summary: check for negative-size params in code
Patch from Matthieu applied. Left open to apply this to other places in
code.
2014-10-03 10:15:28 +00:00
Antonin Descampe
06bd61b571
[trunk] c++-style comment removed (fixes issue 407)
2014-10-02 07:44:53 +00:00
Antonin Descampe
a1c754c737
[trunk] fixed warning from r2891
2014-10-01 12:11:43 +00:00
Antonin Descampe
fef1276901
[trunk] fixed bad use of case statement (fixes issue 381)
2014-09-30 12:19:13 +00:00
Antonin Descampe
45f33cdbd6
[trunk] check possible overflow on size in opj_t2_read_packet_data
...
Update issue 390
Labels: Priority-Critical
Should be rechecked with ASan and pdfium
2014-09-30 10:07:09 +00:00
Antonin Descampe
1acfa211ae
[trunk] fixes heap-buffer-overflow in parse_cmdline_encoder
...
Fixes issue 403
Thanks Matthieu
2014-09-30 09:48:26 +00:00
Antonin Descampe
2f3fd1194e
[trunk] prevent overflow in opj_t2_read_packet_header (update issue 389)
2014-09-30 09:26:44 +00:00
Antonin Descampe
f08af3ed82
[trunk] Ensure cblk->data pointer is correctly initialized (updates issue 391). Still need to check if it does not fail anymore with ASan.
2014-09-29 12:03:50 +00:00
Antonin Descampe
2720a1a405
[trunk] fixed tile numbering in output message (fixes issue 370)
2014-09-29 12:03:36 +00:00
Antonin Descampe
6868ee373e
added memory allocation checks (fixes issue 355)
2014-09-19 10:26:35 +00:00
Antonin Descampe
50a205d20f
[trunk] improve memory management (fixes issue 359)
2014-09-16 15:48:04 +00:00
Antonin Descampe
b0072bf658
[trunk] allow compilation with MinGW32 (fixes issue 361)
2014-09-16 15:38:11 +00:00
Antonin Descampe
2c810567dd
[trunk] Changed error to warning when no EOC found in codestream (fixes
...
issue 366)
2014-07-14 07:42:50 +00:00
Antonin Descampe
0a1a29a7fe
[trunk] replaced malloc with opj_malloc. (Fixes issue 368).
2014-07-03 16:05:56 +00:00
Antonin Descampe
7d21871ed8
[trunk] fixes issue #357 . MCT is automatically disabled when
...
subsamppling is detected.
2014-07-03 09:15:13 +00:00
Antonin Descampe
a38b97fae0
[trunk] moved comment marker setup from opj_compress to the library
2014-07-01 13:51:55 +00:00
Antonin Descampe
45313a8dfa
[trunk] fixed warning in j2k.c about sign conversion
2014-04-28 09:38:44 +00:00
Mathieu Malaterre
b08135e7c1
[trunk] Finalize API for openjpeg 2.1
...
public header will only contains minimal information: major, minor and build version
Prefix has been changed from OPENJPEG to OPJ for consistency
SOVERSION has been removed from header (ABI vs API info)
OPJ_VERSION string has been removed, since it is accessible already (PACKAGE_VERSION)
Fixes issue 342
2014-04-28 09:17:31 +00:00
Mathieu Malaterre
4bac8488df
[trunk] Properly handle failure to compress (remove file)
...
Fixes issue 323
2014-04-28 07:54:33 +00:00
Mathieu Malaterre
de04302c15
[trunk] Missing endianess setting
...
Fixes issue 337
2014-04-28 07:44:39 +00:00
Mathieu Malaterre
997758f91c
[trunk] properly handle pkg-config on non-UNIX hosts
...
Fixes issue 340
2014-04-28 07:34:26 +00:00
Mathieu Malaterre
763214f7c0
[trunk] Provide #ifdef blockers for OpenJPEG Version
...
Fixes issue 342
2014-04-28 07:32:35 +00:00
Mathieu Malaterre
7a77a8047d
[trunk] Make sure OpenJPIP compiles on WIN32
2014-04-24 11:24:56 +00:00
Antonin Descampe
d8767cbcb7
[trunk] fixed reference to opj_stream_set_user_data_v3 in jpip sources.
2014-04-24 08:51:29 +00:00
Antonin Descampe
7924d3a456
[trunk]removed '-x' option for index file as long as it's broken
2014-04-23 15:19:57 +00:00
Antonin Descampe
ec84bafcd8
[trunk]re-formatted help display in executables
2014-04-23 14:09:20 +00:00
Antonin Descampe
08c09b74cf
[trunk]formatted some messages. Removed -version option to disambiguate
...
with -v(erbose) option, added version info in help display
2014-04-23 09:12:30 +00:00
Antonin Descampe
7aece5e8e7
[trunk]Replaced deprecated opj_stream_set_user_data function from API
...
with its 'v3' version, and removed all other 'v3' suffixes from API.
2014-04-23 07:46:11 +00:00
Antonin Descampe
8d93eae64a
[trunk] fixed some warning and errors formatting and add a '-version'
...
option to opj_compress and opj_decompress binaries
2014-04-22 21:22:49 +00:00
Antonin Descampe
9a3d660d1b
[trunk] fixed warning related to r2837 and move new field at the end of
...
parameters structure.
2014-04-17 09:54:38 +00:00
Antonin Descampe
7199d9b5d3
[trunk] refactoring of rsiz, profiles, and extensions management
2014-04-17 09:31:37 +00:00
Antonin Descampe
d19a4ab676
[trunk] updated copyright and added copyright notice required by ISO, in each file; updated AUTHORS, NEWS
2014-04-03 15:30:57 +00:00
Antonin Descampe
4db4198722
[trunk] fixed a bug triggering SEGFAULT on debug mode (uninitialized
...
structure)
2014-04-02 16:25:40 +00:00
Antonin Descampe
a54d757a3e
[trunk] fixed warnings triggered on linux related to r2802
2014-03-26 15:17:17 +00:00
Antonin Descampe
f1d69068c7
[trunk] add ability in opj_compress to input subsampled images through
...
'-F' (aka raw option). Let the user input raw images with 444, 422, 420
(etc) subsampling. To be used in conjunction with '-mct 0' option to
compress subsampled YCC images.
2014-03-26 14:26:49 +00:00
Mathieu Malaterre
9ba6bc6042
[trunk] Make sure to test value not pointer
...
Update issue 302
2014-03-25 16:34:59 +00:00
Antonin Descampe
5e1a0fad08
[trunk] fixed bug related to r2791
2014-03-25 15:35:33 +00:00
Antonin Descampe
666f71b2a1
[trunk] fixed warning due induced by r2791
2014-03-25 13:29:11 +00:00
Antonin Descampe
2b7d5b18f3
[trunk] add "-mct {0,1,2}" option to opj_compress to allow MCT to be
...
disabled if needed.
2014-03-25 12:38:29 +00:00
Mathieu Malaterre
18d5d25cb6
[trunk] Make sure to not use alpha pointer if it is not an RGBA input
...
Fixes issue 310
2014-03-25 11:47:34 +00:00
Mathieu Malaterre
492d8ab7d9
[trunk] Rework previous commit r2610
...
This way we are able to gently deprecate the old API, and preserve ABI
Update issue 306
2014-03-25 10:23:40 +00:00
Mathieu Malaterre
18c5be69e9
[trunk] Make sure to exit early instead of looping on every single pixels
2014-03-24 16:01:51 +00:00
Mathieu Malaterre
5a70e97f51
[trunk] Fix typo in comment (this is not j2k_dump)
2014-03-24 09:49:04 +00:00
Mathieu Malaterre
f4707da97a
[trunk] Revert r2764. It breaks ~230 tests as seen on continuous. Since no dataset is available, the issue 296 will be left open.
...
Update issue 296
2014-03-18 15:19:29 +00:00
Mathieu Malaterre
51ab074d50
[trunk] User can now control source/target java version
...
Fixes issue 303
2014-03-18 15:00:23 +00:00
Mathieu Malaterre
6d9e8a5a63
[trunk] Import git commit fc884aee2b69c78500e65c3d05bf216791a9ea4a from ghostscript team
...
Fixes issue 296
2014-03-18 14:43:47 +00:00
Mathieu Malaterre
008de86533
[trunk] Import git commit 99a6f1af177c15f4db475186b79d169c993494ef from ghostscript team
...
Update issue 296
2014-03-18 14:43:18 +00:00
Mathieu Malaterre
ae49fd1aa9
[trunk] Update big endian handling no such thing as WORDS_BIGENDIAN (prefer OPJ_BIG_ENDIAN)
...
Update issue 302
2014-03-18 14:37:33 +00:00
Mathieu Malaterre
79d18f7fd0
[trunk] Now that dataset from issue 297 have been imported, run test suite.
...
None of the dataset triggered any buffer overflow. Recent changes in trunk handle all those cases.
Update issue 297
2014-03-18 10:21:11 +00:00
Mathieu Malaterre
866cd28ad4
[trunk] Update BSD-4 copyright into a BSD-3 copyright
...
Fixes issue 300
2014-03-17 15:02:49 +00:00
Mathieu Malaterre
15863e7170
[trunk] rework code from r2463. Really there has been some code duplication from r2413
...
Thanks to John Rogers (oracle.com) for report
2014-03-14 15:06:20 +00:00
Mathieu Malaterre
5e91877636
[trunk] rework code from r2463. Really there has been some code duplication from r2413
...
Thanks to John Rogers (oracle.com) for report
2014-03-14 15:04:24 +00:00
Mathieu Malaterre
7e1d012161
[trunk] Now that issue 165 dataset is in non regression repository, activate code to reject them
...
Fixes issue 165
2014-03-14 15:01:13 +00:00
Mathieu Malaterre
de74605777
[trunk] Fix issue with & vs &&
...
Fixes issue 277
2014-03-14 14:46:40 +00:00
Mathieu Malaterre
e8abf1fb25
[trunk] Add internal implementation to dump all tiles/comp info
...
Eg: opj_dump -f 8 -i input.j2k
Update issue 3
2014-03-14 13:53:36 +00:00
Mathieu Malaterre
b7fe7d25e1
[trunk] Prevent a leak when reading PPT markers
...
Update issue 295
2014-03-14 12:27:01 +00:00
Mathieu Malaterre
138a65d6c1
[trunk] Move INLINE definition within openjpeg.h header since application may use it
2014-03-14 12:02:05 +00:00
Mathieu Malaterre
9d0bdf69e5
[trunk] Apply final missing patch from sumatrapdf team:
...
http://bugs.ghostscript.com/show_bug.cgi?id=694893
Update issue 231
2014-03-14 11:59:18 +00:00
Mathieu Malaterre
3a80b72ac8
[trunk] Add a temporary work around for issue 293
...
As described in the bug report the default allocation mecanism for codeblock data is too small for those dataset (16bits). We would need a finer (more granular) mecanism to reallocated only on demand. For now this help the two failing tests to pass.
Fixes issue 293
2014-03-14 10:54:08 +00:00
Mathieu Malaterre
fd3f7ca2bb
[trunk] Remove warnings about unused values introduced in r2710
...
Thanks to Matthieu Darbois for patch
Fixes issue 290
2014-03-14 08:44:53 +00:00
Mathieu Malaterre
6e22c4f68a
[trunk] Add some sanity checks when reading Ippm(i) segments
...
Update issue 288
2014-03-13 15:34:36 +00:00
Mathieu Malaterre
565ef29ae3
[trunk] Make sure to reallocate ppm data buffer when multiple Ippm(i) buffer are found
...
This handle the case where remaining data is exactly Nppm(i)
Fixes issue 287
2014-03-13 13:47:44 +00:00
Mathieu Malaterre
5624e4a25f
[trunk] Always report when decompression failed as return code value
2014-03-13 12:31:41 +00:00
Mathieu Malaterre
320784659d
[trunk] Just in case this would be helpful for other, here is the code used to track issue 80
...
Update issue 80
2014-03-13 10:56:48 +00:00
Mathieu Malaterre
51ab8cd67d
[trunk] Tweak documentation in t2.c. Be more verbose in case of failure.
2014-03-13 10:46:54 +00:00
Mathieu Malaterre
237253d83b
[trunk] Add some documention in the pi code
2014-03-13 10:42:06 +00:00