2011-04-14 00:38:50 +02:00
2015-06-13 15:39:03 +02:00
# OPENJPEG Library and Applications
2011-04-14 00:38:50 +02:00
2015-06-13 15:24:45 +02:00
## Details on folders hierarchy
2011-04-14 00:38:50 +02:00
2012-10-01 17:16:33 +02:00
* src
* lib
* openjp2: contains the sources of the openjp2 library (Part 1 & 2)
* openjpwl: contains the additional sources if you want to build a JPWL-flavoured library.
* openjpip: complete client-server architecture for remote browsing of jpeg 2000 images.
* openjp3d: JP3D implementation
* openmj2: MJ2 implementation
* bin: contains all applications that use the openjpeg library
2011-04-14 00:38:50 +02:00
* common: common files to all applications
2012-10-01 17:16:33 +02:00
* jp2: a basic codec
2011-04-14 00:38:50 +02:00
* mj2: motion jpeg 2000 executables
2012-10-01 17:16:33 +02:00
* jpip: OpenJPIP applications (server and dec server)
* java: a Java client viewer for JPIP
* jp3d: JP3D applications
* tcltk: a test tool for JP3D
* wx
* OPJViewer: gui for displaying j2k files (based on wxWidget)
* wrapping
* java: java jni to use openjpeg in a java program
2012-03-02 10:26:15 +01:00
* thirdparty: thirdparty libraries used by some applications. These libraries will be built only if there are not found on the system. Note that libopenjpeg itself does not have any dependency.
2011-04-14 00:38:50 +02:00
* doc: doxygen documentation setup file and man pages
2011-08-16 15:25:42 +02:00
* tests: configuration files and utilities for the openjpeg test suite. All test images are located in 'http://openjpeg.googlecode.com/svn/data' folder.
2012-10-01 17:16:33 +02:00
* cmake: cmake related files
2011-04-14 00:38:50 +02:00
2015-06-13 15:33:37 +02:00
See [LICENSE ](https://github.com/uclouvain/openjpeg/blob/master/LICENSE ) for license and copyright information.
See [INSTALL ](https://github.com/uclouvain/openjpeg/blob/master/INSTALL ) for installation procedures.
See [NEWS ](https://github.com/uclouvain/openjpeg/blob/master/NEWS ) for user visible changes in successive releases.
2012-10-25 10:44:27 +02:00
2015-06-13 15:24:45 +02:00
## API/ABI
2012-10-25 10:44:27 +02:00
OpenJPEG strives to provide a stable API/ABI for your applications. As such it
only exposes a limited subset of its functions. It uses a mecanism of
exporting/hiding functions. If you are unsure which functions you can use in
your applications, you should compile OpenJPEG using something similar to gcc:
2015-06-13 15:24:45 +02:00
`fvisibility=hidden` compilation flag.
2012-10-25 10:44:27 +02:00
See also: http://gcc.gnu.org/wiki/Visibility
On windows, MSVC directly supports export/hidding function and as such the only
API available is the one supported by OpenJPEG.