#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
/* 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
/* ----------------------------------------------------- */\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
/* ----------------------------------------------------- */\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
\r
case 'r': /* define compression rates for each layer */\r
{\r
- char *s = optarg;\r
+ char *s = opj_optarg;\r
while (sscanf(s, "%f", ¶meters->tcp_rates[parameters->tcp_numlayers]) == 1) {\r
parameters->tcp_numlayers++;\r
while (*s && *s != ',') {\r
\r
case 'q': /* define distorsion (PSNR) for each layer */\r
{\r
- char *s = optarg;\r
+ char *s = opj_optarg;\r
while (sscanf(s, "%f", ¶meters->tcp_distoratio[parameters->tcp_numlayers]) == 1) {\r
parameters->tcp_numlayers++;\r
while (*s && *s != ',') {\r
/*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
\r
case 't': /* tiles */\r
{\r
- if (sscanf(optarg, "%d,%d,%d", ¶meters->cp_tdx, ¶meters->cp_tdy, ¶meters->cp_tdz) !=3) {\r
+ if (sscanf(opj_optarg, "%d,%d,%d", ¶meters->cp_tdx, ¶meters->cp_tdy, ¶meters->cp_tdz) !=3) {\r
fprintf(stdout, "[ERROR] '-t' 'dimensions of tiles' argument error ! [-t tdx,tdy,tdz]\n");\r
return 1;\r
}\r
case 'n': /* resolution */\r
{\r
int aux;\r
- aux = sscanf(optarg, "%d,%d,%d", ¶meters->numresolution[0], ¶meters->numresolution[1], ¶meters->numresolution[2]);\r
+ aux = sscanf(opj_optarg, "%d,%d,%d", ¶meters->numresolution[0], ¶meters->numresolution[1], ¶meters->numresolution[2]);\r
if (aux == 2) \r
parameters->numresolution[2] = 1;\r
else if (aux == 1) {\r
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", ¶meters->prct_init[0][res_spec], ¶meters->prct_init[1][res_spec], ¶meters->prct_init[2][res_spec], &sep);\r
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
\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
{\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
\r
case 's': /* subsampling factor */\r
{\r
- if (sscanf(optarg, "%d,%d,%d", ¶meters->subsampling_dx, ¶meters->subsampling_dy, ¶meters->subsampling_dz) != 2) {\r
+ if (sscanf(opj_optarg, "%d,%d,%d", ¶meters->subsampling_dx, ¶meters->subsampling_dy, ¶meters->subsampling_dz) != 3) {\r
fprintf(stdout, "[ERROR] '-s' sub-sampling argument error ! [-s dx,dy,dz]\n");\r
return 1;\r
}\r
\r
case 'd': /* coordonnate of the reference grid */\r
{\r
- if (sscanf(optarg, "%d,%d,%d", ¶meters->volume_offset_x0, ¶meters->volume_offset_y0, ¶meters->volume_offset_z0) != 3) {\r
+ if (sscanf(opj_optarg, "%d,%d,%d", ¶meters->volume_offset_x0, ¶meters->volume_offset_y0, ¶meters->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
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
{\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
\r
case 'D': /* DCO */\r
{\r
- if (sscanf(optarg, "%d", ¶meters->dcoffset) != 1) {\r
+ if (sscanf(opj_optarg, "%d", ¶meters->dcoffset) != 1) {\r
fprintf(stdout, "[ERROR] DC offset error !! [-D %d]\n",parameters->dcoffset);\r
return 1;\r
}\r
\r
case 'R': /* ROI */\r
{\r
- if (sscanf(optarg, "OI:c=%d,U=%d", ¶meters->roi_compno, ¶meters->roi_shift) != 2) {\r
+ if (sscanf(opj_optarg, "OI:c=%d,U=%d", ¶meters->roi_compno, ¶meters->roi_shift) != 2) {\r
fprintf(stdout, "[ERROR] ROI error !! [-ROI:c='compno',U='shift']\n");\r
return 1;\r
}\r
\r
case 'l': /* Tile offset */\r
{\r
- if (sscanf(optarg, "%d,%d,%d", ¶meters->cp_tx0, ¶meters->cp_ty0, ¶meters->cp_tz0) != 3) {\r
+ if (sscanf(opj_optarg, "%d,%d,%d", ¶meters->cp_tx0, ¶meters->cp_ty0, ¶meters->cp_tz0) != 3) {\r
fprintf(stdout, "[ERROR] -l 'tile offset' argument error !! [-l X0,Y0,Z0]");\r
return 1;\r
}\r
{\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
{\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
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