X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src%2Fgdcmopenjpeg%2Fcodec%2Fconvert.c;h=fc7a17fac785b7a1ed69232f1f1e094c1b5dc068;hb=a401c209a120a44b355e53180a5a9a8d1a3cdc4c;hp=b65dd064bdc72715a690bff1baaf7fcd9470eb26;hpb=62ba44019992fac89cad65f7756f8ad13972c23c;p=gdcm.git diff --git a/src/gdcmopenjpeg/codec/convert.c b/src/gdcmopenjpeg/codec/convert.c index b65dd064..fc7a17fa 100644 --- a/src/gdcmopenjpeg/codec/convert.c +++ b/src/gdcmopenjpeg/codec/convert.c @@ -417,7 +417,6 @@ opj_image_t* bmptoimage(char *filename, opj_cparameters_t *parameters) { opj_image_destroy(image); fclose(IN); return NULL; - break; default: for (i = 0; i < v; i++) { v2 = getc(IN); @@ -597,7 +596,6 @@ int imagetobmp(opj_image_t * image, char *outfile) { fprintf(fdest, "%c%c%c%c", (7834) & 0xff, ((7834) >> 8) & 0xff, ((7834) >> 16) & 0xff, ((7834) >> 24) & 0xff); fprintf(fdest, "%c%c%c%c", (256) & 0xff, ((256) >> 8) & 0xff, ((256) >> 16) & 0xff, ((256) >> 24) & 0xff); fprintf(fdest, "%c%c%c%c", (256) & 0xff, ((256) >> 8) & 0xff, ((256) >> 16) & 0xff, ((256) >> 24) & 0xff); - } for (i = 0; i < 256; i++) { fprintf(fdest, "%c%c%c%c", i, i, i, 0); @@ -615,6 +613,7 @@ int imagetobmp(opj_image_t * image, char *outfile) { } } fclose(fdest); + } return 0; } @@ -844,7 +843,6 @@ opj_image_t* pnmtoimage(char *filename, opj_cparameters_t *parameters) { opj_image_cmptparm_t cmptparm[3]; /* maximum of 3 components */ opj_image_t * image = NULL; char value; - char comment[256]; f = fopen(filename, "rb"); if (!f) { @@ -859,64 +857,14 @@ opj_image_t* pnmtoimage(char *filename, opj_cparameters_t *parameters) { switch(value) { case '2': /* greyscale image type */ case '5': - { numcomps = 1; color_space = CLRSPC_GRAY; - - fgetc(f); - - if (fgetc(f) == '#') { - /* skip comments */ - fseek(f, 0, SEEK_SET); - if (value == '2') { - fscanf(f, "P2\n"); - } else if (value == '5') { - fscanf(f, "P5\n"); - } - fgets(comment, 256, f); - fscanf(f, "%d %d\n255", &w, &h); - } else { - fseek(f, 0, SEEK_SET); - if (value == '2') { - fscanf(f, "P2\n%d %d\n255", &w, &h); - } else if (value == '5') { - fscanf(f, "P5\n%d %d\n255", &w, &h); - } - } - - fgetc(f); /* */ - } break; case '3': /* RGB image type */ case '6': - { numcomps = 3; color_space = CLRSPC_SRGB; - - fgetc(f); - - if (fgetc(f) == '#') { - /* skip comments */ - fseek(f, 0, SEEK_SET); - if (value == '3') { - fscanf(f, "P3\n"); - } else if (value == '6') { - fscanf(f, "P6\n"); - } - fgets(comment, 256, f); - fscanf(f, "%d %d\n255", &w, &h); - } else { - fseek(f, 0, SEEK_SET); - if (value == '3') { - fscanf(f, "P3\n%d %d\n255", &w, &h); - } else if (value == '6') { - fscanf(f, "P6\n%d %d\n255", &w, &h); - } - } - - fgetc(f); /* */ - } break; default: @@ -924,6 +872,15 @@ opj_image_t* pnmtoimage(char *filename, opj_cparameters_t *parameters) { return NULL; } + fgetc(f); + + /* skip comments */ + while(fgetc(f) == '#') while(fgetc(f) != '\n'); + + fseek(f, -1, SEEK_CUR); + fscanf(f, "%d %d\n255", &w, &h); + fgetc(f); /* */ + /* initialize image components */ memset(&cmptparm[0], 0, 3 * sizeof(opj_image_cmptparm_t)); for(i = 0; i < numcomps; i++) {