- fprintf(stdout,"\n");
-
- fprintf(stdout,"Note:\n");
- fprintf(stdout,"-----\n");
- fprintf(stdout,"\n");
- fprintf(stdout,"The markers written to the main_header are : SOC SIZ COD QCD COM.\n");
- fprintf(stdout,"COD and QCD never appear in the tile_header.\n");
- fprintf(stdout,"\n");
-
- fprintf(stdout,"Parameters:\n");
- fprintf(stdout,"-----------\n");
- fprintf(stdout,"\n");
- fprintf(stdout,"Required Parameters (except with -h):\n");
- fprintf(stdout,"One of the two options -ImgDir or -i must be used\n");
- fprintf(stdout,"\n");
- fprintf(stdout,"-i <file>\n");
- fprintf(stdout," Input file\n");
- fprintf(stdout," Known extensions are <PBM|PGM|PPM|PNM|PAM|PGX|PNG|BMP|TIF|RAW|RAWL|TGA>\n");
- fprintf(stdout," If used, '-o <file>' must be provided\n");
- fprintf(stdout,"-o <compressed file>\n");
- fprintf(stdout," Output file (accepted extensions are j2k or jp2).\n");
- fprintf(stdout,"-ImgDir <dir>\n");
- fprintf(stdout," Image file Directory path (example ../Images) \n");
- fprintf(stdout," When using this option -OutFor must be used\n");
- fprintf(stdout,"-OutFor <J2K|J2C|JP2>\n");
- fprintf(stdout," Output format for compressed files.\n");
- fprintf(stdout," Required only if -ImgDir is used\n");
- fprintf(stdout,"-F <width>,<height>,<ncomp>,<bitdepth>,{s,u}@<dx1>x<dy1>:...:<dxn>x<dyn>\n");
- fprintf(stdout," Characteristics of the raw input image\n");
- fprintf(stdout," If subsampling is omitted, 1x1 is assumed for all components\n");
- fprintf(stdout," Example: -F 512,512,3,8,u@1x1:2x2:2x2\n");
- fprintf(stdout," for raw 512x512 image with 4:2:0 subsampling\n");
- fprintf(stdout," Required only if RAW or RAWL input file is provided.\n");
- fprintf(stdout,"\n");
- fprintf(stdout,"Optional Parameters:\n");
- fprintf(stdout,"\n");
- fprintf(stdout,"-h\n");
- fprintf(stdout," Display the help information.\n");
- fprintf(stdout,"-r <compression ratio>,<compression ratio>,...\n");
- fprintf(stdout," Different compression ratios for successive layers.\n");
- fprintf(stdout," The rate specified for each quality level is the desired\n");
- fprintf(stdout," compression factor.\n");
- fprintf(stdout," Decreasing ratios required.\n");
- fprintf(stdout," Example: -r 20,10,1 means \n");
- fprintf(stdout," quality layer 1: compress 20x, \n");
- fprintf(stdout," quality layer 2: compress 10x \n");
- fprintf(stdout," quality layer 3: compress lossless\n");
- fprintf(stdout," Options -r and -q cannot be used together.\n");
- fprintf(stdout,"-q <psnr value>,<psnr value>,<psnr value>,...\n");
- fprintf(stdout," Different psnr for successive layers (-q 30,40,50).\n");
- fprintf(stdout," Increasing PSNR values required.\n");
- fprintf(stdout," Options -r and -q cannot be used together.\n");
- fprintf(stdout,"-n <number of resolutions>\n");
- fprintf(stdout," Number of resolutions.\n");
- fprintf(stdout," It corresponds to the number of DWT decompositions +1. \n");
- fprintf(stdout," Default: 6.\n");
- fprintf(stdout,"-b <cblk width>,<cblk height>\n");
- fprintf(stdout," Code-block size. The dimension must respect the constraint \n");
- fprintf(stdout," defined in the JPEG-2000 standard (no dimension smaller than 4 \n");
- fprintf(stdout," or greater than 1024, no code-block with more than 4096 coefficients).\n");
- fprintf(stdout," The maximum value authorized is 64x64. \n");
- fprintf(stdout," Default: 64x64.\n");
- fprintf(stdout,"-c [<prec width>,<prec height>],[<prec width>,<prec height>],...\n");
- fprintf(stdout," Precinct size. Values specified must be power of 2. \n");
- fprintf(stdout," Multiple records may be supplied, in which case the first record refers\n");
- fprintf(stdout," to the highest resolution level and subsequent records to lower \n");
- fprintf(stdout," resolution levels. The last specified record is right-shifted for each \n");
- fprintf(stdout," remaining lower resolution levels.\n");
- fprintf(stdout," Default: 215x215 at each resolution.\n");
- fprintf(stdout,"-t <tile width>,<tile height>\n");
- fprintf(stdout," Tile size.\n");
- fprintf(stdout," Default: the dimension of the whole image, thus only one tile.\n");
- fprintf(stdout,"-p <LRCP|RLCP|RPCL|PCRL|CPRL>\n");
- fprintf(stdout," Progression order.\n");
- fprintf(stdout," Default: LRCP.\n");
- fprintf(stdout,"-s <subX,subY>\n");
- fprintf(stdout," Subsampling factor.\n");
- fprintf(stdout," Subsampling bigger than 2 can produce error\n");
- fprintf(stdout," Default: no subsampling.\n");
- fprintf(stdout,"-POC <progression order change>/<progression order change>/...\n");
- fprintf(stdout," Progression order change.\n");
- fprintf(stdout," The syntax of a progression order change is the following:\n");
- fprintf(stdout," T<tile>=<resStart>,<compStart>,<layerEnd>,<resEnd>,<compEnd>,<progOrder>\n");
- fprintf(stdout," Example: -POC T1=0,0,1,5,3,CPRL/T1=5,0,1,6,3,CPRL\n");
- fprintf(stdout,"-SOP\n");
- fprintf(stdout," Write SOP marker before each packet.\n");
- fprintf(stdout,"-EPH\n");
- fprintf(stdout," Write EPH marker after each header packet.\n");
- fprintf(stdout,"-M <key value>\n");
- fprintf(stdout," Mode switch.\n");
- fprintf(stdout," [1=BYPASS(LAZY) 2=RESET 4=RESTART(TERMALL)\n");
- fprintf(stdout," 8=VSC 16=ERTERM(SEGTERM) 32=SEGMARK(SEGSYM)]\n");
- fprintf(stdout," Indicate multiple modes by adding their values.\n");
- fprintf(stdout," Example: RESTART(4) + RESET(2) + SEGMARK(32) => -M 38\n");
- fprintf(stdout,"-TP <R|L|C>\n");
- fprintf(stdout," Divide packets of every tile into tile-parts.\n");
- fprintf(stdout," Division is made by grouping Resolutions (R), Layers (L)\n");
- fprintf(stdout," or Components (C).\n");
- #ifdef FIXME_INDEX
- fprintf(stdout,"-x <index file>\n");
- fprintf(stdout," Create an index file.\n");
- #endif /*FIXME_INDEX*/
- fprintf(stdout,"-ROI c=<component index>,U=<upshifting value>\n");
- fprintf(stdout," Quantization indices upshifted for a component. \n");
- fprintf(stdout," Warning: This option does not implement the usual ROI (Region of Interest).\n");
- fprintf(stdout," It should be understood as a 'Component of Interest'. It offers the \n");
- fprintf(stdout," possibility to upshift the value of a component during quantization step.\n");
- fprintf(stdout," The value after c= is the component number [0, 1, 2, ...] and the value \n");
- fprintf(stdout," after U= is the value of upshifting. U must be in the range [0, 37].\n");
- fprintf(stdout,"-d <image offset X,image offset Y>\n");
- fprintf(stdout," Offset of the origin of the image.\n");
- fprintf(stdout,"-T <tile offset X,tile offset Y>\n");
- fprintf(stdout," Offset of the origin of the tiles.\n");
- fprintf(stdout,"-I\n");
- fprintf(stdout," Use the irreversible DWT 9-7.\n");
- fprintf(stdout,"-mct <0|1|2>\n");
- fprintf(stdout," Explicitely specifies if a Multiple Component Transform has to be used.\n");
- fprintf(stdout," 0: no MCT ; 1: RGB->YCC conversion ; 2: custom MCT.\n");
- fprintf(stdout," If custom MCT, \"-m\" option has to be used (see hereunder).\n");
- fprintf(stdout," By default, RGB->YCC conversion is used if there are 3 components or more,\n");
- fprintf(stdout," no conversion otherwise.\n");
- fprintf(stdout,"-m <file>\n");
- fprintf(stdout," Use array-based MCT, values are coma separated, line by line\n");
- fprintf(stdout," No specific separators between lines, no space allowed between values.\n");
- fprintf(stdout," If this option is used, it automatically sets \"-mct\" option to 2.\n");
- fprintf(stdout,"-cinema2K <24|48>\n");
- fprintf(stdout," Digital Cinema 2K profile compliant codestream.\n");
- fprintf(stdout," Need to specify the frames per second for a 2K resolution.\n");
- fprintf(stdout," Only 24 or 48 fps are currently allowed.\n");
- fprintf(stdout,"-cinema4K\n");
- fprintf(stdout," Digital Cinema 4K profile compliant codestream.\n");
- fprintf(stdout," Frames per second not required. Default value is 24fps.\n");
- fprintf(stdout,"-jpip\n");
- fprintf(stdout," Write jpip codestream index box in JP2 output file.\n");
- fprintf(stdout," Currently supports only RPCL order.\n");
- fprintf(stdout,"-C <comment>\n");
- fprintf(stdout," Add <comment> in the comment marker segment.\n");
+ fprintf(stdout, "\n");
+
+ fprintf(stdout, "Note:\n");
+ fprintf(stdout, "-----\n");
+ fprintf(stdout, "\n");
+ fprintf(stdout,
+ "The markers written to the main_header are : SOC SIZ COD QCD COM.\n");
+ fprintf(stdout, "COD and QCD never appear in the tile_header.\n");
+ fprintf(stdout, "\n");
+
+ fprintf(stdout, "Parameters:\n");
+ fprintf(stdout, "-----------\n");
+ fprintf(stdout, "\n");
+ fprintf(stdout, "Required Parameters (except with -h):\n");
+ fprintf(stdout, "One of the two options -ImgDir or -i must be used\n");
+ fprintf(stdout, "\n");
+ fprintf(stdout, "-i <file>\n");
+ fprintf(stdout, " Input file\n");
+ fprintf(stdout,
+ " Known extensions are <PBM|PGM|PPM|PNM|PAM|PGX|PNG|BMP|TIF|RAW|RAWL|TGA>\n");
+ fprintf(stdout, " If used, '-o <file>' must be provided\n");
+ fprintf(stdout, "-o <compressed file>\n");
+ fprintf(stdout, " Output file (accepted extensions are j2k or jp2).\n");
+ fprintf(stdout, "-ImgDir <dir>\n");
+ fprintf(stdout, " Image file Directory path (example ../Images) \n");
+ fprintf(stdout, " When using this option -OutFor must be used\n");
+ fprintf(stdout, "-OutFor <J2K|J2C|JP2>\n");
+ fprintf(stdout, " Output format for compressed files.\n");
+ fprintf(stdout, " Required only if -ImgDir is used\n");
+ fprintf(stdout,
+ "-F <width>,<height>,<ncomp>,<bitdepth>,{s,u}@<dx1>x<dy1>:...:<dxn>x<dyn>\n");
+ fprintf(stdout, " Characteristics of the raw input image\n");
+ fprintf(stdout,
+ " If subsampling is omitted, 1x1 is assumed for all components\n");
+ fprintf(stdout, " Example: -F 512,512,3,8,u@1x1:2x2:2x2\n");
+ fprintf(stdout,
+ " for raw 512x512 image with 4:2:0 subsampling\n");
+ fprintf(stdout, " Required only if RAW or RAWL input file is provided.\n");
+ fprintf(stdout, "\n");
+ fprintf(stdout, "Optional Parameters:\n");
+ fprintf(stdout, "\n");
+ fprintf(stdout, "-h\n");
+ fprintf(stdout, " Display the help information.\n");
+ fprintf(stdout, "-r <compression ratio>,<compression ratio>,...\n");
+ fprintf(stdout, " Different compression ratios for successive layers.\n");
+ fprintf(stdout,
+ " The rate specified for each quality level is the desired\n");
+ fprintf(stdout, " compression factor.\n");
+ fprintf(stdout, " Decreasing ratios required.\n");
+ fprintf(stdout, " Example: -r 20,10,1 means \n");
+ fprintf(stdout, " quality layer 1: compress 20x, \n");
+ fprintf(stdout, " quality layer 2: compress 10x \n");
+ fprintf(stdout, " quality layer 3: compress lossless\n");
+ fprintf(stdout, " Options -r and -q cannot be used together.\n");
+ fprintf(stdout, "-q <psnr value>,<psnr value>,<psnr value>,...\n");
+ fprintf(stdout, " Different psnr for successive layers (-q 30,40,50).\n");
+ fprintf(stdout, " Increasing PSNR values required.\n");
+ fprintf(stdout, " Options -r and -q cannot be used together.\n");
+ fprintf(stdout, "-n <number of resolutions>\n");
+ fprintf(stdout, " Number of resolutions.\n");
+ fprintf(stdout,
+ " It corresponds to the number of DWT decompositions +1. \n");
+ fprintf(stdout, " Default: 6.\n");
+ fprintf(stdout, "-b <cblk width>,<cblk height>\n");
+ fprintf(stdout,
+ " Code-block size. The dimension must respect the constraint \n");
+ fprintf(stdout,
+ " defined in the JPEG-2000 standard (no dimension smaller than 4 \n");
+ fprintf(stdout,
+ " or greater than 1024, no code-block with more than 4096 coefficients).\n");
+ fprintf(stdout, " The maximum value authorized is 64x64. \n");
+ fprintf(stdout, " Default: 64x64.\n");
+ fprintf(stdout,
+ "-c [<prec width>,<prec height>],[<prec width>,<prec height>],...\n");
+ fprintf(stdout, " Precinct size. Values specified must be power of 2. \n");
+ fprintf(stdout,
+ " Multiple records may be supplied, in which case the first record refers\n");
+ fprintf(stdout,
+ " to the highest resolution level and subsequent records to lower \n");
+ fprintf(stdout,
+ " resolution levels. The last specified record is right-shifted for each \n");
+ fprintf(stdout, " remaining lower resolution levels.\n");
+ fprintf(stdout, " Default: 215x215 at each resolution.\n");
+ fprintf(stdout, "-t <tile width>,<tile height>\n");
+ fprintf(stdout, " Tile size.\n");
+ fprintf(stdout,
+ " Default: the dimension of the whole image, thus only one tile.\n");
+ fprintf(stdout, "-p <LRCP|RLCP|RPCL|PCRL|CPRL>\n");
+ fprintf(stdout, " Progression order.\n");
+ fprintf(stdout, " Default: LRCP.\n");
+ fprintf(stdout, "-s <subX,subY>\n");
+ fprintf(stdout, " Subsampling factor.\n");
+ fprintf(stdout, " Subsampling bigger than 2 can produce error\n");
+ fprintf(stdout, " Default: no subsampling.\n");
+ fprintf(stdout,
+ "-POC <progression order change>/<progression order change>/...\n");
+ fprintf(stdout, " Progression order change.\n");
+ fprintf(stdout,
+ " The syntax of a progression order change is the following:\n");
+ fprintf(stdout,
+ " T<tile>=<resStart>,<compStart>,<layerEnd>,<resEnd>,<compEnd>,<progOrder>\n");
+ fprintf(stdout, " Example: -POC T1=0,0,1,5,3,CPRL/T1=5,0,1,6,3,CPRL\n");
+ fprintf(stdout, "-SOP\n");
+ fprintf(stdout, " Write SOP marker before each packet.\n");
+ fprintf(stdout, "-EPH\n");
+ fprintf(stdout, " Write EPH marker after each header packet.\n");
+ fprintf(stdout, "-M <key value>\n");
+ fprintf(stdout, " Mode switch.\n");
+ fprintf(stdout, " [1=BYPASS(LAZY) 2=RESET 4=RESTART(TERMALL)\n");
+ fprintf(stdout, " 8=VSC 16=ERTERM(SEGTERM) 32=SEGMARK(SEGSYM)]\n");
+ fprintf(stdout, " Indicate multiple modes by adding their values.\n");
+ fprintf(stdout,
+ " Example: RESTART(4) + RESET(2) + SEGMARK(32) => -M 38\n");
+ fprintf(stdout, "-TP <R|L|C>\n");
+ fprintf(stdout, " Divide packets of every tile into tile-parts.\n");
+ fprintf(stdout,
+ " Division is made by grouping Resolutions (R), Layers (L)\n");
+ fprintf(stdout, " or Components (C).\n");
+#ifdef FIXME_INDEX
+ fprintf(stdout, "-x <index file>\n");
+ fprintf(stdout, " Create an index file.\n");
+#endif /*FIXME_INDEX*/
+ fprintf(stdout, "-ROI c=<component index>,U=<upshifting value>\n");
+ fprintf(stdout, " Quantization indices upshifted for a component. \n");
+ fprintf(stdout,
+ " Warning: This option does not implement the usual ROI (Region of Interest).\n");
+ fprintf(stdout,
+ " It should be understood as a 'Component of Interest'. It offers the \n");
+ fprintf(stdout,
+ " possibility to upshift the value of a component during quantization step.\n");
+ fprintf(stdout,
+ " The value after c= is the component number [0, 1, 2, ...] and the value \n");
+ fprintf(stdout,
+ " after U= is the value of upshifting. U must be in the range [0, 37].\n");
+ fprintf(stdout, "-d <image offset X,image offset Y>\n");
+ fprintf(stdout, " Offset of the origin of the image.\n");
+ fprintf(stdout, "-T <tile offset X,tile offset Y>\n");
+ fprintf(stdout, " Offset of the origin of the tiles.\n");
+ fprintf(stdout, "-I\n");
+ fprintf(stdout, " Use the irreversible DWT 9-7.\n");
+ fprintf(stdout, "-mct <0|1|2>\n");
+ fprintf(stdout,
+ " Explicitly specifies if a Multiple Component Transform has to be used.\n");
+ fprintf(stdout, " 0: no MCT ; 1: RGB->YCC conversion ; 2: custom MCT.\n");
+ fprintf(stdout,
+ " If custom MCT, \"-m\" option has to be used (see hereunder).\n");
+ fprintf(stdout,
+ " By default, RGB->YCC conversion is used if there are 3 components or more,\n");
+ fprintf(stdout, " no conversion otherwise.\n");
+ fprintf(stdout, "-m <file>\n");
+ fprintf(stdout,
+ " Use array-based MCT, values are coma separated, line by line\n");
+ fprintf(stdout,
+ " No specific separators between lines, no space allowed between values.\n");
+ fprintf(stdout,
+ " If this option is used, it automatically sets \"-mct\" option to 2.\n");
+ fprintf(stdout, "-cinema2K <24|48>\n");
+ fprintf(stdout, " Digital Cinema 2K profile compliant codestream.\n");
+ fprintf(stdout,
+ " Need to specify the frames per second for a 2K resolution.\n");
+ fprintf(stdout, " Only 24 or 48 fps are currently allowed.\n");
+ fprintf(stdout, "-cinema4K\n");
+ fprintf(stdout, " Digital Cinema 4K profile compliant codestream.\n");
+ fprintf(stdout, " Frames per second not required. Default value is 24fps.\n");
+ fprintf(stdout, "-jpip\n");
+ fprintf(stdout, " Write jpip codestream index box in JP2 output file.\n");
+ fprintf(stdout, " Currently supports only RPCL order.\n");
+ fprintf(stdout, "-C <comment>\n");
+ fprintf(stdout, " Add <comment> in the comment marker segment.\n");