X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src%2Fgdcmjpegls%2FDecoder%2Fdecoder.c;h=3da8dd8a172f2586eab4892db21fcc71d7936662;hb=77cbc8232f9308aafb17bde18ef9549be212b741;hp=0343c0899e135239214917f34775026945651cb9;hpb=94015b89675cf4431c7e4953a597b70cfde03bcc;p=gdcm.git diff --git a/src/gdcmjpegls/Decoder/decoder.c b/src/gdcmjpegls/Decoder/decoder.c index 0343c089..3da8dd8a 100644 --- a/src/gdcmjpegls/Decoder/decoder.c +++ b/src/gdcmjpegls/Decoder/decoder.c @@ -55,10 +55,19 @@ #include #include "jpegmark.h" + +void usage(); + + #define PGMNAME PGMPREFIX "d" #define EPGMNAME PGMPREFIX "e" -static char *banner="\n\ +/* define color mode strings */ +char plane_int_string[] = "plane by plane", + line_int_string[] = "line intlv", + pixel_int_string[] = "sample intlv"; + +static char banner[]="\n\ =============================================\n\ SPMG/JPEG-LS DECOMPRESSOR " JPEGLSVERSION "\n\ =============================================\n\ @@ -100,8 +109,6 @@ int bpp16; /* Indicates if 16 bits per pixel mode or not */ int lutmax; /* lutmax is either 256 or 4501 */ - - /* reset */ #ifndef FIXRESET int RESET; @@ -118,16 +125,12 @@ int alpha, /* alphabet size */ int highmask; #endif -void usage(); - - /* Write one row of pixel values */ inline void write_one_line(pixel* line, int cols, FILE* outfile) { - int i, index; unsigned int* maptable; @@ -139,7 +142,7 @@ inline void write_one_line(pixel* line, int cols, FILE* outfile) line8 = (unsigned char*)safealloc(cols); for (i=0; i< cols; i++) - *(line8+i)=ENDIAN8(*(line+i)); + *(line8+i)=(unsigned char)ENDIAN8(*(line+i)); fwrite(line8, sizeof(unsigned char), cols, outfile); @@ -227,7 +230,8 @@ inline void write_one_line(pixel* line, int cols, FILE* outfile) -void initbuffers(int multi, int comp) { +void initbuffers(int multi, int comp) +{ int i; @@ -282,28 +286,29 @@ void c_swaplines(int i) c_cscanline[i] = c_cscanl0[i] + (LEFTMARGIN-1); } -void closebuffers(int multi) { +void closebuffers(int multi) +{ - int i; + int i; fclose(in); if (multi==0) - fclose(out); - else - for (i=0;ineed_table) - fprintf(msgfile,"A mapping table was used which had %i entries of %i bytes each.\n",head_scan[0]->MAXTAB, head_scan[0]->Wt); + fprintf(msgfile,"A mapping table was used which had %d entries of %d bytes each.\n",head_scan[0]->MAXTAB, head_scan[0]->Wt); if (got_restart) fprintf(msgfile,"Restart markers were found with a restart interval of %i.\n",restart_interval); @@ -1464,9 +1470,9 @@ int main (int argc, char *argv[]) { t1 = get_utime(); - fprintf(msgfile,"Total bits in: %ld Symbols out: %ld %5.3lf bps\n", + fprintf(msgfile,"Total bits in: %ld Symbols out: %ld %5.3f bps\n", tot_in,tot_out,tot_in/(double)tot_out); - fprintf(msgfile,"Time = %1.3lf secs : %1.0lf KSymbols/sec\n",t1-t0, + fprintf(msgfile,"Time = %1.3f secs : %1.0f KSymbols/sec\n",t1-t0, (tot_out)/(1024*(t1-t0))); if ( found_EOF ) @@ -1481,33 +1487,33 @@ int main (int argc, char *argv[]) { void usage() { fprintf(stderr,"Usage: %s [flags] [infile] [outfile1 [outfile2, ...]]\n\ -DEFAULTS:\n\ -infile = %s.\n\ -outfile1 = %s for color image in a single (PPM) output file.\n\ -outfile1 = %s for monochrome image in a single (PGM) output file.\n\ -outfile[1,2,...] = %s for multiple (PGM) output files \n\ - in plane or line interleaved modes.\n", + DEFAULTS:\n\ + infile = %s.\n\ + outfile1 = %s for color image in a single (PPM) output file.\n\ + outfile1 = %s for monochrome image in a single (PGM) output file.\n\ + outfile[1,2,...] = %s for multiple (PGM) output files \n\ + in plane or line interleaved modes.\n", "locod", "specified JLS file", OUTFILE ".out", OUTFILE "1.out", OUTFILE "[1,2,...].out"); -fprintf(stderr,"FLAGS:\n\ -outfile2, ... : Multiple output specification for plane or line int. mode.\n\ --i : Alternate input specification, use -i- for stdin.\n\ --o : Alternate output specification, use -o- for stdout.\n\ --P : Generate single (.ppm) output file for sample/line int. mode.\n\ -"); - fprintf(stderr,"\ --h : Print this help.\n\ -*** No spaces allowed between a flag and its argument.\n\ -"); + fprintf(stderr,"FLAGS:\n\ + outfile2, ... : Multiple output specification for plane or line int. mode.\n\ + -i : Alternate input specification, use -i- for stdin.\n\ + -o : Alternate output specification, use -o- for stdout.\n\ + -P : Generate single (.ppm) output file for sample/line int. mode.\n\ + "); + fprintf(stderr,"\ + -h : Print this help.\n\ + *** No spaces allowed between a flag and its argument.\n\ + "); } void bad_flag(char *s) { - fprintf(stderr,"Bad flag %s\n",s); - usage(); - exit(10); + fprintf(stderr,"Bad flag %s\n",s); + usage(); + exit(10); }