diff options
| author | Francois-Olivier Devaux <fodevaux@users.noreply.github.com> | 2007-08-20 15:20:42 +0000 |
|---|---|---|
| committer | Francois-Olivier Devaux <fodevaux@users.noreply.github.com> | 2007-08-20 15:20:42 +0000 |
| commit | 8298fd2b0a976cbf064c04f6a248dbfe124d2cf3 (patch) | |
| tree | 29ec6eb35f636a60ca5fe3da2d8279f6687ab525 /codec/image_to_j2k.c | |
| parent | 7dcb817e6acf9ec78a1bf09dfa9b188dd18e68b6 (diff) | |
Added support for the TGA file format in the codec
Diffstat (limited to 'codec/image_to_j2k.c')
| -rw-r--r-- | codec/image_to_j2k.c | 24 |
1 files changed, 18 insertions, 6 deletions
diff --git a/codec/image_to_j2k.c b/codec/image_to_j2k.c index 2e146853..44747ee0 100644 --- a/codec/image_to_j2k.c +++ b/codec/image_to_j2k.c @@ -55,6 +55,7 @@ #define YUV_DFMT 13 #define TIF_DFMT 14 #define RAW_DFMT 15 +#define TGA_DFMT 16 /* ----------------------------------------------------------------------- */ #define CINEMA_24_CS 1302083 /*Codestream length for 24fps*/ @@ -134,9 +135,9 @@ void encode_help_display() { fprintf(stdout,"-OutFor \n"); fprintf(stdout," REQUIRED only if -ImgDir is used\n"); fprintf(stdout," Need to specify only format without filename <BMP> \n"); - fprintf(stdout," Currently accepts PGM, PPM, PNM, PGX, BMP format\n"); + fprintf(stdout," Currently accepts PGM, PPM, PNM, PGX, BMP, TIF, RAW and TGA formats\n"); fprintf(stdout,"\n"); - fprintf(stdout,"-i : source file (-i source.pnm also *.pgm, *.ppm, *.bmp, *.tif, *.raw) \n"); + fprintf(stdout,"-i : source file (-i source.pnm also *.pgm, *.ppm, *.bmp, *.tif, *.raw, *.tga) \n"); fprintf(stdout," When using this option -o must be used\n"); fprintf(stdout,"\n"); fprintf(stdout,"-o : destination file (-o dest.j2k or .jp2) \n"); @@ -369,17 +370,17 @@ int load_images(dircnt_t *dirptr, char *imgdirpath){ int get_file_format(char *filename) { unsigned int i; static const char *extension[] = { - "pgx", "pnm", "pgm", "ppm", "bmp","tif", "raw", "j2k", "jp2", "j2c" + "pgx", "pnm", "pgm", "ppm", "bmp", "tif", "raw", "tga", "j2k", "jp2", "j2c" }; static const int format[] = { - PGX_DFMT, PXM_DFMT, PXM_DFMT, PXM_DFMT, BMP_DFMT, TIF_DFMT, RAW_DFMT, J2K_CFMT, JP2_CFMT, J2K_CFMT + PGX_DFMT, PXM_DFMT, PXM_DFMT, PXM_DFMT, BMP_DFMT, TIF_DFMT, RAW_DFMT, TGA_DFMT, J2K_CFMT, JP2_CFMT, J2K_CFMT }; char * ext = strrchr(filename, '.'); if (ext == NULL) return -1; ext++; for(i = 0; i < sizeof(format)/sizeof(*format); i++) { - if(strnicmp(ext, extension[i], 3) == 0) { + if(_strnicmp(ext, extension[i], 3) == 0) { return format[i]; } } @@ -583,11 +584,12 @@ int parse_cmdline_encoder(int argc, char **argv, opj_cparameters_t *parameters, case BMP_DFMT: case TIF_DFMT: case RAW_DFMT: + case TGA_DFMT: break; default: fprintf(stderr, "!! Unrecognized format for infile : %s " - "[accept only *.pnm, *.pgm, *.ppm, *.pgx, *.bmp, *.tif or *.raw] !!\n\n", + "[accept only *.pnm, *.pgm, *.ppm, *.pgx, *.bmp, *.tif, *.raw or *.tga] !!\n\n", infile); return 1; } @@ -1549,6 +1551,8 @@ int main(int argc, char **argv) { break; case RAW_DFMT: break; + case TGA_DFMT: + break; default: fprintf(stderr,"skipping file...\n"); continue; @@ -1597,6 +1601,14 @@ int main(int argc, char **argv) { return 1; } break; + + case TGA_DFMT: + image = tgatoimage(parameters.infile, ¶meters); + if (!image) { + fprintf(stderr, "Unable to load tga file\n"); + return 1; + } + break; } /* Decide if MCT should be used */ parameters.tcp_mct = image->numcomps == 3 ? 1 : 0; |
