Definition of USE_JPWL in doxygen file for building the corresponding documentation on JPWL module; creation of README file in JPWL directory
This commit is contained in:
parent
16dc670030
commit
6b9d244449
|
@ -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
|
||||
#---------------------------------------------------------------------------
|
||||
|
|
|
@ -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
|
||||
-----------------------------------------------------
|
||||
|
||||
The code has been proven to compile under Linux and MacOS X.
|
||||
|
||||
|
||||
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
|
Loading…
Reference in New Issue