summaryrefslogtreecommitdiff
path: root/src/lib/openjp2/CMakeLists.txt
AgeCommit message (Collapse)Author
2024-02-29Refactor build of both types of linkageKai Pastor
2024-02-29Fix export of OPJ_STATIC macroKai Pastor
2024-01-08CMake: drop support for cmake < 3.5Dominik Wójt
Compatibility for cmake version < 3.5 is now deprecated in cmake and specifing version below 3.5 in cmake_minimum_required produces a warning.[1] [1] https://cmake.org/cmake/help/latest/release/3.27.html#deprecated-and-removed-features
2023-09-24Require `stdint.h` & `inttypes.h`mayeut
With #1450 which goes with 480cc9d49775d018c19ce0e01f6be27858d63d39 "Remove support for non-C99 compilers (like VS2010) that don't support snprintf()", support for MSVC versions prior to vs2015 is dropped: https://stackoverflow.com/questions/2915672/snprintf-and-visual-studio-2010 This means that all supported MSVC versions do have `stdint.h` & `inttypes.h` now. For non windows platforms, those headers were already mandatory. Make them mandatory for all builds.
2023-02-07CMake: add missing GNUInstallDirs related substitutions (fixes #1424) (#1456)autoantwort
2022-08-07CMake: switch to GNUInstallDirs (#1424)Thomas Bracht Laumann Jespersen
* Add GNUInstallDirs for standard installation directories Distributions are given standard variables for already existing hooks. Multiarch libdirs is taken care of automagically. Raises minimum cmake version by a little. * Handle CMAKE_INSTALL_xxx being absolute paths for .pc file generation In some cases the CMAKE_INSTAL_{BIN,MAN,DOC,LIB,INCLUDE}DIR variables may turn out to be absolute paths in which case prepending ${prefix} in the pkg-config .pc files will result in incorrect values. For .pc file generation, figure out if these variables are absolute and omit the prefix in the configured file when so. See: https://github.com/OSGeo/PROJ/commit/ab25e4b7ed9544e668282dcd293cfaaa2e56dbdf
2021-09-25Added support for high throughput (HTJ2K) decoding.Aous Naman
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-08-01cmake: add install interface include directoryAnonymous Maarten
2020-05-20Add multithreaded support in the DWT encoder.Even Rouault
Update the bench_dwt utility to have a -decode/-encode switch Measured performance gains for DWT encoder on a Intel(R) Core(TM) i7-6700HQ CPU @ 2.60GHz (4 cores, hyper threaded) Encoding time: $ ./bin/bench_dwt -encode -num_threads 1 time for dwt_encode: total = 8.348 s, wallclock = 8.352 s $ ./bin/bench_dwt -encode -num_threads 2 time for dwt_encode: total = 9.776 s, wallclock = 4.904 s $ ./bin/bench_dwt -encode -num_threads 4 time for dwt_encode: total = 13.188 s, wallclock = 3.310 s $ ./bin/bench_dwt -encode -num_threads 8 time for dwt_encode: total = 30.024 s, wallclock = 4.064 s Scaling is probably limited by memory access patterns causing memory access to be the bottleneck. The slightly worse results with threads==8 than with thread==4 is due to hyperthreading being not appropriate here.
2017-11-14Changed cmake version test to allow for cmake 2.8.11.xAndrew Murray
2017-10-09Unix build: fix regression of 2.3.0 where a shared-only or static-only build ↵Even Rouault
lacks the installation target for the library (#1019, fixes regression introduced by 3dfc6ca2bcf06fd1adb6b6b4cecc6c092f08ba0b)
2017-09-17Build: make sure that -DBUILD_SHARED_LIBS:bool=off is honoured to build only ↵Even Rouault
the static lib (#1019)
2017-09-01Sub-tile decoding: only allocate tile component buffer of the needed dimensionEven Rouault
Instead of being the full tile size. * Use a sparse array mechanism to store code-blocks and intermediate stages of IDWT. * IDWT, DC level shift and MCT stages are done just on that smaller array. * Improve copy of tile component array to final image, by saving an intermediate buffer. * For full-tile decoding at reduced resolution, only allocate the tile buffer to the reduced size, instead of the full-resolution size.
2017-07-13install static librariesJeroen
2017-07-03Merge pull request #954 from jeroen/staticEven Rouault
build both shared and static library
2017-06-20Add bench_dwt program (compiled only if BUILD_BENCH_DWT=ON)Even Rouault
2017-06-16only build both static and dynamic on non-windowsJeroen Ooms
2017-06-16build both shared and static libraryJeroen Ooms
2017-06-02MQC/RAW decoder: use an artificial 0xFF 0xFF terminating marker.Even Rouault
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-05-23CMake: add stronger warnings for openjp2 lib/bin by default, and error out ↵Even Rouault
on declaration-after-statement And remove occurences of unused arguments in src/lib/openjp2
2016-09-26OPENJPEG_NAMESPACE is configurable by userMathieu Malaterre
2016-09-20Disable automatic compilation of t1_generate_lutsAntonin Descampe
Fix #831
2016-09-16renamed USE_THREAD to OPJ_USE_THREADAntonin Descampe
renaming to be consistent with previous OPJ CMake options
2016-05-25Add threading and thread pool APIEven Rouault
2016-05-21Move some MQC functions into a header for speedKal Conley
Allow these hot functions to be inlined. This boosts decode performance by ~10%.
2016-05-02Use lowercase for cmake commands consistenlyJulien Malik
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
2015-10-09cleanup header file and move to implementationMathieu Malaterre
2015-09-01Correct CMake version requirementsmayeut
Update uclouvain/openjpeg#488
2015-07-30better -ffast-math handlingRex Dieter
issue #488 See also http://public.kitware.com/pipermail/cmake/2015-April/060479.html
2015-07-18Add headers to CMake targetmayeut
2015-07-04uclouvain/openjpeg#254 Add build option to disable the fixmayeut
2014-11-25[trunk] removed some warnings when configuring with CMake 3.x on MacOSMatthieu Darbois
Update issue 443 Warnings related to OPJ_USE_DSYMUTIL are fixed
2014-10-15[trunk] Add option to call dsymutil on built binaries (fixes issue 409)Antonin Descampe
2014-04-28[trunk] properly handle pkg-config on non-UNIX hostsMathieu Malaterre
Fixes issue 340
2013-03-25[trunk] separate the opj_config file between public and private part to ↵Mickael Savinaud
avoid expose unused variables into the public API.
2012-10-25[trunk] remove jpt.c/.h which used functions not used by v2. The code is ↵Mickael Savinaud
always available in branch 1.5
2012-10-25[trunk] Rework r2077Mathieu Malaterre
r2077 did expose too much of the detail implementation of OpenJPEG. Rework dependencies in between JPIP file level details and JPIP client/server arch. Move JPIP file level functionalities back into OpenJP2 as was the case in openjpeg 1.5.x. Use new cio func.
2012-10-24[trunk] add the support of complex mct encoding when we setup the j2k encoderMickael Savinaud
2012-10-15[trunk]rename j2k_lib to opj_clock Mickael Savinaud
2012-10-15[trunk] Fix issue during renaming of man pageMathieu Malaterre
2012-10-15[trunk] Fix compilation:Mathieu Malaterre
- using mingw32 compiler (missing exported symbols) - using -fvisibility=hidden (gcc on UNIX)
2012-10-05[trunk] First step in moving JPIP code out of openjp2Mathieu Malaterre
2012-10-02[trunk] Build small internal tools to generate t1_luts.hMathieu Malaterre
2012-10-01[trunk] FolderReorgProposal fix. 3rd party variables were not setMathieu Malaterre
Update issue 177
2012-10-01[trunk] FolderReorgProposal task: move source code to source dirMathieu Malaterre
2012-09-28[trunk] Start FolderReorgProposal taskMathieu Malaterre
Update issue 177