Commit Graph

2413 Commits

Author SHA1 Message Date
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 53d46fc733 Merge pull request #936 from rouault/master_warnings
CMake: add stronger warnings for openjp2 lib/bin by default, and error out on declaration-after-statement
2017-05-23 16:15:55 +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 6e97d877b1 Merge pull request #935 from rouault/add_compress_vsc_test
Tests: test opj_compress in VSC mode (related to #172)
2017-05-23 14:49:38 +02:00
Even Rouault 2d2c368b19 Tests: test opj_compress in VSC mode (related to #172) 2017-05-23 14:31:39 +02:00
Even Rouault 8728cfbc79 t1.c: fix compiler warnings 2017-05-23 13:54:28 +02: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 f7a126af61 Merge pull request #926 from rouault/reformat_h_files
Reformat: apply reformattin on .h files (#128)
2017-05-15 13:08:03 +02:00
Even Rouault 3c2972f924 Reformat: apply reformattin on .h files (#128) 2017-05-15 12:21:30 +02:00
Even Rouault 28d2eabca7 Merge pull request #919 from rouault/reformat
Add mechanisms to reformat and check code style, and reformat whole codebase (#128)
2017-05-15 12:09:45 +02:00
Even Rouault 0ecac46a1d perf_test.py: implement -i option 2017-05-11 20:18:42 +02:00
Even Rouault cde210be39 astyle.options: use non deprecated option name 2017-05-11 11:21:37 +02:00
Even Rouault 563bd8499e Reformat whole codebase with astyle.options (#128) 2017-05-09 20:46:20 +02:00
Even Rouault d4e54e9f35 Add mechanisms to reformant and check code style (#128)
Use an internal version of astyle (astyle 3.0). Scripts taken from QGIS.
astyle.options from https://github.com/uclouvain/openjpeg/issues/128

scripts/prepare-commit.sh can be used locally to automatically reformat
edited files.

Travis-CI will run scripts/verify-indentation.sh to verify committed files.
2017-05-09 20:46:16 +02:00
Even Rouault 8650b70e06 Merge pull request #918 from rouault/profile
Add profiling of CPU and memory usage (#912)
2017-05-09 13:16:53 +02:00
Even Rouault 05d58451a1 Add profiling of CPU and memory usage (#912) 2017-05-09 12:35:51 +02:00
Even Rouault e92fe29016 Merge pull request #917 from rouault/bench
Add performance benchmarking scripts
2017-05-09 12:33:07 +02:00
Even Rouault 328f076d26 Add performance benchmarking scripts
And run them by Travis-CI
2017-05-06 14:44:20 +02:00
Even Rouault 20291aad07 Merge pull request #915 from rouault/appveyor_fix_attempt
Fix retrieval of jpylyzer in AppVeyor
2017-05-03 12:41:02 +02:00
Even Rouault 04980a8c7b Fix retrieval of jpylyzer in AppVeyor 2017-05-03 12:03:00 +02:00
Even Rouault a18040e022 Merge pull request #893 from rouault/remove_tagtree_warnings
Remove warnings related to empty tag-trees.
2017-05-03 11:48:02 +02:00
Even Rouault e7ff1efb82 Merge pull request #899 from jwilk/man-warnings
Remove spurious .R macros from manpages
2017-05-03 11:46:45 +02:00
Even Rouault 807da629a6 Merge pull request #914 from alexwlchan/fix-readme
Escape quotes to ensure README renders on GitHub correctly
2017-05-03 11:46:01 +02:00
Alex Chan 4927b64766
Escape quotes to ensure README renders on GitHub correctly 2017-04-28 09:43:05 +01:00
Jakub Wilk cf08763c31 Remove spurious .R macros from manpages
Fixes the following warnings from man:

    `R' is a string (producing the registered sign), not a macro.
2017-03-05 16:13:18 +01:00
Antonin Descampe 8c33128369 Fixed CRLF auto conversion issue in openjpeg-data #655 2017-03-03 23:23:39 +01: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