laag-libjpeg-turbo 1.5.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (444) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +57 -0
  3. data/LICENSE.txt +139 -0
  4. data/README.org +34 -0
  5. data/ext/laag/libjpeg-turbo/extconf.rb +16 -0
  6. data/laag-libjpeg-turbo.gemspec +20 -0
  7. data/lib/laag/libjpeg-turbo.rb +29 -0
  8. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/.gitignore +14 -0
  9. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/.travis.yml +131 -0
  10. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/BUILDING.md +964 -0
  11. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/CMakeLists.txt +962 -0
  12. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/ChangeLog.md +1151 -0
  13. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/LICENSE.md +139 -0
  14. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/Makefile.am +794 -0
  15. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/README.ijg +279 -0
  16. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/README.md +341 -0
  17. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/acinclude.m4 +287 -0
  18. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/appveyor.yml +57 -0
  19. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/bmp.c +341 -0
  20. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/bmp.h +42 -0
  21. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/cderror.h +136 -0
  22. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/cdjpeg.c +144 -0
  23. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/cdjpeg.h +153 -0
  24. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/change.log +315 -0
  25. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/ci/keys.enc +0 -0
  26. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/cjpeg.1 +351 -0
  27. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/cjpeg.c +644 -0
  28. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/cmakescripts/cmake_uninstall.cmake.in +24 -0
  29. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/cmakescripts/testclean.cmake +39 -0
  30. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/coderules.txt +78 -0
  31. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/configure.ac +616 -0
  32. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/djpeg.1 +293 -0
  33. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/djpeg.c +782 -0
  34. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/doc/html/annotated.html +104 -0
  35. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/doc/html/bc_s.png +0 -0
  36. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/doc/html/bdwn.png +0 -0
  37. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/doc/html/classes.html +106 -0
  38. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/doc/html/closed.png +0 -0
  39. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/doc/html/doxygen-extra.css +3 -0
  40. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/doc/html/doxygen.css +1184 -0
  41. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/doc/html/doxygen.png +0 -0
  42. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/doc/html/dynsections.js +97 -0
  43. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/doc/html/ftv2blank.png +0 -0
  44. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/doc/html/ftv2cl.png +0 -0
  45. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/doc/html/ftv2doc.png +0 -0
  46. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/doc/html/ftv2folderclosed.png +0 -0
  47. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/doc/html/ftv2folderopen.png +0 -0
  48. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/doc/html/ftv2lastnode.png +0 -0
  49. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/doc/html/ftv2link.png +0 -0
  50. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/doc/html/ftv2mlastnode.png +0 -0
  51. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/doc/html/ftv2mnode.png +0 -0
  52. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/doc/html/ftv2mo.png +0 -0
  53. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/doc/html/ftv2node.png +0 -0
  54. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/doc/html/ftv2ns.png +0 -0
  55. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/doc/html/ftv2plastnode.png +0 -0
  56. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/doc/html/ftv2pnode.png +0 -0
  57. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/doc/html/ftv2splitbar.png +0 -0
  58. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/doc/html/ftv2vertline.png +0 -0
  59. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/doc/html/functions.html +134 -0
  60. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/doc/html/functions_vars.html +134 -0
  61. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/doc/html/group___turbo_j_p_e_g.html +2446 -0
  62. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/doc/html/index.html +90 -0
  63. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/doc/html/jquery.js +8 -0
  64. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/doc/html/modules.html +95 -0
  65. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/doc/html/nav_f.png +0 -0
  66. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/doc/html/nav_g.png +0 -0
  67. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/doc/html/nav_h.png +0 -0
  68. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/doc/html/open.png +0 -0
  69. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/doc/html/search/all_63.html +26 -0
  70. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/doc/html/search/all_63.js +4 -0
  71. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/doc/html/search/all_64.html +26 -0
  72. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/doc/html/search/all_64.js +5 -0
  73. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/doc/html/search/all_68.html +26 -0
  74. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/doc/html/search/all_68.js +4 -0
  75. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/doc/html/search/all_6e.html +26 -0
  76. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/doc/html/search/all_6e.js +4 -0
  77. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/doc/html/search/all_6f.html +26 -0
  78. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/doc/html/search/all_6f.js +5 -0
  79. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/doc/html/search/all_72.html +26 -0
  80. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/doc/html/search/all_72.js +4 -0
  81. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/doc/html/search/all_74.html +26 -0
  82. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/doc/html/search/all_74.js +89 -0
  83. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/doc/html/search/all_77.html +26 -0
  84. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/doc/html/search/all_77.js +4 -0
  85. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/doc/html/search/all_78.html +26 -0
  86. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/doc/html/search/all_78.js +4 -0
  87. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/doc/html/search/all_79.html +26 -0
  88. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/doc/html/search/all_79.js +4 -0
  89. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/doc/html/search/classes_74.html +26 -0
  90. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/doc/html/search/classes_74.js +6 -0
  91. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/doc/html/search/close.png +0 -0
  92. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/doc/html/search/enums_74.html +26 -0
  93. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/doc/html/search/enums_74.js +7 -0
  94. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/doc/html/search/enumvalues_74.html +26 -0
  95. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/doc/html/search/enumvalues_74.js +34 -0
  96. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/doc/html/search/functions_74.html +26 -0
  97. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/doc/html/search/functions_74.js +28 -0
  98. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/doc/html/search/groups_74.html +26 -0
  99. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/doc/html/search/groups_74.js +4 -0
  100. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/doc/html/search/mag_sel.png +0 -0
  101. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/doc/html/search/nomatches.html +12 -0
  102. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/doc/html/search/search.css +271 -0
  103. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/doc/html/search/search.js +809 -0
  104. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/doc/html/search/search_l.png +0 -0
  105. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/doc/html/search/search_m.png +0 -0
  106. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/doc/html/search/search_r.png +0 -0
  107. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/doc/html/search/typedefs_74.html +26 -0
  108. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/doc/html/search/typedefs_74.js +5 -0
  109. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/doc/html/search/variables_63.html +26 -0
  110. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/doc/html/search/variables_63.js +4 -0
  111. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/doc/html/search/variables_64.html +26 -0
  112. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/doc/html/search/variables_64.js +5 -0
  113. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/doc/html/search/variables_68.html +26 -0
  114. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/doc/html/search/variables_68.js +4 -0
  115. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/doc/html/search/variables_6e.html +26 -0
  116. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/doc/html/search/variables_6e.js +4 -0
  117. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/doc/html/search/variables_6f.html +26 -0
  118. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/doc/html/search/variables_6f.js +5 -0
  119. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/doc/html/search/variables_72.html +26 -0
  120. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/doc/html/search/variables_72.js +4 -0
  121. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/doc/html/search/variables_74.html +26 -0
  122. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/doc/html/search/variables_74.js +9 -0
  123. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/doc/html/search/variables_77.html +26 -0
  124. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/doc/html/search/variables_77.js +4 -0
  125. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/doc/html/search/variables_78.html +26 -0
  126. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/doc/html/search/variables_78.js +4 -0
  127. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/doc/html/search/variables_79.html +26 -0
  128. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/doc/html/search/variables_79.js +4 -0
  129. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/doc/html/structtjregion.html +186 -0
  130. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/doc/html/structtjscalingfactor.html +148 -0
  131. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/doc/html/structtjtransform.html +212 -0
  132. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/doc/html/sync_off.png +0 -0
  133. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/doc/html/sync_on.png +0 -0
  134. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/doc/html/tab_a.png +0 -0
  135. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/doc/html/tab_b.png +0 -0
  136. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/doc/html/tab_h.png +0 -0
  137. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/doc/html/tab_s.png +0 -0
  138. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/doc/html/tabs.css +60 -0
  139. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/doxygen-extra.css +3 -0
  140. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/doxygen.config +16 -0
  141. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/example.c +433 -0
  142. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/jaricom.c +156 -0
  143. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/java/CMakeLists.txt +57 -0
  144. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/java/MANIFEST.MF +2 -0
  145. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/java/Makefile.am +75 -0
  146. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/java/README +52 -0
  147. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/java/TJBench.java +926 -0
  148. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/java/TJExample.java +362 -0
  149. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/java/TJUnitTest.java +959 -0
  150. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/java/doc/allclasses-frame.html +24 -0
  151. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/java/doc/allclasses-noframe.html +24 -0
  152. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/java/doc/constant-values.html +479 -0
  153. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/java/doc/deprecated-list.html +248 -0
  154. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/java/doc/help-doc.html +206 -0
  155. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/java/doc/index-all.html +980 -0
  156. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/java/doc/index.html +70 -0
  157. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/java/doc/org/libjpegturbo/turbojpeg/TJ.html +1254 -0
  158. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/java/doc/org/libjpegturbo/turbojpeg/TJCompressor.html +922 -0
  159. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/java/doc/org/libjpegturbo/turbojpeg/TJCustomFilter.html +237 -0
  160. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/java/doc/org/libjpegturbo/turbojpeg/TJDecompressor.html +1235 -0
  161. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/java/doc/org/libjpegturbo/turbojpeg/TJException.html +287 -0
  162. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/java/doc/org/libjpegturbo/turbojpeg/TJScalingFactor.html +333 -0
  163. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/java/doc/org/libjpegturbo/turbojpeg/TJTransform.html +706 -0
  164. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/java/doc/org/libjpegturbo/turbojpeg/TJTransformer.html +417 -0
  165. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/java/doc/org/libjpegturbo/turbojpeg/YUVImage.html +761 -0
  166. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/java/doc/org/libjpegturbo/turbojpeg/package-frame.html +31 -0
  167. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/java/doc/org/libjpegturbo/turbojpeg/package-summary.html +198 -0
  168. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/java/doc/org/libjpegturbo/turbojpeg/package-tree.html +156 -0
  169. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/java/doc/overview-tree.html +160 -0
  170. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/java/doc/package-list +1 -0
  171. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/java/doc/resources/background.gif +0 -0
  172. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/java/doc/resources/tab.gif +0 -0
  173. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/java/doc/resources/titlebar.gif +0 -0
  174. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/java/doc/resources/titlebar_end.gif +0 -0
  175. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/java/doc/serialized-form.html +159 -0
  176. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/java/doc/stylesheet.css +474 -0
  177. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/java/org/libjpegturbo/turbojpeg/TJ.java +513 -0
  178. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/java/org/libjpegturbo/turbojpeg/TJCompressor.java +658 -0
  179. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/java/org/libjpegturbo/turbojpeg/TJCustomFilter.java +76 -0
  180. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/java/org/libjpegturbo/turbojpeg/TJDecompressor.java +909 -0
  181. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/java/org/libjpegturbo/turbojpeg/TJException.java +53 -0
  182. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/java/org/libjpegturbo/turbojpeg/TJLoader.java.in +35 -0
  183. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/java/org/libjpegturbo/turbojpeg/TJLoader.java.tmpl +59 -0
  184. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/java/org/libjpegturbo/turbojpeg/TJScalingFactor.java +104 -0
  185. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/java/org/libjpegturbo/turbojpeg/TJTransform.java +208 -0
  186. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/java/org/libjpegturbo/turbojpeg/TJTransformer.java +163 -0
  187. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/java/org/libjpegturbo/turbojpeg/YUVImage.java +443 -0
  188. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/java/org_libjpegturbo_turbojpeg_TJ.h +129 -0
  189. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/java/org_libjpegturbo_turbojpeg_TJCompressor.h +101 -0
  190. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/java/org_libjpegturbo_turbojpeg_TJDecompressor.h +101 -0
  191. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/java/org_libjpegturbo_turbojpeg_TJTransformer.h +29 -0
  192. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/jcapimin.c +295 -0
  193. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/jcapistd.c +162 -0
  194. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/jcarith.c +928 -0
  195. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/jccoefct.c +449 -0
  196. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/jccolext.c +148 -0
  197. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/jccolor.c +719 -0
  198. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/jcdctmgr.c +721 -0
  199. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/jchuff.c +1091 -0
  200. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/jchuff.h +43 -0
  201. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/jcinit.c +77 -0
  202. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/jcmainct.c +162 -0
  203. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/jcmarker.c +665 -0
  204. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/jcmaster.c +639 -0
  205. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/jcomapi.c +109 -0
  206. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/jconfig.h.in +73 -0
  207. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/jconfig.txt +143 -0
  208. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/jconfigint.h.in +17 -0
  209. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/jcparam.c +542 -0
  210. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/jcphuff.c +834 -0
  211. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/jcprepct.c +357 -0
  212. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/jcsample.c +539 -0
  213. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/jcstest.c +126 -0
  214. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/jctrans.c +402 -0
  215. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/jdapimin.c +407 -0
  216. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/jdapistd.c +637 -0
  217. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/jdarith.c +769 -0
  218. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/jdatadst-tj.c +202 -0
  219. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/jdatadst.c +293 -0
  220. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/jdatasrc-tj.c +191 -0
  221. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/jdatasrc.c +295 -0
  222. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/jdcoefct.c +693 -0
  223. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/jdcoefct.h +82 -0
  224. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/jdcol565.c +384 -0
  225. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/jdcolext.c +143 -0
  226. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/jdcolor.c +897 -0
  227. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/jdct.h +208 -0
  228. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/jddctmgr.c +352 -0
  229. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/jdhuff.c +822 -0
  230. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/jdhuff.h +234 -0
  231. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/jdinput.c +405 -0
  232. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/jdmainct.c +456 -0
  233. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/jdmainct.h +71 -0
  234. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/jdmarker.c +1377 -0
  235. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/jdmaster.c +736 -0
  236. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/jdmaster.h +28 -0
  237. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/jdmerge.c +627 -0
  238. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/jdmrg565.c +356 -0
  239. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/jdmrgext.c +186 -0
  240. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/jdphuff.c +674 -0
  241. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/jdpostct.c +290 -0
  242. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/jdsample.c +517 -0
  243. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/jdsample.h +50 -0
  244. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/jdtrans.c +155 -0
  245. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/jerror.c +251 -0
  246. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/jerror.h +317 -0
  247. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/jfdctflt.c +169 -0
  248. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/jfdctfst.c +227 -0
  249. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/jfdctint.c +286 -0
  250. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/jidctflt.c +240 -0
  251. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/jidctfst.c +371 -0
  252. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/jidctint.c +2627 -0
  253. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/jidctred.c +403 -0
  254. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/jinclude.h +84 -0
  255. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/jmemmgr.c +1183 -0
  256. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/jmemnobs.c +115 -0
  257. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/jmemsys.h +178 -0
  258. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/jmorecfg.h +421 -0
  259. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/jpeg_nbits_table.h +4098 -0
  260. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/jpegcomp.h +31 -0
  261. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/jpegint.h +368 -0
  262. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/jpeglib.h +1122 -0
  263. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/jpegtran.1 +290 -0
  264. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/jpegtran.c +551 -0
  265. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/jquant1.c +857 -0
  266. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/jquant2.c +1282 -0
  267. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/jsimd.h +93 -0
  268. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/jsimd_none.c +404 -0
  269. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/jsimddct.h +74 -0
  270. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/jstdhuff.c +135 -0
  271. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/jutils.c +133 -0
  272. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/jversion.h +49 -0
  273. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/libjpeg.map.in +11 -0
  274. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/libjpeg.txt +3104 -0
  275. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/md5/CMakeLists.txt +1 -0
  276. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/md5/Makefile.am +4 -0
  277. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/md5/md5.c +340 -0
  278. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/md5/md5.h +49 -0
  279. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/md5/md5cmp.c +60 -0
  280. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/md5/md5hl.c +114 -0
  281. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/rdbmp.c +483 -0
  282. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/rdcolmap.c +254 -0
  283. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/rdgif.c +39 -0
  284. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/rdjpgcom.1 +63 -0
  285. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/rdjpgcom.c +510 -0
  286. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/rdppm.c +471 -0
  287. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/rdrle.c +389 -0
  288. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/rdswitch.c +424 -0
  289. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/rdtarga.c +503 -0
  290. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/release/Distribution.xml +24 -0
  291. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/release/License.rtf +20 -0
  292. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/release/ReadMe.txt +5 -0
  293. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/release/Welcome.rtf +17 -0
  294. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/release/deb-control.tmpl +31 -0
  295. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/release/libjpeg-turbo.nsi.in +162 -0
  296. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/release/libjpeg-turbo.spec.in +164 -0
  297. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/release/libjpeg.pc.in +10 -0
  298. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/release/libturbojpeg.pc.in +10 -0
  299. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/release/makecygwinpkg.in +42 -0
  300. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/release/makedpkg.in +82 -0
  301. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/release/makemacpkg.in +470 -0
  302. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/release/uninstall.in +112 -0
  303. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/sharedlib/CMakeLists.txt +73 -0
  304. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/simd/CMakeLists.txt +81 -0
  305. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/simd/Makefile.am +102 -0
  306. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/simd/jccolext-altivec.c +267 -0
  307. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/simd/jccolext-mmx.asm +476 -0
  308. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/simd/jccolext-sse2-64.asm +486 -0
  309. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/simd/jccolext-sse2.asm +503 -0
  310. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/simd/jccolor-altivec.c +104 -0
  311. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/simd/jccolor-mmx.asm +122 -0
  312. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/simd/jccolor-sse2-64.asm +121 -0
  313. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/simd/jccolor-sse2.asm +121 -0
  314. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/simd/jcgray-altivec.c +99 -0
  315. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/simd/jcgray-mmx.asm +115 -0
  316. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/simd/jcgray-sse2-64.asm +114 -0
  317. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/simd/jcgray-sse2.asm +114 -0
  318. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/simd/jcgryext-altivec.c +227 -0
  319. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/simd/jcgryext-mmx.asm +356 -0
  320. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/simd/jcgryext-sse2-64.asm +365 -0
  321. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/simd/jcgryext-sse2.asm +384 -0
  322. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/simd/jchuff-sse2-64.asm +360 -0
  323. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/simd/jchuff-sse2.asm +426 -0
  324. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/simd/jcolsamp.inc +104 -0
  325. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/simd/jcsample-altivec.c +158 -0
  326. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/simd/jcsample-mmx.asm +323 -0
  327. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/simd/jcsample-sse2-64.asm +329 -0
  328. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/simd/jcsample-sse2.asm +350 -0
  329. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/simd/jcsample.h +28 -0
  330. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/simd/jdcolext-altivec.c +274 -0
  331. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/simd/jdcolext-mmx.asm +404 -0
  332. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/simd/jdcolext-sse2-64.asm +440 -0
  333. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/simd/jdcolext-sse2.asm +459 -0
  334. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/simd/jdcolor-altivec.c +96 -0
  335. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/simd/jdcolor-mmx.asm +119 -0
  336. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/simd/jdcolor-sse2-64.asm +119 -0
  337. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/simd/jdcolor-sse2.asm +119 -0
  338. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/simd/jdct.inc +27 -0
  339. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/simd/jdmerge-altivec.c +108 -0
  340. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/simd/jdmerge-mmx.asm +125 -0
  341. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/simd/jdmerge-sse2-64.asm +125 -0
  342. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/simd/jdmerge-sse2.asm +125 -0
  343. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/simd/jdmrgext-altivec.c +323 -0
  344. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/simd/jdmrgext-mmx.asm +463 -0
  345. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/simd/jdmrgext-sse2-64.asm +537 -0
  346. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/simd/jdmrgext-sse2.asm +518 -0
  347. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/simd/jdsample-altivec.c +392 -0
  348. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/simd/jdsample-mmx.asm +736 -0
  349. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/simd/jdsample-sse2-64.asm +670 -0
  350. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/simd/jdsample-sse2.asm +728 -0
  351. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/simd/jfdctflt-3dn.asm +319 -0
  352. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/simd/jfdctflt-sse-64.asm +357 -0
  353. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/simd/jfdctflt-sse.asm +369 -0
  354. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/simd/jfdctfst-altivec.c +156 -0
  355. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/simd/jfdctfst-mmx.asm +396 -0
  356. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/simd/jfdctfst-sse2-64.asm +391 -0
  357. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/simd/jfdctfst-sse2.asm +403 -0
  358. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/simd/jfdctint-altivec.c +262 -0
  359. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/simd/jfdctint-mmx.asm +621 -0
  360. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/simd/jfdctint-sse2-64.asm +621 -0
  361. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/simd/jfdctint-sse2.asm +633 -0
  362. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/simd/jidctflt-3dn.asm +451 -0
  363. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/simd/jidctflt-sse.asm +571 -0
  364. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/simd/jidctflt-sse2-64.asm +482 -0
  365. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/simd/jidctflt-sse2.asm +497 -0
  366. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/simd/jidctfst-altivec.c +257 -0
  367. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/simd/jidctfst-mmx.asm +499 -0
  368. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/simd/jidctfst-sse2-64.asm +491 -0
  369. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/simd/jidctfst-sse2.asm +501 -0
  370. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/simd/jidctint-altivec.c +359 -0
  371. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/simd/jidctint-mmx.asm +851 -0
  372. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/simd/jidctint-sse2-64.asm +847 -0
  373. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/simd/jidctint-sse2.asm +858 -0
  374. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/simd/jidctred-mmx.asm +705 -0
  375. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/simd/jidctred-sse2-64.asm +575 -0
  376. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/simd/jidctred-sse2.asm +593 -0
  377. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/simd/jpeg_nbits_table.inc +4097 -0
  378. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/simd/jquant-3dn.asm +232 -0
  379. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/simd/jquant-mmx.asm +273 -0
  380. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/simd/jquant-sse.asm +210 -0
  381. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/simd/jquantf-sse2-64.asm +157 -0
  382. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/simd/jquantf-sse2.asm +170 -0
  383. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/simd/jquanti-altivec.c +252 -0
  384. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/simd/jquanti-sse2-64.asm +186 -0
  385. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/simd/jquanti-sse2.asm +199 -0
  386. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/simd/jsimd.h +871 -0
  387. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/simd/jsimd_altivec.h +99 -0
  388. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/simd/jsimd_arm.c +728 -0
  389. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/simd/jsimd_arm64.c +803 -0
  390. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/simd/jsimd_arm64_neon.S +3425 -0
  391. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/simd/jsimd_arm_neon.S +2878 -0
  392. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/simd/jsimd_i386.c +1091 -0
  393. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/simd/jsimd_mips.c +1140 -0
  394. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/simd/jsimd_mips_dspr2.S +4486 -0
  395. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/simd/jsimd_mips_dspr2_asm.h +283 -0
  396. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/simd/jsimd_powerpc.c +852 -0
  397. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/simd/jsimd_x86_64.c +887 -0
  398. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/simd/jsimdcfg.inc.h +130 -0
  399. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/simd/jsimdcpu.asm +104 -0
  400. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/simd/jsimdext.inc +375 -0
  401. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/simd/nasm_lt.sh +60 -0
  402. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/structure.txt +904 -0
  403. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/testimages/nightshot_iso_100.bmp +0 -0
  404. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/testimages/nightshot_iso_100.txt +25 -0
  405. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/testimages/testimgari.jpg +0 -0
  406. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/testimages/testimgint.jpg +0 -0
  407. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/testimages/testorig.jpg +0 -0
  408. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/testimages/testorig.ppm +4 -0
  409. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/testimages/testorig12.jpg +0 -0
  410. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/testimages/vgl_5674_0098.bmp +0 -0
  411. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/testimages/vgl_6434_0018a.bmp +0 -0
  412. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/testimages/vgl_6548_0026a.bmp +0 -0
  413. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/tjbench.c +1010 -0
  414. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/tjbenchtest.in +252 -0
  415. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/tjbenchtest.java.in +207 -0
  416. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/tjexampletest.in +150 -0
  417. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/tjunittest.c +734 -0
  418. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/tjutil.c +66 -0
  419. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/tjutil.h +47 -0
  420. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/transupp.c +1626 -0
  421. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/transupp.h +207 -0
  422. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/turbojpeg-jni.c +1166 -0
  423. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/turbojpeg-mapfile +56 -0
  424. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/turbojpeg-mapfile.jni +92 -0
  425. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/turbojpeg.c +2175 -0
  426. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/turbojpeg.h +1545 -0
  427. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/usage.txt +635 -0
  428. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/win/jconfig.h.in +51 -0
  429. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/win/jconfigint.h.in +13 -0
  430. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/win/jpeg62-memsrcdst.def +106 -0
  431. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/win/jpeg62.def +104 -0
  432. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/win/jpeg7-memsrcdst.def +108 -0
  433. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/win/jpeg7.def +106 -0
  434. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/win/jpeg8.def +109 -0
  435. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/win/jsimdcfg.inc +94 -0
  436. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/wizard.txt +211 -0
  437. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/wrbmp.c +494 -0
  438. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/wrgif.c +413 -0
  439. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/wrjpgcom.1 +103 -0
  440. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/wrjpgcom.c +592 -0
  441. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/wrppm.c +280 -0
  442. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/wrrle.c +308 -0
  443. data/vendor/github.com/libjpeg-turbo/libjpeg-turbo/wrtarga.c +261 -0
  444. metadata +509 -0
@@ -0,0 +1,962 @@
1
+ #
2
+ # Setup
3
+ #
4
+
5
+ cmake_minimum_required(VERSION 2.8.11)
6
+ # Use LINK_INTERFACE_LIBRARIES instead of INTERFACE_LINK_LIBRARIES
7
+ if(POLICY CMP0022)
8
+ cmake_policy(SET CMP0022 OLD)
9
+ endif()
10
+
11
+ project(libjpeg-turbo C)
12
+ set(VERSION 1.5.3)
13
+ string(REPLACE "." ";" VERSION_TRIPLET ${VERSION})
14
+ list(GET VERSION_TRIPLET 0 VERSION_MAJOR)
15
+ list(GET VERSION_TRIPLET 1 VERSION_MINOR)
16
+ list(GET VERSION_TRIPLET 2 VERSION_REVISION)
17
+ function(pad_number NUMBER OUTPUT_LEN)
18
+ string(LENGTH "${${NUMBER}}" INPUT_LEN)
19
+ if(INPUT_LEN LESS OUTPUT_LEN)
20
+ math(EXPR ZEROES "${OUTPUT_LEN} - ${INPUT_LEN} - 1")
21
+ set(NUM ${${NUMBER}})
22
+ foreach(C RANGE ${ZEROES})
23
+ set(NUM "0${NUM}")
24
+ endforeach()
25
+ set(${NUMBER} ${NUM} PARENT_SCOPE)
26
+ endif()
27
+ endfunction()
28
+ pad_number(VERSION_MINOR 3)
29
+ pad_number(VERSION_REVISION 3)
30
+ set(LIBJPEG_TURBO_VERSION_NUMBER ${VERSION_MAJOR}${VERSION_MINOR}${VERSION_REVISION})
31
+
32
+ if(NOT WIN32)
33
+ message(FATAL_ERROR "Platform not supported by this build system. Use autotools instead.")
34
+ endif()
35
+
36
+ string(TIMESTAMP BUILD "%Y%m%d")
37
+
38
+ # This does nothing except when using MinGW. CMAKE_BUILD_TYPE has no meaning
39
+ # in Visual Studio, and it always defaults to Debug when using NMake.
40
+ if(NOT CMAKE_BUILD_TYPE)
41
+ set(CMAKE_BUILD_TYPE Release)
42
+ endif()
43
+
44
+ message(STATUS "CMAKE_BUILD_TYPE = ${CMAKE_BUILD_TYPE}")
45
+
46
+ # This only works if building from the command line. There is currently no way
47
+ # to set a variable's value based on the build type when using Visual Studio.
48
+ if(CMAKE_BUILD_TYPE STREQUAL "Debug")
49
+ set(BUILD "${BUILD}d")
50
+ endif()
51
+
52
+ message(STATUS "VERSION = ${VERSION}, BUILD = ${BUILD}")
53
+
54
+ option(WITH_SIMD "Include SIMD extensions" TRUE)
55
+ option(WITH_ARITH_ENC "Include arithmetic encoding support when emulating the libjpeg v6b API/ABI" TRUE)
56
+ option(WITH_ARITH_DEC "Include arithmetic decoding support when emulating the libjpeg v6b API/ABI" TRUE)
57
+ option(WITH_JPEG7 "Emulate libjpeg v7 API/ABI (this makes libjpeg-turbo backward incompatible with libjpeg v6b)" FALSE)
58
+ option(WITH_JPEG8 "Emulate libjpeg v8 API/ABI (this makes libjpeg-turbo backward incompatible with libjpeg v6b)" FALSE)
59
+ option(WITH_MEM_SRCDST "Include in-memory source/destination manager functions when emulating the libjpeg v6b or v7 API/ABI" TRUE)
60
+ option(WITH_TURBOJPEG "Include the TurboJPEG wrapper library and associated test programs" TRUE)
61
+ option(WITH_JAVA "Build Java wrapper for the TurboJPEG library" FALSE)
62
+ option(WITH_12BIT "Encode/decode JPEG images with 12-bit samples (implies WITH_SIMD=0 WITH_TURBOJPEG=0 WITH_ARITH_ENC=0 WITH_ARITH_DEC=0)" FALSE)
63
+ option(ENABLE_STATIC "Build static libraries" TRUE)
64
+ option(ENABLE_SHARED "Build shared libraries" TRUE)
65
+
66
+ if(WITH_12BIT)
67
+ set(WITH_SIMD FALSE)
68
+ set(WITH_TURBOJPEG FALSE)
69
+ set(WITH_JAVA FALSE)
70
+ set(WITH_ARITH_ENC FALSE)
71
+ set(WITH_ARITH_DEC FALSE)
72
+ set(BITS_IN_JSAMPLE 12)
73
+ message(STATUS "12-bit JPEG support enabled")
74
+ else()
75
+ set(BITS_IN_JSAMPLE 8)
76
+ endif()
77
+
78
+ if(WITH_JPEG8 OR WITH_JPEG7)
79
+ set(WITH_ARITH_ENC 1)
80
+ set(WITH_ARITH_DEC 1)
81
+ endif()
82
+ if(WITH_JPEG8)
83
+ set(WITH_MEM_SRCDST 1)
84
+ endif()
85
+
86
+ if(WITH_ARITH_ENC)
87
+ set(C_ARITH_CODING_SUPPORTED 1)
88
+ message(STATUS "Arithmetic encoding support enabled")
89
+ else()
90
+ message(STATUS "Arithmetic encoding support disabled")
91
+ endif()
92
+
93
+ if(WITH_ARITH_DEC)
94
+ set(D_ARITH_CODING_SUPPORTED 1)
95
+ message(STATUS "Arithmetic decoding support enabled")
96
+ else()
97
+ message(STATUS "Arithmetic decoding support disabled")
98
+ endif()
99
+
100
+ if(WITH_TURBOJPEG)
101
+ message(STATUS "TurboJPEG C wrapper enabled")
102
+ else()
103
+ message(STATUS "TurboJPEG C wrapper disabled")
104
+ endif()
105
+
106
+ if(WITH_JAVA)
107
+ message(STATUS "TurboJPEG Java wrapper enabled")
108
+ else()
109
+ message(STATUS "TurboJPEG Java wrapper disabled")
110
+ endif()
111
+
112
+ set(SO_AGE 0)
113
+ if(WITH_MEM_SRCDST)
114
+ set(SO_AGE 1)
115
+ endif()
116
+
117
+ set(JPEG_LIB_VERSION 62)
118
+ set(DLL_VERSION ${JPEG_LIB_VERSION})
119
+ set(FULLVERSION ${DLL_VERSION}.${SO_AGE}.0)
120
+ if(WITH_JPEG8)
121
+ set(JPEG_LIB_VERSION 80)
122
+ set(DLL_VERSION 8)
123
+ set(FULLVERSION ${DLL_VERSION}.0.2)
124
+ message(STATUS "Emulating libjpeg v8 API/ABI")
125
+ elseif(WITH_JPEG7)
126
+ set(JPEG_LIB_VERSION 70)
127
+ set(DLL_VERSION 7)
128
+ set(FULLVERSION ${DLL_VERSION}.${SO_AGE}.0)
129
+ message(STATUS "Emulating libjpeg v7 API/ABI")
130
+ endif(WITH_JPEG8)
131
+
132
+ if(WITH_MEM_SRCDST)
133
+ set(MEM_SRCDST_SUPPORTED 1)
134
+ message(STATUS "In-memory source/destination managers enabled")
135
+ else()
136
+ message(STATUS "In-memory source/destination managers disabled")
137
+ endif()
138
+
139
+ if(MSVC)
140
+ option(WITH_CRT_DLL
141
+ "Link all libjpeg-turbo libraries and executables with the C run-time DLL (msvcr*.dll) instead of the static C run-time library (libcmt*.lib.) The default is to use the C run-time DLL only with the libraries and executables that need it."
142
+ FALSE)
143
+ if(NOT WITH_CRT_DLL)
144
+ # Use the static C library for all build types
145
+ foreach(var CMAKE_C_FLAGS CMAKE_C_FLAGS_DEBUG CMAKE_C_FLAGS_RELEASE
146
+ CMAKE_C_FLAGS_MINSIZEREL CMAKE_C_FLAGS_RELWITHDEBINFO)
147
+ if(${var} MATCHES "/MD")
148
+ string(REGEX REPLACE "/MD" "/MT" ${var} "${${var}}")
149
+ endif()
150
+ endforeach()
151
+ endif()
152
+ add_definitions(-W3 -wd4996)
153
+ endif()
154
+
155
+ # Detect whether compiler is 64-bit
156
+ if(MSVC AND CMAKE_CL_64)
157
+ set(SIMD_X86_64 1)
158
+ set(64BIT 1)
159
+ elseif(CMAKE_SIZEOF_VOID_P MATCHES 8)
160
+ set(SIMD_X86_64 1)
161
+ set(64BIT 1)
162
+ endif()
163
+
164
+ if(64BIT)
165
+ message(STATUS "64-bit build")
166
+ else()
167
+ message(STATUS "32-bit build")
168
+ endif()
169
+
170
+ if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
171
+ if(MSVC)
172
+ set(CMAKE_INSTALL_PREFIX_DEFAULT ${CMAKE_PROJECT_NAME})
173
+ else()
174
+ set(CMAKE_INSTALL_PREFIX_DEFAULT ${CMAKE_PROJECT_NAME}-gcc)
175
+ endif()
176
+ if(64BIT)
177
+ set(CMAKE_INSTALL_PREFIX_DEFAULT ${CMAKE_INSTALL_PREFIX_DEFAULT}64)
178
+ endif()
179
+ set(CMAKE_INSTALL_PREFIX "c:/${CMAKE_INSTALL_PREFIX_DEFAULT}" CACHE PATH
180
+ "Directory into which to install libjpeg-turbo (default: c:/${CMAKE_INSTALL_PREFIX_DEFAULT})"
181
+ FORCE)
182
+ endif()
183
+
184
+ message(STATUS "Install directory = ${CMAKE_INSTALL_PREFIX}")
185
+
186
+ configure_file(win/jconfig.h.in jconfig.h)
187
+ configure_file(win/jconfigint.h.in jconfigint.h)
188
+
189
+ include_directories(${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_SOURCE_DIR})
190
+
191
+ string(TOUPPER ${CMAKE_BUILD_TYPE} CMAKE_BUILD_TYPE_UC)
192
+
193
+ set(EFFECTIVE_C_FLAGS "${CMAKE_C_FLAGS} ${CMAKE_C_FLAGS_${CMAKE_BUILD_TYPE_UC}}")
194
+ message(STATUS "Compiler flags = ${EFFECTIVE_C_FLAGS}")
195
+
196
+ set(EFFECTIVE_LD_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${CMAKE_EXE_LINKER_FLAGS_${CMAKE_BUILD_TYPE_UC}}")
197
+ message(STATUS "Linker flags = ${EFFECTIVE_LD_FLAGS}")
198
+
199
+ if(WITH_JAVA)
200
+ find_package(Java)
201
+ find_package(JNI)
202
+ if(DEFINED JAVACFLAGS)
203
+ message(STATUS "Java compiler flags = ${JAVACFLAGS}")
204
+ endif()
205
+ endif()
206
+
207
+
208
+ #
209
+ # Targets
210
+ #
211
+
212
+ set(JPEG_SOURCES jcapimin.c jcapistd.c jccoefct.c jccolor.c jcdctmgr.c jchuff.c
213
+ jcinit.c jcmainct.c jcmarker.c jcmaster.c jcomapi.c jcparam.c jcphuff.c
214
+ jcprepct.c jcsample.c jctrans.c jdapimin.c jdapistd.c jdatadst.c jdatasrc.c
215
+ jdcoefct.c jdcolor.c jddctmgr.c jdhuff.c jdinput.c jdmainct.c jdmarker.c
216
+ jdmaster.c jdmerge.c jdphuff.c jdpostct.c jdsample.c jdtrans.c jerror.c
217
+ jfdctflt.c jfdctfst.c jfdctint.c jidctflt.c jidctfst.c jidctint.c jidctred.c
218
+ jquant1.c jquant2.c jutils.c jmemmgr.c jmemnobs.c)
219
+
220
+ if(WITH_ARITH_ENC OR WITH_ARITH_DEC)
221
+ set(JPEG_SOURCES ${JPEG_SOURCES} jaricom.c)
222
+ endif()
223
+
224
+ if(WITH_ARITH_ENC)
225
+ set(JPEG_SOURCES ${JPEG_SOURCES} jcarith.c)
226
+ endif()
227
+
228
+ if(WITH_ARITH_DEC)
229
+ set(JPEG_SOURCES ${JPEG_SOURCES} jdarith.c)
230
+ endif()
231
+
232
+ if(WITH_SIMD)
233
+ add_definitions(-DWITH_SIMD)
234
+ add_subdirectory(simd)
235
+ if(SIMD_X86_64)
236
+ set(JPEG_SOURCES ${JPEG_SOURCES} simd/jsimd_x86_64.c)
237
+ else()
238
+ set(JPEG_SOURCES ${JPEG_SOURCES} simd/jsimd_i386.c)
239
+ endif()
240
+ # This tells CMake that the "source" files haven't been generated yet
241
+ set_source_files_properties(${SIMD_OBJS} PROPERTIES GENERATED 1)
242
+ else()
243
+ set(JPEG_SOURCES ${JPEG_SOURCES} jsimd_none.c)
244
+ message(STATUS "Not using SIMD acceleration")
245
+ endif()
246
+
247
+ if(WITH_JAVA)
248
+ add_subdirectory(java)
249
+ set(ENABLE_SHARED TRUE)
250
+ endif()
251
+
252
+ if(ENABLE_SHARED)
253
+ add_subdirectory(sharedlib)
254
+ endif()
255
+
256
+ if(ENABLE_STATIC OR WITH_TURBOJPEG)
257
+ add_library(jpeg-static STATIC ${JPEG_SOURCES} ${SIMD_OBJS})
258
+ if(NOT MSVC)
259
+ set_target_properties(jpeg-static PROPERTIES OUTPUT_NAME jpeg)
260
+ endif()
261
+ if(WITH_SIMD)
262
+ add_dependencies(jpeg-static simd)
263
+ endif()
264
+ endif()
265
+
266
+ if(WITH_TURBOJPEG)
267
+ set(TURBOJPEG_SOURCES turbojpeg.c transupp.c jdatadst-tj.c jdatasrc-tj.c)
268
+ if(WITH_JAVA)
269
+ set(TURBOJPEG_SOURCES ${TURBOJPEG_SOURCES} turbojpeg-jni.c)
270
+ include_directories(${JAVA_INCLUDE_PATH} ${JAVA_INCLUDE_PATH2})
271
+ endif()
272
+
273
+ if(ENABLE_SHARED)
274
+ add_library(turbojpeg SHARED ${TURBOJPEG_SOURCES})
275
+ set_target_properties(turbojpeg PROPERTIES DEFINE_SYMBOL DLLDEFINE)
276
+ if(MINGW)
277
+ set_target_properties(turbojpeg PROPERTIES LINK_FLAGS -Wl,--kill-at)
278
+ endif()
279
+ target_link_libraries(turbojpeg jpeg-static)
280
+ set_target_properties(turbojpeg PROPERTIES LINK_INTERFACE_LIBRARIES "")
281
+
282
+ add_executable(tjunittest tjunittest.c tjutil.c)
283
+ target_link_libraries(tjunittest turbojpeg)
284
+
285
+ add_executable(tjbench tjbench.c bmp.c tjutil.c rdbmp.c rdppm.c wrbmp.c
286
+ wrppm.c)
287
+ target_link_libraries(tjbench turbojpeg jpeg-static)
288
+ set_property(TARGET tjbench PROPERTY COMPILE_FLAGS
289
+ "-DBMP_SUPPORTED -DPPM_SUPPORTED")
290
+ endif()
291
+
292
+ if(ENABLE_STATIC)
293
+ add_library(turbojpeg-static STATIC ${JPEG_SOURCES} ${SIMD_OBJS}
294
+ turbojpeg.c transupp.c jdatadst-tj.c jdatasrc-tj.c)
295
+ if(NOT MSVC)
296
+ set_target_properties(turbojpeg-static PROPERTIES OUTPUT_NAME turbojpeg)
297
+ endif()
298
+ if(WITH_SIMD)
299
+ add_dependencies(turbojpeg-static simd)
300
+ endif()
301
+
302
+ add_executable(tjunittest-static tjunittest.c tjutil.c)
303
+ target_link_libraries(tjunittest-static turbojpeg-static)
304
+
305
+ add_executable(tjbench-static tjbench.c bmp.c tjutil.c rdbmp.c rdppm.c
306
+ wrbmp.c wrppm.c)
307
+ target_link_libraries(tjbench-static turbojpeg-static jpeg-static)
308
+ set_property(TARGET tjbench-static PROPERTY COMPILE_FLAGS
309
+ "-DBMP_SUPPORTED -DPPM_SUPPORTED")
310
+ endif()
311
+ endif()
312
+
313
+ if(WITH_12BIT)
314
+ set(COMPILE_FLAGS "-DGIF_SUPPORTED -DPPM_SUPPORTED -DUSE_SETMODE")
315
+ else()
316
+ set(COMPILE_FLAGS "-DBMP_SUPPORTED -DGIF_SUPPORTED -DPPM_SUPPORTED -DTARGA_SUPPORTED -DUSE_SETMODE")
317
+ set(CJPEG_BMP_SOURCES rdbmp.c rdtarga.c)
318
+ set(DJPEG_BMP_SOURCES wrbmp.c wrtarga.c)
319
+ endif()
320
+
321
+ if(ENABLE_STATIC)
322
+ add_executable(cjpeg-static cjpeg.c cdjpeg.c rdgif.c rdppm.c rdswitch.c
323
+ ${CJPEG_BMP_SOURCES})
324
+ set_property(TARGET cjpeg-static PROPERTY COMPILE_FLAGS ${COMPILE_FLAGS})
325
+ target_link_libraries(cjpeg-static jpeg-static)
326
+
327
+ add_executable(djpeg-static djpeg.c cdjpeg.c rdcolmap.c rdswitch.c wrgif.c
328
+ wrppm.c ${DJPEG_BMP_SOURCES})
329
+ set_property(TARGET djpeg-static PROPERTY COMPILE_FLAGS ${COMPILE_FLAGS})
330
+ target_link_libraries(djpeg-static jpeg-static)
331
+
332
+ add_executable(jpegtran-static jpegtran.c cdjpeg.c rdswitch.c transupp.c)
333
+ target_link_libraries(jpegtran-static jpeg-static)
334
+ set_property(TARGET jpegtran-static PROPERTY COMPILE_FLAGS "-DUSE_SETMODE")
335
+ endif()
336
+
337
+ add_executable(rdjpgcom rdjpgcom.c)
338
+
339
+ add_executable(wrjpgcom wrjpgcom.c)
340
+
341
+
342
+ #
343
+ # Tests
344
+ #
345
+
346
+ add_subdirectory(md5)
347
+
348
+ if(MSVC_IDE)
349
+ set(OBJDIR "\${CTEST_CONFIGURATION_TYPE}/")
350
+ else()
351
+ set(OBJDIR "")
352
+ endif()
353
+
354
+ enable_testing()
355
+
356
+ if(WITH_12BIT)
357
+ set(TESTORIG testorig12.jpg)
358
+ set(MD5_JPEG_RGB_ISLOW 9620f424569594bb9242b48498ad801f)
359
+ set(MD5_PPM_RGB_ISLOW f3301d2219783b8b3d942b7239fa50c0)
360
+ set(MD5_JPEG_422_IFAST_OPT 7322e3bd2f127f7de4b40d4480ce60e4)
361
+ set(MD5_PPM_422_IFAST 79807fa552899e66a04708f533e16950)
362
+ set(MD5_PPM_422M_IFAST 07737bfe8a7c1c87aaa393a0098d16b0)
363
+ set(MD5_JPEG_420_IFAST_Q100_PROG a1da220b5604081863a504297ed59e55)
364
+ set(MD5_PPM_420_Q100_IFAST 1b3730122709f53d007255e8dfd3305e)
365
+ set(MD5_PPM_420M_Q100_IFAST 980a1a3c5bf9510022869d30b7d26566)
366
+ set(MD5_JPEG_GRAY_ISLOW 235c90707b16e2e069f37c888b2636d9)
367
+ set(MD5_PPM_GRAY_ISLOW 7213c10af507ad467da5578ca5ee1fca)
368
+ set(MD5_PPM_GRAY_ISLOW_RGB e96ee81c30a6ed422d466338bd3de65d)
369
+ set(MD5_JPEG_420S_IFAST_OPT 7af8e60be4d9c227ec63ac9b6630855e)
370
+ if(64BIT)
371
+ # Windows/x64 uses SSE for floating point
372
+ set(MD5_JPEG_3x2_FLOAT_PROG a8c17daf77b457725ec929e215b603f8)
373
+ set(MD5_PPM_3x2_FLOAT 42876ab9e5c2f76a87d08db5fbd57956)
374
+ else()
375
+ # Windows/x86 uses the 387 FPU for floating point
376
+ if(MSVC)
377
+ set(MD5_JPEG_3x2_FLOAT_PROG e27840755870fa849872e58aa0cd1400)
378
+ set(MD5_PPM_3x2_FLOAT 6c2880b83bb1aa41dfe330e7a9768690)
379
+ else()
380
+ set(MD5_JPEG_3x2_FLOAT_PROG bc6dbbefac2872f6b9d6c4a0ae60c3c0)
381
+ set(MD5_PPM_3x2_FLOAT f58119ee294198ac9b4a9f5645a34266)
382
+ endif()
383
+ endif()
384
+ set(MD5_PPM_420M_ISLOW_2_1 4ca6be2a6f326ff9eaab63e70a8259c0)
385
+ set(MD5_PPM_420M_ISLOW_15_8 12aa9f9534c1b3d7ba047322226365eb)
386
+ set(MD5_PPM_420M_ISLOW_13_8 f7e22817c7b25e1393e4ec101e9d4e96)
387
+ set(MD5_PPM_420M_ISLOW_11_8 800a16f9f4dc9b293197bfe11be10a82)
388
+ set(MD5_PPM_420M_ISLOW_9_8 06b7a92a9bc69f4dc36ec40f1937d55c)
389
+ set(MD5_PPM_420M_ISLOW_7_8 3ec444a14a4ab4eab88ffc49c48eca43)
390
+ set(MD5_PPM_420M_ISLOW_3_4 3e726b7ea872445b19437d1c1d4f0d93)
391
+ set(MD5_PPM_420M_ISLOW_5_8 a8a771abdc94301d20ffac119b2caccd)
392
+ set(MD5_PPM_420M_ISLOW_1_2 b419124dd5568b085787234866102866)
393
+ set(MD5_PPM_420M_ISLOW_3_8 343d19015531b7bbe746124127244fa8)
394
+ set(MD5_PPM_420M_ISLOW_1_4 35fd59d866e44659edfa3c18db2a3edb)
395
+ set(MD5_PPM_420M_ISLOW_1_8 ccaed48ac0aedefda5d4abe4013f4ad7)
396
+ set(MD5_PPM_420_ISLOW_SKIP15_31 86664cd9dc956536409e44e244d20a97)
397
+ set(MD5_PPM_420_ISLOW_PROG_CROP62x62_71_71 452a21656115a163029cfba5c04fa76a)
398
+ set(MD5_PPM_444_ISLOW_SKIP1_6 ef63901f71ef7a75cd78253fc0914f84)
399
+ set(MD5_PPM_444_ISLOW_PROG_CROP98x98_13_13 15b173fb5872d9575572fbcc1b05956f)
400
+ set(MD5_JPEG_CROP cdb35ff4b4519392690ea040c56ea99c)
401
+ else()
402
+ set(TESTORIG testorig.jpg)
403
+ set(MD5_JPEG_RGB_ISLOW 768e970dd57b340ff1b83c9d3d47c77b)
404
+ set(MD5_PPM_RGB_ISLOW 00a257f5393fef8821f2b88ac7421291)
405
+ set(MD5_BMP_RGB_ISLOW_565 f07d2e75073e4bb10f6c6f4d36e2e3be)
406
+ set(MD5_BMP_RGB_ISLOW_565D 4cfa0928ef3e6bb626d7728c924cfda4)
407
+ set(MD5_JPEG_422_IFAST_OPT 2540287b79d913f91665e660303ab2c8)
408
+ set(MD5_PPM_422_IFAST 35bd6b3f833bad23de82acea847129fa)
409
+ set(MD5_PPM_422M_IFAST 8dbc65323d62cca7c91ba02dd1cfa81d)
410
+ set(MD5_BMP_422M_IFAST_565 3294bd4d9a1f2b3d08ea6020d0db7065)
411
+ set(MD5_BMP_422M_IFAST_565D da98c9c7b6039511be4a79a878a9abc1)
412
+ set(MD5_JPEG_420_IFAST_Q100_PROG 990cbe0329c882420a2094da7e5adade)
413
+ set(MD5_PPM_420_Q100_IFAST 5a732542015c278ff43635e473a8a294)
414
+ set(MD5_PPM_420M_Q100_IFAST ff692ee9323a3b424894862557c092f1)
415
+ set(MD5_JPEG_GRAY_ISLOW 72b51f894b8f4a10b3ee3066770aa38d)
416
+ set(MD5_PPM_GRAY_ISLOW 8d3596c56eace32f205deccc229aa5ed)
417
+ set(MD5_PPM_GRAY_ISLOW_RGB 116424ac07b79e5e801f00508eab48ec)
418
+ set(MD5_BMP_GRAY_ISLOW_565 12f78118e56a2f48b966f792fedf23cc)
419
+ set(MD5_BMP_GRAY_ISLOW_565D bdbbd616441a24354c98553df5dc82db)
420
+ set(MD5_JPEG_420S_IFAST_OPT 388708217ac46273ca33086b22827ed8)
421
+ if(WITH_SIMD)
422
+ set(MD5_JPEG_3x2_FLOAT_PROG 343e3f8caf8af5986ebaf0bdc13b5c71)
423
+ set(MD5_PPM_3x2_FLOAT 1a75f36e5904d6fc3a85a43da9ad89bb)
424
+ else()
425
+ if(64BIT)
426
+ set(MD5_JPEG_3x2_FLOAT_PROG 9bca803d2042bd1eb03819e2bf92b3e5)
427
+ set(MD5_PPM_3x2_FLOAT f6bfab038438ed8f5522fbd33595dcdc)
428
+ else()
429
+ if(MSVC)
430
+ set(MD5_JPEG_3x2_FLOAT_PROG 7999ce9cd0ee9b6c7043b7351ab7639d)
431
+ set(MD5_PPM_3x2_FLOAT 28cdc448a6b75e97892f0e0f8d4b21f3)
432
+ else()
433
+ set(MD5_JPEG_3x2_FLOAT_PROG 1657664a410e0822c924b54f6f65e6e9)
434
+ set(MD5_PPM_3x2_FLOAT cb0a1f027f3d2917c902b5640214e025)
435
+ endif()
436
+ endif()
437
+ endif()
438
+ set(MD5_JPEG_420_ISLOW_ARI e986fb0a637a8d833d96e8a6d6d84ea1)
439
+ set(MD5_JPEG_444_ISLOW_PROGARI 0a8f1c8f66e113c3cf635df0a475a617)
440
+ set(MD5_PPM_420M_IFAST_ARI 72b59a99bcf1de24c5b27d151bde2437)
441
+ set(MD5_JPEG_420_ISLOW 9a68f56bc76e466aa7e52f415d0f4a5f)
442
+ set(MD5_PPM_420M_ISLOW_2_1 9f9de8c0612f8d06869b960b05abf9c9)
443
+ set(MD5_PPM_420M_ISLOW_15_8 b6875bc070720b899566cc06459b63b7)
444
+ set(MD5_PPM_420M_ISLOW_13_8 bc3452573c8152f6ae552939ee19f82f)
445
+ set(MD5_PPM_420M_ISLOW_11_8 d8cc73c0aaacd4556569b59437ba00a5)
446
+ set(MD5_PPM_420M_ISLOW_9_8 d25e61bc7eac0002f5b393aa223747b6)
447
+ set(MD5_PPM_420M_ISLOW_7_8 ddb564b7c74a09494016d6cd7502a946)
448
+ set(MD5_PPM_420M_ISLOW_3_4 8ed8e68808c3fbc4ea764fc9d2968646)
449
+ set(MD5_PPM_420M_ISLOW_5_8 a3363274999da2366a024efae6d16c9b)
450
+ set(MD5_PPM_420M_ISLOW_1_2 e692a315cea26b988c8e8b29a5dbcd81)
451
+ set(MD5_PPM_420M_ISLOW_3_8 79eca9175652ced755155c90e785a996)
452
+ set(MD5_PPM_420M_ISLOW_1_4 79cd778f8bf1a117690052cacdd54eca)
453
+ set(MD5_PPM_420M_ISLOW_1_8 391b3d4aca640c8567d6f8745eb2142f)
454
+ set(MD5_BMP_420_ISLOW_256 4980185e3776e89bd931736e1cddeee6)
455
+ set(MD5_BMP_420_ISLOW_565 bf9d13e16c4923b92e1faa604d7922cb)
456
+ set(MD5_BMP_420_ISLOW_565D 6bde71526acc44bcff76f696df8638d2)
457
+ set(MD5_BMP_420M_ISLOW_565 8dc0185245353cfa32ad97027342216f)
458
+ set(MD5_BMP_420M_ISLOW_565D d1be3a3339166255e76fa50a0d70d73e)
459
+ set(MD5_PPM_420_ISLOW_SKIP15_31 c4c65c1e43d7275cd50328a61e6534f0)
460
+ set(MD5_PPM_420_ISLOW_ARI_SKIP16_139 087c6b123db16ac00cb88c5b590bb74a)
461
+ set(MD5_PPM_420_ISLOW_PROG_CROP62x62_71_71 26eb36ccc7d1f0cb80cdabb0ac8b5d99)
462
+ set(MD5_PPM_420_ISLOW_ARI_CROP53x53_4_4 886c6775af22370257122f8b16207e6d)
463
+ set(MD5_PPM_444_ISLOW_SKIP1_6 5606f86874cf26b8fcee1117a0a436a6)
464
+ set(MD5_PPM_444_ISLOW_PROG_CROP98x98_13_13 db87dc7ce26bcdc7a6b56239ce2b9d6c)
465
+ set(MD5_PPM_444_ISLOW_ARI_CROP37x37_0_0 cb57b32bd6d03e35432362f7bf184b6d)
466
+ set(MD5_JPEG_CROP b4197f377e621c4e9b1d20471432610d)
467
+ endif()
468
+
469
+ if(WITH_JAVA)
470
+ add_test(TJUnitTest
471
+ ${JAVA_RUNTIME} -cp java/${OBJDIR}turbojpeg.jar
472
+ -Djava.library.path=${CMAKE_CURRENT_BINARY_DIR}/${OBJDIR}
473
+ TJUnitTest)
474
+ add_test(TJUnitTest-yuv
475
+ ${JAVA_RUNTIME} -cp java/${OBJDIR}turbojpeg.jar
476
+ -Djava.library.path=${CMAKE_CURRENT_BINARY_DIR}/${OBJDIR}
477
+ TJUnitTest -yuv)
478
+ add_test(TJUnitTest-yuv-nopad
479
+ ${JAVA_RUNTIME} -cp java/${OBJDIR}turbojpeg.jar
480
+ -Djava.library.path=${CMAKE_CURRENT_BINARY_DIR}/${OBJDIR}
481
+ TJUnitTest -yuv -noyuvpad)
482
+ add_test(TJUnitTest-bi
483
+ ${JAVA_RUNTIME} -cp java/${OBJDIR}turbojpeg.jar
484
+ -Djava.library.path=${CMAKE_CURRENT_BINARY_DIR}/${OBJDIR}
485
+ TJUnitTest -bi)
486
+ add_test(TJUnitTest-bi-yuv
487
+ ${JAVA_RUNTIME} -cp java/${OBJDIR}turbojpeg.jar
488
+ -Djava.library.path=${CMAKE_CURRENT_BINARY_DIR}/${OBJDIR}
489
+ TJUnitTest -bi -yuv)
490
+ add_test(TJUnitTest-bi-yuv-nopad
491
+ ${JAVA_RUNTIME} -cp java/${OBJDIR}turbojpeg.jar
492
+ -Djava.library.path=${CMAKE_CURRENT_BINARY_DIR}/${OBJDIR}
493
+ TJUnitTest -bi -yuv -noyuvpad)
494
+ endif()
495
+
496
+ set(TEST_LIBTYPES "")
497
+ if(ENABLE_SHARED)
498
+ set(TEST_LIBTYPES ${TEST_LIBTYPES} shared)
499
+ endif()
500
+ if(ENABLE_STATIC)
501
+ set(TEST_LIBTYPES ${TEST_LIBTYPES} static)
502
+ endif()
503
+
504
+ set(TESTIMAGES ${CMAKE_SOURCE_DIR}/testimages)
505
+ set(MD5CMP ${CMAKE_CURRENT_BINARY_DIR}/md5/md5cmp)
506
+ if(CMAKE_CROSSCOMPILING)
507
+ file(RELATIVE_PATH TESTIMAGES ${CMAKE_CURRENT_BINARY_DIR} ${TESTIMAGES})
508
+ file(RELATIVE_PATH MD5CMP ${CMAKE_CURRENT_BINARY_DIR} ${MD5CMP})
509
+ endif()
510
+
511
+ foreach(libtype ${TEST_LIBTYPES})
512
+ if(libtype STREQUAL "shared")
513
+ set(dir sharedlib/)
514
+ else()
515
+ set(dir "")
516
+ set(suffix -static)
517
+ endif()
518
+ if(WITH_TURBOJPEG)
519
+ add_test(tjunittest${suffix} tjunittest${suffix})
520
+ add_test(tjunittest${suffix}-alloc tjunittest${suffix} -alloc)
521
+ add_test(tjunittest${suffix}-yuv tjunittest${suffix} -yuv)
522
+ add_test(tjunittest${suffix}-yuv-alloc tjunittest${suffix} -yuv -alloc)
523
+ add_test(tjunittest${suffix}-yuv-nopad tjunittest${suffix} -yuv -noyuvpad)
524
+ endif()
525
+
526
+ # These tests are carefully chosen to provide full coverage of as many of the
527
+ # underlying algorithms as possible (including all of the SIMD-accelerated
528
+ # ones.)
529
+
530
+ # CC: null SAMP: fullsize FDCT: islow ENT: huff
531
+ add_test(cjpeg${suffix}-rgb-islow
532
+ ${dir}cjpeg${suffix} -rgb -dct int
533
+ -outfile testout_rgb_islow.jpg ${TESTIMAGES}/testorig.ppm)
534
+ add_test(cjpeg${suffix}-rgb-islow-cmp
535
+ ${MD5CMP} ${MD5_JPEG_RGB_ISLOW} testout_rgb_islow.jpg)
536
+
537
+ # CC: null SAMP: fullsize IDCT: islow ENT: huff
538
+ add_test(djpeg${suffix}-rgb-islow
539
+ ${dir}djpeg${suffix} -dct int -ppm
540
+ -outfile testout_rgb_islow.ppm testout_rgb_islow.jpg)
541
+ add_test(djpeg${suffix}-rgb-islow-cmp
542
+ ${MD5CMP} ${MD5_PPM_RGB_ISLOW} testout_rgb_islow.ppm)
543
+
544
+ if(NOT WITH_12BIT)
545
+ # CC: RGB->RGB565 SAMP: fullsize IDCT: islow ENT: huff
546
+ add_test(djpeg${suffix}-rgb-islow-565
547
+ ${dir}djpeg${suffix} -dct int -rgb565 -dither none -bmp
548
+ -outfile testout_rgb_islow_565.bmp testout_rgb_islow.jpg)
549
+ add_test(djpeg${suffix}-rgb-islow-565-cmp
550
+ ${MD5CMP} ${MD5_BMP_RGB_ISLOW_565} testout_rgb_islow_565.bmp)
551
+
552
+ # CC: RGB->RGB565 (dithered) SAMP: fullsize IDCT: islow ENT: huff
553
+ add_test(djpeg${suffix}-rgb-islow-565D
554
+ ${dir}djpeg${suffix} -dct int -rgb565 -bmp
555
+ -outfile testout_rgb_islow_565D.bmp testout_rgb_islow.jpg)
556
+ add_test(djpeg${suffix}-rgb-islow-565D-cmp
557
+ ${MD5CMP} ${MD5_BMP_RGB_ISLOW_565D} testout_rgb_islow_565D.bmp)
558
+ endif()
559
+
560
+ # CC: RGB->YCC SAMP: fullsize/h2v1 FDCT: ifast ENT: 2-pass huff
561
+ add_test(cjpeg${suffix}-422-ifast-opt
562
+ ${dir}cjpeg${suffix} -sample 2x1 -dct fast -opt
563
+ -outfile testout_422_ifast_opt.jpg ${TESTIMAGES}/testorig.ppm)
564
+ add_test(cjpeg${suffix}-422-ifast-opt-cmp
565
+ ${MD5CMP} ${MD5_JPEG_422_IFAST_OPT} testout_422_ifast_opt.jpg)
566
+
567
+ # CC: YCC->RGB SAMP: fullsize/h2v1 fancy IDCT: ifast ENT: huff
568
+ add_test(djpeg${suffix}-422-ifast
569
+ ${dir}djpeg${suffix} -dct fast
570
+ -outfile testout_422_ifast.ppm testout_422_ifast_opt.jpg)
571
+ add_test(djpeg${suffix}-422-ifast-cmp
572
+ ${MD5CMP} ${MD5_PPM_422_IFAST} testout_422_ifast.ppm)
573
+
574
+ # CC: YCC->RGB SAMP: h2v1 merged IDCT: ifast ENT: huff
575
+ add_test(djpeg${suffix}-422m-ifast
576
+ ${dir}djpeg${suffix} -dct fast -nosmooth
577
+ -outfile testout_422m_ifast.ppm testout_422_ifast_opt.jpg)
578
+ add_test(djpeg${suffix}-422m-ifast-cmp
579
+ ${MD5CMP} ${MD5_PPM_422M_IFAST} testout_422m_ifast.ppm)
580
+
581
+ if(NOT WITH_12BIT)
582
+ # CC: YCC->RGB565 SAMP: h2v1 merged IDCT: ifast ENT: huff
583
+ add_test(djpeg${suffix}-422m-ifast-565
584
+ ${dir}djpeg${suffix} -dct int -nosmooth -rgb565 -dither none -bmp
585
+ -outfile testout_422m_ifast_565.bmp testout_422_ifast_opt.jpg)
586
+ add_test(djpeg${suffix}-422m-ifast-565-cmp
587
+ ${MD5CMP} ${MD5_BMP_422M_IFAST_565} testout_422m_ifast_565.bmp)
588
+
589
+ # CC: YCC->RGB565 (dithered) SAMP: h2v1 merged IDCT: ifast ENT: huff
590
+ add_test(djpeg${suffix}-422m-ifast-565D
591
+ ${dir}djpeg${suffix} -dct int -nosmooth -rgb565 -bmp
592
+ -outfile testout_422m_ifast_565D.bmp testout_422_ifast_opt.jpg)
593
+ add_test(djpeg${suffix}-422m-ifast-565D-cmp
594
+ ${MD5CMP} ${MD5_BMP_422M_IFAST_565D} testout_422m_ifast_565D.bmp)
595
+ endif()
596
+
597
+ # CC: RGB->YCC SAMP: fullsize/h2v2 FDCT: ifast ENT: prog huff
598
+ add_test(cjpeg${suffix}-420-q100-ifast-prog
599
+ ${dir}cjpeg${suffix} -sample 2x2 -quality 100 -dct fast -prog
600
+ -outfile testout_420_q100_ifast_prog.jpg ${TESTIMAGES}/testorig.ppm)
601
+ add_test(cjpeg${suffix}-420-q100-ifast-prog-cmp
602
+ ${MD5CMP} ${MD5_JPEG_420_IFAST_Q100_PROG} testout_420_q100_ifast_prog.jpg)
603
+
604
+ # CC: YCC->RGB SAMP: fullsize/h2v2 fancy IDCT: ifast ENT: prog huff
605
+ add_test(djpeg${suffix}-420-q100-ifast-prog
606
+ ${dir}djpeg${suffix} -dct fast
607
+ -outfile testout_420_q100_ifast.ppm testout_420_q100_ifast_prog.jpg)
608
+ add_test(djpeg${suffix}-420-q100-ifast-prog-cmp
609
+ ${MD5CMP} ${MD5_PPM_420_Q100_IFAST} testout_420_q100_ifast.ppm)
610
+
611
+ # CC: YCC->RGB SAMP: h2v2 merged IDCT: ifast ENT: prog huff
612
+ add_test(djpeg${suffix}-420m-q100-ifast-prog
613
+ ${dir}djpeg${suffix} -dct fast -nosmooth
614
+ -outfile testout_420m_q100_ifast.ppm testout_420_q100_ifast_prog.jpg)
615
+ add_test(djpeg${suffix}-420m-q100-ifast-prog-cmp
616
+ ${MD5CMP} ${MD5_PPM_420M_Q100_IFAST} testout_420m_q100_ifast.ppm)
617
+
618
+ # CC: RGB->Gray SAMP: fullsize FDCT: islow ENT: huff
619
+ add_test(cjpeg${suffix}-gray-islow
620
+ ${dir}cjpeg${suffix} -gray -dct int
621
+ -outfile testout_gray_islow.jpg ${TESTIMAGES}/testorig.ppm)
622
+ add_test(cjpeg${suffix}-gray-islow-cmp
623
+ ${MD5CMP} ${MD5_JPEG_GRAY_ISLOW} testout_gray_islow.jpg)
624
+
625
+ # CC: Gray->Gray SAMP: fullsize IDCT: islow ENT: huff
626
+ add_test(djpeg${suffix}-gray-islow
627
+ ${dir}djpeg${suffix} -dct int
628
+ -outfile testout_gray_islow.ppm testout_gray_islow.jpg)
629
+ add_test(djpeg${suffix}-gray-islow-cmp
630
+ ${MD5CMP} ${MD5_PPM_GRAY_ISLOW} testout_gray_islow.ppm)
631
+
632
+ # CC: Gray->RGB SAMP: fullsize IDCT: islow ENT: huff
633
+ add_test(djpeg${suffix}-gray-islow-rgb
634
+ ${dir}djpeg${suffix} -dct int -rgb
635
+ -outfile testout_gray_islow_rgb.ppm testout_gray_islow.jpg)
636
+ add_test(djpeg${suffix}-gray-islow-rgb-cmp
637
+ ${MD5CMP} ${MD5_PPM_GRAY_ISLOW_RGB} testout_gray_islow_rgb.ppm)
638
+
639
+ if(NOT WITH_12BIT)
640
+ # CC: Gray->RGB565 SAMP: fullsize IDCT: islow ENT: huff
641
+ add_test(djpeg${suffix}-gray-islow-565
642
+ ${dir}djpeg${suffix} -dct int -rgb565 -dither none -bmp
643
+ -outfile testout_gray_islow_565.bmp testout_gray_islow.jpg)
644
+ add_test(djpeg${suffix}-gray-islow-565-cmp
645
+ ${MD5CMP} ${MD5_BMP_GRAY_ISLOW_565} testout_gray_islow_565.bmp)
646
+
647
+ # CC: Gray->RGB565 (dithered) SAMP: fullsize IDCT: islow ENT: huff
648
+ add_test(djpeg${suffix}-gray-islow-565D
649
+ ${dir}djpeg${suffix} -dct int -rgb565 -bmp
650
+ -outfile testout_gray_islow_565D.bmp testout_gray_islow.jpg)
651
+ add_test(djpeg${suffix}-gray-islow-565D-cmp
652
+ ${MD5CMP} ${MD5_BMP_GRAY_ISLOW_565D} testout_gray_islow_565D.bmp)
653
+ endif()
654
+
655
+ # CC: RGB->YCC SAMP: fullsize smooth/h2v2 smooth FDCT: islow
656
+ # ENT: 2-pass huff
657
+ add_test(cjpeg${suffix}-420s-ifast-opt
658
+ ${dir}cjpeg${suffix} -sample 2x2 -smooth 1 -dct int -opt
659
+ -outfile testout_420s_ifast_opt.jpg ${TESTIMAGES}/testorig.ppm)
660
+ add_test(cjpeg${suffix}-420s-ifast-opt-cmp
661
+ ${MD5CMP} ${MD5_JPEG_420S_IFAST_OPT} testout_420s_ifast_opt.jpg)
662
+
663
+ # CC: RGB->YCC SAMP: fullsize/int FDCT: float ENT: prog huff
664
+ add_test(cjpeg${suffix}-3x2-float-prog
665
+ ${dir}cjpeg${suffix} -sample 3x2 -dct float -prog
666
+ -outfile testout_3x2_float_prog.jpg ${TESTIMAGES}/testorig.ppm)
667
+ add_test(cjpeg${suffix}-3x2-float-prog-cmp
668
+ ${MD5CMP} ${MD5_JPEG_3x2_FLOAT_PROG} testout_3x2_float_prog.jpg)
669
+
670
+ # CC: YCC->RGB SAMP: fullsize/int IDCT: float ENT: prog huff
671
+ add_test(djpeg${suffix}-3x2-float-prog
672
+ ${dir}djpeg${suffix} -dct float
673
+ -outfile testout_3x2_float.ppm testout_3x2_float_prog.jpg)
674
+ add_test(djpeg${suffix}-3x2-float-prog-cmp
675
+ ${MD5CMP} ${MD5_PPM_3x2_FLOAT} testout_3x2_float.ppm)
676
+
677
+ if(WITH_ARITH_ENC)
678
+ # CC: YCC->RGB SAMP: fullsize/h2v2 FDCT: islow ENT: arith
679
+ add_test(cjpeg${suffix}-420-islow-ari
680
+ ${dir}cjpeg${suffix} -dct int -arithmetic
681
+ -outfile testout_420_islow_ari.jpg ${TESTIMAGES}/testorig.ppm)
682
+ add_test(cjpeg${suffix}-420-islow-ari-cmp
683
+ ${MD5CMP} ${MD5_JPEG_420_ISLOW_ARI} testout_420_islow_ari.jpg)
684
+
685
+ add_test(jpegtran${suffix}-420-islow-ari
686
+ ${dir}jpegtran${suffix} -arithmetic
687
+ -outfile testout_420_islow_ari.jpg ${TESTIMAGES}/testimgint.jpg)
688
+ add_test(jpegtran${suffix}-420-islow-ari-cmp
689
+ ${MD5CMP} ${MD5_JPEG_420_ISLOW_ARI} testout_420_islow_ari.jpg)
690
+
691
+ # CC: YCC->RGB SAMP: fullsize FDCT: islow ENT: prog arith
692
+ add_test(cjpeg${suffix}-444-islow-progari
693
+ ${dir}cjpeg${suffix} -sample 1x1 -dct int -prog -arithmetic
694
+ -outfile testout_444_islow_progari.jpg ${TESTIMAGES}/testorig.ppm)
695
+ add_test(cjpeg${suffix}-444-islow-progari-cmp
696
+ ${MD5CMP} ${MD5_JPEG_444_ISLOW_PROGARI} testout_444_islow_progari.jpg)
697
+ endif()
698
+
699
+ if(WITH_ARITH_DEC)
700
+ # CC: RGB->YCC SAMP: h2v2 merged IDCT: ifast ENT: arith
701
+ add_test(djpeg${suffix}-420m-ifast-ari
702
+ ${dir}djpeg${suffix} -fast -ppm
703
+ -outfile testout_420m_ifast_ari.ppm ${TESTIMAGES}/testimgari.jpg)
704
+ add_test(djpeg${suffix}-420m-ifast-ari-cmp
705
+ ${MD5CMP} ${MD5_PPM_420M_IFAST_ARI} testout_420m_ifast_ari.ppm)
706
+
707
+ add_test(jpegtran${suffix}-420-islow
708
+ ${dir}jpegtran${suffix}
709
+ -outfile testout_420_islow.jpg ${TESTIMAGES}/testimgari.jpg)
710
+ add_test(jpegtran${suffix}-420-islow-cmp
711
+ ${MD5CMP} ${MD5_JPEG_420_ISLOW} testout_420_islow.jpg)
712
+ endif()
713
+
714
+ # 2/1-- CC: YCC->RGB SAMP: h2v2 merged IDCT: 16x16 islow ENT: huff
715
+ # 15/8-- CC: YCC->RGB SAMP: h2v2 merged IDCT: 15x15 islow ENT: huff
716
+ # 13/8-- CC: YCC->RGB SAMP: h2v2 merged IDCT: 13x13 islow ENT: huff
717
+ # 11/8-- CC: YCC->RGB SAMP: h2v2 merged IDCT: 11x11 islow ENT: huff
718
+ # 9/8-- CC: YCC->RGB SAMP: h2v2 merged IDCT: 9x9 islow ENT: huff
719
+ # 7/8-- CC: YCC->RGB SAMP: h2v2 merged IDCT: 7x7 islow/14x14 islow
720
+ # ENT: huff
721
+ # 3/4-- CC: YCC->RGB SAMP: h2v2 merged IDCT: 6x6 islow/12x12 islow
722
+ # ENT: huff
723
+ # 5/8-- CC: YCC->RGB SAMP: h2v2 merged IDCT: 5x5 islow/10x10 islow
724
+ # ENT: huff
725
+ # 1/2-- CC: YCC->RGB SAMP: h2v2 merged IDCT: 4x4 islow/8x8 islow
726
+ # ENT: huff
727
+ # 3/8-- CC: YCC->RGB SAMP: h2v2 merged IDCT: 3x3 islow/6x6 islow
728
+ # ENT: huff
729
+ # 1/4-- CC: YCC->RGB SAMP: h2v2 merged IDCT: 2x2 islow/4x4 islow
730
+ # ENT: huff
731
+ # 1/8-- CC: YCC->RGB SAMP: h2v2 merged IDCT: 1x1 islow/2x2 islow
732
+ # ENT: huff
733
+ foreach(scale 2_1 15_8 13_8 11_8 9_8 7_8 3_4 5_8 1_2 3_8 1_4 1_8)
734
+ string(REGEX REPLACE "_" "/" scalearg ${scale})
735
+ add_test(djpeg${suffix}-420m-islow-${scale}
736
+ ${dir}djpeg${suffix} -dct int -scale ${scalearg} -nosmooth -ppm
737
+ -outfile testout_420m_islow_${scale}.ppm ${TESTIMAGES}/${TESTORIG})
738
+ add_test(djpeg${suffix}-420m-islow-${scale}-cmp
739
+ ${MD5CMP} ${MD5_PPM_420M_ISLOW_${scale}} testout_420m_islow_${scale}.ppm)
740
+ endforeach()
741
+
742
+ if(NOT WITH_12BIT)
743
+ # CC: YCC->RGB (dithered) SAMP: h2v2 fancy IDCT: islow ENT: huff
744
+ add_test(djpeg${suffix}-420-islow-256
745
+ ${dir}djpeg${suffix} -dct int -colors 256 -bmp
746
+ -outfile testout_420_islow_256.bmp ${TESTIMAGES}/${TESTORIG})
747
+ add_test(djpeg${suffix}-420-islow-256-cmp
748
+ ${MD5CMP} ${MD5_BMP_420_ISLOW_256} testout_420_islow_256.bmp)
749
+
750
+ # CC: YCC->RGB565 SAMP: h2v2 fancy IDCT: islow ENT: huff
751
+ add_test(djpeg${suffix}-420-islow-565
752
+ ${dir}djpeg${suffix} -dct int -rgb565 -dither none -bmp
753
+ -outfile testout_420_islow_565.bmp ${TESTIMAGES}/${TESTORIG})
754
+ add_test(djpeg${suffix}-420-islow-565-cmp
755
+ ${MD5CMP} ${MD5_BMP_420_ISLOW_565} testout_420_islow_565.bmp)
756
+
757
+ # CC: YCC->RGB565 (dithered) SAMP: h2v2 fancy IDCT: islow ENT: huff
758
+ add_test(djpeg${suffix}-420-islow-565D
759
+ ${dir}djpeg${suffix} -dct int -rgb565 -bmp
760
+ -outfile testout_420_islow_565D.bmp ${TESTIMAGES}/${TESTORIG})
761
+ add_test(djpeg${suffix}-420-islow-565D-cmp
762
+ ${MD5CMP} ${MD5_BMP_420_ISLOW_565D} testout_420_islow_565D.bmp)
763
+
764
+ # CC: YCC->RGB565 SAMP: h2v2 merged IDCT: islow ENT: huff
765
+ add_test(djpeg${suffix}-420m-islow-565
766
+ ${dir}djpeg${suffix} -dct int -nosmooth -rgb565 -dither none -bmp
767
+ -outfile testout_420m_islow_565.bmp ${TESTIMAGES}/${TESTORIG})
768
+ add_test(djpeg${suffix}-420m-islow-565-cmp
769
+ ${MD5CMP} ${MD5_BMP_420M_ISLOW_565} testout_420m_islow_565.bmp)
770
+
771
+ # CC: YCC->RGB565 (dithered) SAMP: h2v2 merged IDCT: islow ENT: huff
772
+ add_test(djpeg${suffix}-420m-islow-565D
773
+ ${dir}djpeg${suffix} -dct int -nosmooth -rgb565 -bmp
774
+ -outfile testout_420m_islow_565D.bmp ${TESTIMAGES}/${TESTORIG})
775
+ add_test(djpeg${suffix}-420m-islow-565D-cmp
776
+ ${MD5CMP} ${MD5_BMP_420M_ISLOW_565D} testout_420m_islow_565D.bmp)
777
+ endif()
778
+
779
+ # Partial decode tests. These tests are designed to cover all of the
780
+ # possible code paths in jpeg_skip_scanlines().
781
+
782
+ # Context rows: Yes Intra-iMCU row: Yes iMCU row prefetch: No ENT: huff
783
+ add_test(djpeg${suffix}-420-islow-skip15_31
784
+ ${dir}djpeg${suffix} -dct int -skip 15,31 -ppm
785
+ -outfile testout_420_islow_skip15,31.ppm ${TESTIMAGES}/${TESTORIG})
786
+ add_test(djpeg${suffix}-420-islow-skip15_31-cmp
787
+ ${MD5CMP} ${MD5_PPM_420_ISLOW_SKIP15_31} testout_420_islow_skip15,31.ppm)
788
+
789
+ # Context rows: Yes Intra-iMCU row: No iMCU row prefetch: Yes ENT: arith
790
+ if(WITH_ARITH_DEC)
791
+ add_test(djpeg${suffix}-420-islow-ari-skip16_139
792
+ ${dir}djpeg${suffix} -dct int -skip 16,139 -ppm
793
+ -outfile testout_420_islow_ari_skip16,139.ppm
794
+ ${TESTIMAGES}/testimgari.jpg)
795
+ add_test(djpeg${suffix}-420-islow-ari_skip16_139-cmp
796
+ ${MD5CMP} ${MD5_PPM_420_ISLOW_ARI_SKIP16_139}
797
+ testout_420_islow_ari_skip16,139.ppm)
798
+ endif()
799
+
800
+ # Context rows: Yes Intra-iMCU row: No iMCU row prefetch: No ENT: prog huff
801
+ add_test(cjpeg${suffix}-420-islow-prog
802
+ ${dir}cjpeg${suffix} -dct int -prog
803
+ -outfile testout_420_islow_prog.jpg ${TESTIMAGES}/testorig.ppm)
804
+ add_test(djpeg${suffix}-420-islow-prog-crop62x62_71_71
805
+ ${dir}djpeg${suffix} -dct int -crop 62x62+71+71 -ppm
806
+ -outfile testout_420_islow_prog_crop62x62,71,71.ppm
807
+ testout_420_islow_prog.jpg)
808
+ add_test(djpeg${suffix}-420-islow-prog-crop62x62_71_71-cmp
809
+ ${MD5CMP} ${MD5_PPM_420_ISLOW_PROG_CROP62x62_71_71}
810
+ testout_420_islow_prog_crop62x62,71,71.ppm)
811
+
812
+ # Context rows: Yes Intra-iMCU row: No iMCU row prefetch: No ENT: arith
813
+ if(WITH_ARITH_DEC)
814
+ add_test(djpeg${suffix}-420-islow-ari-crop53x53_4_4
815
+ ${dir}djpeg${suffix} -dct int -crop 53x53+4+4 -ppm
816
+ -outfile testout_420_islow_ari_crop53x53,4,4.ppm
817
+ ${TESTIMAGES}/testimgari.jpg)
818
+ add_test(djpeg${suffix}-420-islow-ari-crop53x53_4_4-cmp
819
+ ${MD5CMP} ${MD5_PPM_420_ISLOW_ARI_CROP53x53_4_4}
820
+ testout_420_islow_ari_crop53x53,4,4.ppm)
821
+ endif()
822
+
823
+ # Context rows: No Intra-iMCU row: Yes ENT: huff
824
+ add_test(cjpeg${suffix}-444-islow
825
+ ${dir}cjpeg${suffix} -dct int -sample 1x1
826
+ -outfile testout_444_islow.jpg ${TESTIMAGES}/testorig.ppm)
827
+ add_test(djpeg${suffix}-444-islow-skip1_6
828
+ ${dir}djpeg${suffix} -dct int -skip 1,6 -ppm
829
+ -outfile testout_444_islow_skip1,6.ppm testout_444_islow.jpg)
830
+ add_test(djpeg${suffix}-444-islow-skip1_6-cmp
831
+ ${MD5CMP} ${MD5_PPM_444_ISLOW_SKIP1_6} testout_444_islow_skip1,6.ppm)
832
+
833
+ # Context rows: No Intra-iMCU row: No ENT: prog huff
834
+ add_test(cjpeg${suffix}-444-islow-prog
835
+ ${dir}cjpeg${suffix} -dct int -prog -sample 1x1
836
+ -outfile testout_444_islow_prog.jpg ${TESTIMAGES}/testorig.ppm)
837
+ add_test(djpeg${suffix}-444-islow-prog-crop98x98_13_13
838
+ ${dir}djpeg${suffix} -dct int -crop 98x98+13+13 -ppm
839
+ -outfile testout_444_islow_prog_crop98x98,13,13.ppm
840
+ testout_444_islow_prog.jpg)
841
+ add_test(djpeg${suffix}-444-islow-prog_crop98x98_13_13-cmp
842
+ ${MD5CMP} ${MD5_PPM_444_ISLOW_PROG_CROP98x98_13_13}
843
+ testout_444_islow_prog_crop98x98,13,13.ppm)
844
+
845
+ # Context rows: No Intra-iMCU row: No ENT: arith
846
+ if(WITH_ARITH_ENC)
847
+ add_test(cjpeg${suffix}-444-islow-ari
848
+ ${dir}cjpeg${suffix} -dct int -arithmetic -sample 1x1
849
+ -outfile testout_444_islow_ari.jpg ${TESTIMAGES}/testorig.ppm)
850
+ if(WITH_ARITH_DEC)
851
+ add_test(djpeg${suffix}-444-islow-ari-crop37x37_0_0
852
+ ${dir}djpeg${suffix} -dct int -crop 37x37+0+0 -ppm
853
+ -outfile testout_444_islow_ari_crop37x37,0,0.ppm
854
+ testout_444_islow_ari.jpg)
855
+ add_test(djpeg${suffix}-444-islow-ari-crop37x37_0_0-cmp
856
+ ${MD5CMP} ${MD5_PPM_444_ISLOW_ARI_CROP37x37_0_0}
857
+ testout_444_islow_ari_crop37x37,0,0.ppm)
858
+ endif()
859
+ endif()
860
+
861
+ add_test(jpegtran${suffix}-crop
862
+ ${dir}jpegtran${suffix} -crop 120x90+20+50 -transpose -perfect
863
+ -outfile testout_crop.jpg ${TESTIMAGES}/${TESTORIG})
864
+ add_test(jpegtran${suffix}-crop-cmp
865
+ ${MD5CMP} ${MD5_JPEG_CROP} testout_crop.jpg)
866
+
867
+ endforeach()
868
+
869
+ add_custom_target(testclean COMMAND ${CMAKE_COMMAND} -P
870
+ ${CMAKE_SOURCE_DIR}/cmakescripts/testclean.cmake)
871
+
872
+
873
+ #
874
+ # Installer
875
+ #
876
+
877
+ if(MSVC)
878
+ set(INST_PLATFORM "Visual C++")
879
+ set(INST_NAME ${CMAKE_PROJECT_NAME}-${VERSION}-vc)
880
+ set(INST_REG_NAME ${CMAKE_PROJECT_NAME})
881
+ elseif(MINGW)
882
+ set(INST_PLATFORM GCC)
883
+ set(INST_NAME ${CMAKE_PROJECT_NAME}-${VERSION}-gcc)
884
+ set(INST_REG_NAME ${CMAKE_PROJECT_NAME}-gcc)
885
+ set(INST_DEFS -DGCC)
886
+ endif()
887
+
888
+ if(64BIT)
889
+ set(INST_PLATFORM "${INST_PLATFORM} 64-bit")
890
+ set(INST_NAME ${INST_NAME}64)
891
+ set(INST_REG_NAME ${INST_DIR}64)
892
+ set(INST_DEFS ${INST_DEFS} -DWIN64)
893
+ endif()
894
+
895
+ if(WITH_JAVA)
896
+ set(INST_DEFS ${INST_DEFS} -DJAVA)
897
+ endif()
898
+
899
+ if(MSVC_IDE)
900
+ set(INST_DEFS ${INST_DEFS} "-DBUILDDIR=${CMAKE_CFG_INTDIR}\\")
901
+ else()
902
+ set(INST_DEFS ${INST_DEFS} "-DBUILDDIR=")
903
+ endif()
904
+
905
+ STRING(REGEX REPLACE "/" "\\\\" INST_DIR ${CMAKE_INSTALL_PREFIX})
906
+
907
+ configure_file(release/libjpeg-turbo.nsi.in libjpeg-turbo.nsi @ONLY)
908
+
909
+ if(WITH_JAVA)
910
+ set(JAVA_DEPEND java)
911
+ endif()
912
+ add_custom_target(installer
913
+ makensis -nocd ${INST_DEFS} libjpeg-turbo.nsi
914
+ DEPENDS jpeg jpeg-static turbojpeg turbojpeg-static rdjpgcom wrjpgcom
915
+ cjpeg djpeg jpegtran tjbench ${JAVA_DEPEND}
916
+ SOURCES libjpeg-turbo.nsi)
917
+
918
+ if(WITH_TURBOJPEG)
919
+ if(ENABLE_SHARED)
920
+ install(TARGETS turbojpeg tjbench
921
+ ARCHIVE DESTINATION lib
922
+ LIBRARY DESTINATION lib
923
+ RUNTIME DESTINATION bin)
924
+ endif()
925
+ if(ENABLE_STATIC)
926
+ install(TARGETS turbojpeg-static ARCHIVE DESTINATION lib)
927
+ if(NOT ENABLE_SHARED)
928
+ install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/tjbench-static.exe
929
+ DESTINATION bin RENAME tjbench.exe)
930
+ endif()
931
+ endif()
932
+ install(FILES ${CMAKE_SOURCE_DIR}/turbojpeg.h DESTINATION include)
933
+ endif()
934
+
935
+ if(ENABLE_STATIC)
936
+ install(TARGETS jpeg-static ARCHIVE DESTINATION lib)
937
+ if(NOT ENABLE_SHARED)
938
+ install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/cjpeg-static.exe
939
+ DESTINATION bin RENAME cjpeg.exe)
940
+ install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/djpeg-static.exe
941
+ DESTINATION bin RENAME djpeg.exe)
942
+ install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/jpegtran-static.exe
943
+ DESTINATION bin RENAME jpegtran.exe)
944
+ endif()
945
+ endif()
946
+
947
+ install(TARGETS rdjpgcom wrjpgcom RUNTIME DESTINATION bin)
948
+
949
+ install(FILES ${CMAKE_SOURCE_DIR}/README.ijg ${CMAKE_SOURCE_DIR}/README.md
950
+ ${CMAKE_SOURCE_DIR}/example.c ${CMAKE_SOURCE_DIR}/libjpeg.txt
951
+ ${CMAKE_SOURCE_DIR}/structure.txt ${CMAKE_SOURCE_DIR}/usage.txt
952
+ ${CMAKE_SOURCE_DIR}/wizard.txt
953
+ DESTINATION doc)
954
+
955
+ install(FILES ${CMAKE_BINARY_DIR}/jconfig.h ${CMAKE_SOURCE_DIR}/jerror.h
956
+ ${CMAKE_SOURCE_DIR}/jmorecfg.h ${CMAKE_SOURCE_DIR}/jpeglib.h
957
+ DESTINATION include)
958
+
959
+ configure_file("${CMAKE_SOURCE_DIR}/cmakescripts/cmake_uninstall.cmake.in"
960
+ "cmake_uninstall.cmake" IMMEDIATE @ONLY)
961
+
962
+ add_custom_target(uninstall COMMAND ${CMAKE_COMMAND} -P cmake_uninstall.cmake)