image_compressor_pack 1.0.0.1-amd64-freebsd-11
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- checksums.yaml.gz.sig +0 -0
- data/LICENSE.txt +22 -0
- data/lib/.paths.yml +12 -0
- data/lib/image_compressor_pack/dynamically_linked_recipes.yml +102 -0
- data/lib/image_compressor_pack/recipes.rb +42 -0
- data/lib/image_compressor_pack/statically_linked_recipes.yml +109 -0
- data/lib/image_compressor_pack/version.rb +3 -0
- data/lib/image_compressor_pack.rb +24 -0
- data/ports/advancecomp-1.22-x86_64-unknown-freebsd11.0.installed +0 -0
- data/ports/gifsicle-1.88-x86_64-unknown-freebsd11.0.installed +0 -0
- data/ports/jhead-3.0-x86_64-unknown-freebsd11.0.installed +0 -0
- data/ports/jpeg-archive-2.1.1-x86_64-unknown-freebsd11.0.installed +0 -0
- data/ports/jpegoptim-1.4.4-x86_64-unknown-freebsd11.0.installed +0 -0
- data/ports/lcms2-2.8-x86_64-unknown-freebsd11.0.installed +0 -0
- data/ports/libpng-1.6.26-x86_64-unknown-freebsd11.0.installed +0 -0
- data/ports/mozjpeg-3.1-x86_64-unknown-freebsd11.0.installed +0 -0
- data/ports/nasm-2.12.02-x86_64-unknown-freebsd11.0.installed +0 -0
- data/ports/optipng-0.7.6-x86_64-unknown-freebsd11.0.installed +0 -0
- data/ports/pngcrush-1.8.10-x86_64-unknown-freebsd11.0.installed +0 -0
- data/ports/pngquant-2.8.0-x86_64-unknown-freebsd11.0.installed +0 -0
- data/ports/x86_64-unknown-freebsd11.0/advancecomp/1.22/bin/advdef +0 -0
- data/ports/x86_64-unknown-freebsd11.0/advancecomp/1.22/bin/advmng +0 -0
- data/ports/x86_64-unknown-freebsd11.0/advancecomp/1.22/bin/advpng +0 -0
- data/ports/x86_64-unknown-freebsd11.0/advancecomp/1.22/bin/advzip +0 -0
- data/ports/x86_64-unknown-freebsd11.0/advancecomp/1.22/share/man/man1/advdef.1 +83 -0
- data/ports/x86_64-unknown-freebsd11.0/advancecomp/1.22/share/man/man1/advmng.1 +197 -0
- data/ports/x86_64-unknown-freebsd11.0/advancecomp/1.22/share/man/man1/advpng.1 +93 -0
- data/ports/x86_64-unknown-freebsd11.0/advancecomp/1.22/share/man/man1/advzip.1 +116 -0
- data/ports/x86_64-unknown-freebsd11.0/gifsicle/1.88/bin/gifsicle +0 -0
- data/ports/x86_64-unknown-freebsd11.0/gifsicle/1.88/share/man/man1/gifsicle.1 +1318 -0
- data/ports/x86_64-unknown-freebsd11.0/jhead/3.0/bin/jhead +0 -0
- data/ports/x86_64-unknown-freebsd11.0/jpeg-archive/2.1.1/bin/jpeg-archive +40 -0
- data/ports/x86_64-unknown-freebsd11.0/jpeg-archive/2.1.1/bin/jpeg-compare +0 -0
- data/ports/x86_64-unknown-freebsd11.0/jpeg-archive/2.1.1/bin/jpeg-hash +0 -0
- data/ports/x86_64-unknown-freebsd11.0/jpeg-archive/2.1.1/bin/jpeg-recompress +0 -0
- data/ports/x86_64-unknown-freebsd11.0/jpegoptim/1.4.4/bin/jpegoptim +0 -0
- data/ports/x86_64-unknown-freebsd11.0/jpegoptim/1.4.4/share/man/man1/jpegoptim.1 +186 -0
- data/ports/x86_64-unknown-freebsd11.0/lcms2/2.8/bin/linkicc +0 -0
- data/ports/x86_64-unknown-freebsd11.0/lcms2/2.8/bin/psicc +0 -0
- data/ports/x86_64-unknown-freebsd11.0/lcms2/2.8/bin/transicc +0 -0
- data/ports/x86_64-unknown-freebsd11.0/lcms2/2.8/include/lcms2.h +1903 -0
- data/ports/x86_64-unknown-freebsd11.0/lcms2/2.8/include/lcms2_plugin.h +665 -0
- data/ports/x86_64-unknown-freebsd11.0/lcms2/2.8/lib/liblcms2.a +0 -0
- data/ports/x86_64-unknown-freebsd11.0/lcms2/2.8/lib/liblcms2.la +41 -0
- data/ports/x86_64-unknown-freebsd11.0/lcms2/2.8/lib/pkgconfig/lcms2.pc +11 -0
- data/ports/x86_64-unknown-freebsd11.0/lcms2/2.8/share/man/man1/jpgicc.1 +122 -0
- data/ports/x86_64-unknown-freebsd11.0/lcms2/2.8/share/man/man1/tificc.1 +117 -0
- data/ports/x86_64-unknown-freebsd11.0/libpng/1.6.26/include/libpng16/png.h +3266 -0
- data/ports/x86_64-unknown-freebsd11.0/libpng/1.6.26/include/libpng16/pngconf.h +622 -0
- data/ports/x86_64-unknown-freebsd11.0/libpng/1.6.26/include/libpng16/pnglibconf.h +213 -0
- data/ports/x86_64-unknown-freebsd11.0/libpng/1.6.26/include/png.h +1 -0
- data/ports/x86_64-unknown-freebsd11.0/libpng/1.6.26/include/pngconf.h +1 -0
- data/ports/x86_64-unknown-freebsd11.0/libpng/1.6.26/include/pnglibconf.h +1 -0
- data/ports/x86_64-unknown-freebsd11.0/libpng/1.6.26/lib/libpng.a +1 -0
- data/ports/x86_64-unknown-freebsd11.0/libpng/1.6.26/lib/libpng.la +1 -0
- data/ports/x86_64-unknown-freebsd11.0/libpng/1.6.26/lib/libpng16.a +0 -0
- data/ports/x86_64-unknown-freebsd11.0/libpng/1.6.26/lib/libpng16.la +41 -0
- data/ports/x86_64-unknown-freebsd11.0/libpng/1.6.26/lib/pkgconfig/libpng16.pc +11 -0
- data/ports/x86_64-unknown-freebsd11.0/libpng/1.6.26/share/man/man3/libpng.3 +6179 -0
- data/ports/x86_64-unknown-freebsd11.0/libpng/1.6.26/share/man/man3/libpngpf.3 +18 -0
- data/ports/x86_64-unknown-freebsd11.0/libpng/1.6.26/share/man/man5/png.5 +74 -0
- data/ports/x86_64-unknown-freebsd11.0/mozjpeg/3.1/bin/cjpeg +0 -0
- data/ports/x86_64-unknown-freebsd11.0/mozjpeg/3.1/bin/djpeg +0 -0
- data/ports/x86_64-unknown-freebsd11.0/mozjpeg/3.1/bin/jpegtran +0 -0
- data/ports/x86_64-unknown-freebsd11.0/mozjpeg/3.1/bin/rdjpgcom +0 -0
- data/ports/x86_64-unknown-freebsd11.0/mozjpeg/3.1/bin/tjbench +0 -0
- data/ports/x86_64-unknown-freebsd11.0/mozjpeg/3.1/bin/wrjpgcom +0 -0
- data/ports/x86_64-unknown-freebsd11.0/mozjpeg/3.1/include/jconfig.h +71 -0
- data/ports/x86_64-unknown-freebsd11.0/mozjpeg/3.1/include/jerror.h +320 -0
- data/ports/x86_64-unknown-freebsd11.0/mozjpeg/3.1/include/jmorecfg.h +390 -0
- data/ports/x86_64-unknown-freebsd11.0/mozjpeg/3.1/include/jpeglib.h +1185 -0
- data/ports/x86_64-unknown-freebsd11.0/mozjpeg/3.1/include/turbojpeg.h +1538 -0
- data/ports/x86_64-unknown-freebsd11.0/mozjpeg/3.1/lib/libjpeg.a +0 -0
- data/ports/x86_64-unknown-freebsd11.0/mozjpeg/3.1/lib/libjpeg.la +41 -0
- data/ports/x86_64-unknown-freebsd11.0/mozjpeg/3.1/lib/libturbojpeg.a +0 -0
- data/ports/x86_64-unknown-freebsd11.0/mozjpeg/3.1/lib/libturbojpeg.la +41 -0
- data/ports/x86_64-unknown-freebsd11.0/mozjpeg/3.1/share/doc/README +281 -0
- data/ports/x86_64-unknown-freebsd11.0/mozjpeg/3.1/share/doc/README-mozilla.txt +194 -0
- data/ports/x86_64-unknown-freebsd11.0/mozjpeg/3.1/share/doc/README-turbo.txt +363 -0
- data/ports/x86_64-unknown-freebsd11.0/mozjpeg/3.1/share/doc/example.c +433 -0
- data/ports/x86_64-unknown-freebsd11.0/mozjpeg/3.1/share/doc/libjpeg.txt +3015 -0
- data/ports/x86_64-unknown-freebsd11.0/mozjpeg/3.1/share/doc/structure.txt +906 -0
- data/ports/x86_64-unknown-freebsd11.0/mozjpeg/3.1/share/doc/usage.txt +649 -0
- data/ports/x86_64-unknown-freebsd11.0/mozjpeg/3.1/share/doc/wizard.txt +211 -0
- data/ports/x86_64-unknown-freebsd11.0/mozjpeg/3.1/share/man/man1/cjpeg.1 +352 -0
- data/ports/x86_64-unknown-freebsd11.0/mozjpeg/3.1/share/man/man1/djpeg.1 +278 -0
- data/ports/x86_64-unknown-freebsd11.0/mozjpeg/3.1/share/man/man1/jpegtran.1 +269 -0
- data/ports/x86_64-unknown-freebsd11.0/mozjpeg/3.1/share/man/man1/rdjpgcom.1 +63 -0
- data/ports/x86_64-unknown-freebsd11.0/mozjpeg/3.1/share/man/man1/wrjpgcom.1 +103 -0
- data/ports/x86_64-unknown-freebsd11.0/nasm/2.12.02/bin/nasm +0 -0
- data/ports/x86_64-unknown-freebsd11.0/nasm/2.12.02/bin/ndisasm +0 -0
- data/ports/x86_64-unknown-freebsd11.0/nasm/2.12.02/share/man/man1/nasm.1 +429 -0
- data/ports/x86_64-unknown-freebsd11.0/nasm/2.12.02/share/man/man1/ndisasm.1 +120 -0
- data/ports/x86_64-unknown-freebsd11.0/optipng/0.7.6/bin/optipng +0 -0
- data/ports/x86_64-unknown-freebsd11.0/optipng/0.7.6/man/man1/optipng.1 +343 -0
- data/ports/x86_64-unknown-freebsd11.0/pngcrush/1.8.10/bin/pngcrush +0 -0
- data/ports/x86_64-unknown-freebsd11.0/pngquant/2.8.0/bin/pngquant +0 -0
- data/ports/x86_64-unknown-freebsd11.0/pngquant/2.8.0/share/man/man1/pngquant.1 +127 -0
- data/ports/x86_64-unknown-freebsd11.0/zlib/1.2.8/include/zconf.h +511 -0
- data/ports/x86_64-unknown-freebsd11.0/zlib/1.2.8/include/zlib.h +1768 -0
- data/ports/x86_64-unknown-freebsd11.0/zlib/1.2.8/lib/libz.a +0 -0
- data/ports/x86_64-unknown-freebsd11.0/zlib/1.2.8/lib/pkgconfig/zlib.pc +13 -0
- data/ports/x86_64-unknown-freebsd11.0/zlib/1.2.8/share/man/man3/zlib.3 +151 -0
- data/ports/zlib-1.2.8-x86_64-unknown-freebsd11.0.installed +0 -0
- data.tar.gz.sig +0 -0
- metadata +251 -0
- metadata.gz.sig +0 -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
|
Binary file
|