Commit Graph

2920 Commits

Author SHA1 Message Date
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
Stefan Weil 51155950eb Add .gitignore (#787)
Ignore all files and directories which are generated by `cmake . && make`.

Signed-off-by: Stefan Weil <sw@weilnetz.de>
2016-09-05 22:07:50 +02:00
Matthieu Darbois 23cee22286 Switch to clang 3.8 (#814)
clang 3.9 is currently unavailable for precise through apt
2016-09-02 23:58:12 +02:00
Even Rouault 4f9abb9a45 [Win32] Use _beginthreadex instead of CreateThread() 2016-08-11 21:59:28 +02:00
Matthieu Darbois 4a2a8693e5 Update to lcms 2.8 (#808) 2016-08-06 13:04:56 +02:00
Matthieu Darbois 1509ccc51f Update to libpng 1.6.24 (#807) 2016-08-06 12:51:40 +02:00
Matthieu Darbois 5bb919a30e Reenable clang-3.9 build on travis (#806)
clang-3.9 is now available with apt add-on in travis-ci
2016-08-06 12:26:46 +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
Matthieu Darbois b8bd1b0e07 Add compilation test for standalone inclusion of openjpeg.h (#798)
This ensures all openjpeg.h dependencies are met.
Fix #673
2016-07-14 11:06:26 +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
mayeut b3c422654f Update ABI tracker script
Disable previous version.
2016-07-06 00:26:37 +02:00
mayeut 9db62b2011 Update ABI tracker from 2.1 to 2.1.1 2016-07-05 23:53:31 +02:00
Antonin Descampe 7948d83340 update api/abi tracker 2016-07-05 23:33:00 +02:00
mayeut 132c4a248b Add version 2.1.1 to ABI tracker 2016-07-05 22:12:11 +02:00
Antonin Descampe ed294598ea Trigger API/ABI update on website 2016-07-05 18:10:35 +02:00
Antonin Descampe fef144283f Update INSTALL.md 2016-07-05 16:49:10 +02:00
Antonin Descampe 4c5a1cc825 Update AUTHORS.md 2016-07-05 16:40:27 +02:00
Antonin Descampe bd96ed8353 Update AUTHORS file 2016-07-05 16:07:16 +02:00
Antonin Descampe f4a708ba0f Update INSTALL, README and THANKS file 2016-07-05 16:04:29 +02:00
Antonin Descampe 2372cb78a0 Upload changelog and convert some files to mardown 2016-07-05 15:29:02 +02:00
Antonin Descampe 9d5002f8fd Remove useless diff command in abi-check.sh 2016-06-26 20:00:37 +02:00
Matthieu Darbois e4c74f5364 Correct abi-check.sh for PR (#791) 2016-06-25 01:09:42 +02:00
maddin200 cb72c08472 Update tcd.c (#790)
cppcheck unitialized variable
2016-06-21 22:13:57 +02:00
Matthieu Darbois 898ca6f522 Remove clang-3.9 build
c.f. travis-ci/travis-ci#6120
2016-06-21 22:09:08 +02:00
Antonin Descampe 86698be6e9 Automatic upload of ABI report (end) 2016-06-21 17:41:29 +02:00
Antonin Descampe cdcb77e796 Automatic upload of ABI report (ctd) 2016-06-21 17:21:08 +02:00
Antonin Descampe 954dad66de Automatic upload of ABI report (ctd) 2016-06-21 16:46:38 +02:00
Antonin Descampe 48744a1342 setup automatic upload of ABI reports 2016-06-21 16:19:06 +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 e3eb0a206d .travis.yml: add a conf with OPJ_NUM_THREADS=2 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