From 8a2af121a43b10bd69fb282df285df8f5a74dad8 Mon Sep 17 00:00:00 2001 From: Antonin Descampe Date: Mon, 10 Oct 2011 09:50:18 +0000 Subject: [PATCH] [1.5] enabled JPP stream in JPIP (result of GSoC program) --- CHANGES | 1 + applications/jpip/CHANGES | 3 + applications/jpip/README | 16 +- applications/jpip/libopenjpip/CMakeLists.txt | 2 + applications/jpip/libopenjpip/Makefile.am | 6 +- applications/jpip/libopenjpip/byte_manager.c | 8 + applications/jpip/libopenjpip/byte_manager.h | 7 + .../jpip/libopenjpip/cachemodel_manager.c | 46 +- .../jpip/libopenjpip/cachemodel_manager.h | 2 + applications/jpip/libopenjpip/comMakefile.mk | 3 +- .../jpip/libopenjpip/ihdrbox_manager.c | 12 +- .../jpip/libopenjpip/ihdrbox_manager.h | 14 +- .../jpip/libopenjpip/imgreg_manager.c | 24 +- .../jpip/libopenjpip/imgreg_manager.h | 16 +- applications/jpip/libopenjpip/index_manager.c | 304 ++++++++-- applications/jpip/libopenjpip/index_manager.h | 114 ++-- .../jpip/libopenjpip/j2kheader_manager.c | 286 ++++++++++ .../jpip/libopenjpip/j2kheader_manager.h | 73 +++ applications/jpip/libopenjpip/jp2k_encoder.c | 539 ++++++++++++++++++ applications/jpip/libopenjpip/jp2k_encoder.h | 64 +++ .../jpip/libopenjpip/metadata_manager.h | 1 + .../jpip/libopenjpip/msgqueue_manager.c | 415 +++----------- .../jpip/libopenjpip/msgqueue_manager.h | 68 ++- .../opj_client/opj_dec_server/jp2k_decoder.c | 8 +- .../opj_dec_server/jpipstream_manager.c | 13 +- .../opj_dec_server/opj_dec_server.c | 12 +- .../opj_viewer/dist/opj_viewer-20110916.jar | Bin 15482 -> 0 bytes .../opj_viewer/dist/opj_viewer-20110930.jar | Bin 0 -> 15592 bytes .../opj_client/opj_viewer/dist/opj_viewer.jar | 2 +- .../opj_viewer/src/ImageManager.java | 28 +- .../opj_viewer/src/ImageViewer.java | 23 +- .../opj_viewer/src/ImgdecClient.java | 31 +- .../opj_viewer/src/JPIPHttpClient.java | 5 + .../opj_client/opj_viewer/src/PnmImage.java | 111 ++-- .../opj_viewer/src/RegimViewer.java | 3 +- .../opj_viewer/src/ResizeListener.java | 10 +- .../dist/opj_viewer_xerces-20110916.jar | Bin 19896 -> 0 bytes .../dist/opj_viewer_xerces-20110930.jar | Bin 0 -> 20047 bytes .../dist/opj_viewer_xerces.jar | 2 +- applications/jpip/opj_server/opj_server.c | 194 ++++++- applications/jpip/opj_server/query_parser.c | 66 ++- applications/jpip/opj_server/query_parser.h | 7 + applications/jpip/tools/jpip_to_j2k.c | 4 +- applications/jpip/tools/jpip_to_jp2.c | 3 +- libopenjpeg/jp2.c | 8 +- libopenjpeg/phix_manager.c | 22 +- libopenjpeg/ppix_manager.c | 19 +- 47 files changed, 1955 insertions(+), 640 deletions(-) create mode 100644 applications/jpip/libopenjpip/j2kheader_manager.c create mode 100644 applications/jpip/libopenjpip/j2kheader_manager.h create mode 100644 applications/jpip/libopenjpip/jp2k_encoder.c create mode 100644 applications/jpip/libopenjpip/jp2k_encoder.h delete mode 100644 applications/jpip/opj_client/opj_viewer/dist/opj_viewer-20110916.jar create mode 100644 applications/jpip/opj_client/opj_viewer/dist/opj_viewer-20110930.jar delete mode 100644 applications/jpip/opj_client/opj_viewer_xerces/dist/opj_viewer_xerces-20110916.jar create mode 100644 applications/jpip/opj_client/opj_viewer_xerces/dist/opj_viewer_xerces-20110930.jar diff --git a/CHANGES b/CHANGES index d708329b..5f417dfe 100644 --- a/CHANGES +++ b/CHANGES @@ -7,6 +7,7 @@ What's New for OpenJPEG October 10, 2011 * [vincent] fix 'distcheck' rule +* [antonin] modified indexer for JPIP, JPP-stream October 7, 2011 + [mickael] enhance non regression test suite generation (and some test names). It is based on a file as encoder previously. diff --git a/applications/jpip/CHANGES b/applications/jpip/CHANGES index 3e4141ee..4b6d1cc9 100644 --- a/applications/jpip/CHANGES +++ b/applications/jpip/CHANGES @@ -5,6 +5,9 @@ What's New for OpenJPIP ! : changed + : added +October 10, 2011 ++ [antonin] enabled JPP-stream + September 16, 2011 + [kaori] enabled stateless requests from the opj_viewers diff --git a/applications/jpip/README b/applications/jpip/README index c35557f1..72796460 100644 --- a/applications/jpip/README +++ b/applications/jpip/README @@ -1,5 +1,5 @@ ======================================================================== - OpenJPIP software 1.0 ReadMe + OpenJPIP software 2.0 ReadMe OpenJPEG: http://www.openjpeg.org @@ -26,8 +26,8 @@ OpenJPIP software is an implementation of JPEG 2000 Part9: Interactivity tools, ( For more info about JPIP, check the website: http://www.jpeg.org/jpeg2000/j2kpart9.html) The current implementation uses some results from the 2KAN project (http://www.2kan.org). -First Version 1.0 covers: - - JPT-stream (Tile based) media types +First Version 2.0 covers: + - JPT-stream (Tile) and JPP-stream (Precinct) media types - Session, channels, cache model managements - JPIP over HTTP - Indexing JPEG 2000 files @@ -49,7 +49,6 @@ Neither the author, nor the university accept any responsibility for any kind of - OpenJPEG library (currently assumes it is installed on the system => will not use the one built higher in the directory structure) - FastCGI development kit (C libraries) at server (http://www.fastcgi.com) - Java application launcher at client - - Kakadu software ( http://www.kakadusoftware.com). Currently required to encode jpeg 2000 images with tile-parts. This will be implemented soon in openjpeg, making this requirement obsolete. - Xerces2 java XML parser on the client for accessing embedded image metadata (http://xerces.apache.org/xerces2-j) @@ -62,8 +61,6 @@ We tested this software with a virtual server running on the same Linux machine A Makefile is available in the same directory as this README file. Simply type 'make' and it will build all the required C-executables. Concerning the java-based opj_viewer, simply type 'ant' in the corresponding directory (requires 'ant' utility of course) -CMake files ar planned to be included ASAP. - The documentation can be build this way (requires doxygen utility): cd doc doxygen Doxyfile @@ -128,12 +125,7 @@ Client: ---------- An example to encode a TIF image "copenhague1.tif" at resolution 4780x4050, 8bit/pixel, grayscale. - - 1. J2K encoding using Kakadu with an option which introduces the tile-part flag at each resolution level - % ./kdu_compress -i copenhague1.tif -o copenhague1.j2k Corder=RPCL ORGtparts=R Stiles={256,256} - - 2. JP2 encoding with embedding indexing data - % ./j2k_to_idxjp2 copenhague1.j2k copenhague1.jp2 + % ./image_to_j2k -i copenhague1.tif -o copenhague1.jp2 -p RPCL -c [64,64] -t 640,480 -jpip