From 49a0f0db8fe8c85f3e808e4857ee48322c47dcea Mon Sep 17 00:00:00 2001 From: Antonin Descampe Date: Tue, 1 Nov 2011 23:28:07 +0000 Subject: [PATCH] [1.5] backport revisions 996, 997, 1000, 1008-1012 from trunk (JPIP modifications) --- CHANGES | 1 + applications/JavaOpenJPEG/JavaOpenJPEG.c | 8 +- applications/codec/image_to_j2k.c | 8 +- applications/jpip/CHANGES | 9 + applications/jpip/README | 4 +- .../jpip/libopenjpip/j2kheader_manager.c | 4 +- applications/jpip/libopenjpip/jp2k_encoder.c | 324 +++++++++-- .../jpip/libopenjpip/msgqueue_manager.c | 58 +- .../jpip/libopenjpip/msgqueue_manager.h | 3 +- .../opj_client/opj_dec_server/CMakeLists.txt | 1 + .../opj_client/opj_dec_server/Makefile.am | 4 +- .../opj_client/opj_dec_server/Makefile.nix | 5 +- .../opj_dec_server/dec_clientmsg_handler.c | 307 ++++++++++ .../opj_dec_server/dec_clientmsg_handler.h | 53 ++ .../opj_dec_server/imgsock_manager.c | 23 +- .../opj_dec_server/imgsock_manager.h | 20 +- .../opj_dec_server/opj_dec_server.c | 292 +--------- .../opj_viewer/dist/opj_viewer-20111018.jar | Bin 0 -> 15873 bytes .../opj_client/opj_viewer/dist/opj_viewer.jar | 2 +- applications/jpip/opj_server/CMakeLists.txt | 1 + applications/jpip/opj_server/Makefile.am | 4 +- applications/jpip/opj_server/Makefile.nix | 4 +- applications/jpip/opj_server/jpip_parser.c | 536 ++++++++++++++++++ applications/jpip/opj_server/jpip_parser.h | 56 ++ applications/jpip/opj_server/opj_server.c | 495 +--------------- applications/jpip/opj_server/query_parser.c | 31 +- applications/jpip/opj_server/query_parser.h | 2 + applications/jpip/tools/jpip_to_j2k.c | 1 + 28 files changed, 1384 insertions(+), 872 deletions(-) create mode 100644 applications/jpip/opj_client/opj_dec_server/dec_clientmsg_handler.c create mode 100644 applications/jpip/opj_client/opj_dec_server/dec_clientmsg_handler.h create mode 100644 applications/jpip/opj_client/opj_viewer/dist/opj_viewer-20111018.jar create mode 100644 applications/jpip/opj_server/jpip_parser.c create mode 100644 applications/jpip/opj_server/jpip_parser.h diff --git a/CHANGES b/CHANGES index 5565b914..1c7d7746 100644 --- a/CHANGES +++ b/CHANGES @@ -7,6 +7,7 @@ What's New for OpenJPEG October 21, 2011 * [mickael] remove one obvious memory leak from test functions +! [kaori] change -v option was renamed to -u, which is equivalent to -TP long option October 20, 2011 * [mickael] remove obvious memory leak from applications diff --git a/applications/JavaOpenJPEG/JavaOpenJPEG.c b/applications/JavaOpenJPEG/JavaOpenJPEG.c index 0926b77c..eea41c25 100644 --- a/applications/JavaOpenJPEG/JavaOpenJPEG.c +++ b/applications/JavaOpenJPEG/JavaOpenJPEG.c @@ -204,6 +204,8 @@ void encode_help_display() { fprintf(stdout," Indicate multiple modes by adding their values. \n"); fprintf(stdout," ex: RESTART(4) + RESET(2) + SEGMARK(32) = -M 38\n"); fprintf(stdout,"\n"); + fprintf(stdout,"-TP : devide packets of every tile into tile-parts (-TP R) [R, L, C]\n"); + fprintf(stdout,"\n"); fprintf(stdout,"-x : create an index file *.Idx (-x index_name.Idx) \n"); fprintf(stdout,"\n"); fprintf(stdout,"-ROI : c=%%d,U=%%d : quantization indices upshifted \n"); @@ -499,7 +501,7 @@ int parse_cmdline_encoder(int argc, char **argv, opj_cparameters_t *parameters, {"cinema2K",REQ_ARG, NULL ,'w'}, {"cinema4K",NO_ARG, NULL ,'y'}, {"ImgDir",REQ_ARG, NULL ,'z'}, - {"TP",REQ_ARG, NULL ,'v'}, + {"TP",REQ_ARG, NULL ,'u'}, {"SOP",NO_ARG, NULL ,'S'}, {"EPH",NO_ARG, NULL ,'E'}, {"OutFor",REQ_ARG, NULL ,'O'}, @@ -510,7 +512,7 @@ int parse_cmdline_encoder(int argc, char **argv, opj_cparameters_t *parameters, /* parse the command line */ /* UniPG>> */ - const char optlist[] = "i:o:hr:q:n:b:c:t:p:s:SEM:x:R:d:T:If:P:C:F:" + const char optlist[] = "i:o:hr:q:n:b:c:t:p:s:SEM:x:R:d:T:If:P:C:F:u:J" #ifdef USE_JPWL "W:" #endif /* USE_JPWL */ @@ -871,7 +873,7 @@ int parse_cmdline_encoder(int argc, char **argv, opj_cparameters_t *parameters, /* ------------------------------------------------------ */ - case 'v': /* Tile part generation*/ + case 'u': /* Tile part generation*/ { parameters->tp_flag = opj_optarg[0]; parameters->tp_on = 1; diff --git a/applications/codec/image_to_j2k.c b/applications/codec/image_to_j2k.c index 93d0c6ff..968afcc6 100644 --- a/applications/codec/image_to_j2k.c +++ b/applications/codec/image_to_j2k.c @@ -193,6 +193,8 @@ void encode_help_display(void) { fprintf(stdout," Indicate multiple modes by adding their values. \n"); fprintf(stdout," ex: RESTART(4) + RESET(2) + SEGMARK(32) = -M 38\n"); fprintf(stdout,"\n"); + fprintf(stdout,"-TP : devide packets of every tile into tile-parts (-TP R) [R, L, C]\n"); + fprintf(stdout,"\n"); fprintf(stdout,"-x : create an index file *.Idx (-x index_name.Idx) \n"); fprintf(stdout,"\n"); fprintf(stdout,"-ROI : c=%%d,U=%%d : quantization indices upshifted \n"); @@ -581,7 +583,7 @@ int parse_cmdline_encoder(int argc, char **argv, opj_cparameters_t *parameters, {"cinema2K",REQ_ARG, NULL ,'w'}, {"cinema4K",NO_ARG, NULL ,'y'}, {"ImgDir",REQ_ARG, NULL ,'z'}, - {"TP",REQ_ARG, NULL ,'v'}, + {"TP",REQ_ARG, NULL ,'u'}, {"SOP",NO_ARG, NULL ,'S'}, {"EPH",NO_ARG, NULL ,'E'}, {"OutFor",REQ_ARG, NULL ,'O'}, @@ -591,7 +593,7 @@ int parse_cmdline_encoder(int argc, char **argv, opj_cparameters_t *parameters, }; /* parse the command line */ - const char optlist[] = "i:o:r:q:n:b:c:t:p:s:SEM:x:R:d:T:If:P:C:F:v:" + const char optlist[] = "i:o:r:q:n:b:c:t:p:s:SEM:x:R:d:T:If:P:C:F:u:J" #ifdef USE_JPWL "W:" #endif /* USE_JPWL */ @@ -1005,7 +1007,7 @@ int parse_cmdline_encoder(int argc, char **argv, opj_cparameters_t *parameters, /* ------------------------------------------------------ */ - case 'v': /* Tile part generation*/ + case 'u': /* Tile part generation*/ { parameters->tp_flag = opj_optarg[0]; parameters->tp_on = 1; diff --git a/applications/jpip/CHANGES b/applications/jpip/CHANGES index 34fa3cfc..c5ae11ad 100644 --- a/applications/jpip/CHANGES +++ b/applications/jpip/CHANGES @@ -5,6 +5,15 @@ What's New for OpenJPIP ! : changed + : added +October 14, 2011 +! [kaori] rearranged opj_server, opj_dec_server directory + +October 14, 2011 ++ [kaori] enable all progression orders + +October 12, 2011 ++ [kaori] enable layers requests; restricting the number of codesream quality layers + October 11, 2011 + [antonin] enable JPT-stream request from client viewer option (credit to kaori) diff --git a/applications/jpip/README b/applications/jpip/README index 0bd22fda..9842b936 100644 --- a/applications/jpip/README +++ b/applications/jpip/README @@ -126,11 +126,11 @@ Client: ---------- An example to encode a TIF image "copenhague1.tif" at resolution 4780x4050, 8bit/pixel, grayscale. - % ./image_to_j2k -i copenhague1.tif -o copenhague1.jp2 -p RPCL -c [64,64] -t 640,480 -jpip -v R + % ./image_to_j2k -i copenhague1.tif -o copenhague1.jp2 -p RPCL -c [64,64] -t 640,480 -jpip -TP R options -jpip : embed index table box into the output JP2 file (obligation for JPIP) - -v R : partition a tile into tile parts of different resolution levels (obligation for JPT-stream) + -TP R : partition a tile into tile parts of different resolution levels (obligation for JPT-stream)