summaryrefslogtreecommitdiff
path: root/src/lib/openjp2/dwt.c
AgeCommit message (Collapse)Author
2017-09-01Fix undefined shift behaviour in opj_dwt_is_whole_tile_decoding(). Fixes ↵Even Rouault
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=3255. Credit to OSS Fuzz
2017-08-29Use IDWT whole tile decoding if the area of interest equals to the image ↵Even Rouault
bounds, taking into account the reduced resolution factor
2017-08-28Subtile decoding: fix overflows in subband coordinate computation that cause ↵Even Rouault
later buffer overflow. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=3115. Credit to OSS Fuzz. master only
2017-08-23opj_dwt_decode_partial_97(): perf improvement: limit copy of coefficients at ↵Even Rouault
end of horizontal pass to actual range of interest
2017-08-21Add comments for filter_width valuesEven Rouault
2017-08-20Subtile decoding: only do 9x7 IDWT computations on relevant areas of ↵Even Rouault
tile-component buffer.
2017-08-18Subtile decoding: only do 5x3 IDWT computations on relevant areas of ↵Even Rouault
tile-component buffer. This lowers 'bin/opj_decompress -i ../MAPA.jp2 -o out.tif -d 0,0,256,256' down to 0.860s
2017-07-06Comment fixEven Rouault
2017-06-30IDWT 5x3: fix bug in AVX2 implementation (#953, #957)Even Rouault
2017-06-21IDWT 5x3: generalize SSE2 version for AVX2Even Rouault
Thanks to our macros that abstract SSE use, the functions can use AVX2 when available (at compile time) This brings an extra 23% speed improvement on bench_dwt in 64bit builds with AVX2 compared to SSE2.
2017-06-21dwt.c: small cleanupEven Rouault
2017-06-20Improve performance of inverse DWT 5x3 (#953)Even Rouault
* 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-17Fix astyle issueEven Rouault
2017-06-17Fix warnings with recent GCC versionsEven Rouault
2017-05-09Reformat whole codebase with astyle.options (#128)Even Rouault
2016-09-15Remove TODO for overflow check (#842)Matthieu Darbois
The check was already done. It’s been simplified. Reformat to get consistent style throughout the functions.
2016-09-15Add overflow checks for opj_aligned_malloc (#841)Matthieu Darbois
See https://pdfium.googlesource.com/pdfium/+/b20ab6c7acb3be1393461eb650ca8fa4660c937e/third_party/libopenjpeg20/0020-opj_aligned_malloc.patch
2016-09-14Fix some warnings (#838)Matthieu Darbois
Fix warnings introduced by uclouvain/openjpeg#786
2016-09-08Merge branch 'master' of https://github.com/uclouvain/openjpeg into ↵Even Rouault
tier1_optimizations_multithreading_2 Conflicts: src/lib/openjp2/t1.c
2016-09-06Change 'restrict' define to 'OPJ_RESTRICT' (#816)Matthieu Darbois
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-05-26Be robust to failed allocations of job structuresEven Rouault
2016-05-25Use thread pool for DWT decodingEven Rouault
2016-01-09Add comment explaining bj is not use when l_data_size == 0Even Rouault
2016-01-08[git/2.1 regression] Fix opj_write_tile() failure when numresolutions=1Even Rouault
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.
2015-10-19Fix HP compiler warning about redeclaration of function (#640)Stephan Mühlstrasser
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-18Merge pull request #636 from uclouvain/opj_malloc-625Matthieu Darbois
Update allocation functions Fix #625 Fix #624 Fix #635
2015-10-17Fix inconsistent behavior of malloc(0)mayeut
Update #635 Update #625
2015-10-13Remove the explicit restrict keywordMathieu Malaterre
It would trigger a compiler error on xlc compiler. Fixes #620
2015-07-18Add some missing staticmayeut
Still needs to check j2k.c & jp2.c Update uclouvain/openjpeg#243
2014-09-19added memory allocation checks (fixes issue 355)Antonin Descampe
2014-04-03[trunk] updated copyright and added copyright notice required by ISO, in ↵Antonin Descampe
each file; updated AUTHORS, NEWS
2014-03-07[trunk] As reported by clang analyzer thoses values were never readMathieu Malaterre
2014-03-07[trunk] Another of fixes for warning about sign conversionMathieu Malaterre
Update issue 256
2014-03-03[trunk] Remove easy to fix warnings about conversionMathieu Malaterre
2012-11-16[trunk] add opj_ prefix to some internal define and use the new opj type ↵Mickael Savinaud
instead of int and float in some files
2012-11-15[trunk] move opj_bool to OPJ_BOOL to follow the other typeMickael Savinaud
2012-10-25[trunk] rename opj_tcd_truct_v2 to opj_tcd_structMickael Savinaud
2012-10-24[trunk] Finalize dwt.v/.h with the v2 style : remove last functions already ↵Mickael Savinaud
optimized, add opj_ prefix, use new name of the functions
2012-10-05[trunk] rename int.h to opj_intmath.h and rename all its functions with opj_ ↵Mickael Savinaud
prefix
2012-10-03[trunk] correct warnings linked to static dwt functions because declaration ↵Mickael Savinaud
is not hide when we use SSE
2012-09-28[trunk] Start FolderReorgProposal taskMathieu Malaterre
Update issue 177