ab31260c430add2e4814b8e8a8e826ca3ce280b1
[openjpeg.git] / README.md
1
2 # OPENJPEG Library and Applications
3
4 ## Details on folders hierarchy
5
6 * src
7   * lib
8     * openjp2: contains the sources of the openjp2 library (Part 1 & 2)
9     * openjpwl: contains the additional sources if you want to build a JPWL-flavoured library.
10     * openjpip: complete client-server architecture for remote browsing of jpeg 2000 images.
11     * openjp3d: JP3D implementation
12     * openmj2: MJ2 implementation
13   * bin: contains all applications that use the openjpeg library
14     * common: common files to all applications
15     * jp2: a basic codec
16     * mj2: motion jpeg 2000 executables
17     * jpip: OpenJPIP applications (server and dec server)
18       * java: a Java client viewer for JPIP
19     * jp3d: JP3D applications
20       * tcltk: a test tool for JP3D
21     * wx
22       * OPJViewer: gui for displaying j2k files (based on wxWidget)
23 * wrapping
24   * java: java jni to use openjpeg in a java program
25 * 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.
26 * doc: doxygen documentation setup file and man pages
27 * tests: configuration files and utilities for the openjpeg test suite. All test images are located in 'http://openjpeg.googlecode.com/svn/data' folder.
28 * cmake: cmake related files
29
30 See [LICENSE](https://github.com/uclouvain/openjpeg/blob/master/LICENSE) for license and copyright information.
31
32 See [INSTALL](https://github.com/uclouvain/openjpeg/blob/master/INSTALL) for installation procedures.
33
34 See [NEWS](https://github.com/uclouvain/openjpeg/blob/master/NEWS) for user visible changes in successive releases.
35
36 ## API/ABI
37
38 OpenJPEG strives to provide a stable API/ABI for your applications. As such it
39 only exposes a limited subset of its functions.  It uses a mechanism of
40 exporting/hiding functions. If you are unsure which functions you can use in
41 your applications, you should compile OpenJPEG using something similar to gcc:
42 `fvisibility=hidden` compilation flag.
43 See also: http://gcc.gnu.org/wiki/Visibility
44
45 On windows, MSVC directly supports export/hiding function and as such the only
46 API available is the one supported by OpenJPEG.