epeg 1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (504) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +4 -0
  3. data/MANIFEST +5 -0
  4. data/TODO +1 -0
  5. data/epeg/.dockerignore +4 -0
  6. data/epeg/.gitignore +5 -0
  7. data/epeg/CMakeLists.txt +30 -0
  8. data/epeg/Dockerfile +23 -0
  9. data/epeg/Epeg.h +90 -0
  10. data/epeg/README.md +42 -0
  11. data/epeg/epeg_main.c +1642 -0
  12. data/epeg/epeg_private.h +85 -0
  13. data/epeg/example/.gitignore +1 -0
  14. data/epeg/example/CMakeLists.txt +20 -0
  15. data/epeg/example/example.jpg +0 -0
  16. data/epeg/example/rotatetest.c +29 -0
  17. data/epeg/example/scaletest.c +48 -0
  18. data/epeg/vendor/libjpeg-turbo-2.0.4/BUILDING.md +828 -0
  19. data/epeg/vendor/libjpeg-turbo-2.0.4/CMakeLists.txt +1420 -0
  20. data/epeg/vendor/libjpeg-turbo-2.0.4/ChangeLog.md +1494 -0
  21. data/epeg/vendor/libjpeg-turbo-2.0.4/LICENSE.md +132 -0
  22. data/epeg/vendor/libjpeg-turbo-2.0.4/README.ijg +277 -0
  23. data/epeg/vendor/libjpeg-turbo-2.0.4/README.md +356 -0
  24. data/epeg/vendor/libjpeg-turbo-2.0.4/cderror.h +137 -0
  25. data/epeg/vendor/libjpeg-turbo-2.0.4/cdjpeg.c +145 -0
  26. data/epeg/vendor/libjpeg-turbo-2.0.4/cdjpeg.h +157 -0
  27. data/epeg/vendor/libjpeg-turbo-2.0.4/change.log +315 -0
  28. data/epeg/vendor/libjpeg-turbo-2.0.4/cjpeg.1 +354 -0
  29. data/epeg/vendor/libjpeg-turbo-2.0.4/cjpeg.c +695 -0
  30. data/epeg/vendor/libjpeg-turbo-2.0.4/cmakescripts/BuildPackages.cmake +182 -0
  31. data/epeg/vendor/libjpeg-turbo-2.0.4/cmakescripts/GNUInstallDirs.cmake +416 -0
  32. data/epeg/vendor/libjpeg-turbo-2.0.4/cmakescripts/cmake_uninstall.cmake.in +24 -0
  33. data/epeg/vendor/libjpeg-turbo-2.0.4/cmakescripts/testclean.cmake +41 -0
  34. data/epeg/vendor/libjpeg-turbo-2.0.4/cmyk.h +61 -0
  35. data/epeg/vendor/libjpeg-turbo-2.0.4/coderules.txt +78 -0
  36. data/epeg/vendor/libjpeg-turbo-2.0.4/djpeg.1 +296 -0
  37. data/epeg/vendor/libjpeg-turbo-2.0.4/djpeg.c +822 -0
  38. data/epeg/vendor/libjpeg-turbo-2.0.4/doc/html/annotated.html +104 -0
  39. data/epeg/vendor/libjpeg-turbo-2.0.4/doc/html/bc_s.png +0 -0
  40. data/epeg/vendor/libjpeg-turbo-2.0.4/doc/html/bdwn.png +0 -0
  41. data/epeg/vendor/libjpeg-turbo-2.0.4/doc/html/classes.html +106 -0
  42. data/epeg/vendor/libjpeg-turbo-2.0.4/doc/html/closed.png +0 -0
  43. data/epeg/vendor/libjpeg-turbo-2.0.4/doc/html/doxygen-extra.css +3 -0
  44. data/epeg/vendor/libjpeg-turbo-2.0.4/doc/html/doxygen.css +1184 -0
  45. data/epeg/vendor/libjpeg-turbo-2.0.4/doc/html/doxygen.png +0 -0
  46. data/epeg/vendor/libjpeg-turbo-2.0.4/doc/html/dynsections.js +97 -0
  47. data/epeg/vendor/libjpeg-turbo-2.0.4/doc/html/ftv2blank.png +0 -0
  48. data/epeg/vendor/libjpeg-turbo-2.0.4/doc/html/ftv2cl.png +0 -0
  49. data/epeg/vendor/libjpeg-turbo-2.0.4/doc/html/ftv2doc.png +0 -0
  50. data/epeg/vendor/libjpeg-turbo-2.0.4/doc/html/ftv2folderclosed.png +0 -0
  51. data/epeg/vendor/libjpeg-turbo-2.0.4/doc/html/ftv2folderopen.png +0 -0
  52. data/epeg/vendor/libjpeg-turbo-2.0.4/doc/html/ftv2lastnode.png +0 -0
  53. data/epeg/vendor/libjpeg-turbo-2.0.4/doc/html/ftv2link.png +0 -0
  54. data/epeg/vendor/libjpeg-turbo-2.0.4/doc/html/ftv2mlastnode.png +0 -0
  55. data/epeg/vendor/libjpeg-turbo-2.0.4/doc/html/ftv2mnode.png +0 -0
  56. data/epeg/vendor/libjpeg-turbo-2.0.4/doc/html/ftv2mo.png +0 -0
  57. data/epeg/vendor/libjpeg-turbo-2.0.4/doc/html/ftv2node.png +0 -0
  58. data/epeg/vendor/libjpeg-turbo-2.0.4/doc/html/ftv2ns.png +0 -0
  59. data/epeg/vendor/libjpeg-turbo-2.0.4/doc/html/ftv2plastnode.png +0 -0
  60. data/epeg/vendor/libjpeg-turbo-2.0.4/doc/html/ftv2pnode.png +0 -0
  61. data/epeg/vendor/libjpeg-turbo-2.0.4/doc/html/ftv2splitbar.png +0 -0
  62. data/epeg/vendor/libjpeg-turbo-2.0.4/doc/html/ftv2vertline.png +0 -0
  63. data/epeg/vendor/libjpeg-turbo-2.0.4/doc/html/functions.html +134 -0
  64. data/epeg/vendor/libjpeg-turbo-2.0.4/doc/html/functions_vars.html +134 -0
  65. data/epeg/vendor/libjpeg-turbo-2.0.4/doc/html/group___turbo_j_p_e_g.html +2775 -0
  66. data/epeg/vendor/libjpeg-turbo-2.0.4/doc/html/index.html +90 -0
  67. data/epeg/vendor/libjpeg-turbo-2.0.4/doc/html/jquery.js +8 -0
  68. data/epeg/vendor/libjpeg-turbo-2.0.4/doc/html/modules.html +95 -0
  69. data/epeg/vendor/libjpeg-turbo-2.0.4/doc/html/nav_f.png +0 -0
  70. data/epeg/vendor/libjpeg-turbo-2.0.4/doc/html/nav_g.png +0 -0
  71. data/epeg/vendor/libjpeg-turbo-2.0.4/doc/html/nav_h.png +0 -0
  72. data/epeg/vendor/libjpeg-turbo-2.0.4/doc/html/open.png +0 -0
  73. data/epeg/vendor/libjpeg-turbo-2.0.4/doc/html/search/all_63.html +26 -0
  74. data/epeg/vendor/libjpeg-turbo-2.0.4/doc/html/search/all_63.js +4 -0
  75. data/epeg/vendor/libjpeg-turbo-2.0.4/doc/html/search/all_64.html +26 -0
  76. data/epeg/vendor/libjpeg-turbo-2.0.4/doc/html/search/all_64.js +5 -0
  77. data/epeg/vendor/libjpeg-turbo-2.0.4/doc/html/search/all_68.html +26 -0
  78. data/epeg/vendor/libjpeg-turbo-2.0.4/doc/html/search/all_68.js +4 -0
  79. data/epeg/vendor/libjpeg-turbo-2.0.4/doc/html/search/all_6e.html +26 -0
  80. data/epeg/vendor/libjpeg-turbo-2.0.4/doc/html/search/all_6e.js +4 -0
  81. data/epeg/vendor/libjpeg-turbo-2.0.4/doc/html/search/all_6f.html +26 -0
  82. data/epeg/vendor/libjpeg-turbo-2.0.4/doc/html/search/all_6f.js +5 -0
  83. data/epeg/vendor/libjpeg-turbo-2.0.4/doc/html/search/all_72.html +26 -0
  84. data/epeg/vendor/libjpeg-turbo-2.0.4/doc/html/search/all_72.js +4 -0
  85. data/epeg/vendor/libjpeg-turbo-2.0.4/doc/html/search/all_74.html +26 -0
  86. data/epeg/vendor/libjpeg-turbo-2.0.4/doc/html/search/all_74.js +102 -0
  87. data/epeg/vendor/libjpeg-turbo-2.0.4/doc/html/search/all_77.html +26 -0
  88. data/epeg/vendor/libjpeg-turbo-2.0.4/doc/html/search/all_77.js +4 -0
  89. data/epeg/vendor/libjpeg-turbo-2.0.4/doc/html/search/all_78.html +26 -0
  90. data/epeg/vendor/libjpeg-turbo-2.0.4/doc/html/search/all_78.js +4 -0
  91. data/epeg/vendor/libjpeg-turbo-2.0.4/doc/html/search/all_79.html +26 -0
  92. data/epeg/vendor/libjpeg-turbo-2.0.4/doc/html/search/all_79.js +4 -0
  93. data/epeg/vendor/libjpeg-turbo-2.0.4/doc/html/search/classes_74.html +26 -0
  94. data/epeg/vendor/libjpeg-turbo-2.0.4/doc/html/search/classes_74.js +6 -0
  95. data/epeg/vendor/libjpeg-turbo-2.0.4/doc/html/search/close.png +0 -0
  96. data/epeg/vendor/libjpeg-turbo-2.0.4/doc/html/search/enums_74.html +26 -0
  97. data/epeg/vendor/libjpeg-turbo-2.0.4/doc/html/search/enums_74.js +8 -0
  98. data/epeg/vendor/libjpeg-turbo-2.0.4/doc/html/search/enumvalues_74.html +26 -0
  99. data/epeg/vendor/libjpeg-turbo-2.0.4/doc/html/search/enumvalues_74.js +37 -0
  100. data/epeg/vendor/libjpeg-turbo-2.0.4/doc/html/search/functions_74.html +26 -0
  101. data/epeg/vendor/libjpeg-turbo-2.0.4/doc/html/search/functions_74.js +31 -0
  102. data/epeg/vendor/libjpeg-turbo-2.0.4/doc/html/search/groups_74.html +26 -0
  103. data/epeg/vendor/libjpeg-turbo-2.0.4/doc/html/search/groups_74.js +4 -0
  104. data/epeg/vendor/libjpeg-turbo-2.0.4/doc/html/search/mag_sel.png +0 -0
  105. data/epeg/vendor/libjpeg-turbo-2.0.4/doc/html/search/nomatches.html +12 -0
  106. data/epeg/vendor/libjpeg-turbo-2.0.4/doc/html/search/search.css +271 -0
  107. data/epeg/vendor/libjpeg-turbo-2.0.4/doc/html/search/search.js +809 -0
  108. data/epeg/vendor/libjpeg-turbo-2.0.4/doc/html/search/search_l.png +0 -0
  109. data/epeg/vendor/libjpeg-turbo-2.0.4/doc/html/search/search_m.png +0 -0
  110. data/epeg/vendor/libjpeg-turbo-2.0.4/doc/html/search/search_r.png +0 -0
  111. data/epeg/vendor/libjpeg-turbo-2.0.4/doc/html/search/typedefs_74.html +26 -0
  112. data/epeg/vendor/libjpeg-turbo-2.0.4/doc/html/search/typedefs_74.js +5 -0
  113. data/epeg/vendor/libjpeg-turbo-2.0.4/doc/html/search/variables_63.html +26 -0
  114. data/epeg/vendor/libjpeg-turbo-2.0.4/doc/html/search/variables_63.js +4 -0
  115. data/epeg/vendor/libjpeg-turbo-2.0.4/doc/html/search/variables_64.html +26 -0
  116. data/epeg/vendor/libjpeg-turbo-2.0.4/doc/html/search/variables_64.js +5 -0
  117. data/epeg/vendor/libjpeg-turbo-2.0.4/doc/html/search/variables_68.html +26 -0
  118. data/epeg/vendor/libjpeg-turbo-2.0.4/doc/html/search/variables_68.js +4 -0
  119. data/epeg/vendor/libjpeg-turbo-2.0.4/doc/html/search/variables_6e.html +26 -0
  120. data/epeg/vendor/libjpeg-turbo-2.0.4/doc/html/search/variables_6e.js +4 -0
  121. data/epeg/vendor/libjpeg-turbo-2.0.4/doc/html/search/variables_6f.html +26 -0
  122. data/epeg/vendor/libjpeg-turbo-2.0.4/doc/html/search/variables_6f.js +5 -0
  123. data/epeg/vendor/libjpeg-turbo-2.0.4/doc/html/search/variables_72.html +26 -0
  124. data/epeg/vendor/libjpeg-turbo-2.0.4/doc/html/search/variables_72.js +4 -0
  125. data/epeg/vendor/libjpeg-turbo-2.0.4/doc/html/search/variables_74.html +26 -0
  126. data/epeg/vendor/libjpeg-turbo-2.0.4/doc/html/search/variables_74.js +10 -0
  127. data/epeg/vendor/libjpeg-turbo-2.0.4/doc/html/search/variables_77.html +26 -0
  128. data/epeg/vendor/libjpeg-turbo-2.0.4/doc/html/search/variables_77.js +4 -0
  129. data/epeg/vendor/libjpeg-turbo-2.0.4/doc/html/search/variables_78.html +26 -0
  130. data/epeg/vendor/libjpeg-turbo-2.0.4/doc/html/search/variables_78.js +4 -0
  131. data/epeg/vendor/libjpeg-turbo-2.0.4/doc/html/search/variables_79.html +26 -0
  132. data/epeg/vendor/libjpeg-turbo-2.0.4/doc/html/search/variables_79.js +4 -0
  133. data/epeg/vendor/libjpeg-turbo-2.0.4/doc/html/structtjregion.html +186 -0
  134. data/epeg/vendor/libjpeg-turbo-2.0.4/doc/html/structtjscalingfactor.html +148 -0
  135. data/epeg/vendor/libjpeg-turbo-2.0.4/doc/html/structtjtransform.html +212 -0
  136. data/epeg/vendor/libjpeg-turbo-2.0.4/doc/html/sync_off.png +0 -0
  137. data/epeg/vendor/libjpeg-turbo-2.0.4/doc/html/sync_on.png +0 -0
  138. data/epeg/vendor/libjpeg-turbo-2.0.4/doc/html/tab_a.png +0 -0
  139. data/epeg/vendor/libjpeg-turbo-2.0.4/doc/html/tab_b.png +0 -0
  140. data/epeg/vendor/libjpeg-turbo-2.0.4/doc/html/tab_h.png +0 -0
  141. data/epeg/vendor/libjpeg-turbo-2.0.4/doc/html/tab_s.png +0 -0
  142. data/epeg/vendor/libjpeg-turbo-2.0.4/doc/html/tabs.css +60 -0
  143. data/epeg/vendor/libjpeg-turbo-2.0.4/doxygen-extra.css +3 -0
  144. data/epeg/vendor/libjpeg-turbo-2.0.4/doxygen.config +16 -0
  145. data/epeg/vendor/libjpeg-turbo-2.0.4/example.txt +464 -0
  146. data/epeg/vendor/libjpeg-turbo-2.0.4/jaricom.c +157 -0
  147. data/epeg/vendor/libjpeg-turbo-2.0.4/java/CMakeLists.txt +88 -0
  148. data/epeg/vendor/libjpeg-turbo-2.0.4/java/MANIFEST.MF +2 -0
  149. data/epeg/vendor/libjpeg-turbo-2.0.4/java/README +52 -0
  150. data/epeg/vendor/libjpeg-turbo-2.0.4/java/TJBench.java +1021 -0
  151. data/epeg/vendor/libjpeg-turbo-2.0.4/java/TJExample.java +405 -0
  152. data/epeg/vendor/libjpeg-turbo-2.0.4/java/TJUnitTest.java +960 -0
  153. data/epeg/vendor/libjpeg-turbo-2.0.4/java/doc/allclasses-frame.html +24 -0
  154. data/epeg/vendor/libjpeg-turbo-2.0.4/java/doc/allclasses-noframe.html +24 -0
  155. data/epeg/vendor/libjpeg-turbo-2.0.4/java/doc/constant-values.html +532 -0
  156. data/epeg/vendor/libjpeg-turbo-2.0.4/java/doc/deprecated-list.html +252 -0
  157. data/epeg/vendor/libjpeg-turbo-2.0.4/java/doc/help-doc.html +210 -0
  158. data/epeg/vendor/libjpeg-turbo-2.0.4/java/doc/index-all.html +1029 -0
  159. data/epeg/vendor/libjpeg-turbo-2.0.4/java/doc/index.html +71 -0
  160. data/epeg/vendor/libjpeg-turbo-2.0.4/java/doc/org/libjpegturbo/turbojpeg/TJ.html +1356 -0
  161. data/epeg/vendor/libjpeg-turbo-2.0.4/java/doc/org/libjpegturbo/turbojpeg/TJCompressor.html +926 -0
  162. data/epeg/vendor/libjpeg-turbo-2.0.4/java/doc/org/libjpegturbo/turbojpeg/TJCustomFilter.html +241 -0
  163. data/epeg/vendor/libjpeg-turbo-2.0.4/java/doc/org/libjpegturbo/turbojpeg/TJDecompressor.html +1255 -0
  164. data/epeg/vendor/libjpeg-turbo-2.0.4/java/doc/org/libjpegturbo/turbojpeg/TJException.html +340 -0
  165. data/epeg/vendor/libjpeg-turbo-2.0.4/java/doc/org/libjpegturbo/turbojpeg/TJScalingFactor.html +343 -0
  166. data/epeg/vendor/libjpeg-turbo-2.0.4/java/doc/org/libjpegturbo/turbojpeg/TJTransform.html +751 -0
  167. data/epeg/vendor/libjpeg-turbo-2.0.4/java/doc/org/libjpegturbo/turbojpeg/TJTransformer.html +421 -0
  168. data/epeg/vendor/libjpeg-turbo-2.0.4/java/doc/org/libjpegturbo/turbojpeg/YUVImage.html +765 -0
  169. data/epeg/vendor/libjpeg-turbo-2.0.4/java/doc/org/libjpegturbo/turbojpeg/package-frame.html +31 -0
  170. data/epeg/vendor/libjpeg-turbo-2.0.4/java/doc/org/libjpegturbo/turbojpeg/package-summary.html +202 -0
  171. data/epeg/vendor/libjpeg-turbo-2.0.4/java/doc/org/libjpegturbo/turbojpeg/package-tree.html +160 -0
  172. data/epeg/vendor/libjpeg-turbo-2.0.4/java/doc/overview-tree.html +164 -0
  173. data/epeg/vendor/libjpeg-turbo-2.0.4/java/doc/package-list +1 -0
  174. data/epeg/vendor/libjpeg-turbo-2.0.4/java/doc/resources/background.gif +0 -0
  175. data/epeg/vendor/libjpeg-turbo-2.0.4/java/doc/resources/tab.gif +0 -0
  176. data/epeg/vendor/libjpeg-turbo-2.0.4/java/doc/resources/titlebar.gif +0 -0
  177. data/epeg/vendor/libjpeg-turbo-2.0.4/java/doc/resources/titlebar_end.gif +0 -0
  178. data/epeg/vendor/libjpeg-turbo-2.0.4/java/doc/script.js +30 -0
  179. data/epeg/vendor/libjpeg-turbo-2.0.4/java/doc/serialized-form.html +176 -0
  180. data/epeg/vendor/libjpeg-turbo-2.0.4/java/doc/stylesheet.css +474 -0
  181. data/epeg/vendor/libjpeg-turbo-2.0.4/java/org/libjpegturbo/turbojpeg/TJ.java +584 -0
  182. data/epeg/vendor/libjpeg-turbo-2.0.4/java/org/libjpegturbo/turbojpeg/TJCompressor.java +677 -0
  183. data/epeg/vendor/libjpeg-turbo-2.0.4/java/org/libjpegturbo/turbojpeg/TJCustomFilter.java +76 -0
  184. data/epeg/vendor/libjpeg-turbo-2.0.4/java/org/libjpegturbo/turbojpeg/TJDecompressor.java +931 -0
  185. data/epeg/vendor/libjpeg-turbo-2.0.4/java/org/libjpegturbo/turbojpeg/TJException.java +78 -0
  186. data/epeg/vendor/libjpeg-turbo-2.0.4/java/org/libjpegturbo/turbojpeg/TJLoader-unix.java.in +59 -0
  187. data/epeg/vendor/libjpeg-turbo-2.0.4/java/org/libjpegturbo/turbojpeg/TJLoader-win.java.in +35 -0
  188. data/epeg/vendor/libjpeg-turbo-2.0.4/java/org/libjpegturbo/turbojpeg/TJScalingFactor.java +115 -0
  189. data/epeg/vendor/libjpeg-turbo-2.0.4/java/org/libjpegturbo/turbojpeg/TJTransform.java +227 -0
  190. data/epeg/vendor/libjpeg-turbo-2.0.4/java/org/libjpegturbo/turbojpeg/TJTransformer.java +163 -0
  191. data/epeg/vendor/libjpeg-turbo-2.0.4/java/org/libjpegturbo/turbojpeg/YUVImage.java +445 -0
  192. data/epeg/vendor/libjpeg-turbo-2.0.4/java/org_libjpegturbo_turbojpeg_TJ.h +129 -0
  193. data/epeg/vendor/libjpeg-turbo-2.0.4/java/org_libjpegturbo_turbojpeg_TJCompressor.h +101 -0
  194. data/epeg/vendor/libjpeg-turbo-2.0.4/java/org_libjpegturbo_turbojpeg_TJDecompressor.h +101 -0
  195. data/epeg/vendor/libjpeg-turbo-2.0.4/java/org_libjpegturbo_turbojpeg_TJTransformer.h +29 -0
  196. data/epeg/vendor/libjpeg-turbo-2.0.4/jcapimin.c +295 -0
  197. data/epeg/vendor/libjpeg-turbo-2.0.4/jcapistd.c +162 -0
  198. data/epeg/vendor/libjpeg-turbo-2.0.4/jcarith.c +932 -0
  199. data/epeg/vendor/libjpeg-turbo-2.0.4/jccoefct.c +449 -0
  200. data/epeg/vendor/libjpeg-turbo-2.0.4/jccolext.c +144 -0
  201. data/epeg/vendor/libjpeg-turbo-2.0.4/jccolor.c +710 -0
  202. data/epeg/vendor/libjpeg-turbo-2.0.4/jcdctmgr.c +721 -0
  203. data/epeg/vendor/libjpeg-turbo-2.0.4/jchuff.c +1096 -0
  204. data/epeg/vendor/libjpeg-turbo-2.0.4/jchuff.h +42 -0
  205. data/epeg/vendor/libjpeg-turbo-2.0.4/jcicc.c +105 -0
  206. data/epeg/vendor/libjpeg-turbo-2.0.4/jcinit.c +77 -0
  207. data/epeg/vendor/libjpeg-turbo-2.0.4/jcmainct.c +162 -0
  208. data/epeg/vendor/libjpeg-turbo-2.0.4/jcmarker.c +664 -0
  209. data/epeg/vendor/libjpeg-turbo-2.0.4/jcmaster.c +640 -0
  210. data/epeg/vendor/libjpeg-turbo-2.0.4/jcomapi.c +109 -0
  211. data/epeg/vendor/libjpeg-turbo-2.0.4/jconfig.h.in +73 -0
  212. data/epeg/vendor/libjpeg-turbo-2.0.4/jconfig.txt +143 -0
  213. data/epeg/vendor/libjpeg-turbo-2.0.4/jconfigint.h.in +31 -0
  214. data/epeg/vendor/libjpeg-turbo-2.0.4/jcparam.c +541 -0
  215. data/epeg/vendor/libjpeg-turbo-2.0.4/jcphuff.c +1105 -0
  216. data/epeg/vendor/libjpeg-turbo-2.0.4/jcprepct.c +351 -0
  217. data/epeg/vendor/libjpeg-turbo-2.0.4/jcsample.c +539 -0
  218. data/epeg/vendor/libjpeg-turbo-2.0.4/jcstest.c +126 -0
  219. data/epeg/vendor/libjpeg-turbo-2.0.4/jctrans.c +400 -0
  220. data/epeg/vendor/libjpeg-turbo-2.0.4/jdapimin.c +407 -0
  221. data/epeg/vendor/libjpeg-turbo-2.0.4/jdapistd.c +639 -0
  222. data/epeg/vendor/libjpeg-turbo-2.0.4/jdarith.c +773 -0
  223. data/epeg/vendor/libjpeg-turbo-2.0.4/jdatadst-tj.c +203 -0
  224. data/epeg/vendor/libjpeg-turbo-2.0.4/jdatadst.c +293 -0
  225. data/epeg/vendor/libjpeg-turbo-2.0.4/jdatasrc-tj.c +194 -0
  226. data/epeg/vendor/libjpeg-turbo-2.0.4/jdatasrc.c +295 -0
  227. data/epeg/vendor/libjpeg-turbo-2.0.4/jdcoefct.c +692 -0
  228. data/epeg/vendor/libjpeg-turbo-2.0.4/jdcoefct.h +82 -0
  229. data/epeg/vendor/libjpeg-turbo-2.0.4/jdcol565.c +384 -0
  230. data/epeg/vendor/libjpeg-turbo-2.0.4/jdcolext.c +143 -0
  231. data/epeg/vendor/libjpeg-turbo-2.0.4/jdcolor.c +883 -0
  232. data/epeg/vendor/libjpeg-turbo-2.0.4/jdct.h +208 -0
  233. data/epeg/vendor/libjpeg-turbo-2.0.4/jddctmgr.c +352 -0
  234. data/epeg/vendor/libjpeg-turbo-2.0.4/jdhuff.c +831 -0
  235. data/epeg/vendor/libjpeg-turbo-2.0.4/jdhuff.h +238 -0
  236. data/epeg/vendor/libjpeg-turbo-2.0.4/jdicc.c +171 -0
  237. data/epeg/vendor/libjpeg-turbo-2.0.4/jdinput.c +408 -0
  238. data/epeg/vendor/libjpeg-turbo-2.0.4/jdmainct.c +460 -0
  239. data/epeg/vendor/libjpeg-turbo-2.0.4/jdmainct.h +71 -0
  240. data/epeg/vendor/libjpeg-turbo-2.0.4/jdmarker.c +1377 -0
  241. data/epeg/vendor/libjpeg-turbo-2.0.4/jdmaster.c +737 -0
  242. data/epeg/vendor/libjpeg-turbo-2.0.4/jdmaster.h +28 -0
  243. data/epeg/vendor/libjpeg-turbo-2.0.4/jdmerge.c +617 -0
  244. data/epeg/vendor/libjpeg-turbo-2.0.4/jdmrg565.c +354 -0
  245. data/epeg/vendor/libjpeg-turbo-2.0.4/jdmrgext.c +184 -0
  246. data/epeg/vendor/libjpeg-turbo-2.0.4/jdphuff.c +687 -0
  247. data/epeg/vendor/libjpeg-turbo-2.0.4/jdpostct.c +294 -0
  248. data/epeg/vendor/libjpeg-turbo-2.0.4/jdsample.c +518 -0
  249. data/epeg/vendor/libjpeg-turbo-2.0.4/jdsample.h +50 -0
  250. data/epeg/vendor/libjpeg-turbo-2.0.4/jdtrans.c +155 -0
  251. data/epeg/vendor/libjpeg-turbo-2.0.4/jerror.c +251 -0
  252. data/epeg/vendor/libjpeg-turbo-2.0.4/jerror.h +316 -0
  253. data/epeg/vendor/libjpeg-turbo-2.0.4/jfdctflt.c +169 -0
  254. data/epeg/vendor/libjpeg-turbo-2.0.4/jfdctfst.c +227 -0
  255. data/epeg/vendor/libjpeg-turbo-2.0.4/jfdctint.c +288 -0
  256. data/epeg/vendor/libjpeg-turbo-2.0.4/jidctflt.c +240 -0
  257. data/epeg/vendor/libjpeg-turbo-2.0.4/jidctfst.c +371 -0
  258. data/epeg/vendor/libjpeg-turbo-2.0.4/jidctint.c +2627 -0
  259. data/epeg/vendor/libjpeg-turbo-2.0.4/jidctred.c +409 -0
  260. data/epeg/vendor/libjpeg-turbo-2.0.4/jinclude.h +88 -0
  261. data/epeg/vendor/libjpeg-turbo-2.0.4/jmemmgr.c +1179 -0
  262. data/epeg/vendor/libjpeg-turbo-2.0.4/jmemnobs.c +115 -0
  263. data/epeg/vendor/libjpeg-turbo-2.0.4/jmemsys.h +178 -0
  264. data/epeg/vendor/libjpeg-turbo-2.0.4/jmorecfg.h +421 -0
  265. data/epeg/vendor/libjpeg-turbo-2.0.4/jpeg_nbits_table.h +4098 -0
  266. data/epeg/vendor/libjpeg-turbo-2.0.4/jpegcomp.h +31 -0
  267. data/epeg/vendor/libjpeg-turbo-2.0.4/jpegint.h +368 -0
  268. data/epeg/vendor/libjpeg-turbo-2.0.4/jpeglib.h +1132 -0
  269. data/epeg/vendor/libjpeg-turbo-2.0.4/jpegtran.1 +295 -0
  270. data/epeg/vendor/libjpeg-turbo-2.0.4/jpegtran.c +601 -0
  271. data/epeg/vendor/libjpeg-turbo-2.0.4/jquant1.c +859 -0
  272. data/epeg/vendor/libjpeg-turbo-2.0.4/jquant2.c +1285 -0
  273. data/epeg/vendor/libjpeg-turbo-2.0.4/jsimd.h +117 -0
  274. data/epeg/vendor/libjpeg-turbo-2.0.4/jsimd_none.c +418 -0
  275. data/epeg/vendor/libjpeg-turbo-2.0.4/jsimddct.h +70 -0
  276. data/epeg/vendor/libjpeg-turbo-2.0.4/jstdhuff.c +143 -0
  277. data/epeg/vendor/libjpeg-turbo-2.0.4/jutils.c +133 -0
  278. data/epeg/vendor/libjpeg-turbo-2.0.4/jversion.h +52 -0
  279. data/epeg/vendor/libjpeg-turbo-2.0.4/libjpeg.map.in +11 -0
  280. data/epeg/vendor/libjpeg-turbo-2.0.4/libjpeg.txt +3144 -0
  281. data/epeg/vendor/libjpeg-turbo-2.0.4/md5/CMakeLists.txt +1 -0
  282. data/epeg/vendor/libjpeg-turbo-2.0.4/md5/md5.c +275 -0
  283. data/epeg/vendor/libjpeg-turbo-2.0.4/md5/md5.h +57 -0
  284. data/epeg/vendor/libjpeg-turbo-2.0.4/md5/md5cmp.c +59 -0
  285. data/epeg/vendor/libjpeg-turbo-2.0.4/md5/md5hl.c +125 -0
  286. data/epeg/vendor/libjpeg-turbo-2.0.4/rdbmp.c +689 -0
  287. data/epeg/vendor/libjpeg-turbo-2.0.4/rdcolmap.c +254 -0
  288. data/epeg/vendor/libjpeg-turbo-2.0.4/rdgif.c +39 -0
  289. data/epeg/vendor/libjpeg-turbo-2.0.4/rdjpgcom.1 +63 -0
  290. data/epeg/vendor/libjpeg-turbo-2.0.4/rdjpgcom.c +510 -0
  291. data/epeg/vendor/libjpeg-turbo-2.0.4/rdppm.c +766 -0
  292. data/epeg/vendor/libjpeg-turbo-2.0.4/rdrle.c +389 -0
  293. data/epeg/vendor/libjpeg-turbo-2.0.4/rdswitch.c +424 -0
  294. data/epeg/vendor/libjpeg-turbo-2.0.4/rdtarga.c +509 -0
  295. data/epeg/vendor/libjpeg-turbo-2.0.4/release/Distribution.xml.in +24 -0
  296. data/epeg/vendor/libjpeg-turbo-2.0.4/release/License.rtf +20 -0
  297. data/epeg/vendor/libjpeg-turbo-2.0.4/release/ReadMe.txt +5 -0
  298. data/epeg/vendor/libjpeg-turbo-2.0.4/release/Welcome.rtf +17 -0
  299. data/epeg/vendor/libjpeg-turbo-2.0.4/release/deb-control.in +31 -0
  300. data/epeg/vendor/libjpeg-turbo-2.0.4/release/installer.nsi.in +191 -0
  301. data/epeg/vendor/libjpeg-turbo-2.0.4/release/libjpeg.pc.in +10 -0
  302. data/epeg/vendor/libjpeg-turbo-2.0.4/release/libturbojpeg.pc.in +10 -0
  303. data/epeg/vendor/libjpeg-turbo-2.0.4/release/makecygwinpkg.in +66 -0
  304. data/epeg/vendor/libjpeg-turbo-2.0.4/release/makedpkg.in +115 -0
  305. data/epeg/vendor/libjpeg-turbo-2.0.4/release/makemacpkg.in +284 -0
  306. data/epeg/vendor/libjpeg-turbo-2.0.4/release/makerpm.in +30 -0
  307. data/epeg/vendor/libjpeg-turbo-2.0.4/release/makesrpm.in +48 -0
  308. data/epeg/vendor/libjpeg-turbo-2.0.4/release/maketarball.in +51 -0
  309. data/epeg/vendor/libjpeg-turbo-2.0.4/release/rpm.spec.in +221 -0
  310. data/epeg/vendor/libjpeg-turbo-2.0.4/release/uninstall.in +113 -0
  311. data/epeg/vendor/libjpeg-turbo-2.0.4/sharedlib/CMakeLists.txt +99 -0
  312. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/CMakeLists.txt +385 -0
  313. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/arm/jsimd.c +721 -0
  314. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/arm/jsimd_neon.S +2878 -0
  315. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/arm64/jsimd.c +798 -0
  316. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/arm64/jsimd_neon.S +3433 -0
  317. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/gas-preprocessor.in +1 -0
  318. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/i386/jccolext-avx2.asm +578 -0
  319. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/i386/jccolext-mmx.asm +476 -0
  320. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/i386/jccolext-sse2.asm +503 -0
  321. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/i386/jccolor-avx2.asm +121 -0
  322. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/i386/jccolor-mmx.asm +121 -0
  323. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/i386/jccolor-sse2.asm +120 -0
  324. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/i386/jcgray-avx2.asm +113 -0
  325. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/i386/jcgray-mmx.asm +113 -0
  326. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/i386/jcgray-sse2.asm +112 -0
  327. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/i386/jcgryext-avx2.asm +457 -0
  328. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/i386/jcgryext-mmx.asm +355 -0
  329. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/i386/jcgryext-sse2.asm +382 -0
  330. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/i386/jchuff-sse2.asm +424 -0
  331. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/i386/jcphuff-sse2.asm +660 -0
  332. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/i386/jcsample-avx2.asm +388 -0
  333. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/i386/jcsample-mmx.asm +324 -0
  334. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/i386/jcsample-sse2.asm +351 -0
  335. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/i386/jdcolext-avx2.asm +515 -0
  336. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/i386/jdcolext-mmx.asm +404 -0
  337. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/i386/jdcolext-sse2.asm +458 -0
  338. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/i386/jdcolor-avx2.asm +118 -0
  339. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/i386/jdcolor-mmx.asm +117 -0
  340. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/i386/jdcolor-sse2.asm +117 -0
  341. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/i386/jdmerge-avx2.asm +136 -0
  342. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/i386/jdmerge-mmx.asm +123 -0
  343. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/i386/jdmerge-sse2.asm +135 -0
  344. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/i386/jdmrgext-avx2.asm +575 -0
  345. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/i386/jdmrgext-mmx.asm +460 -0
  346. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/i386/jdmrgext-sse2.asm +517 -0
  347. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/i386/jdsample-avx2.asm +760 -0
  348. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/i386/jdsample-mmx.asm +731 -0
  349. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/i386/jdsample-sse2.asm +724 -0
  350. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/i386/jfdctflt-3dn.asm +318 -0
  351. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/i386/jfdctflt-sse.asm +369 -0
  352. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/i386/jfdctfst-mmx.asm +395 -0
  353. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/i386/jfdctfst-sse2.asm +403 -0
  354. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/i386/jfdctint-avx2.asm +331 -0
  355. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/i386/jfdctint-mmx.asm +620 -0
  356. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/i386/jfdctint-sse2.asm +633 -0
  357. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/i386/jidctflt-3dn.asm +451 -0
  358. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/i386/jidctflt-sse.asm +571 -0
  359. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/i386/jidctflt-sse2.asm +497 -0
  360. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/i386/jidctfst-mmx.asm +499 -0
  361. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/i386/jidctfst-sse2.asm +501 -0
  362. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/i386/jidctint-avx2.asm +453 -0
  363. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/i386/jidctint-mmx.asm +851 -0
  364. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/i386/jidctint-sse2.asm +858 -0
  365. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/i386/jidctred-mmx.asm +704 -0
  366. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/i386/jidctred-sse2.asm +592 -0
  367. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/i386/jquant-3dn.asm +230 -0
  368. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/i386/jquant-mmx.asm +276 -0
  369. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/i386/jquant-sse.asm +208 -0
  370. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/i386/jquantf-sse2.asm +168 -0
  371. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/i386/jquanti-avx2.asm +188 -0
  372. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/i386/jquanti-sse2.asm +201 -0
  373. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/i386/jsimd.c +1253 -0
  374. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/i386/jsimdcpu.asm +135 -0
  375. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/jsimd.h +1083 -0
  376. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/loongson/jccolext-mmi.c +483 -0
  377. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/loongson/jccolor-mmi.c +148 -0
  378. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/loongson/jcsample-mmi.c +100 -0
  379. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/loongson/jcsample.h +28 -0
  380. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/loongson/jdcolext-mmi.c +424 -0
  381. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/loongson/jdcolor-mmi.c +139 -0
  382. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/loongson/jdsample-mmi.c +245 -0
  383. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/loongson/jfdctint-mmi.c +398 -0
  384. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/loongson/jidctint-mmi.c +571 -0
  385. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/loongson/jquanti-mmi.c +130 -0
  386. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/loongson/jsimd.c +610 -0
  387. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/loongson/jsimd_mmi.h +57 -0
  388. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/loongson/loongson-mmintrin.h +1324 -0
  389. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/mips/jsimd.c +1123 -0
  390. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/mips/jsimd_dspr2.S +4479 -0
  391. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/mips/jsimd_dspr2_asm.h +292 -0
  392. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/nasm/jcolsamp.inc +135 -0
  393. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/nasm/jdct.inc +31 -0
  394. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/nasm/jpeg_nbits_table.inc +4097 -0
  395. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/nasm/jsimdcfg.inc +93 -0
  396. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/nasm/jsimdcfg.inc.h +131 -0
  397. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/nasm/jsimdext.inc +479 -0
  398. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/powerpc/jccolext-altivec.c +269 -0
  399. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/powerpc/jccolor-altivec.c +116 -0
  400. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/powerpc/jcgray-altivec.c +111 -0
  401. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/powerpc/jcgryext-altivec.c +228 -0
  402. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/powerpc/jcsample-altivec.c +159 -0
  403. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/powerpc/jcsample.h +28 -0
  404. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/powerpc/jdcolext-altivec.c +276 -0
  405. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/powerpc/jdcolor-altivec.c +106 -0
  406. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/powerpc/jdmerge-altivec.c +130 -0
  407. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/powerpc/jdmrgext-altivec.c +329 -0
  408. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/powerpc/jdsample-altivec.c +400 -0
  409. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/powerpc/jfdctfst-altivec.c +154 -0
  410. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/powerpc/jfdctint-altivec.c +258 -0
  411. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/powerpc/jidctfst-altivec.c +255 -0
  412. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/powerpc/jidctint-altivec.c +357 -0
  413. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/powerpc/jquanti-altivec.c +250 -0
  414. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/powerpc/jsimd.c +872 -0
  415. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/powerpc/jsimd_altivec.h +98 -0
  416. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/x86_64/jccolext-avx2.asm +558 -0
  417. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/x86_64/jccolext-sse2.asm +483 -0
  418. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/x86_64/jccolor-avx2.asm +121 -0
  419. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/x86_64/jccolor-sse2.asm +120 -0
  420. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/x86_64/jcgray-avx2.asm +113 -0
  421. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/x86_64/jcgray-sse2.asm +112 -0
  422. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/x86_64/jcgryext-avx2.asm +437 -0
  423. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/x86_64/jcgryext-sse2.asm +362 -0
  424. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/x86_64/jchuff-sse2.asm +346 -0
  425. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/x86_64/jcphuff-sse2.asm +637 -0
  426. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/x86_64/jcsample-avx2.asm +366 -0
  427. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/x86_64/jcsample-sse2.asm +329 -0
  428. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/x86_64/jdcolext-avx2.asm +495 -0
  429. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/x86_64/jdcolext-sse2.asm +438 -0
  430. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/x86_64/jdcolor-avx2.asm +118 -0
  431. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/x86_64/jdcolor-sse2.asm +117 -0
  432. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/x86_64/jdmerge-avx2.asm +136 -0
  433. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/x86_64/jdmerge-sse2.asm +135 -0
  434. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/x86_64/jdmrgext-avx2.asm +593 -0
  435. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/x86_64/jdmrgext-sse2.asm +535 -0
  436. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/x86_64/jdsample-avx2.asm +695 -0
  437. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/x86_64/jdsample-sse2.asm +664 -0
  438. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/x86_64/jfdctflt-sse.asm +355 -0
  439. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/x86_64/jfdctfst-sse2.asm +389 -0
  440. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/x86_64/jfdctint-avx2.asm +320 -0
  441. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/x86_64/jfdctint-sse2.asm +619 -0
  442. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/x86_64/jidctflt-sse2.asm +481 -0
  443. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/x86_64/jidctfst-sse2.asm +490 -0
  444. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/x86_64/jidctint-avx2.asm +417 -0
  445. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/x86_64/jidctint-sse2.asm +846 -0
  446. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/x86_64/jidctred-sse2.asm +573 -0
  447. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/x86_64/jquantf-sse2.asm +154 -0
  448. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/x86_64/jquanti-avx2.asm +162 -0
  449. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/x86_64/jquanti-sse2.asm +187 -0
  450. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/x86_64/jsimd.c +1076 -0
  451. data/epeg/vendor/libjpeg-turbo-2.0.4/simd/x86_64/jsimdcpu.asm +86 -0
  452. data/epeg/vendor/libjpeg-turbo-2.0.4/structure.txt +904 -0
  453. data/epeg/vendor/libjpeg-turbo-2.0.4/testimages/nightshot_iso_100.bmp +0 -0
  454. data/epeg/vendor/libjpeg-turbo-2.0.4/testimages/nightshot_iso_100.txt +25 -0
  455. data/epeg/vendor/libjpeg-turbo-2.0.4/testimages/test.scan +5 -0
  456. data/epeg/vendor/libjpeg-turbo-2.0.4/testimages/test1.icc +0 -0
  457. data/epeg/vendor/libjpeg-turbo-2.0.4/testimages/test1.icc.txt +20 -0
  458. data/epeg/vendor/libjpeg-turbo-2.0.4/testimages/test2.icc +0 -0
  459. data/epeg/vendor/libjpeg-turbo-2.0.4/testimages/test2.icc.txt +20 -0
  460. data/epeg/vendor/libjpeg-turbo-2.0.4/testimages/testimgari.jpg +0 -0
  461. data/epeg/vendor/libjpeg-turbo-2.0.4/testimages/testimgint.jpg +0 -0
  462. data/epeg/vendor/libjpeg-turbo-2.0.4/testimages/testorig.jpg +0 -0
  463. data/epeg/vendor/libjpeg-turbo-2.0.4/testimages/testorig.ppm +4 -0
  464. data/epeg/vendor/libjpeg-turbo-2.0.4/testimages/testorig12.jpg +0 -0
  465. data/epeg/vendor/libjpeg-turbo-2.0.4/testimages/vgl_5674_0098.bmp +0 -0
  466. data/epeg/vendor/libjpeg-turbo-2.0.4/testimages/vgl_6434_0018a.bmp +0 -0
  467. data/epeg/vendor/libjpeg-turbo-2.0.4/testimages/vgl_6548_0026a.bmp +0 -0
  468. data/epeg/vendor/libjpeg-turbo-2.0.4/tjbench.c +1031 -0
  469. data/epeg/vendor/libjpeg-turbo-2.0.4/tjbenchtest.in +256 -0
  470. data/epeg/vendor/libjpeg-turbo-2.0.4/tjbenchtest.java.in +215 -0
  471. data/epeg/vendor/libjpeg-turbo-2.0.4/tjexample.c +396 -0
  472. data/epeg/vendor/libjpeg-turbo-2.0.4/tjexampletest.in +149 -0
  473. data/epeg/vendor/libjpeg-turbo-2.0.4/tjexampletest.java.in +151 -0
  474. data/epeg/vendor/libjpeg-turbo-2.0.4/tjunittest.c +931 -0
  475. data/epeg/vendor/libjpeg-turbo-2.0.4/tjutil.c +70 -0
  476. data/epeg/vendor/libjpeg-turbo-2.0.4/tjutil.h +47 -0
  477. data/epeg/vendor/libjpeg-turbo-2.0.4/transupp.c +1628 -0
  478. data/epeg/vendor/libjpeg-turbo-2.0.4/transupp.h +210 -0
  479. data/epeg/vendor/libjpeg-turbo-2.0.4/turbojpeg-jni.c +1246 -0
  480. data/epeg/vendor/libjpeg-turbo-2.0.4/turbojpeg-mapfile +65 -0
  481. data/epeg/vendor/libjpeg-turbo-2.0.4/turbojpeg-mapfile.jni +101 -0
  482. data/epeg/vendor/libjpeg-turbo-2.0.4/turbojpeg.c +2152 -0
  483. data/epeg/vendor/libjpeg-turbo-2.0.4/turbojpeg.h +1744 -0
  484. data/epeg/vendor/libjpeg-turbo-2.0.4/usage.txt +635 -0
  485. data/epeg/vendor/libjpeg-turbo-2.0.4/win/jconfig.h.in +34 -0
  486. data/epeg/vendor/libjpeg-turbo-2.0.4/win/jpeg62-memsrcdst.def +108 -0
  487. data/epeg/vendor/libjpeg-turbo-2.0.4/win/jpeg62.def +106 -0
  488. data/epeg/vendor/libjpeg-turbo-2.0.4/win/jpeg7-memsrcdst.def +110 -0
  489. data/epeg/vendor/libjpeg-turbo-2.0.4/win/jpeg7.def +108 -0
  490. data/epeg/vendor/libjpeg-turbo-2.0.4/win/jpeg8.def +111 -0
  491. data/epeg/vendor/libjpeg-turbo-2.0.4/wizard.txt +212 -0
  492. data/epeg/vendor/libjpeg-turbo-2.0.4/wrbmp.c +558 -0
  493. data/epeg/vendor/libjpeg-turbo-2.0.4/wrgif.c +413 -0
  494. data/epeg/vendor/libjpeg-turbo-2.0.4/wrjpgcom.1 +103 -0
  495. data/epeg/vendor/libjpeg-turbo-2.0.4/wrjpgcom.c +591 -0
  496. data/epeg/vendor/libjpeg-turbo-2.0.4/wrppm.c +365 -0
  497. data/epeg/vendor/libjpeg-turbo-2.0.4/wrrle.c +309 -0
  498. data/epeg/vendor/libjpeg-turbo-2.0.4/wrtarga.c +261 -0
  499. data/epeg.c +131 -0
  500. data/epeg.gemspec +18 -0
  501. data/extconf.rb +80 -0
  502. data/test.jpg +0 -0
  503. data/test.rb +42 -0
  504. metadata +546 -0
@@ -0,0 +1,316 @@
1
+ /*
2
+ * jerror.h
3
+ *
4
+ * This file was part of the Independent JPEG Group's software:
5
+ * Copyright (C) 1994-1997, Thomas G. Lane.
6
+ * Modified 1997-2009 by Guido Vollbeding.
7
+ * libjpeg-turbo Modifications:
8
+ * Copyright (C) 2014, 2017, D. R. Commander.
9
+ * For conditions of distribution and use, see the accompanying README.ijg
10
+ * file.
11
+ *
12
+ * This file defines the error and message codes for the JPEG library.
13
+ * Edit this file to add new codes, or to translate the message strings to
14
+ * some other language.
15
+ * A set of error-reporting macros are defined too. Some applications using
16
+ * the JPEG library may wish to include this file to get the error codes
17
+ * and/or the macros.
18
+ */
19
+
20
+ /*
21
+ * To define the enum list of message codes, include this file without
22
+ * defining macro JMESSAGE. To create a message string table, include it
23
+ * again with a suitable JMESSAGE definition (see jerror.c for an example).
24
+ */
25
+ #ifndef JMESSAGE
26
+ #ifndef JERROR_H
27
+ /* First time through, define the enum list */
28
+ #define JMAKE_ENUM_LIST
29
+ #else
30
+ /* Repeated inclusions of this file are no-ops unless JMESSAGE is defined */
31
+ #define JMESSAGE(code, string)
32
+ #endif /* JERROR_H */
33
+ #endif /* JMESSAGE */
34
+
35
+ #ifdef JMAKE_ENUM_LIST
36
+
37
+ typedef enum {
38
+
39
+ #define JMESSAGE(code, string) code,
40
+
41
+ #endif /* JMAKE_ENUM_LIST */
42
+
43
+ JMESSAGE(JMSG_NOMESSAGE, "Bogus message code %d") /* Must be first entry! */
44
+
45
+ /* For maintenance convenience, list is alphabetical by message code name */
46
+ #if JPEG_LIB_VERSION < 70
47
+ JMESSAGE(JERR_ARITH_NOTIMPL, "Sorry, arithmetic coding is not implemented")
48
+ #endif
49
+ JMESSAGE(JERR_BAD_ALIGN_TYPE, "ALIGN_TYPE is wrong, please fix")
50
+ JMESSAGE(JERR_BAD_ALLOC_CHUNK, "MAX_ALLOC_CHUNK is wrong, please fix")
51
+ JMESSAGE(JERR_BAD_BUFFER_MODE, "Bogus buffer control mode")
52
+ JMESSAGE(JERR_BAD_COMPONENT_ID, "Invalid component ID %d in SOS")
53
+ #if JPEG_LIB_VERSION >= 70
54
+ JMESSAGE(JERR_BAD_CROP_SPEC, "Invalid crop request")
55
+ #endif
56
+ JMESSAGE(JERR_BAD_DCT_COEF, "DCT coefficient out of range")
57
+ JMESSAGE(JERR_BAD_DCTSIZE, "IDCT output block size %d not supported")
58
+ #if JPEG_LIB_VERSION >= 70
59
+ JMESSAGE(JERR_BAD_DROP_SAMPLING,
60
+ "Component index %d: mismatching sampling ratio %d:%d, %d:%d, %c")
61
+ #endif
62
+ JMESSAGE(JERR_BAD_HUFF_TABLE, "Bogus Huffman table definition")
63
+ JMESSAGE(JERR_BAD_IN_COLORSPACE, "Bogus input colorspace")
64
+ JMESSAGE(JERR_BAD_J_COLORSPACE, "Bogus JPEG colorspace")
65
+ JMESSAGE(JERR_BAD_LENGTH, "Bogus marker length")
66
+ JMESSAGE(JERR_BAD_LIB_VERSION,
67
+ "Wrong JPEG library version: library is %d, caller expects %d")
68
+ JMESSAGE(JERR_BAD_MCU_SIZE, "Sampling factors too large for interleaved scan")
69
+ JMESSAGE(JERR_BAD_POOL_ID, "Invalid memory pool code %d")
70
+ JMESSAGE(JERR_BAD_PRECISION, "Unsupported JPEG data precision %d")
71
+ JMESSAGE(JERR_BAD_PROGRESSION,
72
+ "Invalid progressive parameters Ss=%d Se=%d Ah=%d Al=%d")
73
+ JMESSAGE(JERR_BAD_PROG_SCRIPT,
74
+ "Invalid progressive parameters at scan script entry %d")
75
+ JMESSAGE(JERR_BAD_SAMPLING, "Bogus sampling factors")
76
+ JMESSAGE(JERR_BAD_SCAN_SCRIPT, "Invalid scan script at entry %d")
77
+ JMESSAGE(JERR_BAD_STATE, "Improper call to JPEG library in state %d")
78
+ JMESSAGE(JERR_BAD_STRUCT_SIZE,
79
+ "JPEG parameter struct mismatch: library thinks size is %u, caller expects %u")
80
+ JMESSAGE(JERR_BAD_VIRTUAL_ACCESS, "Bogus virtual array access")
81
+ JMESSAGE(JERR_BUFFER_SIZE, "Buffer passed to JPEG library is too small")
82
+ JMESSAGE(JERR_CANT_SUSPEND, "Suspension not allowed here")
83
+ JMESSAGE(JERR_CCIR601_NOTIMPL, "CCIR601 sampling not implemented yet")
84
+ JMESSAGE(JERR_COMPONENT_COUNT, "Too many color components: %d, max %d")
85
+ JMESSAGE(JERR_CONVERSION_NOTIMPL, "Unsupported color conversion request")
86
+ JMESSAGE(JERR_DAC_INDEX, "Bogus DAC index %d")
87
+ JMESSAGE(JERR_DAC_VALUE, "Bogus DAC value 0x%x")
88
+ JMESSAGE(JERR_DHT_INDEX, "Bogus DHT index %d")
89
+ JMESSAGE(JERR_DQT_INDEX, "Bogus DQT index %d")
90
+ JMESSAGE(JERR_EMPTY_IMAGE, "Empty JPEG image (DNL not supported)")
91
+ JMESSAGE(JERR_EMS_READ, "Read from EMS failed")
92
+ JMESSAGE(JERR_EMS_WRITE, "Write to EMS failed")
93
+ JMESSAGE(JERR_EOI_EXPECTED, "Didn't expect more than one scan")
94
+ JMESSAGE(JERR_FILE_READ, "Input file read error")
95
+ JMESSAGE(JERR_FILE_WRITE, "Output file write error --- out of disk space?")
96
+ JMESSAGE(JERR_FRACT_SAMPLE_NOTIMPL, "Fractional sampling not implemented yet")
97
+ JMESSAGE(JERR_HUFF_CLEN_OVERFLOW, "Huffman code size table overflow")
98
+ JMESSAGE(JERR_HUFF_MISSING_CODE, "Missing Huffman code table entry")
99
+ JMESSAGE(JERR_IMAGE_TOO_BIG, "Maximum supported image dimension is %u pixels")
100
+ JMESSAGE(JERR_INPUT_EMPTY, "Empty input file")
101
+ JMESSAGE(JERR_INPUT_EOF, "Premature end of input file")
102
+ JMESSAGE(JERR_MISMATCHED_QUANT_TABLE,
103
+ "Cannot transcode due to multiple use of quantization table %d")
104
+ JMESSAGE(JERR_MISSING_DATA, "Scan script does not transmit all data")
105
+ JMESSAGE(JERR_MODE_CHANGE, "Invalid color quantization mode change")
106
+ JMESSAGE(JERR_NOTIMPL, "Not implemented yet")
107
+ JMESSAGE(JERR_NOT_COMPILED, "Requested feature was omitted at compile time")
108
+ #if JPEG_LIB_VERSION >= 70
109
+ JMESSAGE(JERR_NO_ARITH_TABLE, "Arithmetic table 0x%02x was not defined")
110
+ #endif
111
+ JMESSAGE(JERR_NO_BACKING_STORE, "Backing store not supported")
112
+ JMESSAGE(JERR_NO_HUFF_TABLE, "Huffman table 0x%02x was not defined")
113
+ JMESSAGE(JERR_NO_IMAGE, "JPEG datastream contains no image")
114
+ JMESSAGE(JERR_NO_QUANT_TABLE, "Quantization table 0x%02x was not defined")
115
+ JMESSAGE(JERR_NO_SOI, "Not a JPEG file: starts with 0x%02x 0x%02x")
116
+ JMESSAGE(JERR_OUT_OF_MEMORY, "Insufficient memory (case %d)")
117
+ JMESSAGE(JERR_QUANT_COMPONENTS,
118
+ "Cannot quantize more than %d color components")
119
+ JMESSAGE(JERR_QUANT_FEW_COLORS, "Cannot quantize to fewer than %d colors")
120
+ JMESSAGE(JERR_QUANT_MANY_COLORS, "Cannot quantize to more than %d colors")
121
+ JMESSAGE(JERR_SOF_DUPLICATE, "Invalid JPEG file structure: two SOF markers")
122
+ JMESSAGE(JERR_SOF_NO_SOS, "Invalid JPEG file structure: missing SOS marker")
123
+ JMESSAGE(JERR_SOF_UNSUPPORTED, "Unsupported JPEG process: SOF type 0x%02x")
124
+ JMESSAGE(JERR_SOI_DUPLICATE, "Invalid JPEG file structure: two SOI markers")
125
+ JMESSAGE(JERR_SOS_NO_SOF, "Invalid JPEG file structure: SOS before SOF")
126
+ JMESSAGE(JERR_TFILE_CREATE, "Failed to create temporary file %s")
127
+ JMESSAGE(JERR_TFILE_READ, "Read failed on temporary file")
128
+ JMESSAGE(JERR_TFILE_SEEK, "Seek failed on temporary file")
129
+ JMESSAGE(JERR_TFILE_WRITE,
130
+ "Write failed on temporary file --- out of disk space?")
131
+ JMESSAGE(JERR_TOO_LITTLE_DATA, "Application transferred too few scanlines")
132
+ JMESSAGE(JERR_UNKNOWN_MARKER, "Unsupported marker type 0x%02x")
133
+ JMESSAGE(JERR_VIRTUAL_BUG, "Virtual array controller messed up")
134
+ JMESSAGE(JERR_WIDTH_OVERFLOW, "Image too wide for this implementation")
135
+ JMESSAGE(JERR_XMS_READ, "Read from XMS failed")
136
+ JMESSAGE(JERR_XMS_WRITE, "Write to XMS failed")
137
+ JMESSAGE(JMSG_COPYRIGHT, JCOPYRIGHT_SHORT)
138
+ JMESSAGE(JMSG_VERSION, JVERSION)
139
+ JMESSAGE(JTRC_16BIT_TABLES,
140
+ "Caution: quantization tables are too coarse for baseline JPEG")
141
+ JMESSAGE(JTRC_ADOBE,
142
+ "Adobe APP14 marker: version %d, flags 0x%04x 0x%04x, transform %d")
143
+ JMESSAGE(JTRC_APP0, "Unknown APP0 marker (not JFIF), length %u")
144
+ JMESSAGE(JTRC_APP14, "Unknown APP14 marker (not Adobe), length %u")
145
+ JMESSAGE(JTRC_DAC, "Define Arithmetic Table 0x%02x: 0x%02x")
146
+ JMESSAGE(JTRC_DHT, "Define Huffman Table 0x%02x")
147
+ JMESSAGE(JTRC_DQT, "Define Quantization Table %d precision %d")
148
+ JMESSAGE(JTRC_DRI, "Define Restart Interval %u")
149
+ JMESSAGE(JTRC_EMS_CLOSE, "Freed EMS handle %u")
150
+ JMESSAGE(JTRC_EMS_OPEN, "Obtained EMS handle %u")
151
+ JMESSAGE(JTRC_EOI, "End Of Image")
152
+ JMESSAGE(JTRC_HUFFBITS, " %3d %3d %3d %3d %3d %3d %3d %3d")
153
+ JMESSAGE(JTRC_JFIF, "JFIF APP0 marker: version %d.%02d, density %dx%d %d")
154
+ JMESSAGE(JTRC_JFIF_BADTHUMBNAILSIZE,
155
+ "Warning: thumbnail image size does not match data length %u")
156
+ JMESSAGE(JTRC_JFIF_EXTENSION, "JFIF extension marker: type 0x%02x, length %u")
157
+ JMESSAGE(JTRC_JFIF_THUMBNAIL, " with %d x %d thumbnail image")
158
+ JMESSAGE(JTRC_MISC_MARKER, "Miscellaneous marker 0x%02x, length %u")
159
+ JMESSAGE(JTRC_PARMLESS_MARKER, "Unexpected marker 0x%02x")
160
+ JMESSAGE(JTRC_QUANTVALS, " %4u %4u %4u %4u %4u %4u %4u %4u")
161
+ JMESSAGE(JTRC_QUANT_3_NCOLORS, "Quantizing to %d = %d*%d*%d colors")
162
+ JMESSAGE(JTRC_QUANT_NCOLORS, "Quantizing to %d colors")
163
+ JMESSAGE(JTRC_QUANT_SELECTED, "Selected %d colors for quantization")
164
+ JMESSAGE(JTRC_RECOVERY_ACTION, "At marker 0x%02x, recovery action %d")
165
+ JMESSAGE(JTRC_RST, "RST%d")
166
+ JMESSAGE(JTRC_SMOOTH_NOTIMPL,
167
+ "Smoothing not supported with nonstandard sampling ratios")
168
+ JMESSAGE(JTRC_SOF, "Start Of Frame 0x%02x: width=%u, height=%u, components=%d")
169
+ JMESSAGE(JTRC_SOF_COMPONENT, " Component %d: %dhx%dv q=%d")
170
+ JMESSAGE(JTRC_SOI, "Start of Image")
171
+ JMESSAGE(JTRC_SOS, "Start Of Scan: %d components")
172
+ JMESSAGE(JTRC_SOS_COMPONENT, " Component %d: dc=%d ac=%d")
173
+ JMESSAGE(JTRC_SOS_PARAMS, " Ss=%d, Se=%d, Ah=%d, Al=%d")
174
+ JMESSAGE(JTRC_TFILE_CLOSE, "Closed temporary file %s")
175
+ JMESSAGE(JTRC_TFILE_OPEN, "Opened temporary file %s")
176
+ JMESSAGE(JTRC_THUMB_JPEG,
177
+ "JFIF extension marker: JPEG-compressed thumbnail image, length %u")
178
+ JMESSAGE(JTRC_THUMB_PALETTE,
179
+ "JFIF extension marker: palette thumbnail image, length %u")
180
+ JMESSAGE(JTRC_THUMB_RGB,
181
+ "JFIF extension marker: RGB thumbnail image, length %u")
182
+ JMESSAGE(JTRC_UNKNOWN_IDS,
183
+ "Unrecognized component IDs %d %d %d, assuming YCbCr")
184
+ JMESSAGE(JTRC_XMS_CLOSE, "Freed XMS handle %u")
185
+ JMESSAGE(JTRC_XMS_OPEN, "Obtained XMS handle %u")
186
+ JMESSAGE(JWRN_ADOBE_XFORM, "Unknown Adobe color transform code %d")
187
+ #if JPEG_LIB_VERSION >= 70
188
+ JMESSAGE(JWRN_ARITH_BAD_CODE, "Corrupt JPEG data: bad arithmetic code")
189
+ #endif
190
+ JMESSAGE(JWRN_BOGUS_PROGRESSION,
191
+ "Inconsistent progression sequence for component %d coefficient %d")
192
+ JMESSAGE(JWRN_EXTRANEOUS_DATA,
193
+ "Corrupt JPEG data: %u extraneous bytes before marker 0x%02x")
194
+ JMESSAGE(JWRN_HIT_MARKER, "Corrupt JPEG data: premature end of data segment")
195
+ JMESSAGE(JWRN_HUFF_BAD_CODE, "Corrupt JPEG data: bad Huffman code")
196
+ JMESSAGE(JWRN_JFIF_MAJOR, "Warning: unknown JFIF revision number %d.%02d")
197
+ JMESSAGE(JWRN_JPEG_EOF, "Premature end of JPEG file")
198
+ JMESSAGE(JWRN_MUST_RESYNC,
199
+ "Corrupt JPEG data: found marker 0x%02x instead of RST%d")
200
+ JMESSAGE(JWRN_NOT_SEQUENTIAL, "Invalid SOS parameters for sequential JPEG")
201
+ JMESSAGE(JWRN_TOO_MUCH_DATA, "Application transferred too many scanlines")
202
+ #if JPEG_LIB_VERSION < 70
203
+ JMESSAGE(JERR_BAD_CROP_SPEC, "Invalid crop request")
204
+ #if defined(C_ARITH_CODING_SUPPORTED) || defined(D_ARITH_CODING_SUPPORTED)
205
+ JMESSAGE(JERR_NO_ARITH_TABLE, "Arithmetic table 0x%02x was not defined")
206
+ JMESSAGE(JWRN_ARITH_BAD_CODE, "Corrupt JPEG data: bad arithmetic code")
207
+ #endif
208
+ #endif
209
+ JMESSAGE(JWRN_BOGUS_ICC, "Corrupt JPEG data: bad ICC marker")
210
+
211
+ #ifdef JMAKE_ENUM_LIST
212
+
213
+ JMSG_LASTMSGCODE
214
+ } J_MESSAGE_CODE;
215
+
216
+ #undef JMAKE_ENUM_LIST
217
+ #endif /* JMAKE_ENUM_LIST */
218
+
219
+ /* Zap JMESSAGE macro so that future re-inclusions do nothing by default */
220
+ #undef JMESSAGE
221
+
222
+
223
+ #ifndef JERROR_H
224
+ #define JERROR_H
225
+
226
+ /* Macros to simplify using the error and trace message stuff */
227
+ /* The first parameter is either type of cinfo pointer */
228
+
229
+ /* Fatal errors (print message and exit) */
230
+ #define ERREXIT(cinfo, code) \
231
+ ((cinfo)->err->msg_code = (code), \
232
+ (*(cinfo)->err->error_exit) ((j_common_ptr)(cinfo)))
233
+ #define ERREXIT1(cinfo, code, p1) \
234
+ ((cinfo)->err->msg_code = (code), \
235
+ (cinfo)->err->msg_parm.i[0] = (p1), \
236
+ (*(cinfo)->err->error_exit) ((j_common_ptr)(cinfo)))
237
+ #define ERREXIT2(cinfo, code, p1, p2) \
238
+ ((cinfo)->err->msg_code = (code), \
239
+ (cinfo)->err->msg_parm.i[0] = (p1), \
240
+ (cinfo)->err->msg_parm.i[1] = (p2), \
241
+ (*(cinfo)->err->error_exit) ((j_common_ptr)(cinfo)))
242
+ #define ERREXIT3(cinfo, code, p1, p2, p3) \
243
+ ((cinfo)->err->msg_code = (code), \
244
+ (cinfo)->err->msg_parm.i[0] = (p1), \
245
+ (cinfo)->err->msg_parm.i[1] = (p2), \
246
+ (cinfo)->err->msg_parm.i[2] = (p3), \
247
+ (*(cinfo)->err->error_exit) ((j_common_ptr)(cinfo)))
248
+ #define ERREXIT4(cinfo, code, p1, p2, p3, p4) \
249
+ ((cinfo)->err->msg_code = (code), \
250
+ (cinfo)->err->msg_parm.i[0] = (p1), \
251
+ (cinfo)->err->msg_parm.i[1] = (p2), \
252
+ (cinfo)->err->msg_parm.i[2] = (p3), \
253
+ (cinfo)->err->msg_parm.i[3] = (p4), \
254
+ (*(cinfo)->err->error_exit) ((j_common_ptr)(cinfo)))
255
+ #define ERREXITS(cinfo, code, str) \
256
+ ((cinfo)->err->msg_code = (code), \
257
+ strncpy((cinfo)->err->msg_parm.s, (str), JMSG_STR_PARM_MAX), \
258
+ (*(cinfo)->err->error_exit) ((j_common_ptr)(cinfo)))
259
+
260
+ #define MAKESTMT(stuff) do { stuff } while (0)
261
+
262
+ /* Nonfatal errors (we can keep going, but the data is probably corrupt) */
263
+ #define WARNMS(cinfo, code) \
264
+ ((cinfo)->err->msg_code = (code), \
265
+ (*(cinfo)->err->emit_message) ((j_common_ptr)(cinfo), -1))
266
+ #define WARNMS1(cinfo, code, p1) \
267
+ ((cinfo)->err->msg_code = (code), \
268
+ (cinfo)->err->msg_parm.i[0] = (p1), \
269
+ (*(cinfo)->err->emit_message) ((j_common_ptr)(cinfo), -1))
270
+ #define WARNMS2(cinfo, code, p1, p2) \
271
+ ((cinfo)->err->msg_code = (code), \
272
+ (cinfo)->err->msg_parm.i[0] = (p1), \
273
+ (cinfo)->err->msg_parm.i[1] = (p2), \
274
+ (*(cinfo)->err->emit_message) ((j_common_ptr)(cinfo), -1))
275
+
276
+ /* Informational/debugging messages */
277
+ #define TRACEMS(cinfo, lvl, code) \
278
+ ((cinfo)->err->msg_code = (code), \
279
+ (*(cinfo)->err->emit_message) ((j_common_ptr)(cinfo), (lvl)))
280
+ #define TRACEMS1(cinfo, lvl, code, p1) \
281
+ ((cinfo)->err->msg_code = (code), \
282
+ (cinfo)->err->msg_parm.i[0] = (p1), \
283
+ (*(cinfo)->err->emit_message) ((j_common_ptr)(cinfo), (lvl)))
284
+ #define TRACEMS2(cinfo, lvl, code, p1, p2) \
285
+ ((cinfo)->err->msg_code = (code), \
286
+ (cinfo)->err->msg_parm.i[0] = (p1), \
287
+ (cinfo)->err->msg_parm.i[1] = (p2), \
288
+ (*(cinfo)->err->emit_message) ((j_common_ptr)(cinfo), (lvl)))
289
+ #define TRACEMS3(cinfo, lvl, code, p1, p2, p3) \
290
+ MAKESTMT(int *_mp = (cinfo)->err->msg_parm.i; \
291
+ _mp[0] = (p1); _mp[1] = (p2); _mp[2] = (p3); \
292
+ (cinfo)->err->msg_code = (code); \
293
+ (*(cinfo)->err->emit_message) ((j_common_ptr)(cinfo), (lvl)); )
294
+ #define TRACEMS4(cinfo, lvl, code, p1, p2, p3, p4) \
295
+ MAKESTMT(int *_mp = (cinfo)->err->msg_parm.i; \
296
+ _mp[0] = (p1); _mp[1] = (p2); _mp[2] = (p3); _mp[3] = (p4); \
297
+ (cinfo)->err->msg_code = (code); \
298
+ (*(cinfo)->err->emit_message) ((j_common_ptr)(cinfo), (lvl)); )
299
+ #define TRACEMS5(cinfo, lvl, code, p1, p2, p3, p4, p5) \
300
+ MAKESTMT(int *_mp = (cinfo)->err->msg_parm.i; \
301
+ _mp[0] = (p1); _mp[1] = (p2); _mp[2] = (p3); _mp[3] = (p4); \
302
+ _mp[4] = (p5); \
303
+ (cinfo)->err->msg_code = (code); \
304
+ (*(cinfo)->err->emit_message) ((j_common_ptr)(cinfo), (lvl)); )
305
+ #define TRACEMS8(cinfo, lvl, code, p1, p2, p3, p4, p5, p6, p7, p8) \
306
+ MAKESTMT(int *_mp = (cinfo)->err->msg_parm.i; \
307
+ _mp[0] = (p1); _mp[1] = (p2); _mp[2] = (p3); _mp[3] = (p4); \
308
+ _mp[4] = (p5); _mp[5] = (p6); _mp[6] = (p7); _mp[7] = (p8); \
309
+ (cinfo)->err->msg_code = (code); \
310
+ (*(cinfo)->err->emit_message) ((j_common_ptr)(cinfo), (lvl)); )
311
+ #define TRACEMSS(cinfo, lvl, code, str) \
312
+ ((cinfo)->err->msg_code = (code), \
313
+ strncpy((cinfo)->err->msg_parm.s, (str), JMSG_STR_PARM_MAX), \
314
+ (*(cinfo)->err->emit_message) ((j_common_ptr)(cinfo), (lvl)))
315
+
316
+ #endif /* JERROR_H */
@@ -0,0 +1,169 @@
1
+ /*
2
+ * jfdctflt.c
3
+ *
4
+ * Copyright (C) 1994-1996, Thomas G. Lane.
5
+ * This file is part of the Independent JPEG Group's software.
6
+ * For conditions of distribution and use, see the accompanying README.ijg
7
+ * file.
8
+ *
9
+ * This file contains a floating-point implementation of the
10
+ * forward DCT (Discrete Cosine Transform).
11
+ *
12
+ * This implementation should be more accurate than either of the integer
13
+ * DCT implementations. However, it may not give the same results on all
14
+ * machines because of differences in roundoff behavior. Speed will depend
15
+ * on the hardware's floating point capacity.
16
+ *
17
+ * A 2-D DCT can be done by 1-D DCT on each row followed by 1-D DCT
18
+ * on each column. Direct algorithms are also available, but they are
19
+ * much more complex and seem not to be any faster when reduced to code.
20
+ *
21
+ * This implementation is based on Arai, Agui, and Nakajima's algorithm for
22
+ * scaled DCT. Their original paper (Trans. IEICE E-71(11):1095) is in
23
+ * Japanese, but the algorithm is described in the Pennebaker & Mitchell
24
+ * JPEG textbook (see REFERENCES section in file README.ijg). The following
25
+ * code is based directly on figure 4-8 in P&M.
26
+ * While an 8-point DCT cannot be done in less than 11 multiplies, it is
27
+ * possible to arrange the computation so that many of the multiplies are
28
+ * simple scalings of the final outputs. These multiplies can then be
29
+ * folded into the multiplications or divisions by the JPEG quantization
30
+ * table entries. The AA&N method leaves only 5 multiplies and 29 adds
31
+ * to be done in the DCT itself.
32
+ * The primary disadvantage of this method is that with a fixed-point
33
+ * implementation, accuracy is lost due to imprecise representation of the
34
+ * scaled quantization values. However, that problem does not arise if
35
+ * we use floating point arithmetic.
36
+ */
37
+
38
+ #define JPEG_INTERNALS
39
+ #include "jinclude.h"
40
+ #include "jpeglib.h"
41
+ #include "jdct.h" /* Private declarations for DCT subsystem */
42
+
43
+ #ifdef DCT_FLOAT_SUPPORTED
44
+
45
+
46
+ /*
47
+ * This module is specialized to the case DCTSIZE = 8.
48
+ */
49
+
50
+ #if DCTSIZE != 8
51
+ Sorry, this code only copes with 8x8 DCTs. /* deliberate syntax err */
52
+ #endif
53
+
54
+
55
+ /*
56
+ * Perform the forward DCT on one block of samples.
57
+ */
58
+
59
+ GLOBAL(void)
60
+ jpeg_fdct_float(FAST_FLOAT *data)
61
+ {
62
+ FAST_FLOAT tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, tmp7;
63
+ FAST_FLOAT tmp10, tmp11, tmp12, tmp13;
64
+ FAST_FLOAT z1, z2, z3, z4, z5, z11, z13;
65
+ FAST_FLOAT *dataptr;
66
+ int ctr;
67
+
68
+ /* Pass 1: process rows. */
69
+
70
+ dataptr = data;
71
+ for (ctr = DCTSIZE - 1; ctr >= 0; ctr--) {
72
+ tmp0 = dataptr[0] + dataptr[7];
73
+ tmp7 = dataptr[0] - dataptr[7];
74
+ tmp1 = dataptr[1] + dataptr[6];
75
+ tmp6 = dataptr[1] - dataptr[6];
76
+ tmp2 = dataptr[2] + dataptr[5];
77
+ tmp5 = dataptr[2] - dataptr[5];
78
+ tmp3 = dataptr[3] + dataptr[4];
79
+ tmp4 = dataptr[3] - dataptr[4];
80
+
81
+ /* Even part */
82
+
83
+ tmp10 = tmp0 + tmp3; /* phase 2 */
84
+ tmp13 = tmp0 - tmp3;
85
+ tmp11 = tmp1 + tmp2;
86
+ tmp12 = tmp1 - tmp2;
87
+
88
+ dataptr[0] = tmp10 + tmp11; /* phase 3 */
89
+ dataptr[4] = tmp10 - tmp11;
90
+
91
+ z1 = (tmp12 + tmp13) * ((FAST_FLOAT)0.707106781); /* c4 */
92
+ dataptr[2] = tmp13 + z1; /* phase 5 */
93
+ dataptr[6] = tmp13 - z1;
94
+
95
+ /* Odd part */
96
+
97
+ tmp10 = tmp4 + tmp5; /* phase 2 */
98
+ tmp11 = tmp5 + tmp6;
99
+ tmp12 = tmp6 + tmp7;
100
+
101
+ /* The rotator is modified from fig 4-8 to avoid extra negations. */
102
+ z5 = (tmp10 - tmp12) * ((FAST_FLOAT)0.382683433); /* c6 */
103
+ z2 = ((FAST_FLOAT)0.541196100) * tmp10 + z5; /* c2-c6 */
104
+ z4 = ((FAST_FLOAT)1.306562965) * tmp12 + z5; /* c2+c6 */
105
+ z3 = tmp11 * ((FAST_FLOAT)0.707106781); /* c4 */
106
+
107
+ z11 = tmp7 + z3; /* phase 5 */
108
+ z13 = tmp7 - z3;
109
+
110
+ dataptr[5] = z13 + z2; /* phase 6 */
111
+ dataptr[3] = z13 - z2;
112
+ dataptr[1] = z11 + z4;
113
+ dataptr[7] = z11 - z4;
114
+
115
+ dataptr += DCTSIZE; /* advance pointer to next row */
116
+ }
117
+
118
+ /* Pass 2: process columns. */
119
+
120
+ dataptr = data;
121
+ for (ctr = DCTSIZE - 1; ctr >= 0; ctr--) {
122
+ tmp0 = dataptr[DCTSIZE * 0] + dataptr[DCTSIZE * 7];
123
+ tmp7 = dataptr[DCTSIZE * 0] - dataptr[DCTSIZE * 7];
124
+ tmp1 = dataptr[DCTSIZE * 1] + dataptr[DCTSIZE * 6];
125
+ tmp6 = dataptr[DCTSIZE * 1] - dataptr[DCTSIZE * 6];
126
+ tmp2 = dataptr[DCTSIZE * 2] + dataptr[DCTSIZE * 5];
127
+ tmp5 = dataptr[DCTSIZE * 2] - dataptr[DCTSIZE * 5];
128
+ tmp3 = dataptr[DCTSIZE * 3] + dataptr[DCTSIZE * 4];
129
+ tmp4 = dataptr[DCTSIZE * 3] - dataptr[DCTSIZE * 4];
130
+
131
+ /* Even part */
132
+
133
+ tmp10 = tmp0 + tmp3; /* phase 2 */
134
+ tmp13 = tmp0 - tmp3;
135
+ tmp11 = tmp1 + tmp2;
136
+ tmp12 = tmp1 - tmp2;
137
+
138
+ dataptr[DCTSIZE * 0] = tmp10 + tmp11; /* phase 3 */
139
+ dataptr[DCTSIZE * 4] = tmp10 - tmp11;
140
+
141
+ z1 = (tmp12 + tmp13) * ((FAST_FLOAT)0.707106781); /* c4 */
142
+ dataptr[DCTSIZE * 2] = tmp13 + z1; /* phase 5 */
143
+ dataptr[DCTSIZE * 6] = tmp13 - z1;
144
+
145
+ /* Odd part */
146
+
147
+ tmp10 = tmp4 + tmp5; /* phase 2 */
148
+ tmp11 = tmp5 + tmp6;
149
+ tmp12 = tmp6 + tmp7;
150
+
151
+ /* The rotator is modified from fig 4-8 to avoid extra negations. */
152
+ z5 = (tmp10 - tmp12) * ((FAST_FLOAT)0.382683433); /* c6 */
153
+ z2 = ((FAST_FLOAT)0.541196100) * tmp10 + z5; /* c2-c6 */
154
+ z4 = ((FAST_FLOAT)1.306562965) * tmp12 + z5; /* c2+c6 */
155
+ z3 = tmp11 * ((FAST_FLOAT)0.707106781); /* c4 */
156
+
157
+ z11 = tmp7 + z3; /* phase 5 */
158
+ z13 = tmp7 - z3;
159
+
160
+ dataptr[DCTSIZE * 5] = z13 + z2; /* phase 6 */
161
+ dataptr[DCTSIZE * 3] = z13 - z2;
162
+ dataptr[DCTSIZE * 1] = z11 + z4;
163
+ dataptr[DCTSIZE * 7] = z11 - z4;
164
+
165
+ dataptr++; /* advance pointer to next column */
166
+ }
167
+ }
168
+
169
+ #endif /* DCT_FLOAT_SUPPORTED */