summaryrefslogtreecommitdiff
path: root/src/lib/openjpwl/README.txt
diff options
context:
space:
mode:
authorMathieu Malaterre <mathieu.malaterre@gmail.com>2012-09-28 08:11:41 +0000
committerMathieu Malaterre <mathieu.malaterre@gmail.com>2012-09-28 08:11:41 +0000
commitd518970039a19a2a9b6d2bdd592cc88a43897bbb (patch)
tree57bac2cf7e63e9352228231062763baac627563c /src/lib/openjpwl/README.txt
parent8363a6ab1e031bb4b2e40a92e56efd40fdab1aa1 (diff)
[trunk] Start FolderReorgProposal task
Update issue 177
Diffstat (limited to 'src/lib/openjpwl/README.txt')
-rw-r--r--src/lib/openjpwl/README.txt136
1 files changed, 136 insertions, 0 deletions
diff --git a/src/lib/openjpwl/README.txt b/src/lib/openjpwl/README.txt
new file mode 100644
index 00000000..e289e9e4
--- /dev/null
+++ b/src/lib/openjpwl/README.txt
@@ -0,0 +1,136 @@
+===============================================================================
+ JPEG2000 Part 11 (ISO/IEC 15444-11 JPWL) Software
+
+
+
+ Version 20061213
+===============================================================================
+
+
+
+
+
+1. Scope
+=============
+
+This document describes the installation and use of the JPWL module in the framework of OpenJPEG library.
+
+This implementation has been developed from OpenJPEG implementation of JPEG2000 standard, and for this reason it is written in C language.
+
+If you find some bugs or if you have problems using the encoder/decoder, please send an e-mail to jpwl@diei.unipg.it
+
+
+2. Installing the code
+==========================
+
+The JPWL code is integrated with the standard OpenJPEG library and codecs: it is activated by setting the macro USE_JPWL to defined in the preprocessor configuration options of your preferred C compiler.
+
+2.1. Compiling the source code in Windows
+-------------------------------------------
+
+The "jpwl" directory is already populated with a couple of Visual C++ 6.0 workspaces
+
+ * JPWL_image_to_j2k.dsw - Creates the encoder with JPWL functionalities
+ * JPWL_j2k_to_image.dsw - Creates the decoder with JPWL functionalities
+
+2.2. Compiling the source code in Unix-like systems
+-----------------------------------------------------
+
+Under linux, enter the jpwl directory and type "make clean" and "make".
+
+
+3. Running the JPWL software
+=========================
+
+The options available at the command line are exactly the same of the base OpenJPEG codecs. In addition, there is a "-W" switch that activates JPWL functionalities.
+
+3.1. JPWL Encoder
+-------------------
+
+-W : adoption of JPWL (Part 11) capabilities (-W params)
+ The parameters can be written and repeated in any order:
+ [h<tile><=type>,s<tile><=method>,a=<addr>,z=<size>,g=<range>,...
+ ...,p<tile:pack><=type>]
+
+ h selects the header error protection (EPB): 'type' can be
+ [0=none 1,absent=predefined 16=CRC-16 32=CRC-32 37-128=RS]
+ if 'tile' is absent, it applies to main and tile headers
+ if 'tile' is present, it applies from that tile
+ onwards, up to the next h<tile> spec, or to the last tile
+ in the codestream (max. 16 specs)
+
+ p selects the packet error protection (EEP/UEP with EPBs)
+ to be applied to raw data: 'type' can be
+ [0=none 1,absent=predefined 16=CRC-16 32=CRC-32 37-128=RS]
+ if 'tile:pack' is absent, it starts from tile 0, packet 0
+ if 'tile:pack' is present, it applies from that tile
+ and that packet onwards, up to the next packet spec
+ or to the last packet in the last tile in the codestream
+ (max. 16 specs)
+
+ s enables sensitivity data insertion (ESD): 'method' can be
+ [-1=NO ESD 0=RELATIVE ERROR 1=MSE 2=MSE REDUCTION 3=PSNR
+ 4=PSNR INCREMENT 5=MAXERR 6=TSE 7=RESERVED]
+ if 'tile' is absent, it applies to main header only
+ if 'tile' is present, it applies from that tile
+ onwards, up to the next s<tile> spec, or to the last tile
+ in the codestream (max. 16 specs)
+
+ g determines the addressing mode: <range> can be
+ [0=PACKET 1=BYTE RANGE 2=PACKET RANGE]
+
+ a determines the size of data addressing: <addr> can be
+ 2/4 bytes (small/large codestreams). If not set, auto-mode
+
+ z determines the size of sensitivity values: <size> can be
+ 1/2 bytes, for the transformed pseudo-floating point value
+
+ ex.:
+ h,h0=64,h3=16,h5=32,p0=78,p0:24=56,p1,p3:0=0,p3:20=32,s=0,s0=6,s3=-1,a=0,g=1,z=1
+ means
+ predefined EPB in MH, rs(64,32) from TPH 0 to TPH 2,
+ CRC-16 in TPH 3 and TPH 4, CRC-32 in remaining TPHs,
+ UEP rs(78,32) for packets 0 to 23 of tile 0,
+ UEP rs(56,32) for packets 24 to the last of tile 0,
+ UEP rs default for packets of tile 1,
+ no UEP for packets 0 to 19 of tile 3,
+ UEP CRC-32 for packets 20 of tile 3 to last tile,
+ relative sensitivity ESD for MH,
+ TSE ESD from TPH 0 to TPH 2, byte range with automatic
+ size of addresses and 1 byte for each sensitivity value
+
+ ex.:
+ h,s,p
+ means
+ default protection to headers (MH and TPHs) as well as
+ data packets, one ESD in MH
+
+ N.B.: use the following recommendations when specifying
+ the JPWL parameters list
+ - when you use UEP, always pair the 'p' option with 'h'
+
+3.2. JPWL Decoder
+-------------------
+
+ -W <options>
+ Activates the JPWL correction capability, if the codestream complies.
+ Options can be a comma separated list of <param=val> tokens:
+ c, c=numcomps
+ numcomps is the number of expected components in the codestream
+ (search of first EPB rely upon this, default is 3)
+
+
+4. Known bugs and limitations
+===============================
+
+4.1. Bugs
+-----------
+
+* It is not possible to save a JPWL encoded codestream using the wrapped file format (i.e. JP2): only raw file format (i.e. J2K) is working
+
+4.2. Limitations
+------------------
+
+* When specifying an UEP protection, you need to activate even TPH protection for those tiles where there is a protection of the packets
+* RED insertion is not currently implemented at the decoder
+* JPWL at entropy coding level is not implemented