entangledstate-isbn 1.4.0 → 1.4.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (290) hide show
  1. data/README +1 -1
  2. data/Rakefile +0 -18
  3. data/VERSION +1 -0
  4. data/isbn.gemspec +290 -7
  5. data/lib/isbn.rb +6 -6
  6. data/src/gocr-0.48/.cvsignore +6 -0
  7. data/src/gocr-0.48/AUTHORS +7 -0
  8. data/src/gocr-0.48/BUGS +55 -0
  9. data/src/gocr-0.48/CREDITS +17 -0
  10. data/src/gocr-0.48/HISTORY +243 -0
  11. data/src/gocr-0.48/INSTALL +83 -0
  12. data/src/gocr-0.48/Makefile +193 -0
  13. data/src/gocr-0.48/Makefile.in +193 -0
  14. data/src/gocr-0.48/README +165 -0
  15. data/src/gocr-0.48/READMEde.txt +80 -0
  16. data/src/gocr-0.48/REMARK.txt +18 -0
  17. data/src/gocr-0.48/REVIEW +538 -0
  18. data/src/gocr-0.48/TODO +65 -0
  19. data/src/gocr-0.48/bin/.cvsignore +2 -0
  20. data/src/gocr-0.48/bin/create_db +38 -0
  21. data/src/gocr-0.48/bin/gocr.tcl +527 -0
  22. data/src/gocr-0.48/bin/gocr_chk.sh +44 -0
  23. data/src/gocr-0.48/configure +4689 -0
  24. data/src/gocr-0.48/configure.in +71 -0
  25. data/src/gocr-0.48/doc/.#Makefile.1.6 +39 -0
  26. data/src/gocr-0.48/doc/.cvsignore +2 -0
  27. data/src/gocr-0.48/doc/Makefile +39 -0
  28. data/src/gocr-0.48/doc/Makefile.in +39 -0
  29. data/src/gocr-0.48/doc/example.dtd +53 -0
  30. data/src/gocr-0.48/doc/example.xml +21 -0
  31. data/src/gocr-0.48/doc/examples.txt +67 -0
  32. data/src/gocr-0.48/doc/gocr.html +578 -0
  33. data/src/gocr-0.48/doc/unicode.txt +57 -0
  34. data/src/gocr-0.48/examples/.#Makefile.1.22 +166 -0
  35. data/src/gocr-0.48/examples/4x6.png +0 -0
  36. data/src/gocr-0.48/examples/4x6.txt +2 -0
  37. data/src/gocr-0.48/examples/5x7.png +0 -0
  38. data/src/gocr-0.48/examples/5x7.png.txt +2 -0
  39. data/src/gocr-0.48/examples/5x8.png +0 -0
  40. data/src/gocr-0.48/examples/5x8.png.txt +2 -0
  41. data/src/gocr-0.48/examples/Makefile +166 -0
  42. data/src/gocr-0.48/examples/color.fig +20 -0
  43. data/src/gocr-0.48/examples/ex.fig +16 -0
  44. data/src/gocr-0.48/examples/font.tex +22 -0
  45. data/src/gocr-0.48/examples/font1.tex +46 -0
  46. data/src/gocr-0.48/examples/font2.fig +27 -0
  47. data/src/gocr-0.48/examples/font_nw.tex +24 -0
  48. data/src/gocr-0.48/examples/handwrt1.jpg +0 -0
  49. data/src/gocr-0.48/examples/handwrt1.txt +10 -0
  50. data/src/gocr-0.48/examples/inverse.fig +20 -0
  51. data/src/gocr-0.48/examples/matrix.jpg +0 -0
  52. data/src/gocr-0.48/examples/ocr-a-subset.png +0 -0
  53. data/src/gocr-0.48/examples/ocr-a-subset.png.txt +4 -0
  54. data/src/gocr-0.48/examples/ocr-a.png +0 -0
  55. data/src/gocr-0.48/examples/ocr-a.txt +6 -0
  56. data/src/gocr-0.48/examples/ocr-b.png +0 -0
  57. data/src/gocr-0.48/examples/ocr-b.png.txt +4 -0
  58. data/src/gocr-0.48/examples/polish.tex +28 -0
  59. data/src/gocr-0.48/examples/rotate45.fig +14 -0
  60. data/src/gocr-0.48/examples/score +36 -0
  61. data/src/gocr-0.48/examples/text.tex +28 -0
  62. data/src/gocr-0.48/gocr.spec +143 -0
  63. data/src/gocr-0.48/gpl.html +537 -0
  64. data/src/gocr-0.48/include/.cvsignore +2 -0
  65. data/src/gocr-0.48/include/config.h +36 -0
  66. data/src/gocr-0.48/include/config.h.in +36 -0
  67. data/src/gocr-0.48/include/version.h +2 -0
  68. data/src/gocr-0.48/install-sh +3 -0
  69. data/src/gocr-0.48/make.bat +57 -0
  70. data/src/gocr-0.48/man/.cvsignore +2 -0
  71. data/src/gocr-0.48/man/Makefile +29 -0
  72. data/src/gocr-0.48/man/Makefile.in +29 -0
  73. data/src/gocr-0.48/man/man1/gocr.1 +166 -0
  74. data/src/gocr-0.48/src/.cvsignore +4 -0
  75. data/src/gocr-0.48/src/Makefile +132 -0
  76. data/src/gocr-0.48/src/Makefile.in +132 -0
  77. data/src/gocr-0.48/src/amiga.h +31 -0
  78. data/src/gocr-0.48/src/barcode.c +846 -0
  79. data/src/gocr-0.48/src/barcode.c.orig +593 -0
  80. data/src/gocr-0.48/src/barcode.h +11 -0
  81. data/src/gocr-0.48/src/box.c +372 -0
  82. data/src/gocr-0.48/src/database.c +462 -0
  83. data/src/gocr-0.48/src/detect.c +943 -0
  84. data/src/gocr-0.48/src/gocr.c +373 -0
  85. data/src/gocr-0.48/src/gocr.h +288 -0
  86. data/src/gocr-0.48/src/jconv.c +168 -0
  87. data/src/gocr-0.48/src/job.c +84 -0
  88. data/src/gocr-0.48/src/lines.c +350 -0
  89. data/src/gocr-0.48/src/list.c +334 -0
  90. data/src/gocr-0.48/src/list.h +90 -0
  91. data/src/gocr-0.48/src/ocr0.c +6756 -0
  92. data/src/gocr-0.48/src/ocr0.h +63 -0
  93. data/src/gocr-0.48/src/ocr0n.c +1475 -0
  94. data/src/gocr-0.48/src/ocr1.c +85 -0
  95. data/src/gocr-0.48/src/ocr1.h +3 -0
  96. data/src/gocr-0.48/src/otsu.c +289 -0
  97. data/src/gocr-0.48/src/otsu.h +23 -0
  98. data/src/gocr-0.48/src/output.c +289 -0
  99. data/src/gocr-0.48/src/output.h +37 -0
  100. data/src/gocr-0.48/src/pcx.c +153 -0
  101. data/src/gocr-0.48/src/pcx.h +9 -0
  102. data/src/gocr-0.48/src/pgm2asc.c +2893 -0
  103. data/src/gocr-0.48/src/pgm2asc.h +105 -0
  104. data/src/gocr-0.48/src/pixel.c +537 -0
  105. data/src/gocr-0.48/src/pnm.c +533 -0
  106. data/src/gocr-0.48/src/pnm.h +35 -0
  107. data/src/gocr-0.48/src/progress.c +87 -0
  108. data/src/gocr-0.48/src/progress.h +42 -0
  109. data/src/gocr-0.48/src/remove.c +703 -0
  110. data/src/gocr-0.48/src/tga.c +87 -0
  111. data/src/gocr-0.48/src/tga.h +6 -0
  112. data/src/gocr-0.48/src/unicode.c +1314 -0
  113. data/src/gocr-0.48/src/unicode.h +1257 -0
  114. data/src/jpeg-7/Makefile.am +133 -0
  115. data/src/jpeg-7/Makefile.in +1089 -0
  116. data/src/jpeg-7/README +322 -0
  117. data/src/jpeg-7/aclocal.m4 +8990 -0
  118. data/src/jpeg-7/ansi2knr.1 +36 -0
  119. data/src/jpeg-7/ansi2knr.c +739 -0
  120. data/src/jpeg-7/cderror.h +132 -0
  121. data/src/jpeg-7/cdjpeg.c +181 -0
  122. data/src/jpeg-7/cdjpeg.h +187 -0
  123. data/src/jpeg-7/change.log +270 -0
  124. data/src/jpeg-7/cjpeg.1 +325 -0
  125. data/src/jpeg-7/cjpeg.c +616 -0
  126. data/src/jpeg-7/ckconfig.c +402 -0
  127. data/src/jpeg-7/coderules.txt +118 -0
  128. data/src/jpeg-7/config.guess +1561 -0
  129. data/src/jpeg-7/config.sub +1686 -0
  130. data/src/jpeg-7/configure +17139 -0
  131. data/src/jpeg-7/configure.ac +317 -0
  132. data/src/jpeg-7/depcomp +630 -0
  133. data/src/jpeg-7/djpeg.1 +251 -0
  134. data/src/jpeg-7/djpeg.c +617 -0
  135. data/src/jpeg-7/example.c +433 -0
  136. data/src/jpeg-7/filelist.txt +215 -0
  137. data/src/jpeg-7/install-sh +520 -0
  138. data/src/jpeg-7/install.txt +1097 -0
  139. data/src/jpeg-7/jaricom.c +148 -0
  140. data/src/jpeg-7/jcapimin.c +282 -0
  141. data/src/jpeg-7/jcapistd.c +161 -0
  142. data/src/jpeg-7/jcarith.c +921 -0
  143. data/src/jpeg-7/jccoefct.c +453 -0
  144. data/src/jpeg-7/jccolor.c +459 -0
  145. data/src/jpeg-7/jcdctmgr.c +482 -0
  146. data/src/jpeg-7/jchuff.c +1612 -0
  147. data/src/jpeg-7/jcinit.c +65 -0
  148. data/src/jpeg-7/jcmainct.c +293 -0
  149. data/src/jpeg-7/jcmarker.c +667 -0
  150. data/src/jpeg-7/jcmaster.c +770 -0
  151. data/src/jpeg-7/jcomapi.c +106 -0
  152. data/src/jpeg-7/jconfig.bcc +48 -0
  153. data/src/jpeg-7/jconfig.cfg +45 -0
  154. data/src/jpeg-7/jconfig.dj +38 -0
  155. data/src/jpeg-7/jconfig.mac +43 -0
  156. data/src/jpeg-7/jconfig.manx +43 -0
  157. data/src/jpeg-7/jconfig.mc6 +52 -0
  158. data/src/jpeg-7/jconfig.sas +43 -0
  159. data/src/jpeg-7/jconfig.st +42 -0
  160. data/src/jpeg-7/jconfig.txt +155 -0
  161. data/src/jpeg-7/jconfig.vc +45 -0
  162. data/src/jpeg-7/jconfig.vms +37 -0
  163. data/src/jpeg-7/jconfig.wat +38 -0
  164. data/src/jpeg-7/jcparam.c +632 -0
  165. data/src/jpeg-7/jcprepct.c +358 -0
  166. data/src/jpeg-7/jcsample.c +545 -0
  167. data/src/jpeg-7/jctrans.c +381 -0
  168. data/src/jpeg-7/jdapimin.c +396 -0
  169. data/src/jpeg-7/jdapistd.c +275 -0
  170. data/src/jpeg-7/jdarith.c +762 -0
  171. data/src/jpeg-7/jdatadst.c +151 -0
  172. data/src/jpeg-7/jdatasrc.c +212 -0
  173. data/src/jpeg-7/jdcoefct.c +736 -0
  174. data/src/jpeg-7/jdcolor.c +396 -0
  175. data/src/jpeg-7/jdct.h +393 -0
  176. data/src/jpeg-7/jddctmgr.c +382 -0
  177. data/src/jpeg-7/jdhuff.c +1309 -0
  178. data/src/jpeg-7/jdinput.c +384 -0
  179. data/src/jpeg-7/jdmainct.c +512 -0
  180. data/src/jpeg-7/jdmarker.c +1360 -0
  181. data/src/jpeg-7/jdmaster.c +663 -0
  182. data/src/jpeg-7/jdmerge.c +400 -0
  183. data/src/jpeg-7/jdpostct.c +290 -0
  184. data/src/jpeg-7/jdsample.c +361 -0
  185. data/src/jpeg-7/jdtrans.c +136 -0
  186. data/src/jpeg-7/jerror.c +252 -0
  187. data/src/jpeg-7/jerror.h +304 -0
  188. data/src/jpeg-7/jfdctflt.c +174 -0
  189. data/src/jpeg-7/jfdctfst.c +230 -0
  190. data/src/jpeg-7/jfdctint.c +4348 -0
  191. data/src/jpeg-7/jidctflt.c +242 -0
  192. data/src/jpeg-7/jidctfst.c +368 -0
  193. data/src/jpeg-7/jidctint.c +5137 -0
  194. data/src/jpeg-7/jinclude.h +91 -0
  195. data/src/jpeg-7/jmemansi.c +167 -0
  196. data/src/jpeg-7/jmemdos.c +638 -0
  197. data/src/jpeg-7/jmemdosa.asm +379 -0
  198. data/src/jpeg-7/jmemmac.c +289 -0
  199. data/src/jpeg-7/jmemmgr.c +1118 -0
  200. data/src/jpeg-7/jmemname.c +276 -0
  201. data/src/jpeg-7/jmemnobs.c +109 -0
  202. data/src/jpeg-7/jmemsys.h +198 -0
  203. data/src/jpeg-7/jmorecfg.h +369 -0
  204. data/src/jpeg-7/jpegint.h +395 -0
  205. data/src/jpeg-7/jpeglib.h +1135 -0
  206. data/src/jpeg-7/jpegtran.1 +272 -0
  207. data/src/jpeg-7/jpegtran.c +546 -0
  208. data/src/jpeg-7/jquant1.c +856 -0
  209. data/src/jpeg-7/jquant2.c +1310 -0
  210. data/src/jpeg-7/jutils.c +179 -0
  211. data/src/jpeg-7/jversion.h +14 -0
  212. data/src/jpeg-7/libjpeg.map +4 -0
  213. data/src/jpeg-7/libjpeg.txt +3067 -0
  214. data/src/jpeg-7/ltmain.sh +8406 -0
  215. data/src/jpeg-7/makcjpeg.st +36 -0
  216. data/src/jpeg-7/makdjpeg.st +36 -0
  217. data/src/jpeg-7/makeadsw.vc6 +77 -0
  218. data/src/jpeg-7/makeasln.vc9 +33 -0
  219. data/src/jpeg-7/makecdep.vc6 +82 -0
  220. data/src/jpeg-7/makecdsp.vc6 +130 -0
  221. data/src/jpeg-7/makecmak.vc6 +159 -0
  222. data/src/jpeg-7/makecvcp.vc9 +186 -0
  223. data/src/jpeg-7/makeddep.vc6 +82 -0
  224. data/src/jpeg-7/makeddsp.vc6 +130 -0
  225. data/src/jpeg-7/makedmak.vc6 +159 -0
  226. data/src/jpeg-7/makedvcp.vc9 +186 -0
  227. data/src/jpeg-7/makefile.ansi +220 -0
  228. data/src/jpeg-7/makefile.bcc +291 -0
  229. data/src/jpeg-7/makefile.dj +226 -0
  230. data/src/jpeg-7/makefile.manx +220 -0
  231. data/src/jpeg-7/makefile.mc6 +255 -0
  232. data/src/jpeg-7/makefile.mms +224 -0
  233. data/src/jpeg-7/makefile.sas +258 -0
  234. data/src/jpeg-7/makefile.unix +234 -0
  235. data/src/jpeg-7/makefile.vc +217 -0
  236. data/src/jpeg-7/makefile.vms +142 -0
  237. data/src/jpeg-7/makefile.wat +239 -0
  238. data/src/jpeg-7/makejdep.vc6 +423 -0
  239. data/src/jpeg-7/makejdsp.vc6 +285 -0
  240. data/src/jpeg-7/makejdsw.vc6 +29 -0
  241. data/src/jpeg-7/makejmak.vc6 +425 -0
  242. data/src/jpeg-7/makejsln.vc9 +17 -0
  243. data/src/jpeg-7/makejvcp.vc9 +328 -0
  244. data/src/jpeg-7/makeproj.mac +213 -0
  245. data/src/jpeg-7/makerdep.vc6 +6 -0
  246. data/src/jpeg-7/makerdsp.vc6 +78 -0
  247. data/src/jpeg-7/makermak.vc6 +110 -0
  248. data/src/jpeg-7/makervcp.vc9 +133 -0
  249. data/src/jpeg-7/maketdep.vc6 +43 -0
  250. data/src/jpeg-7/maketdsp.vc6 +122 -0
  251. data/src/jpeg-7/maketmak.vc6 +131 -0
  252. data/src/jpeg-7/maketvcp.vc9 +178 -0
  253. data/src/jpeg-7/makewdep.vc6 +6 -0
  254. data/src/jpeg-7/makewdsp.vc6 +78 -0
  255. data/src/jpeg-7/makewmak.vc6 +110 -0
  256. data/src/jpeg-7/makewvcp.vc9 +133 -0
  257. data/src/jpeg-7/makljpeg.st +68 -0
  258. data/src/jpeg-7/maktjpeg.st +30 -0
  259. data/src/jpeg-7/makvms.opt +4 -0
  260. data/src/jpeg-7/missing +376 -0
  261. data/src/jpeg-7/rdbmp.c +439 -0
  262. data/src/jpeg-7/rdcolmap.c +253 -0
  263. data/src/jpeg-7/rdgif.c +38 -0
  264. data/src/jpeg-7/rdjpgcom.1 +63 -0
  265. data/src/jpeg-7/rdjpgcom.c +515 -0
  266. data/src/jpeg-7/rdppm.c +459 -0
  267. data/src/jpeg-7/rdrle.c +387 -0
  268. data/src/jpeg-7/rdswitch.c +365 -0
  269. data/src/jpeg-7/rdtarga.c +500 -0
  270. data/src/jpeg-7/structure.txt +945 -0
  271. data/src/jpeg-7/testimg.bmp +0 -0
  272. data/src/jpeg-7/testimg.jpg +0 -0
  273. data/src/jpeg-7/testimg.ppm +4 -0
  274. data/src/jpeg-7/testimgp.jpg +0 -0
  275. data/src/jpeg-7/testorig.jpg +0 -0
  276. data/src/jpeg-7/testprog.jpg +0 -0
  277. data/src/jpeg-7/transupp.c +1533 -0
  278. data/src/jpeg-7/transupp.h +205 -0
  279. data/src/jpeg-7/usage.txt +605 -0
  280. data/src/jpeg-7/wizard.txt +211 -0
  281. data/src/jpeg-7/wrbmp.c +442 -0
  282. data/src/jpeg-7/wrgif.c +399 -0
  283. data/src/jpeg-7/wrjpgcom.1 +103 -0
  284. data/src/jpeg-7/wrjpgcom.c +583 -0
  285. data/src/jpeg-7/wrppm.c +269 -0
  286. data/src/jpeg-7/wrrle.c +305 -0
  287. data/src/jpeg-7/wrtarga.c +253 -0
  288. metadata +287 -6
  289. data/LICENSE +0 -20
  290. data/VERSION.yml +0 -4
@@ -0,0 +1,270 @@
1
+ CHANGE LOG for Independent JPEG Group's JPEG software
2
+
3
+
4
+ Version 7 27-Jun-2009
5
+ ----------------------
6
+
7
+ New scaled DCTs implemented.
8
+ djpeg now supports scalings N/8 with all N from 1 to 16.
9
+ cjpeg now supports scalings 8/N with all N from 1 to 16.
10
+ Scaled DCTs with size larger than 8 are now also used for resolving the
11
+ common 2x2 chroma subsampling case without additional spatial resampling.
12
+ Separate spatial resampling for those kind of files is now only necessary
13
+ for N>8 scaling cases.
14
+ Furthermore, separate scaled DCT functions are provided for direct resolving
15
+ of the common asymmetric subsampling cases (2x1 and 1x2) without additional
16
+ spatial resampling.
17
+
18
+ cjpeg -quality option has been extended for support of separate quality
19
+ settings for luminance and chrominance (or in general, for every provided
20
+ quantization table slot).
21
+ New API function jpeg_default_qtables() and q_scale_factor array in library.
22
+
23
+ Added -nosmooth option to cjpeg, complementary to djpeg.
24
+ New variable "do_fancy_downsampling" in library, complement to fancy
25
+ upsampling. Fancy upsampling now uses direct DCT scaling with sizes
26
+ larger than 8. The old method is not reversible and has been removed.
27
+
28
+ Support arithmetic entropy encoding and decoding.
29
+ Added files jaricom.c, jcarith.c, jdarith.c.
30
+
31
+ Straighten the file structure:
32
+ Removed files jidctred.c, jcphuff.c, jchuff.h, jdphuff.c, jdhuff.h.
33
+
34
+ jpegtran has a new "lossless" cropping feature.
35
+
36
+ Implement -perfect option in jpegtran, new API function
37
+ jtransform_perfect_transform() in transupp. (DP 204_perfect.dpatch)
38
+
39
+ Better error messages for jpegtran fopen failure.
40
+ (DP 203_jpegtran_errmsg.dpatch)
41
+
42
+ Fix byte order issue with 16bit PPM/PGM files in rdppm.c/wrppm.c:
43
+ according to Netpbm, the de facto standard implementation of the PNM formats,
44
+ the most significant byte is first. (DP 203_rdppm.dpatch)
45
+
46
+ Add -raw option to rdjpgcom not to mangle the output.
47
+ (DP 205_rdjpgcom_raw.dpatch)
48
+
49
+ Make rdjpgcom locale aware. (DP 201_rdjpgcom_locale.dpatch)
50
+
51
+ Add extern "C" to jpeglib.h.
52
+ This avoids the need to put extern "C" { ... } around #include "jpeglib.h"
53
+ in your C++ application. Defining the symbol DONT_USE_EXTERN_C in the
54
+ configuration prevents this. (DP 202_jpeglib.h_c++.dpatch)
55
+
56
+
57
+ Version 6b 27-Mar-1998
58
+ -----------------------
59
+
60
+ jpegtran has new features for lossless image transformations (rotation
61
+ and flipping) as well as "lossless" reduction to grayscale.
62
+
63
+ jpegtran now copies comments by default; it has a -copy switch to enable
64
+ copying all APPn blocks as well, or to suppress comments. (Formerly it
65
+ always suppressed comments and APPn blocks.) jpegtran now also preserves
66
+ JFIF version and resolution information.
67
+
68
+ New decompressor library feature: COM and APPn markers found in the input
69
+ file can be saved in memory for later use by the application. (Before,
70
+ you had to code this up yourself with a custom marker processor.)
71
+
72
+ There is an unused field "void * client_data" now in compress and decompress
73
+ parameter structs; this may be useful in some applications.
74
+
75
+ JFIF version number information is now saved by the decoder and accepted by
76
+ the encoder. jpegtran uses this to copy the source file's version number,
77
+ to ensure "jpegtran -copy all" won't create bogus files that contain JFXX
78
+ extensions but claim to be version 1.01. Applications that generate their
79
+ own JFXX extension markers also (finally) have a supported way to cause the
80
+ encoder to emit JFIF version number 1.02.
81
+
82
+ djpeg's trace mode reports JFIF 1.02 thumbnail images as such, rather
83
+ than as unknown APP0 markers.
84
+
85
+ In -verbose mode, djpeg and rdjpgcom will try to print the contents of
86
+ APP12 markers as text. Some digital cameras store useful text information
87
+ in APP12 markers.
88
+
89
+ Handling of truncated data streams is more robust: blocks beyond the one in
90
+ which the error occurs will be output as uniform gray, or left unchanged
91
+ if decoding a progressive JPEG. The appearance no longer depends on the
92
+ Huffman tables being used.
93
+
94
+ Huffman tables are checked for validity much more carefully than before.
95
+
96
+ To avoid the Unisys LZW patent, djpeg's GIF output capability has been
97
+ changed to produce "uncompressed GIFs", and cjpeg's GIF input capability
98
+ has been removed altogether. We're not happy about it either, but there
99
+ seems to be no good alternative.
100
+
101
+ The configure script now supports building libjpeg as a shared library
102
+ on many flavors of Unix (all the ones that GNU libtool knows how to
103
+ build shared libraries for). Use "./configure --enable-shared" to
104
+ try this out.
105
+
106
+ New jconfig file and makefiles for Microsoft Visual C++ and Developer Studio.
107
+ Also, a jconfig file and a build script for Metrowerks CodeWarrior
108
+ on Apple Macintosh. makefile.dj has been updated for DJGPP v2, and there
109
+ are miscellaneous other minor improvements in the makefiles.
110
+
111
+ jmemmac.c now knows how to create temporary files following Mac System 7
112
+ conventions.
113
+
114
+ djpeg's -map switch is now able to read raw-format PPM files reliably.
115
+
116
+ cjpeg -progressive -restart no longer generates any unnecessary DRI markers.
117
+
118
+ Multiple calls to jpeg_simple_progression for a single JPEG object
119
+ no longer leak memory.
120
+
121
+
122
+ Version 6a 7-Feb-96
123
+ --------------------
124
+
125
+ Library initialization sequence modified to detect version mismatches
126
+ and struct field packing mismatches between library and calling application.
127
+ This change requires applications to be recompiled, but does not require
128
+ any application source code change.
129
+
130
+ All routine declarations changed to the style "GLOBAL(type) name ...",
131
+ that is, GLOBAL, LOCAL, METHODDEF, EXTERN are now macros taking the
132
+ routine's return type as an argument. This makes it possible to add
133
+ Microsoft-style linkage keywords to all the routines by changing just
134
+ these macros. Note that any application code that was using these macros
135
+ will have to be changed.
136
+
137
+ DCT coefficient quantization tables are now stored in normal array order
138
+ rather than zigzag order. Application code that calls jpeg_add_quant_table,
139
+ or otherwise manipulates quantization tables directly, will need to be
140
+ changed. If you need to make such code work with either older or newer
141
+ versions of the library, a test like "#if JPEG_LIB_VERSION >= 61" is
142
+ recommended.
143
+
144
+ djpeg's trace capability now dumps DQT tables in natural order, not zigzag
145
+ order. This allows the trace output to be made into a "-qtables" file
146
+ more easily.
147
+
148
+ New system-dependent memory manager module for use on Apple Macintosh.
149
+
150
+ Fix bug in cjpeg's -smooth option: last one or two scanlines would be
151
+ duplicates of the prior line unless the image height mod 16 was 1 or 2.
152
+
153
+ Repair minor problems in VMS, BCC, MC6 makefiles.
154
+
155
+ New configure script based on latest GNU Autoconf.
156
+
157
+ Correct the list of include files needed by MetroWerks C for ccommand().
158
+
159
+ Numerous small documentation updates.
160
+
161
+
162
+ Version 6 2-Aug-95
163
+ -------------------
164
+
165
+ Progressive JPEG support: library can read and write full progressive JPEG
166
+ files. A "buffered image" mode supports incremental decoding for on-the-fly
167
+ display of progressive images. Simply recompiling an existing IJG-v5-based
168
+ decoder with v6 should allow it to read progressive files, though of course
169
+ without any special progressive display.
170
+
171
+ New "jpegtran" application performs lossless transcoding between different
172
+ JPEG formats; primarily, it can be used to convert baseline to progressive
173
+ JPEG and vice versa. In support of jpegtran, the library now allows lossless
174
+ reading and writing of JPEG files as DCT coefficient arrays. This ability
175
+ may be of use in other applications.
176
+
177
+ Notes for programmers:
178
+ * We changed jpeg_start_decompress() to be able to suspend; this makes all
179
+ decoding modes available to suspending-input applications. However,
180
+ existing applications that use suspending input will need to be changed
181
+ to check the return value from jpeg_start_decompress(). You don't need to
182
+ do anything if you don't use a suspending data source.
183
+ * We changed the interface to the virtual array routines: access_virt_array
184
+ routines now take a count of the number of rows to access this time. The
185
+ last parameter to request_virt_array routines is now interpreted as the
186
+ maximum number of rows that may be accessed at once, but not necessarily
187
+ the height of every access.
188
+
189
+
190
+ Version 5b 15-Mar-95
191
+ ---------------------
192
+
193
+ Correct bugs with grayscale images having v_samp_factor > 1.
194
+
195
+ jpeg_write_raw_data() now supports output suspension.
196
+
197
+ Correct bugs in "configure" script for case of compiling in
198
+ a directory other than the one containing the source files.
199
+
200
+ Repair bug in jquant1.c: sometimes didn't use as many colors as it could.
201
+
202
+ Borland C makefile and jconfig file work under either MS-DOS or OS/2.
203
+
204
+ Miscellaneous improvements to documentation.
205
+
206
+
207
+ Version 5a 7-Dec-94
208
+ --------------------
209
+
210
+ Changed color conversion roundoff behavior so that grayscale values are
211
+ represented exactly. (This causes test image files to change.)
212
+
213
+ Make ordered dither use 16x16 instead of 4x4 pattern for a small quality
214
+ improvement.
215
+
216
+ New configure script based on latest GNU Autoconf.
217
+ Fix configure script to handle CFLAGS correctly.
218
+ Rename *.auto files to *.cfg, so that configure script still works if
219
+ file names have been truncated for DOS.
220
+
221
+ Fix bug in rdbmp.c: didn't allow for extra data between header and image.
222
+
223
+ Modify rdppm.c/wrppm.c to handle 2-byte raw PPM/PGM formats for 12-bit data.
224
+
225
+ Fix several bugs in rdrle.c.
226
+
227
+ NEED_SHORT_EXTERNAL_NAMES option was broken.
228
+
229
+ Revise jerror.h/jerror.c for more flexibility in message table.
230
+
231
+ Repair oversight in jmemname.c NO_MKTEMP case: file could be there
232
+ but unreadable.
233
+
234
+
235
+ Version 5 24-Sep-94
236
+ --------------------
237
+
238
+ Version 5 represents a nearly complete redesign and rewrite of the IJG
239
+ software. Major user-visible changes include:
240
+ * Automatic configuration simplifies installation for most Unix systems.
241
+ * A range of speed vs. image quality tradeoffs are supported.
242
+ This includes resizing of an image during decompression: scaling down
243
+ by a factor of 1/2, 1/4, or 1/8 is handled very efficiently.
244
+ * New programs rdjpgcom and wrjpgcom allow insertion and extraction
245
+ of text comments in a JPEG file.
246
+
247
+ The application programmer's interface to the library has changed completely.
248
+ Notable improvements include:
249
+ * We have eliminated the use of callback routines for handling the
250
+ uncompressed image data. The application now sees the library as a
251
+ set of routines that it calls to read or write image data on a
252
+ scanline-by-scanline basis.
253
+ * The application image data is represented in a conventional interleaved-
254
+ pixel format, rather than as a separate array for each color channel.
255
+ This can save a copying step in many programs.
256
+ * The handling of compressed data has been cleaned up: the application can
257
+ supply routines to source or sink the compressed data. It is possible to
258
+ suspend processing on source/sink buffer overrun, although this is not
259
+ supported in all operating modes.
260
+ * All static state has been eliminated from the library, so that multiple
261
+ instances of compression or decompression can be active concurrently.
262
+ * JPEG abbreviated datastream formats are supported, ie, quantization and
263
+ Huffman tables can be stored separately from the image data.
264
+ * And not only that, but the documentation of the library has improved
265
+ considerably!
266
+
267
+
268
+ The last widely used release before the version 5 rewrite was version 4A of
269
+ 18-Feb-93. Change logs before that point have been discarded, since they
270
+ are not of much interest after the rewrite.
@@ -0,0 +1,325 @@
1
+ .TH CJPEG 1 "10 June 2009"
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 gray-scale format), BMP, Targa, and RLE (Utah Raster
20
+ Toolkit format). (RLE is supported only if the URT library is available.)
21
+ .SH OPTIONS
22
+ All switch names may be abbreviated; for example,
23
+ .B \-grayscale
24
+ may be written
25
+ .B \-gray
26
+ or
27
+ .BR \-gr .
28
+ Most of the "basic" switches can be abbreviated to as little as one letter.
29
+ Upper and lower case are equivalent (thus
30
+ .B \-BMP
31
+ is the same as
32
+ .BR \-bmp ).
33
+ British spellings are also accepted (e.g.,
34
+ .BR \-greyscale ),
35
+ though for brevity these are not mentioned below.
36
+ .PP
37
+ The basic switches are:
38
+ .TP
39
+ .BI \-quality " N[,...]"
40
+ Scale quantization tables to adjust image quality. Quality is 0 (worst) to
41
+ 100 (best); default is 75. (See below for more info.)
42
+ .TP
43
+ .B \-grayscale
44
+ Create monochrome JPEG file from color input. Be sure to use this switch when
45
+ compressing a grayscale BMP file, because
46
+ .B cjpeg
47
+ isn't bright enough to notice whether a BMP file uses only shades of gray.
48
+ By saying
49
+ .BR \-grayscale ,
50
+ you'll get a smaller JPEG file that takes less time to process.
51
+ .TP
52
+ .B \-optimize
53
+ Perform optimization of entropy encoding parameters. Without this, default
54
+ encoding parameters are used.
55
+ .B \-optimize
56
+ usually makes the JPEG file a little smaller, but
57
+ .B cjpeg
58
+ runs somewhat slower and needs much more memory. Image quality and speed of
59
+ decompression are unaffected by
60
+ .BR \-optimize .
61
+ .TP
62
+ .B \-progressive
63
+ Create progressive JPEG file (see below).
64
+ .TP
65
+ .BI \-scale " M/N"
66
+ Scale the output image by a factor M/N. Currently supported scale factors are
67
+ 8/N with all N from 1 to 16.
68
+ .TP
69
+ .B \-targa
70
+ Input file is Targa format. Targa files that contain an "identification"
71
+ field will not be automatically recognized by
72
+ .BR cjpeg ;
73
+ for such files you must specify
74
+ .B \-targa
75
+ to make
76
+ .B cjpeg
77
+ treat the input as Targa format.
78
+ For most Targa files, you won't need this switch.
79
+ .PP
80
+ The
81
+ .B \-quality
82
+ switch lets you trade off compressed file size against quality of the
83
+ reconstructed image: the higher the quality setting, the larger the JPEG file,
84
+ and the closer the output image will be to the original input. Normally you
85
+ want to use the lowest quality setting (smallest file) that decompresses into
86
+ something visually indistinguishable from the original image. For this
87
+ purpose the quality setting should be between 50 and 95; the default of 75 is
88
+ often about right. If you see defects at
89
+ .B \-quality
90
+ 75, then go up 5 or 10 counts at a time until you are happy with the output
91
+ image. (The optimal setting will vary from one image to another.)
92
+ .PP
93
+ .B \-quality
94
+ 100 will generate a quantization table of all 1's, minimizing loss in the
95
+ quantization step (but there is still information loss in subsampling, as well
96
+ as roundoff error). This setting is mainly of interest for experimental
97
+ purposes. Quality values above about 95 are
98
+ .B not
99
+ recommended for normal use; the compressed file size goes up dramatically for
100
+ hardly any gain in output image quality.
101
+ .PP
102
+ In the other direction, quality values below 50 will produce very small files
103
+ of low image quality. Settings around 5 to 10 might be useful in preparing an
104
+ index of a large image library, for example. Try
105
+ .B \-quality
106
+ 2 (or so) for some amusing Cubist effects. (Note: quality
107
+ values below about 25 generate 2-byte quantization tables, which are
108
+ considered optional in the JPEG standard.
109
+ .B cjpeg
110
+ emits a warning message when you give such a quality value, because some
111
+ other JPEG programs may be unable to decode the resulting file. Use
112
+ .B \-baseline
113
+ if you need to ensure compatibility at low quality values.)
114
+ .PP
115
+ The
116
+ .B \-quality
117
+ option has been extended in IJG version 7 for support of separate quality
118
+ settings for luminance and chrominance (or in general, for every provided
119
+ quantization table slot). This feature is useful for high-quality
120
+ applications which cannot accept the damage of color data by coarse
121
+ subsampling settings. You can now easily reduce the color data amount more
122
+ smoothly with finer control without separate subsampling. The resulting file
123
+ is fully compliant with standard JPEG decoders.
124
+ Note that the
125
+ .B \-quality
126
+ ratings refer to the quantization table slots, and that the last value is
127
+ replicated if there are more q-table slots than parameters. The default
128
+ q-table slots are 0 for luminance and 1 for chrominance with default tables as
129
+ given in the JPEG standard. This is compatible with the old behaviour in case
130
+ that only one parameter is given, which is then used for both luminance and
131
+ chrominance (slots 0 and 1). More or custom quantization tables can be set
132
+ with
133
+ .B \-qtables
134
+ and assigned to components with
135
+ .B \-qslots
136
+ parameter (see the "wizard" switches below).
137
+ .B Caution:
138
+ You must explicitely add
139
+ .BI \-sample " 1x1"
140
+ for efficient separate color
141
+ quality selection, since the default value used by library is 2x2!
142
+ .PP
143
+ The
144
+ .B \-progressive
145
+ switch creates a "progressive JPEG" file. In this type of JPEG file, the data
146
+ is stored in multiple scans of increasing quality. If the file is being
147
+ transmitted over a slow communications link, the decoder can use the first
148
+ scan to display a low-quality image very quickly, and can then improve the
149
+ display with each subsequent scan. The final image is exactly equivalent to a
150
+ standard JPEG file of the same quality setting, and the total file size is
151
+ about the same --- often a little smaller.
152
+ .PP
153
+ Switches for advanced users:
154
+ .TP
155
+ .B \-dct int
156
+ Use integer DCT method (default).
157
+ .TP
158
+ .B \-dct fast
159
+ Use fast integer DCT (less accurate).
160
+ .TP
161
+ .B \-dct float
162
+ Use floating-point DCT method.
163
+ The float method is very slightly more accurate than the int method, but is
164
+ much slower unless your machine has very fast floating-point hardware. Also
165
+ note that results of the floating-point method may vary slightly across
166
+ machines, while the integer methods should give the same results everywhere.
167
+ The fast integer method is much less accurate than the other two.
168
+ .TP
169
+ .B \-nosmooth
170
+ Don't use high-quality downsampling.
171
+ .TP
172
+ .BI \-restart " N"
173
+ Emit a JPEG restart marker every N MCU rows, or every N MCU blocks if "B" is
174
+ attached to the number.
175
+ .B \-restart 0
176
+ (the default) means no restart markers.
177
+ .TP
178
+ .BI \-smooth " N"
179
+ Smooth the input image to eliminate dithering noise. N, ranging from 1 to
180
+ 100, indicates the strength of smoothing. 0 (the default) means no smoothing.
181
+ .TP
182
+ .BI \-maxmemory " N"
183
+ Set limit for amount of memory to use in processing large images. Value is
184
+ in thousands of bytes, or millions of bytes if "M" is attached to the
185
+ number. For example,
186
+ .B \-max 4m
187
+ selects 4000000 bytes. If more space is needed, temporary files will be used.
188
+ .TP
189
+ .BI \-outfile " name"
190
+ Send output image to the named file, not to standard output.
191
+ .TP
192
+ .B \-verbose
193
+ Enable debug printout. More
194
+ .BR \-v 's
195
+ give more output. Also, version information is printed at startup.
196
+ .TP
197
+ .B \-debug
198
+ Same as
199
+ .BR \-verbose .
200
+ .PP
201
+ The
202
+ .B \-restart
203
+ option inserts extra markers that allow a JPEG decoder to resynchronize after
204
+ a transmission error. Without restart markers, any damage to a compressed
205
+ file will usually ruin the image from the point of the error to the end of the
206
+ image; with restart markers, the damage is usually confined to the portion of
207
+ the image up to the next restart marker. Of course, the restart markers
208
+ occupy extra space. We recommend
209
+ .B \-restart 1
210
+ for images that will be transmitted across unreliable networks such as Usenet.
211
+ .PP
212
+ The
213
+ .B \-smooth
214
+ option filters the input to eliminate fine-scale noise. This is often useful
215
+ when converting dithered images to JPEG: a moderate smoothing factor of 10 to
216
+ 50 gets rid of dithering patterns in the input file, resulting in a smaller
217
+ JPEG file and a better-looking image. Too large a smoothing factor will
218
+ visibly blur the image, however.
219
+ .PP
220
+ Switches for wizards:
221
+ .TP
222
+ .B \-arithmetic
223
+ Use arithmetic coding.
224
+ .B Caution:
225
+ arithmetic coded JPEG is not yet widely implemented, so many decoders will be
226
+ unable to view an arithmetic coded JPEG file at all.
227
+ .TP
228
+ .B \-baseline
229
+ Force baseline-compatible quantization tables to be generated. This clamps
230
+ quantization values to 8 bits even at low quality settings. (This switch is
231
+ poorly named, since it does not ensure that the output is actually baseline
232
+ JPEG. For example, you can use
233
+ .B \-baseline
234
+ and
235
+ .B \-progressive
236
+ together.)
237
+ .TP
238
+ .BI \-qtables " file"
239
+ Use the quantization tables given in the specified text file.
240
+ .TP
241
+ .BI \-qslots " N[,...]"
242
+ Select which quantization table to use for each color component.
243
+ .TP
244
+ .BI \-sample " HxV[,...]"
245
+ Set JPEG sampling factors for each color component.
246
+ .TP
247
+ .BI \-scans " file"
248
+ Use the scan script given in the specified text file.
249
+ .PP
250
+ The "wizard" switches are intended for experimentation with JPEG. If you
251
+ don't know what you are doing, \fBdon't use them\fR. These switches are
252
+ documented further in the file wizard.txt.
253
+ .SH EXAMPLES
254
+ .LP
255
+ This example compresses the PPM file foo.ppm with a quality factor of
256
+ 60 and saves the output as foo.jpg:
257
+ .IP
258
+ .B cjpeg \-quality
259
+ .I 60 foo.ppm
260
+ .B >
261
+ .I foo.jpg
262
+ .SH HINTS
263
+ Color GIF files are not the ideal input for JPEG; JPEG is really intended for
264
+ compressing full-color (24-bit) images. In particular, don't try to convert
265
+ cartoons, line drawings, and other images that have only a few distinct
266
+ colors. GIF works great on these, JPEG does not. If you want to convert a
267
+ GIF to JPEG, you should experiment with
268
+ .BR cjpeg 's
269
+ .B \-quality
270
+ and
271
+ .B \-smooth
272
+ options to get a satisfactory conversion.
273
+ .B \-smooth 10
274
+ or so is often helpful.
275
+ .PP
276
+ Avoid running an image through a series of JPEG compression/decompression
277
+ cycles. Image quality loss will accumulate; after ten or so cycles the image
278
+ may be noticeably worse than it was after one cycle. It's best to use a
279
+ lossless format while manipulating an image, then convert to JPEG format when
280
+ you are ready to file the image away.
281
+ .PP
282
+ The
283
+ .B \-optimize
284
+ option to
285
+ .B cjpeg
286
+ is worth using when you are making a "final" version for posting or archiving.
287
+ It's also a win when you are using low quality settings to make very small
288
+ JPEG files; the percentage improvement is often a lot more than it is on
289
+ larger files. (At present,
290
+ .B \-optimize
291
+ mode is always selected when generating progressive JPEG files.)
292
+ .SH ENVIRONMENT
293
+ .TP
294
+ .B JPEGMEM
295
+ If this environment variable is set, its value is the default memory limit.
296
+ The value is specified as described for the
297
+ .B \-maxmemory
298
+ switch.
299
+ .B JPEGMEM
300
+ overrides the default value specified when the program was compiled, and
301
+ itself is overridden by an explicit
302
+ .BR \-maxmemory .
303
+ .SH SEE ALSO
304
+ .BR djpeg (1),
305
+ .BR jpegtran (1),
306
+ .BR rdjpgcom (1),
307
+ .BR wrjpgcom (1)
308
+ .br
309
+ .BR ppm (5),
310
+ .BR pgm (5)
311
+ .br
312
+ Wallace, Gregory K. "The JPEG Still Picture Compression Standard",
313
+ Communications of the ACM, April 1991 (vol. 34, no. 4), pp. 30-44.
314
+ .SH AUTHOR
315
+ Independent JPEG Group
316
+ .SH BUGS
317
+ GIF input files are no longer supported, to avoid the Unisys LZW patent.
318
+ (Conversion of GIF files to JPEG is usually a bad idea anyway.)
319
+ .PP
320
+ Not all variants of BMP and Targa file formats are supported.
321
+ .PP
322
+ The
323
+ .B \-targa
324
+ switch is not a bug, it's a feature. (It would be a bug if the Targa format
325
+ designers had not been clueless.)