]> granicus.if.org Git - openjpeg/commitdiff
Definition of USE_JPWL in doxygen file for building the corresponding documentation...
authorGiuseppe Baruffa <gbaruffa@users.noreply.github.com>
Wed, 13 Dec 2006 11:50:24 +0000 (11:50 +0000)
committerGiuseppe Baruffa <gbaruffa@users.noreply.github.com>
Wed, 13 Dec 2006 11:50:24 +0000 (11:50 +0000)
doc/Doxyfile.dox
jpwl/README.txt [new file with mode: 0644]

index 7e92ce6bb80b11096243912f7ea92c7fab6ea4ed..52f5c196458a680966e965b751d0147032aa1302 100644 (file)
@@ -81,7 +81,8 @@ WARN_LOGFILE           =
 #---------------------------------------------------------------------------
 # configuration options related to the input files
 #---------------------------------------------------------------------------
-INPUT                  = ../libopenjpeg
+INPUT                  = ../libopenjpeg \
+                                                ../jpwl
 FILE_PATTERNS          = *.h \
                          *.c
 RECURSIVE              = NO
@@ -189,7 +190,7 @@ EXPAND_ONLY_PREDEF     = NO
 SEARCH_INCLUDES        = YES
 INCLUDE_PATH           = 
 INCLUDE_FILE_PATTERNS  = 
-PREDEFINED             = 
+PREDEFINED             = USE_JPWL
 EXPAND_AS_DEFINED      = 
 SKIP_FUNCTION_MACROS   = YES
 #---------------------------------------------------------------------------
diff --git a/jpwl/README.txt b/jpwl/README.txt
new file mode 100644 (file)
index 0000000..e3b94a2
--- /dev/null
@@ -0,0 +1,136 @@
+===============================================================================
+       JPEG2000 Part 11 (ISO/IEC 15444-11 JPWL) Software
+
+\r
+\r
+               Version 20061213
+===============================================================================
+
+
+\r
+\r
+\r
+1. Scope\r
+=============\r
+\r
+This document describes the installation and use of the JPWL module in the framework of OpenJPEG library.\r
+\r
+This implementation has been developed from OpenJPEG implementation of JPEG2000 standard, and for this reason it is written in C language.\r
+\r
+If you find some bugs or if you have problems using the encoder/decoder, please send an e-mail to jpwl@diei.unipg.it
+\r
+\r
+2. Installing the code\r
+==========================\r
+\r
+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.\r
+\r
+2.1. Compiling the source code in Windows\r
+-------------------------------------------\r
+\r
+The "jpwl" directory is already populated with a couple of Visual C++ 6.0 workspaces\r
+\r
+ * JPWL_image_to_j2k.dsw - Creates the encoder with JPWL functionalities\r
+ * JPWL_j2k_to_image.dsw - Creates the decoder with JPWL functionalities\r
+\r
+2.2. Compiling the source code in Unix-like systems\r
+-----------------------------------------------------\r
+\r
+The code has been proven to compile under Linux and MacOS X.\r
+\r
+\r
+3. Running the JPWL software\r
+=========================\r
+\r
+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.\r
+\r
+3.1. JPWL Encoder\r
+-------------------\r
+\r
+-W           : adoption of JPWL (Part 11) capabilities (-W params)\r
+               The parameters can be written and repeated in any order:\r
+               [h<tile><=type>,s<tile><=method>,a=<addr>,z=<size>,g=<range>,...\r
+                ...,p<tile:pack><=type>]\r
+\r
+                 h selects the header error protection (EPB): 'type' can be\r
+                   [0=none 1,absent=predefined 16=CRC-16 32=CRC-32 37-128=RS]\r
+                   if 'tile' is absent, it applies to main and tile headers\r
+                   if 'tile' is present, it applies from that tile\r
+                     onwards, up to the next h<tile> spec, or to the last tile\r
+                     in the codestream (max. 16 specs)\r
+\r
+                 p selects the packet error protection (EEP/UEP with EPBs)\r
+                  to be applied to raw data: 'type' can be\r
+                   [0=none 1,absent=predefined 16=CRC-16 32=CRC-32 37-128=RS]\r
+                   if 'tile:pack' is absent, it starts from tile 0, packet 0\r
+                   if 'tile:pack' is present, it applies from that tile\r
+                     and that packet onwards, up to the next packet spec\r
+                     or to the last packet in the last tile in the codestream\r
+                     (max. 16 specs)\r
+\r
+                 s enables sensitivity data insertion (ESD): 'method' can be\r
+                   [-1=NO ESD 0=RELATIVE ERROR 1=MSE 2=MSE REDUCTION 3=PSNR\r
+                    4=PSNR INCREMENT 5=MAXERR 6=TSE 7=RESERVED]\r
+                   if 'tile' is absent, it applies to main header only\r
+                   if 'tile' is present, it applies from that tile\r
+                     onwards, up to the next s<tile> spec, or to the last tile\r
+                     in the codestream (max. 16 specs)\r
+\r
+                 g determines the addressing mode: <range> can be\r
+                   [0=PACKET 1=BYTE RANGE 2=PACKET RANGE]\r
+\r
+                 a determines the size of data addressing: <addr> can be\r
+                   2/4 bytes (small/large codestreams). If not set, auto-mode\r
+\r
+                 z determines the size of sensitivity values: <size> can be\r
+                   1/2 bytes, for the transformed pseudo-floating point value\r
+\r
+                 ex.:\r
+ 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\r
+                 means\r
+                   predefined EPB in MH, rs(64,32) from TPH 0 to TPH 2,\r
+                   CRC-16 in TPH 3 and TPH 4, CRC-32 in remaining TPHs,\r
+                   UEP rs(78,32) for packets 0 to 23 of tile 0,\r
+                   UEP rs(56,32) for packets 24 to the last of tile 0,\r
+                   UEP rs default for packets of tile 1,\r
+                   no UEP for packets 0 to 19 of tile 3,\r
+                   UEP CRC-32 for packets 20 of tile 3 to last tile,\r
+                   relative sensitivity ESD for MH,\r
+                   TSE ESD from TPH 0 to TPH 2, byte range with automatic\r
+                   size of addresses and 1 byte for each sensitivity value\r
+\r
+                 ex.:\r
+                       h,s,p\r
+                 means\r
+                   default protection to headers (MH and TPHs) as well as\r
+                   data packets, one ESD in MH\r
+\r
+                 N.B.: use the following recommendations when specifying\r
+                       the JPWL parameters list\r
+                   - when you use UEP, always pair the 'p' option with 'h'\r
+\r
+3.2. JPWL Decoder\r
+-------------------\r
+\r
+  -W <options>\r
+    Activates the JPWL correction capability, if the codestream complies.\r
+    Options can be a comma separated list of <param=val> tokens:\r
+    c, c=numcomps\r
+       numcomps is the number of expected components in the codestream\r
+       (search of first EPB rely upon this, default is 3)\r
+\r
+\r
+4. Known bugs and limitations\r
+===============================\r
+\r
+4.1. Bugs\r
+-----------\r
+\r
+* 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\r
+\r
+4.2. Limitations\r
+------------------\r
+\r
+* When specifying an UEP protection, you need to activate even TPH protection for those tiles where there is a protection of the packets\r
+* RED insertion is not currently implemented at the decoder\r
+* JPWL at entropy coding level is not implemented\r