[trunk] fixed bug related to r2791
[openjpeg.git] / src / bin / jp3d / opj_jp3d_compress.c
index 30996d2dfd0a1d1d7517c6a8a5f0b9de794e34b3..b774e1496bb0585ba430e817d5e57f516f550d7a 100755 (executable)
@@ -32,8 +32,9 @@
 #include <string.h>\r
 #include <stdlib.h>\r
 \r
+#include "opj_config.h"\r
 #include "openjp3d.h"\r
-#include "getopt.h"\r
+#include "opj_getopt.h"\r
 #include "convert.h"\r
 \r
 #ifdef _WIN32\r
@@ -238,13 +239,13 @@ int parse_cmdline_encoder(int argc, char **argv, opj_cparameters_t *parameters)
        /* parse the command line */\r
 \r
        while (1) {\r
-               int c = getopt(argc, argv, "i:m:o:r:q:f:t:n:c:b:x:p:s:d:hP:S:E:M:D:R:l:T:C:A:I");\r
+               int c = opj_getopt(argc, argv, "i:m:o:r:q:f:t:n:c:b:x:p:s:d:hP:S:E:M:D:R:l:T:C:A:I");\r
                if (c == -1)\r
                        break;\r
                switch (c) {\r
                        case 'i':                       /* input file */\r
                        {\r
-                               char *infile = optarg;\r
+                               char *infile = opj_optarg;\r
                                parameters->decod_format = get_file_format(infile);\r
                                switch(parameters->decod_format) {\r
                                        case PGX_DFMT:\r
@@ -265,7 +266,7 @@ int parse_cmdline_encoder(int argc, char **argv, opj_cparameters_t *parameters)
                                /* ----------------------------------------------------- */\r
                        case 'm':                       /* input IMG file */\r
                        {\r
-                               char *imgfile = optarg;\r
+                               char *imgfile = opj_optarg;\r
                                int imgformat = get_file_format(imgfile);\r
                                switch(imgformat) {\r
                                        case IMG_DFMT:\r
@@ -283,7 +284,7 @@ int parse_cmdline_encoder(int argc, char **argv, opj_cparameters_t *parameters)
                                /* ----------------------------------------------------- */\r
                        case 'o':                       /* output file */\r
                        {\r
-                               char *outfile = optarg;\r
+                               char *outfile = opj_optarg;\r
                                parameters->cod_format = get_file_format(outfile);\r
                                switch(parameters->cod_format) {\r
                                        case J3D_CFMT:\r
@@ -304,7 +305,7 @@ int parse_cmdline_encoder(int argc, char **argv, opj_cparameters_t *parameters)
                        \r
                        case 'r':                       /* define compression rates for each layer */\r
                        {\r
-                               char *s = optarg;\r
+                               char *s = opj_optarg;\r
                                while (sscanf(s, "%f", &parameters->tcp_rates[parameters->tcp_numlayers]) == 1) {\r
                                        parameters->tcp_numlayers++;\r
                                        while (*s && *s != ',') {\r
@@ -322,7 +323,7 @@ int parse_cmdline_encoder(int argc, char **argv, opj_cparameters_t *parameters)
                        \r
                        case 'q':                       /* define distorsion (PSNR) for each layer */\r
                        {\r
-                               char *s = optarg;\r
+                               char *s = opj_optarg;\r
                                while (sscanf(s, "%f", &parameters->tcp_distoratio[parameters->tcp_numlayers]) == 1) {\r
                                        parameters->tcp_numlayers++;\r
                                        while (*s && *s != ',') {\r
@@ -346,7 +347,7 @@ int parse_cmdline_encoder(int argc, char **argv, opj_cparameters_t *parameters)
                                /*int *row = NULL, *col = NULL;\r
                                int numlayers = 0, matrix_width = 0;\r
 \r
-                               char *s = optarg;\r
+                               char *s = opj_optarg;\r
                                sscanf(s, "%d", &numlayers);\r
                                s++;\r
                                if (numlayers > 9)\r
@@ -389,7 +390,7 @@ int parse_cmdline_encoder(int argc, char **argv, opj_cparameters_t *parameters)
 \r
                        case 't':                       /* tiles */\r
                        {\r
-                               if (sscanf(optarg, "%d,%d,%d", &parameters->cp_tdx, &parameters->cp_tdy, &parameters->cp_tdz) !=3) {\r
+                               if (sscanf(opj_optarg, "%d,%d,%d", &parameters->cp_tdx, &parameters->cp_tdy, &parameters->cp_tdz) !=3) {\r
                                        fprintf(stdout, "[ERROR] '-t' 'dimensions of tiles' argument error !  [-t tdx,tdy,tdz]\n");\r
                                        return 1;\r
                                }\r
@@ -402,7 +403,7 @@ int parse_cmdline_encoder(int argc, char **argv, opj_cparameters_t *parameters)
                        case 'n':                       /* resolution */\r
                        {\r
                                int aux;\r
-                               aux = sscanf(optarg, "%d,%d,%d", &parameters->numresolution[0], &parameters->numresolution[1], &parameters->numresolution[2]);\r
+                               aux = sscanf(opj_optarg, "%d,%d,%d", &parameters->numresolution[0], &parameters->numresolution[1], &parameters->numresolution[2]);\r
                                if (aux == 2) \r
                                        parameters->numresolution[2] = 1;\r
                                else if (aux == 1) {\r
@@ -422,7 +423,7 @@ int parse_cmdline_encoder(int argc, char **argv, opj_cparameters_t *parameters)
                                char sep;\r
                                int res_spec = 0;\r
                                int aux;\r
-                               char *s = optarg;\r
+                               char *s = opj_optarg;\r
                                do {\r
                                        sep = 0;\r
                                        aux = sscanf(s, "[%d,%d,%d]%c", &parameters->prct_init[0][res_spec], &parameters->prct_init[1][res_spec], &parameters->prct_init[2][res_spec], &sep);\r
@@ -444,7 +445,7 @@ int parse_cmdline_encoder(int argc, char **argv, opj_cparameters_t *parameters)
                        case 'b':                       /* code-block dimension */\r
                        {\r
                                int cblockw_init = 0, cblockh_init = 0, cblockl_init = 0;\r
-                               if (sscanf(optarg, "%d,%d,%d", &cblockw_init, &cblockh_init, &cblockl_init) != 3) {\r
+                               if (sscanf(opj_optarg, "%d,%d,%d", &cblockw_init, &cblockh_init, &cblockl_init) != 3) {\r
                                        fprintf(stdout, "[ERROR] '-b' 'dimensions of codeblocks' argument error !  [-b cblkx,cblky,cblkz]\n");\r
                                        return 1;\r
                                }\r
@@ -462,7 +463,7 @@ int parse_cmdline_encoder(int argc, char **argv, opj_cparameters_t *parameters)
                        \r
                        case 'x':                       /* creation of index file */\r
                        {\r
-                               char *index = optarg;\r
+                               char *index = opj_optarg;\r
                                strncpy(parameters->index, index, MAX_PATH);\r
                                parameters->index_on = 1;\r
                        }\r
@@ -474,7 +475,7 @@ int parse_cmdline_encoder(int argc, char **argv, opj_cparameters_t *parameters)
                        {\r
                                char progression[4];\r
 \r
-                               strncpy(progression, optarg, 4);\r
+                               strncpy(progression, opj_optarg, 4);\r
                                parameters->prog_order = give_progression(progression);\r
                                if (parameters->prog_order == -1) {\r
                                        fprintf(stdout, "[ERROR] Unrecognized progression order [LRCP, RLCP, RPCL, PCRL, CPRL] !!\n");\r
@@ -487,7 +488,7 @@ int parse_cmdline_encoder(int argc, char **argv, opj_cparameters_t *parameters)
                        \r
                        case 's':                       /* subsampling factor */\r
                        {\r
-                               if (sscanf(optarg, "%d,%d,%d", &parameters->subsampling_dx, &parameters->subsampling_dy, &parameters->subsampling_dz) != 2) {\r
+                               if (sscanf(opj_optarg, "%d,%d,%d", &parameters->subsampling_dx, &parameters->subsampling_dy, &parameters->subsampling_dz) != 3) {\r
                                        fprintf(stdout, "[ERROR] '-s' sub-sampling argument error !  [-s dx,dy,dz]\n");\r
                                        return 1;\r
                                }\r
@@ -498,7 +499,7 @@ int parse_cmdline_encoder(int argc, char **argv, opj_cparameters_t *parameters)
                        \r
                        case 'd':                       /* coordonnate of the reference grid */\r
                        {\r
-                               if (sscanf(optarg, "%d,%d,%d", &parameters->volume_offset_x0, &parameters->volume_offset_y0, &parameters->volume_offset_z0) != 3) {\r
+                               if (sscanf(opj_optarg, "%d,%d,%d", &parameters->volume_offset_x0, &parameters->volume_offset_y0, &parameters->volume_offset_z0) != 3) {\r
                                        fprintf(stdout, "[ERROR] -d 'coordonnate of the reference grid' argument error !! [-d x0,y0,z0]\n");\r
                                        return 1;\r
                                }\r
@@ -521,7 +522,7 @@ int parse_cmdline_encoder(int argc, char **argv, opj_cparameters_t *parameters)
                                int numpocs = 0;                /* number of progression order change (POC) default 0 */\r
                                opj_poc_t *POC = NULL;  /* POC : used in case of Progression order change */\r
 \r
-                               char *s = optarg;\r
+                               char *s = opj_optarg;\r
                                POC = parameters->POC;\r
 \r
                                fprintf(stdout, "/----------------------------------\\\n");\r
@@ -569,7 +570,7 @@ int parse_cmdline_encoder(int argc, char **argv, opj_cparameters_t *parameters)
                        {\r
                                fprintf(stdout, "[INFO] Mode switch option not fully tested !!\n");\r
                                value = 0;\r
-                               if (sscanf(optarg, "%d", &value) == 1) {\r
+                               if (sscanf(opj_optarg, "%d", &value) == 1) {\r
                                        for (i = 0; i <= 6; i++) {\r
                                                int cache = value & (1 << i);\r
                                                if (cache)\r
@@ -583,7 +584,7 @@ int parse_cmdline_encoder(int argc, char **argv, opj_cparameters_t *parameters)
                        \r
                        case 'D':                       /* DCO */\r
                        {\r
-                               if (sscanf(optarg, "%d", &parameters->dcoffset) != 1) {\r
+                               if (sscanf(opj_optarg, "%d", &parameters->dcoffset) != 1) {\r
                                        fprintf(stdout, "[ERROR] DC offset error !! [-D %d]\n",parameters->dcoffset);\r
                                        return 1;\r
                                }\r
@@ -594,7 +595,7 @@ int parse_cmdline_encoder(int argc, char **argv, opj_cparameters_t *parameters)
                        \r
                        case 'R':                       /* ROI */\r
                        {\r
-                               if (sscanf(optarg, "OI:c=%d,U=%d", &parameters->roi_compno, &parameters->roi_shift) != 2) {\r
+                               if (sscanf(opj_optarg, "OI:c=%d,U=%d", &parameters->roi_compno, &parameters->roi_shift) != 2) {\r
                                        fprintf(stdout, "[ERROR] ROI error !! [-ROI:c='compno',U='shift']\n");\r
                                        return 1;\r
                                }\r
@@ -605,7 +606,7 @@ int parse_cmdline_encoder(int argc, char **argv, opj_cparameters_t *parameters)
                        \r
                        case 'l':                       /* Tile offset */\r
                        {\r
-                               if (sscanf(optarg, "%d,%d,%d", &parameters->cp_tx0, &parameters->cp_ty0, &parameters->cp_tz0) != 3) {\r
+                               if (sscanf(opj_optarg, "%d,%d,%d", &parameters->cp_tx0, &parameters->cp_ty0, &parameters->cp_tz0) != 3) {\r
                                        fprintf(stdout, "[ERROR] -l 'tile offset' argument error !! [-l X0,Y0,Z0]");\r
                                        return 1;\r
                                }\r
@@ -618,7 +619,7 @@ int parse_cmdline_encoder(int argc, char **argv, opj_cparameters_t *parameters)
                        {\r
                                char transform[4];\r
 \r
-                               strncpy(transform, optarg, 4);\r
+                               strncpy(transform, opj_optarg, 4);\r
                                parameters->transform_format = give_transform(transform);\r
                                if (parameters->transform_format == -1) {\r
                                        fprintf(stdout, "[ERROR] -T 'Transform domain' argument error !! [-T 2DWT, 3DWT, 3RLS or 3LSE only]");\r
@@ -633,7 +634,7 @@ int parse_cmdline_encoder(int argc, char **argv, opj_cparameters_t *parameters)
                        {\r
                                char coding[3];\r
 \r
-                               strncpy(coding, optarg, 3);\r
+                               strncpy(coding, opj_optarg, 3);\r
                                parameters->encoding_format = give_coding(coding);\r
                                if (parameters->encoding_format == -1) {\r
                                        fprintf(stdout, "[ERROR] -C 'Coding algorithm' argument error !! [-C 2EB, 3EB, 2GR, 3GR or GRI only]");\r
@@ -651,7 +652,7 @@ int parse_cmdline_encoder(int argc, char **argv, opj_cparameters_t *parameters)
                        break;\r
                                \r
                        default:\r
-                               fprintf(stdout, "[ERROR] This option is not valid \"-%c %s\"\n", c, optarg);\r
+                               fprintf(stdout, "[ERROR] This option is not valid \"-%c %s\"\n", c, opj_optarg);\r
                                return 1;\r
                }\r
        }\r