diff options
| author | Antonin Descampe <antonin@gmail.com> | 2011-09-01 12:08:10 +0000 |
|---|---|---|
| committer | Antonin Descampe <antonin@gmail.com> | 2011-09-01 12:08:10 +0000 |
| commit | 9a89e2f162804ab5d39dac0d1e0469816a2cfb45 (patch) | |
| tree | 9457a2c0baafc4b9f4bd00ce933e660cce32bed8 /applications/codec | |
| parent | e89eb575ac3f6d5076aff5e7d1bf1a442386ebce (diff) | |
backport r898 to r907 in openjpeg-1.5 branch
Diffstat (limited to 'applications/codec')
| -rw-r--r-- | applications/codec/CMakeLists.txt | 9 | ||||
| -rw-r--r-- | applications/codec/Makefile.am | 12 | ||||
| -rw-r--r-- | applications/codec/convert.c | 114 | ||||
| -rw-r--r-- | applications/codec/image_to_j2k.c | 60 | ||||
| -rw-r--r-- | applications/codec/j2k_dump.c | 16 | ||||
| -rw-r--r-- | applications/codec/j2k_to_image.c | 26 | ||||
| -rw-r--r-- | applications/codec/windirent.h | 2 |
7 files changed, 144 insertions, 95 deletions
diff --git a/applications/codec/CMakeLists.txt b/applications/codec/CMakeLists.txt index 8c1d3c25..77759f7b 100644 --- a/applications/codec/CMakeLists.txt +++ b/applications/codec/CMakeLists.txt @@ -5,15 +5,8 @@ SET(common_SRCS convert.c index.c ${OPENJPEG_SOURCE_DIR}/applications/common/color.c -) - -# If not getopt was found then add it to the lib: -IF(DONT_HAVE_GETOPT) - SET(common_SRCS - ${common_SRCS} - ${OPENJPEG_SOURCE_DIR}/applications/common/getopt.c + ${OPENJPEG_SOURCE_DIR}/applications/common/opj_getopt.c ) -ENDIF(DONT_HAVE_GETOPT) # Headers file are located here: INCLUDE_DIRECTORIES( diff --git a/applications/codec/Makefile.am b/applications/codec/Makefile.am index 10542b04..17be3b88 100644 --- a/applications/codec/Makefile.am +++ b/applications/codec/Makefile.am @@ -22,7 +22,7 @@ j2k_to_image_CFLAGS = j2k_to_image_LDADD = $(top_builddir)/libopenjpeg/libopenjpeg.la @LCMS1_LIBS@ @LCMS2_LIBS@ @TIFF_LIBS@ @PNG_LIBS@ -lm j2k_to_image_SOURCES = \ ../common/color.c \ -../common/getopt.c \ +../common/opj_getopt.c \ convert.c \ index.c \ j2k_to_image.c \ @@ -41,7 +41,7 @@ image_to_j2k_CPPFLAGS = \ image_to_j2k_CFLAGS = image_to_j2k_LDADD = $(top_builddir)/libopenjpeg/libopenjpeg.la @TIFF_LIBS@ @PNG_LIBS@ -lm image_to_j2k_SOURCES = \ -../common/getopt.c \ +../common/opj_getopt.c \ convert.c \ index.c \ image_to_j2k.c \ @@ -60,10 +60,10 @@ j2k_dump_CPPFLAGS = \ j2k_dump_CFLAGS = j2k_dump_LDADD = $(top_builddir)/libopenjpeg/libopenjpeg.la -lm j2k_dump_SOURCES = \ -../common/getopt.c \ +../common/opj_getopt.c \ index.c \ j2k_dump.c \ -../common/getopt.h \ +../common/opj_getopt.h \ index.h JPWL_j2k_to_image_CPPFLAGS = \ @@ -81,7 +81,7 @@ JPWL_j2k_to_image_CFLAGS = JPWL_j2k_to_image_LDADD = $(top_builddir)/libopenjpeg/jpwl/libopenjpeg_JPWL.la @LCMS1_LIBS@ @LCMS2_LIBS@ @TIFF_LIBS@ @PNG_LIBS@ JPWL_j2k_to_image_SOURCES = \ ../common/color.c \ -../common/getopt.c \ +../common/opj_getopt.c \ index.c \ convert.c \ j2k_to_image.c @@ -99,7 +99,7 @@ JPWL_image_to_j2k_CFLAGS = JPWL_image_to_j2k_LDADD = $(top_builddir)/libopenjpeg/jpwl/libopenjpeg_JPWL.la @TIFF_LIBS@ @PNG_LIBS@ JPWL_image_to_j2k_SOURCES = \ -../common/getopt.c \ +../common/opj_getopt.c \ index.c \ convert.c \ image_to_j2k.c diff --git a/applications/codec/convert.c b/applications/codec/convert.c index c7afc074..fae8b131 100644 --- a/applications/codec/convert.c +++ b/applications/codec/convert.c @@ -67,9 +67,9 @@ static int int_floorlog2(int a) { <<-- <<-- <<-- <<-- */ +#ifdef INFORMATION_ONLY // TGA header definition. -#pragma pack(push,1) // Pack structure byte aligned -typedef struct tga_header +struct tga_header { unsigned char id_length; /* Image id field length */ unsigned char colour_map_type; /* Colour map type */ @@ -89,35 +89,66 @@ typedef struct tga_header unsigned short image_height; /* Image height */ unsigned char pixel_depth; /* Pixel depth */ unsigned char image_desc; /* Image descriptor */ -} tga_header; -#pragma pack(pop) // Return to normal structure packing alignment. +}; +#endif /* INFORMATION_ONLY */ + +static unsigned short get_ushort(unsigned short val) { + +#ifdef ORDER_BIGENDIAN + return( ((val & 0xff) << 8) + (val >> 8) ); +#else + return( val ); +#endif + +} + +#define TGA_HEADER_SIZE 18 int tga_readheader(FILE *fp, unsigned int *bits_per_pixel, unsigned int *width, unsigned int *height, int *flip_image) { int palette_size; - tga_header tga ; + unsigned char *tga ; + unsigned char id_len, cmap_type, image_type; + unsigned char pixel_depth, image_desc; + unsigned short cmap_index, cmap_len, cmap_entry_size; + unsigned short x_origin, y_origin, image_w, image_h; if (!bits_per_pixel || !width || !height || !flip_image) return 0; - - // Read TGA header - if ( fread((unsigned char*)&tga, sizeof(tga_header), 1, fp) != 1 ) + tga = (unsigned char*)malloc(18); + + if ( fread(tga, TGA_HEADER_SIZE, 1, fp) != 1 ) { fprintf(stderr, "\nError: fread return a number of element different from the expected.\n"); return 0 ; } + id_len = (unsigned char)tga[0]; + cmap_type = (unsigned char)tga[1]; + image_type = (unsigned char)tga[2]; + cmap_index = get_ushort(*(unsigned short*)(&tga[3])); + cmap_len = get_ushort(*(unsigned short*)(&tga[5])); + cmap_entry_size = (unsigned char)tga[7]; - *bits_per_pixel = tga.pixel_depth; - - *width = tga.image_width; - *height = tga.image_height ; + + x_origin = get_ushort(*(unsigned short*)(&tga[8])); + y_origin = get_ushort(*(unsigned short*)(&tga[10])); + image_w = get_ushort(*(unsigned short*)(&tga[12])); + image_h = get_ushort(*(unsigned short*)(&tga[14])); + pixel_depth = (unsigned char)tga[16]; + image_desc = (unsigned char)tga[17]; + + free(tga); + + *bits_per_pixel = (unsigned int)pixel_depth; + *width = (unsigned int)image_w; + *height = (unsigned int)image_h; // Ignore tga identifier, if present ... - if (tga.id_length) + if (id_len) { - unsigned char *id = (unsigned char *) malloc(tga.id_length); - if ( !fread(id, tga.id_length, 1, fp) ) + unsigned char *id = (unsigned char *) malloc(id_len); + if ( !fread(id, id_len, 1, fp) ) { fprintf(stderr, "\nError: fread return a number of element different from the expected.\n"); free(id); @@ -129,16 +160,16 @@ int tga_readheader(FILE *fp, unsigned int *bits_per_pixel, // Test for compressed formats ... not yet supported ... // Note :- 9 - RLE encoded palettized. // 10 - RLE encoded RGB. - if (tga.image_type > 8) + if (image_type > 8) { fprintf(stderr, "Sorry, compressed tga files are not currently supported.\n"); return 0 ; } - *flip_image = !(tga.image_desc & 32); + *flip_image = !(image_desc & 32); // Palettized formats are not yet supported, skip over the palette, if present ... - palette_size = tga.colour_map_length * (tga.colour_map_entry_size/8); + palette_size = cmap_len * (cmap_entry_size/8); if (palette_size>0) { @@ -151,31 +182,56 @@ int tga_readheader(FILE *fp, unsigned int *bits_per_pixel, int tga_writeheader(FILE *fp, int bits_per_pixel, int width, int height, opj_bool flip_image) { - tga_header tga; + unsigned short image_w, image_h, us0; + unsigned char uc0, image_type; + unsigned char pixel_depth, image_desc; if (!bits_per_pixel || !width || !height) return 0; - memset(&tga, 0, sizeof(tga_header)); + pixel_depth = 0; if ( bits_per_pixel < 256 ) - tga.pixel_depth = (unsigned char)bits_per_pixel; + pixel_depth = (unsigned char)bits_per_pixel; else{ fprintf(stderr,"ERROR: Wrong bits per pixel inside tga_header"); return 0; } - tga.image_width = (unsigned short)width; - tga.image_height = (unsigned short)height; - tga.image_type = 2; // Uncompressed. - tga.image_desc = 8; // 8 bits per component. + uc0 = 0; - if (flip_image) - tga.image_desc |= 32; + if(fwrite(&uc0, 1, 1, fp) != 1) goto fails; // id_length + if(fwrite(&uc0, 1, 1, fp) != 1) goto fails; // colour_map_type + + image_type = 2; // Uncompressed. + if(fwrite(&image_type, 1, 1, fp) != 1) goto fails; + + us0 = 0; + if(fwrite(&us0, 2, 1, fp) != 1) goto fails; // colour_map_index + if(fwrite(&us0, 2, 1, fp) != 1) goto fails; // colour_map_length + if(fwrite(&uc0, 1, 1, fp) != 1) goto fails; // colour_map_entry_size + + if(fwrite(&us0, 2, 1, fp) != 1) goto fails; // x_origin + if(fwrite(&us0, 2, 1, fp) != 1) goto fails; // y_origin + + image_w = (unsigned short)width; + image_h = (unsigned short) height; + + if(fwrite(&image_w, 2, 1, fp) != 1) goto fails; + if(fwrite(&image_h, 2, 1, fp) != 1) goto fails; - // Write TGA header - fwrite((unsigned char*)&tga, sizeof(tga_header), 1, fp); + if(fwrite(&pixel_depth, 1, 1, fp) != 1) goto fails; + + image_desc = 8; // 8 bits per component. + + if (flip_image) + image_desc |= 32; + if(fwrite(&image_desc, 1, 1, fp) != 1) goto fails; return 1; + +fails: + fputs("\nwrite_tgaheader: write ERROR\n", stderr); + return 0; } opj_image_t* tgatoimage(const char *filename, opj_cparameters_t *parameters) { diff --git a/applications/codec/image_to_j2k.c b/applications/codec/image_to_j2k.c index 92353970..fa04a6fb 100644 --- a/applications/codec/image_to_j2k.c +++ b/applications/codec/image_to_j2k.c @@ -51,7 +51,7 @@ #include "opj_config.h" #include "openjpeg.h" -#include "getopt.h" +#include "opj_getopt.h" #include "convert.h" #include "index.h" @@ -574,7 +574,7 @@ void cinema_setup_encoder(opj_cparameters_t *parameters,opj_image_t *image, img_ int parse_cmdline_encoder(int argc, char **argv, opj_cparameters_t *parameters, img_fol_t *img_fol, raw_cparameters_t *raw_cp, char *indexfilename) { int i, j, totlen, c; - option_t long_option[]={ + opj_option_t long_option[]={ {"cinema2K",REQ_ARG, NULL ,'w'}, {"cinema4K",NO_ARG, NULL ,'y'}, {"ImgDir",REQ_ARG, NULL ,'z'}, @@ -598,13 +598,13 @@ int parse_cmdline_encoder(int argc, char **argv, opj_cparameters_t *parameters, raw_cp->rawWidth = 0; do{ - c = getopt_long(argc, argv, optlist,long_option,totlen); + c = opj_getopt_long(argc, argv, optlist,long_option,totlen); if (c == -1) break; switch (c) { case 'i': /* input file */ { - char *infile = optarg; + char *infile = opj_optarg; parameters->decod_format = get_file_format(infile); switch(parameters->decod_format) { case PGX_DFMT: @@ -630,7 +630,7 @@ int parse_cmdline_encoder(int argc, char **argv, opj_cparameters_t *parameters, case 'o': /* output file */ { - char *outfile = optarg; + char *outfile = opj_optarg; parameters->cod_format = get_file_format(outfile); switch(parameters->cod_format) { case J2K_CFMT: @@ -648,14 +648,14 @@ int parse_cmdline_encoder(int argc, char **argv, opj_cparameters_t *parameters, case 'O': /* output format */ { char outformat[50]; - char *of = optarg; + char *of = opj_optarg; sprintf(outformat,".%s",of); img_fol->set_out_format = 1; parameters->cod_format = get_file_format(outformat); switch(parameters->cod_format) { case J2K_CFMT: case JP2_CFMT: - img_fol->out_format = optarg; + img_fol->out_format = opj_optarg; break; default: fprintf(stderr, "Unknown output format image [only j2k, j2c, jp2]!! \n"); @@ -670,7 +670,7 @@ int parse_cmdline_encoder(int argc, char **argv, opj_cparameters_t *parameters, case 'r': /* rates rates/distorsion */ { - char *s = optarg; + char *s = opj_optarg; parameters->tcp_numlayers = 0; while (sscanf(s, "%f", ¶meters->tcp_rates[parameters->tcp_numlayers]) == 1) { parameters->tcp_numlayers++; @@ -691,7 +691,7 @@ int parse_cmdline_encoder(int argc, char **argv, opj_cparameters_t *parameters, case 'F': /* Raw image format parameters */ { char signo; - char *s = optarg; + char *s = opj_optarg; if (sscanf(s, "%d,%d,%d,%d,%c", &raw_cp->rawWidth, &raw_cp->rawHeight, &raw_cp->rawComp, &raw_cp->rawBitDepth, &signo) == 5) { if (signo == 's') { raw_cp->rawSigned = OPJ_TRUE; @@ -724,7 +724,7 @@ int parse_cmdline_encoder(int argc, char **argv, opj_cparameters_t *parameters, case 'q': /* add fixed_quality */ { - char *s = optarg; + char *s = opj_optarg; while (sscanf(s, "%f", ¶meters->tcp_distoratio[parameters->tcp_numlayers]) == 1) { parameters->tcp_numlayers++; while (*s && *s != ',') { @@ -746,7 +746,7 @@ int parse_cmdline_encoder(int argc, char **argv, opj_cparameters_t *parameters, int *row = NULL, *col = NULL; int numlayers = 0, numresolution = 0, matrix_width = 0; - char *s = optarg; + char *s = opj_optarg; sscanf(s, "%d", &numlayers); s++; if (numlayers > 9) @@ -790,7 +790,7 @@ int parse_cmdline_encoder(int argc, char **argv, opj_cparameters_t *parameters, case 't': /* tiles */ { - sscanf(optarg, "%d,%d", ¶meters->cp_tdx, ¶meters->cp_tdy); + sscanf(opj_optarg, "%d,%d", ¶meters->cp_tdx, ¶meters->cp_tdy); parameters->tile_size_on = OPJ_TRUE; } break; @@ -799,7 +799,7 @@ int parse_cmdline_encoder(int argc, char **argv, opj_cparameters_t *parameters, case 'n': /* resolution */ { - sscanf(optarg, "%d", ¶meters->numresolution); + sscanf(opj_optarg, "%d", ¶meters->numresolution); } break; @@ -809,7 +809,7 @@ int parse_cmdline_encoder(int argc, char **argv, opj_cparameters_t *parameters, char sep; int res_spec = 0; - char *s = optarg; + char *s = opj_optarg; do { sep = 0; sscanf(s, "[%d,%d]%c", ¶meters->prcw_init[res_spec], @@ -828,7 +828,7 @@ int parse_cmdline_encoder(int argc, char **argv, opj_cparameters_t *parameters, case 'b': /* code-block dimension */ { int cblockw_init = 0, cblockh_init = 0; - sscanf(optarg, "%d,%d", &cblockw_init, &cblockh_init); + sscanf(opj_optarg, "%d,%d", &cblockw_init, &cblockh_init); if (cblockw_init * cblockh_init > 4096 || cblockw_init > 1024 || cblockw_init < 4 || cblockh_init > 1024 || cblockh_init < 4) { fprintf(stderr, @@ -845,7 +845,7 @@ int parse_cmdline_encoder(int argc, char **argv, opj_cparameters_t *parameters, case 'x': /* creation of index file */ { - char *index = optarg; + char *index = opj_optarg; strncpy(indexfilename, index, OPJ_PATH_LEN); } break; @@ -856,7 +856,7 @@ int parse_cmdline_encoder(int argc, char **argv, opj_cparameters_t *parameters, { char progression[4]; - strncpy(progression, optarg, 4); + strncpy(progression, opj_optarg, 4); parameters->prog_order = give_progression(progression); if (parameters->prog_order == -1) { fprintf(stderr, "Unrecognized progression order " @@ -870,7 +870,7 @@ int parse_cmdline_encoder(int argc, char **argv, opj_cparameters_t *parameters, case 's': /* subsampling factor */ { - if (sscanf(optarg, "%d,%d", ¶meters->subsampling_dx, + if (sscanf(opj_optarg, "%d,%d", ¶meters->subsampling_dx, ¶meters->subsampling_dy) != 2) { fprintf(stderr, "'-s' sub-sampling argument error ! [-s dx,dy]\n"); return 1; @@ -882,7 +882,7 @@ int parse_cmdline_encoder(int argc, char **argv, opj_cparameters_t *parameters, case 'd': /* coordonnate of the reference grid */ { - if (sscanf(optarg, "%d,%d", ¶meters->image_offset_x0, + if (sscanf(opj_optarg, "%d,%d", ¶meters->image_offset_x0, ¶meters->image_offset_y0) != 2) { fprintf(stderr, "-d 'coordonnate of the reference grid' argument " "error !! [-d x0,y0]\n"); @@ -904,7 +904,7 @@ int parse_cmdline_encoder(int argc, char **argv, opj_cparameters_t *parameters, int numpocs = 0; /* number of progression order change (POC) default 0 */ opj_poc_t *POC = NULL; /* POC : used in case of Progression order change */ - char *s = optarg; + char *s = opj_optarg; POC = parameters->POC; while (sscanf(s, "T%d=%d,%d,%d,%d,%d,%4s", &POC[numpocs].tile, @@ -946,7 +946,7 @@ int parse_cmdline_encoder(int argc, char **argv, opj_cparameters_t *parameters, case 'M': /* Mode switch pas tous au point !! */ { int value = 0; - if (sscanf(optarg, "%d", &value) == 1) { + if (sscanf(opj_optarg, "%d", &value) == 1) { for (i = 0; i <= 5; i++) { int cache = value & (1 << i); if (cache) @@ -960,7 +960,7 @@ int parse_cmdline_encoder(int argc, char **argv, opj_cparameters_t *parameters, case 'R': /* ROI */ { - if (sscanf(optarg, "c=%d,U=%d", ¶meters->roi_compno, + if (sscanf(opj_optarg, "c=%d,U=%d", ¶meters->roi_compno, ¶meters->roi_shift) != 2) { fprintf(stderr, "ROI error !! [-ROI c='compno',U='shift']\n"); return 1; @@ -972,7 +972,7 @@ int parse_cmdline_encoder(int argc, char **argv, opj_cparameters_t *parameters, case 'T': /* Tile offset */ { - if (sscanf(optarg, "%d,%d", ¶meters->cp_tx0, ¶meters->cp_ty0) != 2) { + if (sscanf(opj_optarg, "%d,%d", ¶meters->cp_tx0, ¶meters->cp_ty0) != 2) { fprintf(stderr, "-T 'tile offset' argument error !! [-T X0,Y0]"); return 1; } @@ -983,9 +983,9 @@ int parse_cmdline_encoder(int argc, char **argv, opj_cparameters_t *parameters, case 'C': /* add a comment */ { - parameters->cp_comment = (char*)malloc(strlen(optarg) + 1); + parameters->cp_comment = (char*)malloc(strlen(opj_optarg) + 1); if(parameters->cp_comment) { - strcpy(parameters->cp_comment, optarg); + strcpy(parameters->cp_comment, opj_optarg); } } break; @@ -1003,7 +1003,7 @@ int parse_cmdline_encoder(int argc, char **argv, opj_cparameters_t *parameters, case 'v': /* Tile part generation*/ { - parameters->tp_flag = optarg[0]; + parameters->tp_flag = opj_optarg[0]; parameters->tp_on = 1; } break; @@ -1012,8 +1012,8 @@ int parse_cmdline_encoder(int argc, char **argv, opj_cparameters_t *parameters, case 'z': /* Image Directory path */ { - img_fol->imgdirpath = (char*)malloc(strlen(optarg) + 1); - strcpy(img_fol->imgdirpath,optarg); + img_fol->imgdirpath = (char*)malloc(strlen(opj_optarg) + 1); + strcpy(img_fol->imgdirpath,opj_optarg); img_fol->set_imgdir=1; } break; @@ -1023,7 +1023,7 @@ int parse_cmdline_encoder(int argc, char **argv, opj_cparameters_t *parameters, case 'w': /* Digital Cinema 2K profile compliance*/ { int fps=0; - sscanf(optarg,"%d",&fps); + sscanf(opj_optarg,"%d",&fps); if(fps == 24){ parameters->cp_cinema = CINEMA2K_24; }else if(fps == 48 ){ @@ -1067,7 +1067,7 @@ int parse_cmdline_encoder(int argc, char **argv, opj_cparameters_t *parameters, /* search for different protection methods */ /* break the option in comma points and parse the result */ - token = strtok(optarg, ","); + token = strtok(opj_optarg, ","); while(token != NULL) { /* search header error protection method */ diff --git a/applications/codec/j2k_dump.c b/applications/codec/j2k_dump.c index 02f8316c..b490f4d4 100644 --- a/applications/codec/j2k_dump.c +++ b/applications/codec/j2k_dump.c @@ -47,7 +47,7 @@ #include "openjpeg.h" #include "j2k.h" #include "jp2.h" -#include "getopt.h" +#include "opj_getopt.h" #include "convert.h" #include "index.h" @@ -197,7 +197,7 @@ char get_next_file(int imageno,dircnt_t *dirptr,img_fol_t *img_fol, opj_dparamet int parse_cmdline_decoder(int argc, char **argv, opj_dparameters_t *parameters,img_fol_t *img_fol, char *indexfilename) { /* parse the command line */ int totlen, c; - option_t long_option[]={ + opj_option_t long_option[]={ {"ImgDir",REQ_ARG, NULL ,'y'}, }; const char optlist[] = "i:o:h"; @@ -207,13 +207,13 @@ int parse_cmdline_decoder(int argc, char **argv, opj_dparameters_t *parameters,i totlen=sizeof(long_option); img_fol->set_out_format = 0; do { - c = getopt_long(argc, argv,optlist,long_option,totlen); + c = opj_getopt_long(argc, argv,optlist,long_option,totlen); if (c == -1) break; switch (c) { case 'i': /* input file */ { - char *infile = optarg; + char *infile = opj_optarg; parameters->decod_format = get_file_format(infile); switch(parameters->decod_format) { case J2K_CFMT: @@ -234,7 +234,7 @@ int parse_cmdline_decoder(int argc, char **argv, opj_dparameters_t *parameters,i case 'o': /* output file */ { - char *outfile = optarg; + char *outfile = opj_optarg; strncpy(parameters->outfile, outfile, sizeof(parameters->outfile)-1); } break; @@ -249,8 +249,8 @@ int parse_cmdline_decoder(int argc, char **argv, opj_dparameters_t *parameters,i case 'y': /* Image Directory path */ { - img_fol->imgdirpath = (char*)malloc(strlen(optarg) + 1); - strcpy(img_fol->imgdirpath,optarg); + img_fol->imgdirpath = (char*)malloc(strlen(opj_optarg) + 1); + strcpy(img_fol->imgdirpath,opj_optarg); img_fol->set_imgdir=1; } break; @@ -258,7 +258,7 @@ int parse_cmdline_decoder(int argc, char **argv, opj_dparameters_t *parameters,i /* ----------------------------------------------------- */ default: - fprintf(stderr,"WARNING -> this option is not valid \"-%c %s\"\n",c, optarg); + fprintf(stderr,"WARNING -> this option is not valid \"-%c %s\"\n",c, opj_optarg); break; } }while(c != -1); diff --git a/applications/codec/j2k_to_image.c b/applications/codec/j2k_to_image.c index 2b421369..85bca04c 100644 --- a/applications/codec/j2k_to_image.c +++ b/applications/codec/j2k_to_image.c @@ -51,7 +51,7 @@ #include "opj_config.h" #include "openjpeg.h" -#include "getopt.h" +#include "opj_getopt.h" #include "convert.h" #include "index.h" @@ -238,7 +238,7 @@ char get_next_file(int imageno,dircnt_t *dirptr,img_fol_t *img_fol, opj_dparamet int parse_cmdline_decoder(int argc, char **argv, opj_dparameters_t *parameters,img_fol_t *img_fol, char *indexfilename) { /* parse the command line */ int totlen, c; - option_t long_option[]={ + opj_option_t long_option[]={ {"ImgDir",REQ_ARG, NULL ,'y'}, {"OutFor",REQ_ARG, NULL ,'O'}, }; @@ -254,13 +254,13 @@ int parse_cmdline_decoder(int argc, char **argv, opj_dparameters_t *parameters,i totlen=sizeof(long_option); img_fol->set_out_format = 0; do { - c = getopt_long(argc, argv,optlist,long_option,totlen); + c = opj_getopt_long(argc, argv,optlist,long_option,totlen); if (c == -1) break; switch (c) { case 'i': /* input file */ { - char *infile = optarg; + char *infile = opj_optarg; parameters->decod_format = get_file_format(infile); switch(parameters->decod_format) { case J2K_CFMT: @@ -281,7 +281,7 @@ int parse_cmdline_decoder(int argc, char **argv, opj_dparameters_t *parameters,i case 'o': /* output file */ { - char *outfile = optarg; + char *outfile = opj_optarg; parameters->cod_format = get_file_format(outfile); switch(parameters->cod_format) { case PGX_DFMT: @@ -305,7 +305,7 @@ int parse_cmdline_decoder(int argc, char **argv, opj_dparameters_t *parameters,i case 'O': /* output format */ { char outformat[50]; - char *of = optarg; + char *of = opj_optarg; sprintf(outformat,".%s",of); img_fol->set_out_format = 1; parameters->cod_format = get_file_format(outformat); @@ -344,7 +344,7 @@ int parse_cmdline_decoder(int argc, char **argv, opj_dparameters_t *parameters,i case 'r': /* reduce option */ { - sscanf(optarg, "%d", ¶meters->cp_reduce); + sscanf(opj_optarg, "%d", ¶meters->cp_reduce); } break; @@ -353,7 +353,7 @@ int parse_cmdline_decoder(int argc, char **argv, opj_dparameters_t *parameters,i case 'l': /* layering option */ { - sscanf(optarg, "%d", ¶meters->cp_layer); + sscanf(opj_optarg, "%d", ¶meters->cp_layer); } break; @@ -367,15 +367,15 @@ int parse_cmdline_decoder(int argc, char **argv, opj_dparameters_t *parameters,i case 'y': /* Image Directory path */ { - img_fol->imgdirpath = (char*)malloc(strlen(optarg) + 1); - strcpy(img_fol->imgdirpath,optarg); + img_fol->imgdirpath = (char*)malloc(strlen(opj_optarg) + 1); + strcpy(img_fol->imgdirpath,opj_optarg); img_fol->set_imgdir=1; } break; /* ----------------------------------------------------- */ case 'x': /* Creation of index file */ { - char *index = optarg; + char *index = opj_optarg; strncpy(indexfilename, index, OPJ_PATH_LEN); } break; @@ -387,7 +387,7 @@ int parse_cmdline_decoder(int argc, char **argv, opj_dparameters_t *parameters,i { char *token = NULL; - token = strtok(optarg, ","); + token = strtok(opj_optarg, ","); while(token != NULL) { /* search expected number of components */ @@ -454,7 +454,7 @@ int parse_cmdline_decoder(int argc, char **argv, opj_dparameters_t *parameters,i /* ----------------------------------------------------- */ default: - fprintf(stderr,"WARNING -> this option is not valid \"-%c %s\"\n",c, optarg); + fprintf(stderr,"WARNING -> this option is not valid \"-%c %s\"\n",c, opj_optarg); break; } }while(c != -1); diff --git a/applications/codec/windirent.h b/applications/codec/windirent.h index 6bcc7787..7dd7fef3 100644 --- a/applications/codec/windirent.h +++ b/applications/codec/windirent.h @@ -124,7 +124,7 @@ # error "not implemented"
# elif defined(__sgi) /* Silicon Graphics */
# define HAVE_DIRENT_H
-# elif defined(sun) || defined(_sun) /* Sun Solaris */
+# elif defined(sun) || defined(__sun) /* Sun Solaris */
# define HAVE_DIRENT_H
# elif defined(__FreeBSD__) /* FreeBSD */
# define HAVE_DIRENT_H
|
