image_compressor_pack 1.0.0.1-universal-darwin-16

Sign up to get free protection for your applications and to get access to all the features.
Files changed (105) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE.txt +22 -0
  3. data/lib/.paths.yml +12 -0
  4. data/lib/image_compressor_pack/dynamically_linked_recipes.yml +102 -0
  5. data/lib/image_compressor_pack/recipes.rb +42 -0
  6. data/lib/image_compressor_pack/statically_linked_recipes.yml +109 -0
  7. data/lib/image_compressor_pack/version.rb +3 -0
  8. data/lib/image_compressor_pack.rb +24 -0
  9. data/ports/advancecomp-1.22-x86_64-apple-darwin16.1.0.installed +0 -0
  10. data/ports/gifsicle-1.88-x86_64-apple-darwin16.1.0.installed +0 -0
  11. data/ports/jhead-3.0-x86_64-apple-darwin16.1.0.installed +0 -0
  12. data/ports/jpeg-archive-2.1.1-x86_64-apple-darwin16.1.0.installed +0 -0
  13. data/ports/jpegoptim-1.4.4-x86_64-apple-darwin16.1.0.installed +0 -0
  14. data/ports/lcms2-2.8-x86_64-apple-darwin16.1.0.installed +0 -0
  15. data/ports/libpng-1.6.26-x86_64-apple-darwin16.1.0.installed +0 -0
  16. data/ports/mozjpeg-3.1-x86_64-apple-darwin16.1.0.installed +0 -0
  17. data/ports/nasm-2.12.02-x86_64-apple-darwin16.1.0.installed +0 -0
  18. data/ports/optipng-0.7.6-x86_64-apple-darwin16.1.0.installed +0 -0
  19. data/ports/pngcrush-1.8.10-x86_64-apple-darwin16.1.0.installed +0 -0
  20. data/ports/pngquant-2.8.0-x86_64-apple-darwin16.1.0.installed +0 -0
  21. data/ports/x86_64-apple-darwin16.1.0/advancecomp/1.22/bin/advdef +0 -0
  22. data/ports/x86_64-apple-darwin16.1.0/advancecomp/1.22/bin/advmng +0 -0
  23. data/ports/x86_64-apple-darwin16.1.0/advancecomp/1.22/bin/advpng +0 -0
  24. data/ports/x86_64-apple-darwin16.1.0/advancecomp/1.22/bin/advzip +0 -0
  25. data/ports/x86_64-apple-darwin16.1.0/advancecomp/1.22/share/man/man1/advdef.1 +83 -0
  26. data/ports/x86_64-apple-darwin16.1.0/advancecomp/1.22/share/man/man1/advmng.1 +197 -0
  27. data/ports/x86_64-apple-darwin16.1.0/advancecomp/1.22/share/man/man1/advpng.1 +93 -0
  28. data/ports/x86_64-apple-darwin16.1.0/advancecomp/1.22/share/man/man1/advzip.1 +116 -0
  29. data/ports/x86_64-apple-darwin16.1.0/gifsicle/1.88/bin/gifsicle +0 -0
  30. data/ports/x86_64-apple-darwin16.1.0/gifsicle/1.88/share/man/man1/gifsicle.1 +1318 -0
  31. data/ports/x86_64-apple-darwin16.1.0/jhead/3.0/bin/jhead +0 -0
  32. data/ports/x86_64-apple-darwin16.1.0/jpeg-archive/2.1.1/bin/jpeg-archive +40 -0
  33. data/ports/x86_64-apple-darwin16.1.0/jpeg-archive/2.1.1/bin/jpeg-compare +0 -0
  34. data/ports/x86_64-apple-darwin16.1.0/jpeg-archive/2.1.1/bin/jpeg-hash +0 -0
  35. data/ports/x86_64-apple-darwin16.1.0/jpeg-archive/2.1.1/bin/jpeg-recompress +0 -0
  36. data/ports/x86_64-apple-darwin16.1.0/jpegoptim/1.4.4/bin/jpegoptim +0 -0
  37. data/ports/x86_64-apple-darwin16.1.0/jpegoptim/1.4.4/share/man/man1/jpegoptim.1 +186 -0
  38. data/ports/x86_64-apple-darwin16.1.0/lcms2/2.8/bin/linkicc +0 -0
  39. data/ports/x86_64-apple-darwin16.1.0/lcms2/2.8/bin/psicc +0 -0
  40. data/ports/x86_64-apple-darwin16.1.0/lcms2/2.8/bin/transicc +0 -0
  41. data/ports/x86_64-apple-darwin16.1.0/lcms2/2.8/include/lcms2.h +1903 -0
  42. data/ports/x86_64-apple-darwin16.1.0/lcms2/2.8/include/lcms2_plugin.h +665 -0
  43. data/ports/x86_64-apple-darwin16.1.0/lcms2/2.8/lib/liblcms2.a +0 -0
  44. data/ports/x86_64-apple-darwin16.1.0/lcms2/2.8/lib/liblcms2.la +41 -0
  45. data/ports/x86_64-apple-darwin16.1.0/lcms2/2.8/lib/pkgconfig/lcms2.pc +11 -0
  46. data/ports/x86_64-apple-darwin16.1.0/lcms2/2.8/share/man/man1/jpgicc.1 +122 -0
  47. data/ports/x86_64-apple-darwin16.1.0/lcms2/2.8/share/man/man1/tificc.1 +117 -0
  48. data/ports/x86_64-apple-darwin16.1.0/libpng/1.6.26/include/libpng16/png.h +3266 -0
  49. data/ports/x86_64-apple-darwin16.1.0/libpng/1.6.26/include/libpng16/pngconf.h +622 -0
  50. data/ports/x86_64-apple-darwin16.1.0/libpng/1.6.26/include/libpng16/pnglibconf.h +213 -0
  51. data/ports/x86_64-apple-darwin16.1.0/libpng/1.6.26/include/png.h +3266 -0
  52. data/ports/x86_64-apple-darwin16.1.0/libpng/1.6.26/include/pngconf.h +622 -0
  53. data/ports/x86_64-apple-darwin16.1.0/libpng/1.6.26/include/pnglibconf.h +213 -0
  54. data/ports/x86_64-apple-darwin16.1.0/libpng/1.6.26/lib/libpng.a +0 -0
  55. data/ports/x86_64-apple-darwin16.1.0/libpng/1.6.26/lib/libpng.la +41 -0
  56. data/ports/x86_64-apple-darwin16.1.0/libpng/1.6.26/lib/libpng16.a +0 -0
  57. data/ports/x86_64-apple-darwin16.1.0/libpng/1.6.26/lib/libpng16.la +41 -0
  58. data/ports/x86_64-apple-darwin16.1.0/libpng/1.6.26/lib/pkgconfig/libpng16.pc +11 -0
  59. data/ports/x86_64-apple-darwin16.1.0/libpng/1.6.26/share/man/man3/libpng.3 +6179 -0
  60. data/ports/x86_64-apple-darwin16.1.0/libpng/1.6.26/share/man/man3/libpngpf.3 +18 -0
  61. data/ports/x86_64-apple-darwin16.1.0/libpng/1.6.26/share/man/man5/png.5 +74 -0
  62. data/ports/x86_64-apple-darwin16.1.0/mozjpeg/3.1/bin/cjpeg +0 -0
  63. data/ports/x86_64-apple-darwin16.1.0/mozjpeg/3.1/bin/djpeg +0 -0
  64. data/ports/x86_64-apple-darwin16.1.0/mozjpeg/3.1/bin/jpegtran +0 -0
  65. data/ports/x86_64-apple-darwin16.1.0/mozjpeg/3.1/bin/rdjpgcom +0 -0
  66. data/ports/x86_64-apple-darwin16.1.0/mozjpeg/3.1/bin/tjbench +0 -0
  67. data/ports/x86_64-apple-darwin16.1.0/mozjpeg/3.1/bin/wrjpgcom +0 -0
  68. data/ports/x86_64-apple-darwin16.1.0/mozjpeg/3.1/include/jconfig.h +71 -0
  69. data/ports/x86_64-apple-darwin16.1.0/mozjpeg/3.1/include/jerror.h +320 -0
  70. data/ports/x86_64-apple-darwin16.1.0/mozjpeg/3.1/include/jmorecfg.h +390 -0
  71. data/ports/x86_64-apple-darwin16.1.0/mozjpeg/3.1/include/jpeglib.h +1185 -0
  72. data/ports/x86_64-apple-darwin16.1.0/mozjpeg/3.1/include/turbojpeg.h +1538 -0
  73. data/ports/x86_64-apple-darwin16.1.0/mozjpeg/3.1/lib/libjpeg.a +0 -0
  74. data/ports/x86_64-apple-darwin16.1.0/mozjpeg/3.1/lib/libjpeg.la +41 -0
  75. data/ports/x86_64-apple-darwin16.1.0/mozjpeg/3.1/lib/libturbojpeg.a +0 -0
  76. data/ports/x86_64-apple-darwin16.1.0/mozjpeg/3.1/lib/libturbojpeg.la +41 -0
  77. data/ports/x86_64-apple-darwin16.1.0/mozjpeg/3.1/share/doc/README +281 -0
  78. data/ports/x86_64-apple-darwin16.1.0/mozjpeg/3.1/share/doc/README-mozilla.txt +194 -0
  79. data/ports/x86_64-apple-darwin16.1.0/mozjpeg/3.1/share/doc/README-turbo.txt +363 -0
  80. data/ports/x86_64-apple-darwin16.1.0/mozjpeg/3.1/share/doc/example.c +433 -0
  81. data/ports/x86_64-apple-darwin16.1.0/mozjpeg/3.1/share/doc/libjpeg.txt +3015 -0
  82. data/ports/x86_64-apple-darwin16.1.0/mozjpeg/3.1/share/doc/structure.txt +906 -0
  83. data/ports/x86_64-apple-darwin16.1.0/mozjpeg/3.1/share/doc/usage.txt +649 -0
  84. data/ports/x86_64-apple-darwin16.1.0/mozjpeg/3.1/share/doc/wizard.txt +211 -0
  85. data/ports/x86_64-apple-darwin16.1.0/mozjpeg/3.1/share/man/man1/cjpeg.1 +352 -0
  86. data/ports/x86_64-apple-darwin16.1.0/mozjpeg/3.1/share/man/man1/djpeg.1 +278 -0
  87. data/ports/x86_64-apple-darwin16.1.0/mozjpeg/3.1/share/man/man1/jpegtran.1 +269 -0
  88. data/ports/x86_64-apple-darwin16.1.0/mozjpeg/3.1/share/man/man1/rdjpgcom.1 +63 -0
  89. data/ports/x86_64-apple-darwin16.1.0/mozjpeg/3.1/share/man/man1/wrjpgcom.1 +103 -0
  90. data/ports/x86_64-apple-darwin16.1.0/nasm/2.12.02/bin/nasm +0 -0
  91. data/ports/x86_64-apple-darwin16.1.0/nasm/2.12.02/bin/ndisasm +0 -0
  92. data/ports/x86_64-apple-darwin16.1.0/nasm/2.12.02/share/man/man1/nasm.1 +429 -0
  93. data/ports/x86_64-apple-darwin16.1.0/nasm/2.12.02/share/man/man1/ndisasm.1 +120 -0
  94. data/ports/x86_64-apple-darwin16.1.0/optipng/0.7.6/bin/optipng +0 -0
  95. data/ports/x86_64-apple-darwin16.1.0/optipng/0.7.6/man/man1/optipng.1 +343 -0
  96. data/ports/x86_64-apple-darwin16.1.0/pngcrush/1.8.10/bin/pngcrush +0 -0
  97. data/ports/x86_64-apple-darwin16.1.0/pngquant/2.8.0/bin/pngquant +0 -0
  98. data/ports/x86_64-apple-darwin16.1.0/pngquant/2.8.0/share/man/man1/pngquant.1 +127 -0
  99. data/ports/x86_64-apple-darwin16.1.0/zlib/1.2.8/include/zconf.h +511 -0
  100. data/ports/x86_64-apple-darwin16.1.0/zlib/1.2.8/include/zlib.h +1768 -0
  101. data/ports/x86_64-apple-darwin16.1.0/zlib/1.2.8/lib/libz.a +0 -0
  102. data/ports/x86_64-apple-darwin16.1.0/zlib/1.2.8/lib/pkgconfig/zlib.pc +13 -0
  103. data/ports/x86_64-apple-darwin16.1.0/zlib/1.2.8/share/man/man3/zlib.3 +151 -0
  104. data/ports/zlib-1.2.8-x86_64-apple-darwin16.1.0.installed +0 -0
  105. metadata +219 -0
@@ -0,0 +1,278 @@
1
+ .TH DJPEG 1 "21 November 2014"
2
+ .SH NAME
3
+ djpeg \- decompress a JPEG file to an image file
4
+ .SH SYNOPSIS
5
+ .B djpeg
6
+ [
7
+ .I options
8
+ ]
9
+ [
10
+ .I filename
11
+ ]
12
+ .LP
13
+ .SH DESCRIPTION
14
+ .LP
15
+ .B djpeg
16
+ decompresses the named JPEG file, or the standard input if no file is named,
17
+ and produces an image file on the standard output. PBMPLUS (PPM/PGM), BMP,
18
+ GIF, Targa, or RLE (Utah Raster Toolkit) output format can be selected.
19
+ (RLE is supported only if the URT library is available.)
20
+ .SH OPTIONS
21
+ All switch names may be abbreviated; for example,
22
+ .B \-grayscale
23
+ may be written
24
+ .B \-gray
25
+ or
26
+ .BR \-gr .
27
+ Most of the "basic" switches can be abbreviated to as little as one letter.
28
+ Upper and lower case are equivalent (thus
29
+ .B \-BMP
30
+ is the same as
31
+ .BR \-bmp ).
32
+ British spellings are also accepted (e.g.,
33
+ .BR \-greyscale ),
34
+ though for brevity these are not mentioned below.
35
+ .PP
36
+ The basic switches are:
37
+ .TP
38
+ .BI \-colors " N"
39
+ Reduce image to at most N colors. This reduces the number of colors used in
40
+ the output image, so that it can be displayed on a colormapped display or
41
+ stored in a colormapped file format. For example, if you have an 8-bit
42
+ display, you'd need to reduce to 256 or fewer colors.
43
+ .TP
44
+ .BI \-quantize " N"
45
+ Same as
46
+ .BR \-colors .
47
+ .B \-colors
48
+ is the recommended name,
49
+ .B \-quantize
50
+ is provided only for backwards compatibility.
51
+ .TP
52
+ .B \-fast
53
+ Select recommended processing options for fast, low quality output. (The
54
+ default options are chosen for highest quality output.) Currently, this is
55
+ equivalent to \fB\-dct fast \-nosmooth \-onepass \-dither ordered\fR.
56
+ .TP
57
+ .B \-grayscale
58
+ Force grayscale output even if JPEG file is color. Useful for viewing on
59
+ monochrome displays; also,
60
+ .B djpeg
61
+ runs noticeably faster in this mode.
62
+ .TP
63
+ .B \-rgb
64
+ Force RGB output even if JPEG file is grayscale.
65
+ .TP
66
+ .BI \-scale " M/N"
67
+ Scale the output image by a factor M/N. Currently the scale factor must be
68
+ M/8, where M is an integer between 1 and 16 inclusive, or any reduced fraction
69
+ thereof (such as 1/2, 3/4, etc.) Scaling is handy if the image is larger than
70
+ your screen; also,
71
+ .B djpeg
72
+ runs much faster when scaling down the output.
73
+ .TP
74
+ .B \-bmp
75
+ Select BMP output format (Windows flavor). 8-bit colormapped format is
76
+ emitted if
77
+ .B \-colors
78
+ or
79
+ .B \-grayscale
80
+ is specified, or if the JPEG file is grayscale; otherwise, 24-bit full-color
81
+ format is emitted.
82
+ .TP
83
+ .B \-gif
84
+ Select GIF output format. Since GIF does not support more than 256 colors,
85
+ .B \-colors 256
86
+ is assumed (unless you specify a smaller number of colors).
87
+ .TP
88
+ .B \-os2
89
+ Select BMP output format (OS/2 1.x flavor). 8-bit colormapped format is
90
+ emitted if
91
+ .B \-colors
92
+ or
93
+ .B \-grayscale
94
+ is specified, or if the JPEG file is grayscale; otherwise, 24-bit full-color
95
+ format is emitted.
96
+ .TP
97
+ .B \-pnm
98
+ Select PBMPLUS (PPM/PGM) output format (this is the default format).
99
+ PGM is emitted if the JPEG file is grayscale or if
100
+ .B \-grayscale
101
+ is specified; otherwise PPM is emitted.
102
+ .TP
103
+ .B \-rle
104
+ Select RLE output format. (Requires URT library.)
105
+ .TP
106
+ .B \-targa
107
+ Select Targa output format. Grayscale format is emitted if the JPEG file is
108
+ grayscale or if
109
+ .B \-grayscale
110
+ is specified; otherwise, colormapped format is emitted if
111
+ .B \-colors
112
+ is specified; otherwise, 24-bit full-color format is emitted.
113
+ .PP
114
+ Switches for advanced users:
115
+ .TP
116
+ .B \-dct int
117
+ Use integer DCT method (default).
118
+ .TP
119
+ .B \-dct fast
120
+ Use fast integer DCT (less accurate).
121
+ In libjpeg-turbo, the fast method is generally about 5-15% faster than the int
122
+ method when using the x86/x86-64 SIMD extensions (results may vary with other
123
+ SIMD implementations, or when using libjpeg-turbo without SIMD extensions.) If
124
+ the JPEG image was compressed using a quality level of 85 or below, then there
125
+ should be little or no perceptible difference between the two algorithms. When
126
+ decompressing images that were compressed using quality levels above 85,
127
+ however, the difference between the fast and int methods becomes more
128
+ pronounced. With images compressed using quality=97, for instance, the fast
129
+ method incurs generally about a 4-6 dB loss (in PSNR) relative to the int
130
+ method, but this can be larger for some images. If you can avoid it, do not
131
+ use the fast method when decompressing images that were compressed using
132
+ quality levels above 97. The algorithm often degenerates for such images and
133
+ can actually produce a more lossy output image than if the JPEG image had been
134
+ compressed using lower quality levels.
135
+ .TP
136
+ .B \-dct float
137
+ Use floating-point DCT method.
138
+ The float method is mainly a legacy feature. It does not produce significantly
139
+ more accurate results than the int method, and it is much slower. The float
140
+ method may also give different results on different machines due to varying
141
+ roundoff behavior, whereas the integer methods should give the same results on
142
+ all machines.
143
+ .TP
144
+ .B \-dither fs
145
+ Use Floyd-Steinberg dithering in color quantization.
146
+ .TP
147
+ .B \-dither ordered
148
+ Use ordered dithering in color quantization.
149
+ .TP
150
+ .B \-dither none
151
+ Do not use dithering in color quantization.
152
+ By default, Floyd-Steinberg dithering is applied when quantizing colors; this
153
+ is slow but usually produces the best results. Ordered dither is a compromise
154
+ between speed and quality; no dithering is fast but usually looks awful. Note
155
+ that these switches have no effect unless color quantization is being done.
156
+ Ordered dither is only available in
157
+ .B \-onepass
158
+ mode.
159
+ .TP
160
+ .BI \-map " file"
161
+ Quantize to the colors used in the specified image file. This is useful for
162
+ producing multiple files with identical color maps, or for forcing a
163
+ predefined set of colors to be used. The
164
+ .I file
165
+ must be a GIF or PPM file. This option overrides
166
+ .B \-colors
167
+ and
168
+ .BR \-onepass .
169
+ .TP
170
+ .B \-nosmooth
171
+ Use a faster, lower-quality upsampling routine.
172
+ .TP
173
+ .B \-onepass
174
+ Use one-pass instead of two-pass color quantization. The one-pass method is
175
+ faster and needs less memory, but it produces a lower-quality image.
176
+ .B \-onepass
177
+ is ignored unless you also say
178
+ .B \-colors
179
+ .IR N .
180
+ Also, the one-pass method is always used for grayscale output (the two-pass
181
+ method is no improvement then).
182
+ .TP
183
+ .BI \-maxmemory " N"
184
+ Set limit for amount of memory to use in processing large images. Value is
185
+ in thousands of bytes, or millions of bytes if "M" is attached to the
186
+ number. For example,
187
+ .B \-max 4m
188
+ selects 4000000 bytes. If more space is needed, temporary files will be used.
189
+ .TP
190
+ .BI \-outfile " name"
191
+ Send output image to the named file, not to standard output.
192
+ .TP
193
+ .BI \-memsrc
194
+ Load input file into memory before decompressing. This feature was implemented
195
+ mainly as a way of testing the in-memory source manager (jpeg_mem_src().)
196
+ .TP
197
+ .B \-verbose
198
+ Enable debug printout. More
199
+ .BR \-v 's
200
+ give more output. Also, version information is printed at startup.
201
+ .TP
202
+ .B \-debug
203
+ Same as
204
+ .BR \-verbose .
205
+ .TP
206
+ .B \-version
207
+ Print version information and exit.
208
+ .SH EXAMPLES
209
+ .LP
210
+ This example decompresses the JPEG file foo.jpg, quantizes it to
211
+ 256 colors, and saves the output in 8-bit BMP format in foo.bmp:
212
+ .IP
213
+ .B djpeg \-colors 256 \-bmp
214
+ .I foo.jpg
215
+ .B >
216
+ .I foo.bmp
217
+ .SH HINTS
218
+ To get a quick preview of an image, use the
219
+ .B \-grayscale
220
+ and/or
221
+ .B \-scale
222
+ switches.
223
+ .B \-grayscale \-scale 1/8
224
+ is the fastest case.
225
+ .PP
226
+ Several options are available that trade off image quality to gain speed.
227
+ .B \-fast
228
+ turns on the recommended settings.
229
+ .PP
230
+ .B \-dct fast
231
+ and/or
232
+ .B \-nosmooth
233
+ gain speed at a small sacrifice in quality.
234
+ When producing a color-quantized image,
235
+ .B \-onepass \-dither ordered
236
+ is fast but much lower quality than the default behavior.
237
+ .B \-dither none
238
+ may give acceptable results in two-pass mode, but is seldom tolerable in
239
+ one-pass mode.
240
+ .PP
241
+ If you are fortunate enough to have very fast floating point hardware,
242
+ \fB\-dct float\fR may be even faster than \fB\-dct fast\fR. But on most
243
+ machines \fB\-dct float\fR is slower than \fB\-dct int\fR; in this case it is
244
+ not worth using, because its theoretical accuracy advantage is too small to be
245
+ significant in practice.
246
+ .SH ENVIRONMENT
247
+ .TP
248
+ .B JPEGMEM
249
+ If this environment variable is set, its value is the default memory limit.
250
+ The value is specified as described for the
251
+ .B \-maxmemory
252
+ switch.
253
+ .B JPEGMEM
254
+ overrides the default value specified when the program was compiled, and
255
+ itself is overridden by an explicit
256
+ .BR \-maxmemory .
257
+ .SH SEE ALSO
258
+ .BR cjpeg (1),
259
+ .BR jpegtran (1),
260
+ .BR rdjpgcom (1),
261
+ .BR wrjpgcom (1)
262
+ .br
263
+ .BR ppm (5),
264
+ .BR pgm (5)
265
+ .br
266
+ Wallace, Gregory K. "The JPEG Still Picture Compression Standard",
267
+ Communications of the ACM, April 1991 (vol. 34, no. 4), pp. 30-44.
268
+ .SH AUTHOR
269
+ Independent JPEG Group
270
+ .PP
271
+ This file was modified by The libjpeg-turbo Project to include only information
272
+ relevant to libjpeg-turbo, to wordsmith certain sections, and to describe
273
+ features not present in libjpeg.
274
+ .SH BUGS
275
+ To avoid the Unisys LZW patent,
276
+ .B djpeg
277
+ produces uncompressed GIF files. These are larger than they should be, but
278
+ are readable by standard GIF decoders.
@@ -0,0 +1,269 @@
1
+ .TH JPEGTRAN 1 "21 November 2014"
2
+ .SH NAME
3
+ jpegtran \- lossless transformation of JPEG files
4
+ .SH SYNOPSIS
5
+ .B jpegtran
6
+ [
7
+ .I options
8
+ ]
9
+ [
10
+ .I filename
11
+ ]
12
+ .LP
13
+ .SH DESCRIPTION
14
+ .LP
15
+ .B jpegtran
16
+ performs various useful transformations of JPEG files.
17
+ It can translate the coded representation from one variant of JPEG to another,
18
+ for example from baseline JPEG to progressive JPEG or vice versa. It can also
19
+ perform some rearrangements of the image data, for example turning an image
20
+ from landscape to portrait format by rotation.
21
+ .PP
22
+ .B jpegtran
23
+ works by rearranging the compressed data (DCT coefficients), without
24
+ ever fully decoding the image. Therefore, its transformations are lossless:
25
+ there is no image degradation at all, which would not be true if you used
26
+ .B djpeg
27
+ followed by
28
+ .B cjpeg
29
+ to accomplish the same conversion. But by the same token,
30
+ .B jpegtran
31
+ cannot perform lossy operations such as changing the image quality.
32
+ .PP
33
+ .B jpegtran
34
+ reads the named JPEG/JFIF file, or the standard input if no file is
35
+ named, and produces a JPEG/JFIF file on the standard output.
36
+ .SH OPTIONS
37
+ All switch names may be abbreviated; for example,
38
+ .B \-optimize
39
+ may be written
40
+ .B \-opt
41
+ or
42
+ .BR \-o .
43
+ Upper and lower case are equivalent.
44
+ British spellings are also accepted (e.g.,
45
+ .BR \-optimise ),
46
+ though for brevity these are not mentioned below.
47
+ .PP
48
+ To specify the coded JPEG representation used in the output file,
49
+ .B jpegtran
50
+ accepts a subset of the switches recognized by
51
+ .BR cjpeg :
52
+ .TP
53
+ .B \-optimize
54
+ Perform optimization of entropy encoding parameters.
55
+ .TP
56
+ .B \-progressive
57
+ Create progressive JPEG file.
58
+ .TP
59
+ .BI \-restart " N"
60
+ Emit a JPEG restart marker every N MCU rows, or every N MCU blocks if "B" is
61
+ attached to the number.
62
+ .TP
63
+ .B \-arithmetic
64
+ Use arithmetic coding.
65
+ .TP
66
+ .BI \-scans " file"
67
+ Use the scan script given in the specified text file.
68
+ .PP
69
+ See
70
+ .BR cjpeg (1)
71
+ for more details about these switches.
72
+ If you specify none of these switches, you get a plain baseline-JPEG output
73
+ file. The quality setting and so forth are determined by the input file.
74
+ .PP
75
+ The image can be losslessly transformed by giving one of these switches:
76
+ .TP
77
+ .B \-flip horizontal
78
+ Mirror image horizontally (left-right).
79
+ .TP
80
+ .B \-flip vertical
81
+ Mirror image vertically (top-bottom).
82
+ .TP
83
+ .B \-rotate 90
84
+ Rotate image 90 degrees clockwise.
85
+ .TP
86
+ .B \-rotate 180
87
+ Rotate image 180 degrees.
88
+ .TP
89
+ .B \-rotate 270
90
+ Rotate image 270 degrees clockwise (or 90 ccw).
91
+ .TP
92
+ .B \-transpose
93
+ Transpose image (across UL-to-LR axis).
94
+ .TP
95
+ .B \-transverse
96
+ Transverse transpose (across UR-to-LL axis).
97
+ .PP
98
+ The transpose transformation has no restrictions regarding image dimensions.
99
+ The other transformations operate rather oddly if the image dimensions are not
100
+ a multiple of the iMCU size (usually 8 or 16 pixels), because they can only
101
+ transform complete blocks of DCT coefficient data in the desired way.
102
+ .PP
103
+ .BR jpegtran 's
104
+ default behavior when transforming an odd-size image is designed
105
+ to preserve exact reversibility and mathematical consistency of the
106
+ transformation set. As stated, transpose is able to flip the entire image
107
+ area. Horizontal mirroring leaves any partial iMCU column at the right edge
108
+ untouched, but is able to flip all rows of the image. Similarly, vertical
109
+ mirroring leaves any partial iMCU row at the bottom edge untouched, but is
110
+ able to flip all columns. The other transforms can be built up as sequences
111
+ of transpose and flip operations; for consistency, their actions on edge
112
+ pixels are defined to be the same as the end result of the corresponding
113
+ transpose-and-flip sequence.
114
+ .PP
115
+ For practical use, you may prefer to discard any untransformable edge pixels
116
+ rather than having a strange-looking strip along the right and/or bottom edges
117
+ of a transformed image. To do this, add the
118
+ .B \-trim
119
+ switch:
120
+ .TP
121
+ .B \-trim
122
+ Drop non-transformable edge blocks.
123
+ .IP
124
+ Obviously, a transformation with
125
+ .B \-trim
126
+ is not reversible, so strictly speaking
127
+ .B jpegtran
128
+ with this switch is not lossless. Also, the expected mathematical
129
+ equivalences between the transformations no longer hold. For example,
130
+ .B \-rot 270 -trim
131
+ trims only the bottom edge, but
132
+ .B \-rot 90 -trim
133
+ followed by
134
+ .B \-rot 180 -trim
135
+ trims both edges.
136
+ .TP
137
+ .B \-perfect
138
+ If you are only interested in perfect transformations, add the
139
+ .B \-perfect
140
+ switch. This causes
141
+ .B jpegtran
142
+ to fail with an error if the transformation is not perfect.
143
+ .IP
144
+ For example, you may want to do
145
+ .IP
146
+ .B (jpegtran \-rot 90 -perfect
147
+ .I foo.jpg
148
+ .B || djpeg
149
+ .I foo.jpg
150
+ .B | pnmflip \-r90 | cjpeg)
151
+ .IP
152
+ to do a perfect rotation, if available, or an approximated one if not.
153
+ .TP
154
+ .B \-crop WxH+X+Y
155
+ Crop the image to a rectangular region of width W and height H, starting at
156
+ point X,Y. The lossless crop feature discards data outside of a given image
157
+ region but losslessly preserves what is inside. Like the rotate and flip
158
+ transforms, lossless crop is restricted by the current JPEG format; the upper
159
+ left corner of the selected region must fall on an iMCU boundary. If it
160
+ doesn't, then it is silently moved up and/or left to the nearest iMCU boundary
161
+ (the lower right corner is unchanged.)
162
+ .PP
163
+ Other not-strictly-lossless transformation switches are:
164
+ .TP
165
+ .B \-grayscale
166
+ Force grayscale output.
167
+ .IP
168
+ This option discards the chrominance channels if the input image is YCbCr
169
+ (ie, a standard color JPEG), resulting in a grayscale JPEG file. The
170
+ luminance channel is preserved exactly, so this is a better method of reducing
171
+ to grayscale than decompression, conversion, and recompression. This switch
172
+ is particularly handy for fixing a monochrome picture that was mistakenly
173
+ encoded as a color JPEG. (In such a case, the space savings from getting rid
174
+ of the near-empty chroma channels won't be large; but the decoding time for
175
+ a grayscale JPEG is substantially less than that for a color JPEG.)
176
+ .PP
177
+ .B jpegtran
178
+ also recognizes these switches that control what to do with "extra" markers,
179
+ such as comment blocks:
180
+ .TP
181
+ .B \-copy none
182
+ Copy no extra markers from source file. This setting suppresses all
183
+ comments and other excess baggage present in the source file.
184
+ .TP
185
+ .B \-copy comments
186
+ Copy only comment markers. This setting copies comments from the source file
187
+ but discards any other data that is inessential for image display.
188
+ .TP
189
+ .B \-copy all
190
+ Copy all extra markers. This setting preserves miscellaneous markers
191
+ found in the source file, such as JFIF thumbnails, Exif data, and Photoshop
192
+ settings. In some files, these extra markers can be sizable.
193
+ .PP
194
+ The default behavior is \fB-copy comments\fR. (Note: in IJG releases v6 and
195
+ v6a, \fBjpegtran\fR always did the equivalent of \fB-copy none\fR.)
196
+ .PP
197
+ Additional switches recognized by jpegtran are:
198
+ .TP
199
+ .BI \-maxmemory " N"
200
+ Set limit for amount of memory to use in processing large images. Value is
201
+ in thousands of bytes, or millions of bytes if "M" is attached to the
202
+ number. For example,
203
+ .B \-max 4m
204
+ selects 4000000 bytes. If more space is needed, temporary files will be used.
205
+ .TP
206
+ .BI \-outfile " name"
207
+ Send output image to the named file, not to standard output.
208
+ .TP
209
+ .B \-verbose
210
+ Enable debug printout. More
211
+ .BR \-v 's
212
+ give more output. Also, version information is printed at startup.
213
+ .TP
214
+ .B \-debug
215
+ Same as
216
+ .BR \-verbose .
217
+ .TP
218
+ .B \-version
219
+ Print version information and exit.
220
+ .SH EXAMPLES
221
+ .LP
222
+ This example converts a baseline JPEG file to progressive form:
223
+ .IP
224
+ .B jpegtran \-progressive
225
+ .I foo.jpg
226
+ .B >
227
+ .I fooprog.jpg
228
+ .PP
229
+ This example rotates an image 90 degrees clockwise, discarding any
230
+ unrotatable edge pixels:
231
+ .IP
232
+ .B jpegtran \-rot 90 -trim
233
+ .I foo.jpg
234
+ .B >
235
+ .I foo90.jpg
236
+ .SH ENVIRONMENT
237
+ .TP
238
+ .B JPEGMEM
239
+ If this environment variable is set, its value is the default memory limit.
240
+ The value is specified as described for the
241
+ .B \-maxmemory
242
+ switch.
243
+ .B JPEGMEM
244
+ overrides the default value specified when the program was compiled, and
245
+ itself is overridden by an explicit
246
+ .BR \-maxmemory .
247
+ .SH SEE ALSO
248
+ .BR cjpeg (1),
249
+ .BR djpeg (1),
250
+ .BR rdjpgcom (1),
251
+ .BR wrjpgcom (1)
252
+ .br
253
+ Wallace, Gregory K. "The JPEG Still Picture Compression Standard",
254
+ Communications of the ACM, April 1991 (vol. 34, no. 4), pp. 30-44.
255
+ .SH AUTHOR
256
+ Independent JPEG Group
257
+ .PP
258
+ This file was modified by The libjpeg-turbo Project to include only information
259
+ relevant to libjpeg-turbo and to wordsmith certain sections.
260
+ .SH BUGS
261
+ The transform options can't transform odd-size images perfectly. Use
262
+ .B \-trim
263
+ or
264
+ .B \-perfect
265
+ if you don't like the results.
266
+ .PP
267
+ The entire image is read into memory and then written out again, even in
268
+ cases where this isn't really necessary. Expect swapping on large images,
269
+ especially when using the more complex transform options.
@@ -0,0 +1,63 @@
1
+ .TH RDJPGCOM 1 "02 April 2009"
2
+ .SH NAME
3
+ rdjpgcom \- display text comments from a JPEG file
4
+ .SH SYNOPSIS
5
+ .B rdjpgcom
6
+ [
7
+ .B \-raw
8
+ ]
9
+ [
10
+ .B \-verbose
11
+ ]
12
+ [
13
+ .I filename
14
+ ]
15
+ .LP
16
+ .SH DESCRIPTION
17
+ .LP
18
+ .B rdjpgcom
19
+ reads the named JPEG/JFIF file, or the standard input if no file is named,
20
+ and prints any text comments found in the file on the standard output.
21
+ .PP
22
+ The JPEG standard allows "comment" (COM) blocks to occur within a JPEG file.
23
+ Although the standard doesn't actually define what COM blocks are for, they
24
+ are widely used to hold user-supplied text strings. This lets you add
25
+ annotations, titles, index terms, etc to your JPEG files, and later retrieve
26
+ them as text. COM blocks do not interfere with the image stored in the JPEG
27
+ file. The maximum size of a COM block is 64K, but you can have as many of
28
+ them as you like in one JPEG file.
29
+ .SH OPTIONS
30
+ .TP
31
+ .B \-raw
32
+ Normally
33
+ .B rdjpgcom
34
+ escapes non-printable characters in comments, for security reasons.
35
+ This option avoids that.
36
+ .PP
37
+ .B \-verbose
38
+ Causes
39
+ .B rdjpgcom
40
+ to also display the JPEG image dimensions.
41
+ .PP
42
+ Switch names may be abbreviated, and are not case sensitive.
43
+ .SH HINTS
44
+ .B rdjpgcom
45
+ does not depend on the IJG JPEG library. Its source code is intended as an
46
+ illustration of the minimum amount of code required to parse a JPEG file
47
+ header correctly.
48
+ .PP
49
+ In
50
+ .B \-verbose
51
+ mode,
52
+ .B rdjpgcom
53
+ will also attempt to print the contents of any "APP12" markers as text.
54
+ Some digital cameras produce APP12 markers containing useful textual
55
+ information. If you like, you can modify the source code to print
56
+ other APPn marker types as well.
57
+ .SH SEE ALSO
58
+ .BR cjpeg (1),
59
+ .BR djpeg (1),
60
+ .BR jpegtran (1),
61
+ .BR wrjpgcom (1)
62
+ .SH AUTHOR
63
+ Independent JPEG Group
@@ -0,0 +1,103 @@
1
+ .TH WRJPGCOM 1 "15 June 1995"
2
+ .SH NAME
3
+ wrjpgcom \- insert text comments into a JPEG file
4
+ .SH SYNOPSIS
5
+ .B wrjpgcom
6
+ [
7
+ .B \-replace
8
+ ]
9
+ [
10
+ .BI \-comment " text"
11
+ ]
12
+ [
13
+ .BI \-cfile " name"
14
+ ]
15
+ [
16
+ .I filename
17
+ ]
18
+ .LP
19
+ .SH DESCRIPTION
20
+ .LP
21
+ .B wrjpgcom
22
+ reads the named JPEG/JFIF file, or the standard input if no file is named,
23
+ and generates a new JPEG/JFIF file on standard output. A comment block is
24
+ added to the file.
25
+ .PP
26
+ The JPEG standard allows "comment" (COM) blocks to occur within a JPEG file.
27
+ Although the standard doesn't actually define what COM blocks are for, they
28
+ are widely used to hold user-supplied text strings. This lets you add
29
+ annotations, titles, index terms, etc to your JPEG files, and later retrieve
30
+ them as text. COM blocks do not interfere with the image stored in the JPEG
31
+ file. The maximum size of a COM block is 64K, but you can have as many of
32
+ them as you like in one JPEG file.
33
+ .PP
34
+ .B wrjpgcom
35
+ adds a COM block, containing text you provide, to a JPEG file.
36
+ Ordinarily, the COM block is added after any existing COM blocks; but you
37
+ can delete the old COM blocks if you wish.
38
+ .SH OPTIONS
39
+ Switch names may be abbreviated, and are not case sensitive.
40
+ .TP
41
+ .B \-replace
42
+ Delete any existing COM blocks from the file.
43
+ .TP
44
+ .BI \-comment " text"
45
+ Supply text for new COM block on command line.
46
+ .TP
47
+ .BI \-cfile " name"
48
+ Read text for new COM block from named file.
49
+ .PP
50
+ If you have only one line of comment text to add, you can provide it on the
51
+ command line with
52
+ .BR \-comment .
53
+ The comment text must be surrounded with quotes so that it is treated as a
54
+ single argument. Longer comments can be read from a text file.
55
+ .PP
56
+ If you give neither
57
+ .B \-comment
58
+ nor
59
+ .BR \-cfile ,
60
+ then
61
+ .B wrjpgcom
62
+ will read the comment text from standard input. (In this case an input image
63
+ file name MUST be supplied, so that the source JPEG file comes from somewhere
64
+ else.) You can enter multiple lines, up to 64KB worth. Type an end-of-file
65
+ indicator (usually control-D) to terminate the comment text entry.
66
+ .PP
67
+ .B wrjpgcom
68
+ will not add a COM block if the provided comment string is empty. Therefore
69
+ \fB\-replace \-comment ""\fR can be used to delete all COM blocks from a file.
70
+ .SH EXAMPLES
71
+ .LP
72
+ Add a short comment to in.jpg, producing out.jpg:
73
+ .IP
74
+ .B wrjpgcom \-c
75
+ \fI"View of my back yard" in.jpg
76
+ .B >
77
+ .I out.jpg
78
+ .PP
79
+ Attach a long comment previously stored in comment.txt:
80
+ .IP
81
+ .B wrjpgcom
82
+ .I in.jpg
83
+ .B <
84
+ .I comment.txt
85
+ .B >
86
+ .I out.jpg
87
+ .PP
88
+ or equivalently
89
+ .IP
90
+ .B wrjpgcom
91
+ .B -cfile
92
+ .I comment.txt
93
+ .B <
94
+ .I in.jpg
95
+ .B >
96
+ .I out.jpg
97
+ .SH SEE ALSO
98
+ .BR cjpeg (1),
99
+ .BR djpeg (1),
100
+ .BR jpegtran (1),
101
+ .BR rdjpgcom (1)
102
+ .SH AUTHOR
103
+ Independent JPEG Group