summaryrefslogtreecommitdiff
path: root/applications/codec
diff options
context:
space:
mode:
authorAntonin Descampe <antonin@gmail.com>2011-09-01 12:08:10 +0000
committerAntonin Descampe <antonin@gmail.com>2011-09-01 12:08:10 +0000
commit9a89e2f162804ab5d39dac0d1e0469816a2cfb45 (patch)
tree9457a2c0baafc4b9f4bd00ce933e660cce32bed8 /applications/codec
parente89eb575ac3f6d5076aff5e7d1bf1a442386ebce (diff)
backport r898 to r907 in openjpeg-1.5 branch
Diffstat (limited to 'applications/codec')
-rw-r--r--applications/codec/CMakeLists.txt9
-rw-r--r--applications/codec/Makefile.am12
-rw-r--r--applications/codec/convert.c114
-rw-r--r--applications/codec/image_to_j2k.c60
-rw-r--r--applications/codec/j2k_dump.c16
-rw-r--r--applications/codec/j2k_to_image.c26
-rw-r--r--applications/codec/windirent.h2
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", &parameters->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", &parameters->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", &parameters->cp_tdx, &parameters->cp_tdy);
+ sscanf(opj_optarg, "%d,%d", &parameters->cp_tdx, &parameters->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", &parameters->numresolution);
+ sscanf(opj_optarg, "%d", &parameters->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", &parameters->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", &parameters->subsampling_dx,
+ if (sscanf(opj_optarg, "%d,%d", &parameters->subsampling_dx,
&parameters->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", &parameters->image_offset_x0,
+ if (sscanf(opj_optarg, "%d,%d", &parameters->image_offset_x0,
&parameters->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", &parameters->roi_compno,
+ if (sscanf(opj_optarg, "c=%d,U=%d", &parameters->roi_compno,
&parameters->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", &parameters->cp_tx0, &parameters->cp_ty0) != 2) {
+ if (sscanf(opj_optarg, "%d,%d", &parameters->cp_tx0, &parameters->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", &parameters->cp_reduce);
+ sscanf(opj_optarg, "%d", &parameters->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", &parameters->cp_layer);
+ sscanf(opj_optarg, "%d", &parameters->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