Mercurial > repos > rliterman > csp2
comparison CSP2/CSP2_env/env-d9b9114564458d9d-741b3de822f2aaca6c6caa4325c4afce/share/man/man1/cjpeg.1 @ 68:5028fdace37b
planemo upload commit 2e9511a184a1ca667c7be0c6321a36dc4e3d116d
author | jpayne |
---|---|
date | Tue, 18 Mar 2025 16:23:26 -0400 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
67:0e9998148a16 | 68:5028fdace37b |
---|---|
1 .TH CJPEG 1 "28 April 2019" | |
2 .SH NAME | |
3 cjpeg \- compress an image file to a JPEG file | |
4 .SH SYNOPSIS | |
5 .B cjpeg | |
6 [ | |
7 .I options | |
8 ] | |
9 [ | |
10 .I filename | |
11 ] | |
12 .LP | |
13 .SH DESCRIPTION | |
14 .LP | |
15 .B cjpeg | |
16 compresses the named image file, or the standard input if no file is | |
17 named, and produces a JPEG/JFIF file on the standard output. | |
18 The currently supported input file formats are: PPM (PBMPLUS color | |
19 format), PGM (PBMPLUS grayscale format), BMP, GIF, Targa, and RLE (Utah Raster | |
20 Toolkit format). (RLE is supported only if the URT library is available, | |
21 which it isn't on most non-Unix systems.) | |
22 .SH OPTIONS | |
23 All switch names may be abbreviated; for example, | |
24 .B \-grayscale | |
25 may be written | |
26 .B \-gray | |
27 or | |
28 .BR \-gr . | |
29 Most of the "basic" switches can be abbreviated to as little as one letter. | |
30 Upper and lower case are equivalent (thus | |
31 .B \-BMP | |
32 is the same as | |
33 .BR \-bmp ). | |
34 British spellings are also accepted (e.g., | |
35 .BR \-greyscale ), | |
36 though for brevity these are not mentioned below. | |
37 .PP | |
38 The basic switches are: | |
39 .TP | |
40 .BI \-quality " N[,...]" | |
41 Scale quantization tables to adjust image quality. Quality is 0 (worst) to | |
42 100 (best); default is 75. (See below for more info.) | |
43 .TP | |
44 .B \-grayscale | |
45 Create monochrome JPEG file from color input. Be sure to use this switch when | |
46 compressing a grayscale BMP or GIF file, because | |
47 .B cjpeg | |
48 isn't bright enough to notice whether a BMP or GIF file uses only shades of | |
49 gray. By saying | |
50 .BR \-grayscale , | |
51 you'll get a smaller JPEG file that takes less time to process. | |
52 .TP | |
53 .B \-rgb | |
54 Create RGB JPEG file. | |
55 Using this switch suppresses the conversion from RGB | |
56 colorspace input to the default YCbCr JPEG colorspace. | |
57 You can use this switch in combination with the | |
58 .BI \-block " N" | |
59 switch (see below) for lossless JPEG coding. | |
60 See also the | |
61 .B \-rgb1 | |
62 switch below. | |
63 .TP | |
64 .B \-optimize | |
65 Perform optimization of entropy encoding parameters. Without this, default | |
66 encoding parameters are used. | |
67 .B \-optimize | |
68 usually makes the JPEG file a little smaller, but | |
69 .B cjpeg | |
70 runs somewhat slower and needs much more memory. Image quality and speed of | |
71 decompression are unaffected by | |
72 .BR \-optimize . | |
73 .TP | |
74 .B \-progressive | |
75 Create progressive JPEG file (see below). | |
76 .TP | |
77 .BI \-scale " M/N" | |
78 Scale the output image by a factor M/N. Currently supported scale factors are | |
79 M/N with all N from 1 to 16, where M is the destination DCT size, which is 8 | |
80 by default (see | |
81 .BI \-block " N" | |
82 switch below). | |
83 .TP | |
84 .B \-targa | |
85 Input file is Targa format. Targa files that contain an "identification" | |
86 field will not be automatically recognized by | |
87 .BR cjpeg ; | |
88 for such files you must specify | |
89 .B \-targa | |
90 to make | |
91 .B cjpeg | |
92 treat the input as Targa format. | |
93 For most Targa files, you won't need this switch. | |
94 .PP | |
95 The | |
96 .B \-quality | |
97 switch lets you trade off compressed file size against quality of the | |
98 reconstructed image: the higher the quality setting, the larger the JPEG file, | |
99 and the closer the output image will be to the original input. Normally you | |
100 want to use the lowest quality setting (smallest file) that decompresses into | |
101 something visually indistinguishable from the original image. For this | |
102 purpose the quality setting should be between 50 and 95; the default of 75 is | |
103 often about right. If you see defects at | |
104 .B \-quality | |
105 75, then go up 5 or 10 counts at a time until you are happy with the output | |
106 image. (The optimal setting will vary from one image to another.) | |
107 .PP | |
108 .B \-quality | |
109 100 will generate a quantization table of all 1's, minimizing loss in the | |
110 quantization step (but there is still information loss in subsampling, as well | |
111 as roundoff error). This setting is mainly of interest for experimental | |
112 purposes. Quality values above about 95 are | |
113 .B not | |
114 recommended for normal use; the compressed file size goes up dramatically for | |
115 hardly any gain in output image quality. | |
116 .PP | |
117 In the other direction, quality values below 50 will produce very small files | |
118 of low image quality. Settings around 5 to 10 might be useful in preparing an | |
119 index of a large image library, for example. Try | |
120 .B \-quality | |
121 2 (or so) for some amusing Cubist effects. (Note: quality | |
122 values below about 25 generate 2-byte quantization tables, which are | |
123 considered optional in the JPEG standard. | |
124 .B cjpeg | |
125 emits a warning message when you give such a quality value, because some | |
126 other JPEG programs may be unable to decode the resulting file. Use | |
127 .B \-baseline | |
128 if you need to ensure compatibility at low quality values.) | |
129 .PP | |
130 The | |
131 .B \-quality | |
132 option has been extended in IJG version 7 for support of separate quality | |
133 settings for luminance and chrominance (or in general, for every provided | |
134 quantization table slot). This feature is useful for high-quality | |
135 applications which cannot accept the damage of color data by coarse | |
136 subsampling settings. You can now easily reduce the color data amount more | |
137 smoothly with finer control without separate subsampling. The resulting file | |
138 is fully compliant with standard JPEG decoders. | |
139 Note that the | |
140 .B \-quality | |
141 ratings refer to the quantization table slots, and that the last value is | |
142 replicated if there are more q-table slots than parameters. The default | |
143 q-table slots are 0 for luminance and 1 for chrominance with default tables as | |
144 given in the JPEG standard. This is compatible with the old behaviour in case | |
145 that only one parameter is given, which is then used for both luminance and | |
146 chrominance (slots 0 and 1). More or custom quantization tables can be set | |
147 with | |
148 .B \-qtables | |
149 and assigned to components with | |
150 .B \-qslots | |
151 parameter (see the "wizard" switches below). | |
152 .B Caution: | |
153 You must explicitly add | |
154 .BI \-sample " 1x1" | |
155 for efficient separate color | |
156 quality selection, since the default value used by library is 2x2! | |
157 .PP | |
158 The | |
159 .B \-progressive | |
160 switch creates a "progressive JPEG" file. In this type of JPEG file, the data | |
161 is stored in multiple scans of increasing quality. If the file is being | |
162 transmitted over a slow communications link, the decoder can use the first | |
163 scan to display a low-quality image very quickly, and can then improve the | |
164 display with each subsequent scan. The final image is exactly equivalent to a | |
165 standard JPEG file of the same quality setting, and the total file size is | |
166 about the same --- often a little smaller. | |
167 .PP | |
168 Switches for advanced users: | |
169 .TP | |
170 .B \-arithmetic | |
171 Use arithmetic coding. | |
172 .B Caution: | |
173 arithmetic coded JPEG is not yet widely implemented, so many decoders will | |
174 be unable to view an arithmetic coded JPEG file at all. | |
175 .TP | |
176 .BI \-block " N" | |
177 Set DCT block size. All N from 1 to 16 are possible. | |
178 Default is 8 (baseline format). | |
179 Larger values produce higher compression, | |
180 smaller values produce higher quality | |
181 (exact DCT stage possible with 1 or 2; with the default quality of 75 and | |
182 default Luminance qtable the DCT+Quantization stage is lossless for N=1). | |
183 .B Caution: | |
184 An implementation of the JPEG SmartScale extension is required for this | |
185 feature. SmartScale enabled JPEG is not yet widely implemented, so many | |
186 decoders will be unable to view a SmartScale extended JPEG file at all. | |
187 .TP | |
188 .B \-rgb1 | |
189 Create RGB JPEG file with reversible color transform. | |
190 Works like the | |
191 .B \-rgb | |
192 switch (see above) and inserts a simple reversible color transform | |
193 into the processing which significantly improves the compression. | |
194 Use this switch in combination with the | |
195 .BI \-block " N" | |
196 switch (see above) for lossless JPEG coding. | |
197 .B Caution: | |
198 A decoder with inverse color transform support is required for | |
199 this feature. Reversible color transform support is not yet | |
200 widely implemented, so many decoders will be unable to view | |
201 a reversible color transformed JPEG file at all. | |
202 .TP | |
203 .B \-bgycc | |
204 Create big gamut YCC JPEG file. | |
205 In this type of encoding the color difference components are quantized | |
206 further by a factor of 2 compared to the normal Cb/Cr values, thus creating | |
207 space to allow larger color values with higher saturation than the normal | |
208 gamut limits to be encoded. In order to compensate for the loss of color | |
209 fidelity compared to a normal YCC encoded file, the color quantization | |
210 tables can be adjusted accordingly. For example, | |
211 .B cjpeg \-bgycc \-quality | |
212 80,90 will give similar results as | |
213 .B cjpeg \-quality | |
214 80. | |
215 .B Caution: | |
216 For correct decompression a decoder with big gamut YCC support (JFIF | |
217 version 2) is required. An old decoder may or may not display a big | |
218 gamut YCC encoded JPEG file, depending on JFIF version check and | |
219 corresponding warning/error configuration. In case of a granted | |
220 decompression the old decoder will display the image with half | |
221 saturated colors. | |
222 .TP | |
223 .B \-dct int | |
224 Use integer DCT method (default). | |
225 .TP | |
226 .B \-dct fast | |
227 Use fast integer DCT (less accurate). | |
228 .TP | |
229 .B \-dct float | |
230 Use floating-point DCT method. | |
231 The float method is very slightly more accurate than the int method, but is | |
232 much slower unless your machine has very fast floating-point hardware. Also | |
233 note that results of the floating-point method may vary slightly across | |
234 machines, while the integer methods should give the same results everywhere. | |
235 The fast integer method is much less accurate than the other two. | |
236 .TP | |
237 .B \-nosmooth | |
238 Don't use high-quality downsampling. | |
239 .TP | |
240 .BI \-restart " N" | |
241 Emit a JPEG restart marker every N MCU rows, or every N MCU blocks if "B" is | |
242 attached to the number. | |
243 .B \-restart 0 | |
244 (the default) means no restart markers. | |
245 .TP | |
246 .BI \-smooth " N" | |
247 Smooth the input image to eliminate dithering noise. N, ranging from 1 to | |
248 100, indicates the strength of smoothing. 0 (the default) means no smoothing. | |
249 .TP | |
250 .BI \-maxmemory " N" | |
251 Set limit for amount of memory to use in processing large images. Value is | |
252 in thousands of bytes, or millions of bytes if "M" is attached to the | |
253 number. For example, | |
254 .B \-max 4m | |
255 selects 4000000 bytes. If more space is needed, temporary files will be used. | |
256 .TP | |
257 .BI \-outfile " name" | |
258 Send output image to the named file, not to standard output. | |
259 .TP | |
260 .B \-verbose | |
261 Enable debug printout. More | |
262 .BR \-v 's | |
263 give more output. Also, version information is printed at startup. | |
264 .TP | |
265 .B \-debug | |
266 Same as | |
267 .BR \-verbose . | |
268 .PP | |
269 The | |
270 .B \-restart | |
271 option inserts extra markers that allow a JPEG decoder to resynchronize after | |
272 a transmission error. Without restart markers, any damage to a compressed | |
273 file will usually ruin the image from the point of the error to the end of the | |
274 image; with restart markers, the damage is usually confined to the portion of | |
275 the image up to the next restart marker. Of course, the restart markers | |
276 occupy extra space. We recommend | |
277 .B \-restart 1 | |
278 for images that will be transmitted across unreliable networks such as Usenet. | |
279 .PP | |
280 The | |
281 .B \-smooth | |
282 option filters the input to eliminate fine-scale noise. This is often useful | |
283 when converting dithered images to JPEG: a moderate smoothing factor of 10 to | |
284 50 gets rid of dithering patterns in the input file, resulting in a smaller | |
285 JPEG file and a better-looking image. Too large a smoothing factor will | |
286 visibly blur the image, however. | |
287 .PP | |
288 Switches for wizards: | |
289 .TP | |
290 .B \-baseline | |
291 Force baseline-compatible quantization tables to be generated. This clamps | |
292 quantization values to 8 bits even at low quality settings. (This switch is | |
293 poorly named, since it does not ensure that the output is actually baseline | |
294 JPEG. For example, you can use | |
295 .B \-baseline | |
296 and | |
297 .B \-progressive | |
298 together.) | |
299 .TP | |
300 .BI \-qtables " file" | |
301 Use the quantization tables given in the specified text file. | |
302 .TP | |
303 .BI \-qslots " N[,...]" | |
304 Select which quantization table to use for each color component. | |
305 .TP | |
306 .BI \-sample " HxV[,...]" | |
307 Set JPEG sampling factors for each color component. | |
308 .TP | |
309 .BI \-scans " file" | |
310 Use the scan script given in the specified text file. | |
311 .PP | |
312 The "wizard" switches are intended for experimentation with JPEG. If you | |
313 don't know what you are doing, \fBdon't use them\fR. These switches are | |
314 documented further in the file wizard.txt. | |
315 .SH EXAMPLES | |
316 .LP | |
317 This example compresses the PPM file foo.ppm with a quality factor of | |
318 60 and saves the output as foo.jpg: | |
319 .IP | |
320 .B cjpeg \-quality | |
321 .I 60 foo.ppm | |
322 .B > | |
323 .I foo.jpg | |
324 .SH HINTS | |
325 Color GIF files are not the ideal input for JPEG; JPEG is really intended for | |
326 compressing full-color (24-bit) images. In particular, don't try to convert | |
327 cartoons, line drawings, and other images that have only a few distinct | |
328 colors. GIF works great on these, JPEG does not. If you want to convert a | |
329 GIF to JPEG, you should experiment with | |
330 .BR cjpeg 's | |
331 .B \-quality | |
332 and | |
333 .B \-smooth | |
334 options to get a satisfactory conversion. | |
335 .B \-smooth 10 | |
336 or so is often helpful. | |
337 .PP | |
338 Avoid running an image through a series of JPEG compression/decompression | |
339 cycles. Image quality loss will accumulate; after ten or so cycles the image | |
340 may be noticeably worse than it was after one cycle. It's best to use a | |
341 lossless format while manipulating an image, then convert to JPEG format when | |
342 you are ready to file the image away. | |
343 .PP | |
344 The | |
345 .B \-optimize | |
346 option to | |
347 .B cjpeg | |
348 is worth using when you are making a "final" version for posting or archiving. | |
349 It's also a win when you are using low quality settings to make very small | |
350 JPEG files; the percentage improvement is often a lot more than it is on | |
351 larger files. (At present, | |
352 .B \-optimize | |
353 mode is always selected when generating progressive JPEG files.) | |
354 .SH ENVIRONMENT | |
355 .TP | |
356 .B JPEGMEM | |
357 If this environment variable is set, its value is the default memory limit. | |
358 The value is specified as described for the | |
359 .B \-maxmemory | |
360 switch. | |
361 .B JPEGMEM | |
362 overrides the default value specified when the program was compiled, and | |
363 itself is overridden by an explicit | |
364 .BR \-maxmemory . | |
365 .SH SEE ALSO | |
366 .BR djpeg (1), | |
367 .BR jpegtran (1), | |
368 .BR rdjpgcom (1), | |
369 .BR wrjpgcom (1) | |
370 .br | |
371 .BR ppm (5), | |
372 .BR pgm (5) | |
373 .br | |
374 Wallace, Gregory K. "The JPEG Still Picture Compression Standard", | |
375 Communications of the ACM, April 1991 (vol. 34, no. 4), pp. 30-44. | |
376 .SH AUTHOR | |
377 Independent JPEG Group | |
378 .SH BUGS | |
379 Not all variants of BMP and Targa file formats are supported. | |
380 .PP | |
381 The | |
382 .B \-targa | |
383 switch is not a bug, it's a feature. (It would be a bug if the Targa format | |
384 designers had not been clueless.) |