| OLD | NEW |
| 1 /* | 1 /* |
| 2 * jpegtran.c | 2 * jpegtran.c |
| 3 * | 3 * |
| 4 * Copyright (C) 1995-2010, Thomas G. Lane, Guido Vollbeding. | 4 * Copyright (C) 1995-2010, Thomas G. Lane, Guido Vollbeding. |
| 5 * Copyright (C) 2010, D. R. Commander. | 5 * Copyright (C) 2010, D. R. Commander. |
| 6 * This file is part of the Independent JPEG Group's software. | 6 * This file is part of the Independent JPEG Group's software. |
| 7 * For conditions of distribution and use, see the accompanying README file. | 7 * For conditions of distribution and use, see the accompanying README file. |
| 8 * | 8 * |
| 9 * This file contains a command-line user interface for JPEG transcoding. | 9 * This file contains a command-line user interface for JPEG transcoding. |
| 10 * It is very similar to cjpeg.c, and partly to djpeg.c, but provides | 10 * It is very similar to cjpeg.c, and partly to djpeg.c, but provides |
| (...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 71 fprintf(stderr, " -flip [horizontal|vertical] Mirror image (left-right or to
p-bottom)\n"); | 71 fprintf(stderr, " -flip [horizontal|vertical] Mirror image (left-right or to
p-bottom)\n"); |
| 72 fprintf(stderr, " -perfect Fail if there is non-transformable edge bloc
ks\n"); | 72 fprintf(stderr, " -perfect Fail if there is non-transformable edge bloc
ks\n"); |
| 73 fprintf(stderr, " -rotate [90|180|270] Rotate image (degrees clockwis
e)\n"); | 73 fprintf(stderr, " -rotate [90|180|270] Rotate image (degrees clockwis
e)\n"); |
| 74 #endif | 74 #endif |
| 75 #if TRANSFORMS_SUPPORTED | 75 #if TRANSFORMS_SUPPORTED |
| 76 fprintf(stderr, " -transpose Transpose image\n"); | 76 fprintf(stderr, " -transpose Transpose image\n"); |
| 77 fprintf(stderr, " -transverse Transverse transpose image\n"); | 77 fprintf(stderr, " -transverse Transverse transpose image\n"); |
| 78 fprintf(stderr, " -trim Drop non-transformable edge blocks\n"); | 78 fprintf(stderr, " -trim Drop non-transformable edge blocks\n"); |
| 79 #endif | 79 #endif |
| 80 fprintf(stderr, "Switches for advanced users:\n"); | 80 fprintf(stderr, "Switches for advanced users:\n"); |
| 81 #ifdef C_ARITH_CODING_SUPPORTED |
| 82 fprintf(stderr, " -arithmetic Use arithmetic coding\n"); |
| 83 #endif |
| 81 fprintf(stderr, " -restart N Set restart interval in rows, or in blocks w
ith B\n"); | 84 fprintf(stderr, " -restart N Set restart interval in rows, or in blocks w
ith B\n"); |
| 82 fprintf(stderr, " -maxmemory N Maximum memory to use (in kbytes)\n"); | 85 fprintf(stderr, " -maxmemory N Maximum memory to use (in kbytes)\n"); |
| 83 fprintf(stderr, " -outfile name Specify name for output file\n"); | 86 fprintf(stderr, " -outfile name Specify name for output file\n"); |
| 84 fprintf(stderr, " -verbose or -debug Emit debug output\n"); | 87 fprintf(stderr, " -verbose or -debug Emit debug output\n"); |
| 85 fprintf(stderr, "Switches for wizards:\n"); | 88 fprintf(stderr, "Switches for wizards:\n"); |
| 86 #ifdef C_ARITH_CODING_SUPPORTED | |
| 87 fprintf(stderr, " -arithmetic Use arithmetic coding\n"); | |
| 88 #endif | |
| 89 #ifdef C_MULTISCAN_FILES_SUPPORTED | 89 #ifdef C_MULTISCAN_FILES_SUPPORTED |
| 90 fprintf(stderr, " -scans file Create multi-scan JPEG per script file\n"); | 90 fprintf(stderr, " -scans file Create multi-scan JPEG per script file\n"); |
| 91 #endif | 91 #endif |
| 92 exit(EXIT_FAILURE); | 92 exit(EXIT_FAILURE); |
| 93 } | 93 } |
| 94 | 94 |
| 95 | 95 |
| 96 LOCAL(void) | 96 LOCAL(void) |
| 97 select_transform (JXFORM_CODE transform) | 97 select_transform (JXFORM_CODE transform) |
| 98 /* Silly little routine to detect multiple transform options, | 98 /* Silly little routine to detect multiple transform options, |
| (...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 197 #endif | 197 #endif |
| 198 | 198 |
| 199 } else if (keymatch(arg, "debug", 1) || keymatch(arg, "verbose", 1)) { | 199 } else if (keymatch(arg, "debug", 1) || keymatch(arg, "verbose", 1)) { |
| 200 /* Enable debug printouts. */ | 200 /* Enable debug printouts. */ |
| 201 /* On first -d, print version identification */ | 201 /* On first -d, print version identification */ |
| 202 static boolean printed_version = FALSE; | 202 static boolean printed_version = FALSE; |
| 203 | 203 |
| 204 if (! printed_version) { | 204 if (! printed_version) { |
| 205 fprintf(stderr, "%s version %s (build %s)\n", | 205 fprintf(stderr, "%s version %s (build %s)\n", |
| 206 PACKAGE_NAME, VERSION, BUILD); | 206 PACKAGE_NAME, VERSION, BUILD); |
| 207 » fprintf(stderr, "%s\n\n", LJTCOPYRIGHT); | 207 » fprintf(stderr, "%s\n\n", JCOPYRIGHT); |
| 208 » fprintf(stderr, "Based on Independent JPEG Group's libjpeg, version %s\n
%s\n\n", | 208 » fprintf(stderr, "Emulating The Independent JPEG Group's libjpeg, version
%s\n\n", |
| 209 » » JVERSION, JCOPYRIGHT); | 209 » » JVERSION); |
| 210 printed_version = TRUE; | 210 printed_version = TRUE; |
| 211 } | 211 } |
| 212 cinfo->err->trace_level++; | 212 cinfo->err->trace_level++; |
| 213 | 213 |
| 214 } else if (keymatch(arg, "flip", 1)) { | 214 } else if (keymatch(arg, "flip", 1)) { |
| 215 /* Mirror left-right or top-bottom. */ | 215 /* Mirror left-right or top-bottom. */ |
| 216 if (++argn >= argc) /* advance to next argument */ | 216 if (++argn >= argc) /* advance to next argument */ |
| 217 usage(); | 217 usage(); |
| 218 if (keymatch(argv[argn], "horizontal", 1)) | 218 if (keymatch(argv[argn], "horizontal", 1)) |
| 219 select_transform(JXFORM_FLIP_H); | 219 select_transform(JXFORM_FLIP_H); |
| (...skipping 321 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 541 fclose(fp); | 541 fclose(fp); |
| 542 | 542 |
| 543 #ifdef PROGRESS_REPORT | 543 #ifdef PROGRESS_REPORT |
| 544 end_progress_monitor((j_common_ptr) &dstinfo); | 544 end_progress_monitor((j_common_ptr) &dstinfo); |
| 545 #endif | 545 #endif |
| 546 | 546 |
| 547 /* All done. */ | 547 /* All done. */ |
| 548 exit(jsrcerr.num_warnings + jdsterr.num_warnings ?EXIT_WARNING:EXIT_SUCCESS); | 548 exit(jsrcerr.num_warnings + jdsterr.num_warnings ?EXIT_WARNING:EXIT_SUCCESS); |
| 549 return 0; /* suppress no-return-value warnings */ | 549 return 0; /* suppress no-return-value warnings */ |
| 550 } | 550 } |
| OLD | NEW |