diff options
Diffstat (limited to 'libraries/irrlicht-1.8/source/Irrlicht/jpeglib/jpegtran.1')
-rw-r--r-- | libraries/irrlicht-1.8/source/Irrlicht/jpeglib/jpegtran.1 | 285 |
1 files changed, 285 insertions, 0 deletions
diff --git a/libraries/irrlicht-1.8/source/Irrlicht/jpeglib/jpegtran.1 b/libraries/irrlicht-1.8/source/Irrlicht/jpeglib/jpegtran.1 new file mode 100644 index 0000000..c377053 --- /dev/null +++ b/libraries/irrlicht-1.8/source/Irrlicht/jpeglib/jpegtran.1 | |||
@@ -0,0 +1,285 @@ | |||
1 | .TH JPEGTRAN 1 "28 December 2009" | ||
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 | .IP | ||
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 | .IP | ||
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 | .IP | ||
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 | .IP | ||
137 | If you are only interested in perfect transformation, add the | ||
138 | .B \-perfect | ||
139 | switch: | ||
140 | .TP | ||
141 | .B \-perfect | ||
142 | Fails 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 | .PP | ||
154 | We also offer a lossless-crop option, which discards data outside a given | ||
155 | image region but losslessly preserves what is inside. Like the rotate and | ||
156 | flip transforms, lossless crop is restricted by the current JPEG format: the | ||
157 | upper left corner of the selected region must fall on an iMCU boundary. If | ||
158 | this does not hold for the given crop parameters, we silently move the upper | ||
159 | left corner up and/or left to make it so, simultaneously increasing the region | ||
160 | dimensions to keep the lower right crop corner unchanged. (Thus, the output | ||
161 | image covers at least the requested region, but may cover more.) | ||
162 | |||
163 | The image can be losslessly cropped by giving the switch: | ||
164 | .TP | ||
165 | .B \-crop WxH+X+Y | ||
166 | Crop to a rectangular subarea of width W, height H starting at point X,Y. | ||
167 | .PP | ||
168 | Other not-strictly-lossless transformation switches are: | ||
169 | .TP | ||
170 | .B \-grayscale | ||
171 | Force grayscale output. | ||
172 | .IP | ||
173 | This option discards the chrominance channels if the input image is YCbCr | ||
174 | (ie, a standard color JPEG), resulting in a grayscale JPEG file. The | ||
175 | luminance channel is preserved exactly, so this is a better method of reducing | ||
176 | to grayscale than decompression, conversion, and recompression. This switch | ||
177 | is particularly handy for fixing a monochrome picture that was mistakenly | ||
178 | encoded as a color JPEG. (In such a case, the space savings from getting rid | ||
179 | of the near-empty chroma channels won't be large; but the decoding time for | ||
180 | a grayscale JPEG is substantially less than that for a color JPEG.) | ||
181 | .TP | ||
182 | .BI \-scale " M/N" | ||
183 | Scale the output image by a factor M/N. | ||
184 | .IP | ||
185 | Currently supported scale factors are M/N with all M from 1 to 16, where N is | ||
186 | the source DCT size, which is 8 for baseline JPEG. If the /N part is omitted, | ||
187 | then M specifies the DCT scaled size to be applied on the given input. For | ||
188 | baseline JPEG this is equivalent to M/8 scaling, since the source DCT size | ||
189 | for baseline JPEG is 8. | ||
190 | .B Caution: | ||
191 | An implementation of the JPEG SmartScale extension is required for this | ||
192 | feature. SmartScale enabled JPEG is not yet widely implemented, so many | ||
193 | decoders will be unable to view a SmartScale extended JPEG file at all. | ||
194 | .PP | ||
195 | .B jpegtran | ||
196 | also recognizes these switches that control what to do with "extra" markers, | ||
197 | such as comment blocks: | ||
198 | .TP | ||
199 | .B \-copy none | ||
200 | Copy no extra markers from source file. This setting suppresses all | ||
201 | comments and other excess baggage present in the source file. | ||
202 | .TP | ||
203 | .B \-copy comments | ||
204 | Copy only comment markers. This setting copies comments from the source file, | ||
205 | but discards any other inessential (for image display) data. | ||
206 | .TP | ||
207 | .B \-copy all | ||
208 | Copy all extra markers. This setting preserves miscellaneous markers | ||
209 | found in the source file, such as JFIF thumbnails, Exif data, and Photoshop | ||
210 | settings. In some files these extra markers can be sizable. | ||
211 | .IP | ||
212 | The default behavior is | ||
213 | .BR "\-copy comments" . | ||
214 | (Note: in IJG releases v6 and v6a, | ||
215 | .B jpegtran | ||
216 | always did the equivalent of | ||
217 | .BR "\-copy none" .) | ||
218 | .PP | ||
219 | Additional switches recognized by jpegtran are: | ||
220 | .TP | ||
221 | .BI \-maxmemory " N" | ||
222 | Set limit for amount of memory to use in processing large images. Value is | ||
223 | in thousands of bytes, or millions of bytes if "M" is attached to the | ||
224 | number. For example, | ||
225 | .B \-max 4m | ||
226 | selects 4000000 bytes. If more space is needed, temporary files will be used. | ||
227 | .TP | ||
228 | .BI \-outfile " name" | ||
229 | Send output image to the named file, not to standard output. | ||
230 | .TP | ||
231 | .B \-verbose | ||
232 | Enable debug printout. More | ||
233 | .BR \-v 's | ||
234 | give more output. Also, version information is printed at startup. | ||
235 | .TP | ||
236 | .B \-debug | ||
237 | Same as | ||
238 | .BR \-verbose . | ||
239 | .SH EXAMPLES | ||
240 | .LP | ||
241 | This example converts a baseline JPEG file to progressive form: | ||
242 | .IP | ||
243 | .B jpegtran \-progressive | ||
244 | .I foo.jpg | ||
245 | .B > | ||
246 | .I fooprog.jpg | ||
247 | .PP | ||
248 | This example rotates an image 90 degrees clockwise, discarding any | ||
249 | unrotatable edge pixels: | ||
250 | .IP | ||
251 | .B jpegtran \-rot 90 -trim | ||
252 | .I foo.jpg | ||
253 | .B > | ||
254 | .I foo90.jpg | ||
255 | .SH ENVIRONMENT | ||
256 | .TP | ||
257 | .B JPEGMEM | ||
258 | If this environment variable is set, its value is the default memory limit. | ||
259 | The value is specified as described for the | ||
260 | .B \-maxmemory | ||
261 | switch. | ||
262 | .B JPEGMEM | ||
263 | overrides the default value specified when the program was compiled, and | ||
264 | itself is overridden by an explicit | ||
265 | .BR \-maxmemory . | ||
266 | .SH SEE ALSO | ||
267 | .BR cjpeg (1), | ||
268 | .BR djpeg (1), | ||
269 | .BR rdjpgcom (1), | ||
270 | .BR wrjpgcom (1) | ||
271 | .br | ||
272 | Wallace, Gregory K. "The JPEG Still Picture Compression Standard", | ||
273 | Communications of the ACM, April 1991 (vol. 34, no. 4), pp. 30-44. | ||
274 | .SH AUTHOR | ||
275 | Independent JPEG Group | ||
276 | .SH BUGS | ||
277 | The transform options can't transform odd-size images perfectly. Use | ||
278 | .B \-trim | ||
279 | or | ||
280 | .B \-perfect | ||
281 | if you don't like the results. | ||
282 | .PP | ||
283 | The entire image is read into memory and then written out again, even in | ||
284 | cases where this isn't really necessary. Expect swapping on large images, | ||
285 | especially when using the more complex transform options. | ||