Update README.md
[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 for license and copyright information.
31 See INSTALL for installation procedures.
32 See NEWS for user visible changes in successive releases.
33 See CHANGES for per-revision changes.
34
35 ## API/ABI
36
37 OpenJPEG strives to provide a stable API/ABI for your applications. As such it
38 only exposes a limited subset of its functions.  It uses a mecanism of
39 exporting/hiding functions. If you are unsure which functions you can use in
40 your applications, you should compile OpenJPEG using something similar to gcc:
41 `fvisibility=hidden` compilation flag.
42 See also: http://gcc.gnu.org/wiki/Visibility
43
44 On windows, MSVC directly supports export/hidding function and as such the only
45 API available is the one supported by OpenJPEG.