seal 0.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 (421) hide show
  1. data/.yardopts +1 -0
  2. data/LICENSE +13 -0
  3. data/README.md +265 -0
  4. data/ext/seal/extconf.rb +45 -0
  5. data/include/al/al.h +724 -0
  6. data/include/al/alc.h +277 -0
  7. data/include/al/efx-presets.h +402 -0
  8. data/include/al/efx.h +758 -0
  9. data/include/mpg123/mpg123.h +1034 -0
  10. data/include/ogg/config_types.h +25 -0
  11. data/include/ogg/ogg.h +210 -0
  12. data/include/ogg/os_types.h +147 -0
  13. data/include/seal.h +23 -0
  14. data/include/seal/buf.h +143 -0
  15. data/include/seal/core.h +95 -0
  16. data/include/seal/efs.h +112 -0
  17. data/include/seal/err.h +93 -0
  18. data/include/seal/fmt.h +58 -0
  19. data/include/seal/listener.h +103 -0
  20. data/include/seal/raw.h +86 -0
  21. data/include/seal/rvb.h +520 -0
  22. data/include/seal/src.h +413 -0
  23. data/include/seal/stream.h +81 -0
  24. data/include/vorbis/codec.h +243 -0
  25. data/include/vorbis/vorbisfile.h +206 -0
  26. data/mpg123/AUTHORS +150 -0
  27. data/mpg123/COPYING +773 -0
  28. data/mpg123/ChangeLog +3 -0
  29. data/mpg123/INSTALL +111 -0
  30. data/mpg123/Makefile.am +99 -0
  31. data/mpg123/Makefile.in +1043 -0
  32. data/mpg123/NEWS +1200 -0
  33. data/mpg123/NEWS.libmpg123 +133 -0
  34. data/mpg123/README +203 -0
  35. data/mpg123/TODO +38 -0
  36. data/mpg123/aclocal.m4 +1168 -0
  37. data/mpg123/build/config.guess +1530 -0
  38. data/mpg123/build/config.sub +1782 -0
  39. data/mpg123/build/depcomp +707 -0
  40. data/mpg123/build/install-sh +527 -0
  41. data/mpg123/build/ltmain.sh +9655 -0
  42. data/mpg123/build/missing +330 -0
  43. data/mpg123/configure +20267 -0
  44. data/mpg123/configure.ac +2178 -0
  45. data/mpg123/doc/ACCURACY +2 -0
  46. data/mpg123/doc/BENCHMARKING +110 -0
  47. data/mpg123/doc/BUGS +3 -0
  48. data/mpg123/doc/CONTACT +17 -0
  49. data/mpg123/doc/LICENSE +22 -0
  50. data/mpg123/doc/Makefile.am +32 -0
  51. data/mpg123/doc/Makefile.in +490 -0
  52. data/mpg123/doc/PATENTS +39 -0
  53. data/mpg123/doc/README.3DNOW +56 -0
  54. data/mpg123/doc/README.gain +171 -0
  55. data/mpg123/doc/README.remote +218 -0
  56. data/mpg123/doc/ROAD_TO_LGPL +270 -0
  57. data/mpg123/doc/THANKS +13 -0
  58. data/mpg123/doc/TODO +63 -0
  59. data/mpg123/doc/doxy_examples.c +21 -0
  60. data/mpg123/doc/doxygen.conf +41 -0
  61. data/mpg123/doc/doxyhead.xhtml +12 -0
  62. data/mpg123/doc/examples/dump_seekindex.c +41 -0
  63. data/mpg123/doc/examples/extract_frames.c +92 -0
  64. data/mpg123/doc/examples/feedseek.c +238 -0
  65. data/mpg123/doc/examples/id3dump.c +178 -0
  66. data/mpg123/doc/examples/mpg123_to_wav.c +118 -0
  67. data/mpg123/doc/examples/mpglib.c +92 -0
  68. data/mpg123/doc/examples/scan.c +47 -0
  69. data/mpg123/doc/libmpg123_speed.txt +84 -0
  70. data/mpg123/equalize.dat +37 -0
  71. data/mpg123/libmpg123.pc.in +11 -0
  72. data/mpg123/m4/addrconfig.m4 +34 -0
  73. data/mpg123/m4/libtool.m4 +7982 -0
  74. data/mpg123/m4/ltoptions.m4 +384 -0
  75. data/mpg123/m4/ltsugar.m4 +123 -0
  76. data/mpg123/m4/ltversion.m4 +23 -0
  77. data/mpg123/m4/lt~obsolete.m4 +98 -0
  78. data/mpg123/makedll.sh +19 -0
  79. data/mpg123/man1/mpg123.1 +512 -0
  80. data/mpg123/mpg123.spec +68 -0
  81. data/mpg123/mpg123.spec.in +68 -0
  82. data/mpg123/ports/MSVC++/2005/libmpg123/libmpg123.vcproj +741 -0
  83. data/mpg123/ports/MSVC++/2008/dump_seekindex/dump_seekindex.vcproj +194 -0
  84. data/mpg123/ports/MSVC++/2008/feedseek/feedseek.vcproj +195 -0
  85. data/mpg123/ports/MSVC++/2008/libmpg123/libmpg123.vcproj +1357 -0
  86. data/mpg123/ports/MSVC++/2008/mpg123.sln +44 -0
  87. data/mpg123/ports/MSVC++/2008/mpglib/mpglib.vcproj +191 -0
  88. data/mpg123/ports/MSVC++/2008/scan/scan.vcproj +195 -0
  89. data/mpg123/ports/MSVC++/2008clr/2008clr.sln +81 -0
  90. data/mpg123/ports/MSVC++/2008clr/examples/ReplaceReaderclr/Program.cs +435 -0
  91. data/mpg123/ports/MSVC++/2008clr/examples/ReplaceReaderclr/Properties/AssemblyInfo.cs +36 -0
  92. data/mpg123/ports/MSVC++/2008clr/examples/ReplaceReaderclr/ReplaceReaderclr.csproj +72 -0
  93. data/mpg123/ports/MSVC++/2008clr/examples/feedseekclr/Program.cs +331 -0
  94. data/mpg123/ports/MSVC++/2008clr/examples/feedseekclr/Properties/AssemblyInfo.cs +36 -0
  95. data/mpg123/ports/MSVC++/2008clr/examples/feedseekclr/feedseekclr.csproj +71 -0
  96. data/mpg123/ports/MSVC++/2008clr/examples/scanclr/Program.cs +79 -0
  97. data/mpg123/ports/MSVC++/2008clr/examples/scanclr/Properties/AssemblyInfo.cs +36 -0
  98. data/mpg123/ports/MSVC++/2008clr/examples/scanclr/scanclr.csproj +70 -0
  99. data/mpg123/ports/MSVC++/2008clr/mpg123clr/AssemblyInfo.cpp +76 -0
  100. data/mpg123/ports/MSVC++/2008clr/mpg123clr/ReadMe.txt +165 -0
  101. data/mpg123/ports/MSVC++/2008clr/mpg123clr/advanced.cpp +91 -0
  102. data/mpg123/ports/MSVC++/2008clr/mpg123clr/advanced.h +130 -0
  103. data/mpg123/ports/MSVC++/2008clr/mpg123clr/dllmain.cpp +19 -0
  104. data/mpg123/ports/MSVC++/2008clr/mpg123clr/enum.h +218 -0
  105. data/mpg123/ports/MSVC++/2008clr/mpg123clr/error.cpp +48 -0
  106. data/mpg123/ports/MSVC++/2008clr/mpg123clr/error.h +134 -0
  107. data/mpg123/ports/MSVC++/2008clr/mpg123clr/id3v1.cpp +92 -0
  108. data/mpg123/ports/MSVC++/2008clr/mpg123clr/id3v1.h +132 -0
  109. data/mpg123/ports/MSVC++/2008clr/mpg123clr/id3v2.cpp +138 -0
  110. data/mpg123/ports/MSVC++/2008clr/mpg123clr/id3v2.h +152 -0
  111. data/mpg123/ports/MSVC++/2008clr/mpg123clr/mpg123clr.cpp +896 -0
  112. data/mpg123/ports/MSVC++/2008clr/mpg123clr/mpg123clr.h +953 -0
  113. data/mpg123/ports/MSVC++/2008clr/mpg123clr/mpg123clr.rc +102 -0
  114. data/mpg123/ports/MSVC++/2008clr/mpg123clr/mpg123clr.vcproj +328 -0
  115. data/mpg123/ports/MSVC++/2008clr/mpg123clr/resource.h +14 -0
  116. data/mpg123/ports/MSVC++/2008clr/mpg123clr/stdafx.cpp +8 -0
  117. data/mpg123/ports/MSVC++/2008clr/mpg123clr/stdafx.h +38 -0
  118. data/mpg123/ports/MSVC++/2008clr/mpg123clr/string.cpp +166 -0
  119. data/mpg123/ports/MSVC++/2008clr/mpg123clr/string.h +265 -0
  120. data/mpg123/ports/MSVC++/2008clr/mpg123clr/targetver.h +24 -0
  121. data/mpg123/ports/MSVC++/2008clr/mpg123clr/text.cpp +67 -0
  122. data/mpg123/ports/MSVC++/2008clr/mpg123clr/text.h +111 -0
  123. data/mpg123/ports/MSVC++/2010/dump_seekindex/dump_seekindex.vcxproj +90 -0
  124. data/mpg123/ports/MSVC++/2010/dump_seekindex/dump_seekindex.vcxproj.filters +6 -0
  125. data/mpg123/ports/MSVC++/2010/feedseek/feedseek.vcxproj +95 -0
  126. data/mpg123/ports/MSVC++/2010/feedseek/feedseek.vcxproj.filters +6 -0
  127. data/mpg123/ports/MSVC++/2010/libmpg123/libmpg123.vcxproj +960 -0
  128. data/mpg123/ports/MSVC++/2010/libmpg123/libmpg123.vcxproj.user +3 -0
  129. data/mpg123/ports/MSVC++/2010/libmpg123/yasm.exe +0 -0
  130. data/mpg123/ports/MSVC++/2010/mpg123.sln +38 -0
  131. data/mpg123/ports/MSVC++/2010/scan/scan.vcxproj +93 -0
  132. data/mpg123/ports/MSVC++/2010/scan/scan.vcxproj.filters +6 -0
  133. data/mpg123/ports/MSVC++/CMP3Stream/INCLUDE/CORE/CORE_FileIn.H +15 -0
  134. data/mpg123/ports/MSVC++/CMP3Stream/INCLUDE/CORE/SourceFilter_MP3.H +139 -0
  135. data/mpg123/ports/MSVC++/CMP3Stream/INCLUDE/IIEP_Def.H +206 -0
  136. data/mpg123/ports/MSVC++/CMP3Stream/INCLUDE/IIEP_FileIn.H +167 -0
  137. data/mpg123/ports/MSVC++/CMP3Stream/README +4 -0
  138. data/mpg123/ports/MSVC++/CMP3Stream/SOURCE/CORE_FileIn.CPP +462 -0
  139. data/mpg123/ports/MSVC++/CMP3Stream/SOURCE/CORE_Log.CPP +122 -0
  140. data/mpg123/ports/MSVC++/CMP3Stream/SOURCE/CORE_Mutex.CPP +35 -0
  141. data/mpg123/ports/MSVC++/CMP3Stream/SOURCE/SourceFilter_MP3Stream.CPP +586 -0
  142. data/mpg123/ports/MSVC++/CMP3Stream/libMPG123/PLACE_LIBMPG123_SOURCES_HERE +0 -0
  143. data/mpg123/ports/MSVC++/CMP3Stream/libMPG123/libMPG123.vcproj +245 -0
  144. data/mpg123/ports/MSVC++/config.h +35 -0
  145. data/mpg123/ports/MSVC++/examples/feedseek.c +240 -0
  146. data/mpg123/ports/MSVC++/examples/scan.c +47 -0
  147. data/mpg123/ports/MSVC++/mpg123.h +46 -0
  148. data/mpg123/ports/MSVC++/msvc.c +59 -0
  149. data/mpg123/ports/README +26 -0
  150. data/mpg123/ports/Sony_PSP/Makefile.psp +38 -0
  151. data/mpg123/ports/Sony_PSP/README +11 -0
  152. data/mpg123/ports/Sony_PSP/config.h +368 -0
  153. data/mpg123/ports/Sony_PSP/readers.c.patch +2 -0
  154. data/mpg123/ports/Xcode/config.h +197 -0
  155. data/mpg123/ports/Xcode/mpg123.h +17 -0
  156. data/mpg123/ports/Xcode/mpg123.xcodeproj/project.pbxproj +670 -0
  157. data/mpg123/ports/mpg123_.pas +478 -0
  158. data/mpg123/scripts/benchmark-cpu.pl +56 -0
  159. data/mpg123/scripts/tag_lyrics.py +76 -0
  160. data/mpg123/src/Makefile.am +186 -0
  161. data/mpg123/src/Makefile.in +1097 -0
  162. data/mpg123/src/audio.c +725 -0
  163. data/mpg123/src/audio.h +106 -0
  164. data/mpg123/src/buffer.c +312 -0
  165. data/mpg123/src/buffer.h +45 -0
  166. data/mpg123/src/common.c +240 -0
  167. data/mpg123/src/common.h +29 -0
  168. data/mpg123/src/config.h.in +436 -0
  169. data/mpg123/src/control_generic.c +809 -0
  170. data/mpg123/src/equalizer.c +48 -0
  171. data/mpg123/src/genre.c +271 -0
  172. data/mpg123/src/genre.h +15 -0
  173. data/mpg123/src/getlopt.c +148 -0
  174. data/mpg123/src/getlopt.h +77 -0
  175. data/mpg123/src/httpget.c +700 -0
  176. data/mpg123/src/httpget.h +66 -0
  177. data/mpg123/src/legacy_module.c +74 -0
  178. data/mpg123/src/libmpg123/Makefile.am +141 -0
  179. data/mpg123/src/libmpg123/Makefile.in +919 -0
  180. data/mpg123/src/libmpg123/compat.c +138 -0
  181. data/mpg123/src/libmpg123/compat.h +178 -0
  182. data/mpg123/src/libmpg123/dct36_3dnow.S +505 -0
  183. data/mpg123/src/libmpg123/dct36_3dnowext.S +512 -0
  184. data/mpg123/src/libmpg123/dct64.c +174 -0
  185. data/mpg123/src/libmpg123/dct64_3dnow.S +712 -0
  186. data/mpg123/src/libmpg123/dct64_3dnowext.S +714 -0
  187. data/mpg123/src/libmpg123/dct64_altivec.c +315 -0
  188. data/mpg123/src/libmpg123/dct64_i386.c +336 -0
  189. data/mpg123/src/libmpg123/dct64_i486.c +342 -0
  190. data/mpg123/src/libmpg123/dct64_mmx.S +811 -0
  191. data/mpg123/src/libmpg123/dct64_neon.S +297 -0
  192. data/mpg123/src/libmpg123/dct64_neon_float.S +270 -0
  193. data/mpg123/src/libmpg123/dct64_sse.S +454 -0
  194. data/mpg123/src/libmpg123/dct64_sse_float.S +401 -0
  195. data/mpg123/src/libmpg123/dct64_x86_64.S +464 -0
  196. data/mpg123/src/libmpg123/dct64_x86_64_float.S +426 -0
  197. data/mpg123/src/libmpg123/debug.h +171 -0
  198. data/mpg123/src/libmpg123/decode.h +268 -0
  199. data/mpg123/src/libmpg123/dither.c +119 -0
  200. data/mpg123/src/libmpg123/dither.h +23 -0
  201. data/mpg123/src/libmpg123/equalizer.c +17 -0
  202. data/mpg123/src/libmpg123/equalizer_3dnow.S +70 -0
  203. data/mpg123/src/libmpg123/feature.c +106 -0
  204. data/mpg123/src/libmpg123/format.c +521 -0
  205. data/mpg123/src/libmpg123/frame.c +1046 -0
  206. data/mpg123/src/libmpg123/frame.h +410 -0
  207. data/mpg123/src/libmpg123/gapless.h +119 -0
  208. data/mpg123/src/libmpg123/getbits.h +100 -0
  209. data/mpg123/src/libmpg123/getcpuflags.S +91 -0
  210. data/mpg123/src/libmpg123/getcpuflags.h +47 -0
  211. data/mpg123/src/libmpg123/huffman.h +340 -0
  212. data/mpg123/src/libmpg123/icy.c +32 -0
  213. data/mpg123/src/libmpg123/icy.h +38 -0
  214. data/mpg123/src/libmpg123/icy2utf8.c +438 -0
  215. data/mpg123/src/libmpg123/icy2utf8.h +10 -0
  216. data/mpg123/src/libmpg123/id3.c +999 -0
  217. data/mpg123/src/libmpg123/id3.h +43 -0
  218. data/mpg123/src/libmpg123/index.c +134 -0
  219. data/mpg123/src/libmpg123/index.h +59 -0
  220. data/mpg123/src/libmpg123/intsym.h +256 -0
  221. data/mpg123/src/libmpg123/l12_integer_tables.h +278 -0
  222. data/mpg123/src/libmpg123/l2tables.h +164 -0
  223. data/mpg123/src/libmpg123/l3_integer_tables.h +1002 -0
  224. data/mpg123/src/libmpg123/layer1.c +155 -0
  225. data/mpg123/src/libmpg123/layer2.c +371 -0
  226. data/mpg123/src/libmpg123/layer3.c +2053 -0
  227. data/mpg123/src/libmpg123/lfs_alias.c +252 -0
  228. data/mpg123/src/libmpg123/lfs_wrap.c +751 -0
  229. data/mpg123/src/libmpg123/libmpg123.c +1607 -0
  230. data/mpg123/src/libmpg123/mangle.h +74 -0
  231. data/mpg123/src/libmpg123/mpeghead.h +87 -0
  232. data/mpg123/src/libmpg123/mpg123.h.in +1075 -0
  233. data/mpg123/src/libmpg123/mpg123lib_intern.h +338 -0
  234. data/mpg123/src/libmpg123/ntom.c +148 -0
  235. data/mpg123/src/libmpg123/optimize.c +964 -0
  236. data/mpg123/src/libmpg123/optimize.h +219 -0
  237. data/mpg123/src/libmpg123/parse.c +1179 -0
  238. data/mpg123/src/libmpg123/parse.h +25 -0
  239. data/mpg123/src/libmpg123/reader.h +137 -0
  240. data/mpg123/src/libmpg123/readers.c +1235 -0
  241. data/mpg123/src/libmpg123/sample.h +152 -0
  242. data/mpg123/src/libmpg123/stringbuf.c +163 -0
  243. data/mpg123/src/libmpg123/synth.c +816 -0
  244. data/mpg123/src/libmpg123/synth.h +196 -0
  245. data/mpg123/src/libmpg123/synth_3dnow.S +318 -0
  246. data/mpg123/src/libmpg123/synth_3dnowext.S +6 -0
  247. data/mpg123/src/libmpg123/synth_8bit.c +142 -0
  248. data/mpg123/src/libmpg123/synth_8bit.h +86 -0
  249. data/mpg123/src/libmpg123/synth_altivec.c +1057 -0
  250. data/mpg123/src/libmpg123/synth_arm.S +271 -0
  251. data/mpg123/src/libmpg123/synth_arm_accurate.S +287 -0
  252. data/mpg123/src/libmpg123/synth_i486.c +252 -0
  253. data/mpg123/src/libmpg123/synth_i586.S +336 -0
  254. data/mpg123/src/libmpg123/synth_i586_dither.S +375 -0
  255. data/mpg123/src/libmpg123/synth_mmx.S +125 -0
  256. data/mpg123/src/libmpg123/synth_mono.h +64 -0
  257. data/mpg123/src/libmpg123/synth_neon.S +123 -0
  258. data/mpg123/src/libmpg123/synth_neon_accurate.S +173 -0
  259. data/mpg123/src/libmpg123/synth_neon_float.S +149 -0
  260. data/mpg123/src/libmpg123/synth_neon_s32.S +168 -0
  261. data/mpg123/src/libmpg123/synth_ntom.h +213 -0
  262. data/mpg123/src/libmpg123/synth_real.c +404 -0
  263. data/mpg123/src/libmpg123/synth_s32.c +411 -0
  264. data/mpg123/src/libmpg123/synth_sse.S +6 -0
  265. data/mpg123/src/libmpg123/synth_sse3d.h +246 -0
  266. data/mpg123/src/libmpg123/synth_sse_accurate.S +294 -0
  267. data/mpg123/src/libmpg123/synth_sse_float.S +241 -0
  268. data/mpg123/src/libmpg123/synth_sse_s32.S +306 -0
  269. data/mpg123/src/libmpg123/synth_stereo_neon.S +175 -0
  270. data/mpg123/src/libmpg123/synth_stereo_neon_accurate.S +262 -0
  271. data/mpg123/src/libmpg123/synth_stereo_neon_float.S +220 -0
  272. data/mpg123/src/libmpg123/synth_stereo_neon_s32.S +247 -0
  273. data/mpg123/src/libmpg123/synth_stereo_sse_accurate.S +508 -0
  274. data/mpg123/src/libmpg123/synth_stereo_sse_float.S +416 -0
  275. data/mpg123/src/libmpg123/synth_stereo_sse_s32.S +540 -0
  276. data/mpg123/src/libmpg123/synth_stereo_x86_64.S +335 -0
  277. data/mpg123/src/libmpg123/synth_stereo_x86_64_accurate.S +454 -0
  278. data/mpg123/src/libmpg123/synth_stereo_x86_64_float.S +396 -0
  279. data/mpg123/src/libmpg123/synth_stereo_x86_64_s32.S +473 -0
  280. data/mpg123/src/libmpg123/synth_x86_64.S +244 -0
  281. data/mpg123/src/libmpg123/synth_x86_64_accurate.S +301 -0
  282. data/mpg123/src/libmpg123/synth_x86_64_float.S +259 -0
  283. data/mpg123/src/libmpg123/synth_x86_64_s32.S +312 -0
  284. data/mpg123/src/libmpg123/synths.h +52 -0
  285. data/mpg123/src/libmpg123/tabinit.c +294 -0
  286. data/mpg123/src/libmpg123/tabinit_mmx.S +210 -0
  287. data/mpg123/src/libmpg123/testcpu.c +35 -0
  288. data/mpg123/src/libmpg123/true.h +14 -0
  289. data/mpg123/src/local.c +63 -0
  290. data/mpg123/src/local.h +21 -0
  291. data/mpg123/src/metaprint.c +373 -0
  292. data/mpg123/src/metaprint.h +17 -0
  293. data/mpg123/src/module.c +306 -0
  294. data/mpg123/src/module.h +48 -0
  295. data/mpg123/src/mpg123.c +1405 -0
  296. data/mpg123/src/mpg123app.h +171 -0
  297. data/mpg123/src/output/Makefile.am +213 -0
  298. data/mpg123/src/output/Makefile.in +1238 -0
  299. data/mpg123/src/output/aix.c +300 -0
  300. data/mpg123/src/output/alib.c +209 -0
  301. data/mpg123/src/output/alsa.c +297 -0
  302. data/mpg123/src/output/arts.c +117 -0
  303. data/mpg123/src/output/coreaudio.c +370 -0
  304. data/mpg123/src/output/dummy.c +78 -0
  305. data/mpg123/src/output/esd.c +167 -0
  306. data/mpg123/src/output/hp.c +184 -0
  307. data/mpg123/src/output/jack.c +450 -0
  308. data/mpg123/src/output/mint.c +197 -0
  309. data/mpg123/src/output/nas.c +335 -0
  310. data/mpg123/src/output/openal.c +197 -0
  311. data/mpg123/src/output/os2.c +665 -0
  312. data/mpg123/src/output/oss.c +319 -0
  313. data/mpg123/src/output/portaudio.c +255 -0
  314. data/mpg123/src/output/pulse.c +164 -0
  315. data/mpg123/src/output/sdl.c +206 -0
  316. data/mpg123/src/output/sgi.c +213 -0
  317. data/mpg123/src/output/sndio.c +161 -0
  318. data/mpg123/src/output/sun.c +281 -0
  319. data/mpg123/src/output/win32.c +229 -0
  320. data/mpg123/src/playlist.c +596 -0
  321. data/mpg123/src/playlist.h +52 -0
  322. data/mpg123/src/resolver.c +319 -0
  323. data/mpg123/src/resolver.h +25 -0
  324. data/mpg123/src/sfifo.c +146 -0
  325. data/mpg123/src/sfifo.h +95 -0
  326. data/mpg123/src/streamdump.c +74 -0
  327. data/mpg123/src/streamdump.h +20 -0
  328. data/mpg123/src/term.c +479 -0
  329. data/mpg123/src/term.h +81 -0
  330. data/mpg123/src/tests/noise.c +52 -0
  331. data/mpg123/src/tests/plain_id3.c +109 -0
  332. data/mpg123/src/tests/seek_accuracy.c +261 -0
  333. data/mpg123/src/tests/seek_whence.c +56 -0
  334. data/mpg123/src/tests/testtext.h +34 -0
  335. data/mpg123/src/tests/text.c +80 -0
  336. data/mpg123/src/wav.c +464 -0
  337. data/mpg123/src/wavhead.h +68 -0
  338. data/mpg123/src/win32_net.c +599 -0
  339. data/mpg123/src/win32_support.c +191 -0
  340. data/mpg123/src/win32_support.h +152 -0
  341. data/mpg123/src/xfermem.c +321 -0
  342. data/mpg123/src/xfermem.h +74 -0
  343. data/mpg123/windows-builds.sh +137 -0
  344. data/msvc/lib/OpenAL32.lib +0 -0
  345. data/spec/fixtures/heal.ogg +0 -0
  346. data/spec/fixtures/tone_up.wav +0 -0
  347. data/spec/seal/buffer_spec.rb +37 -0
  348. data/spec/seal/core_spec.rb +29 -0
  349. data/spec/seal/effect_slot_spec.rb +38 -0
  350. data/spec/seal/listener_spec.rb +33 -0
  351. data/spec/seal/reverb_spec.rb +51 -0
  352. data/spec/seal/source_spec.rb +370 -0
  353. data/spec/seal/stream_spec.rb +38 -0
  354. data/spec/spec_helper.rb +45 -0
  355. data/spec/support/attribute_examples.rb +75 -0
  356. data/spec/support/audio_object_with_format.rb +27 -0
  357. data/spec/support/movable_object.rb +22 -0
  358. data/src/libogg/bitwise.c +857 -0
  359. data/src/libogg/framing.c +2093 -0
  360. data/src/libvorbis/backends.h +144 -0
  361. data/src/libvorbis/bitrate.c +253 -0
  362. data/src/libvorbis/bitrate.h +59 -0
  363. data/src/libvorbis/block.c +1046 -0
  364. data/src/libvorbis/codebook.c +484 -0
  365. data/src/libvorbis/codebook.h +119 -0
  366. data/src/libvorbis/codec_internal.h +167 -0
  367. data/src/libvorbis/envelope.c +375 -0
  368. data/src/libvorbis/envelope.h +80 -0
  369. data/src/libvorbis/floor0.c +221 -0
  370. data/src/libvorbis/floor1.c +1100 -0
  371. data/src/libvorbis/highlevel.h +58 -0
  372. data/src/libvorbis/info.c +668 -0
  373. data/src/libvorbis/lookup.c +94 -0
  374. data/src/libvorbis/lookup.h +32 -0
  375. data/src/libvorbis/lookup_data.h +192 -0
  376. data/src/libvorbis/lpc.c +160 -0
  377. data/src/libvorbis/lpc.h +29 -0
  378. data/src/libvorbis/lsp.c +456 -0
  379. data/src/libvorbis/lsp.h +28 -0
  380. data/src/libvorbis/mapping0.c +816 -0
  381. data/src/libvorbis/masking.h +785 -0
  382. data/src/libvorbis/mdct.c +563 -0
  383. data/src/libvorbis/mdct.h +71 -0
  384. data/src/libvorbis/misc.h +57 -0
  385. data/src/libvorbis/os.h +186 -0
  386. data/src/libvorbis/psy.c +1206 -0
  387. data/src/libvorbis/psy.h +154 -0
  388. data/src/libvorbis/registry.c +45 -0
  389. data/src/libvorbis/registry.h +32 -0
  390. data/src/libvorbis/res0.c +889 -0
  391. data/src/libvorbis/scales.h +90 -0
  392. data/src/libvorbis/sharedbook.c +579 -0
  393. data/src/libvorbis/smallft.c +1255 -0
  394. data/src/libvorbis/smallft.h +34 -0
  395. data/src/libvorbis/synthesis.c +184 -0
  396. data/src/libvorbis/vorbisfile.c +2337 -0
  397. data/src/libvorbis/window.c +2135 -0
  398. data/src/libvorbis/window.h +26 -0
  399. data/src/rubyext.c +2329 -0
  400. data/src/seal/buf.c +124 -0
  401. data/src/seal/core.c +283 -0
  402. data/src/seal/efs.c +74 -0
  403. data/src/seal/err.c +118 -0
  404. data/src/seal/fmt.c +86 -0
  405. data/src/seal/listener.c +111 -0
  406. data/src/seal/mpg.c +174 -0
  407. data/src/seal/mpg.h +24 -0
  408. data/src/seal/ov.c +180 -0
  409. data/src/seal/ov.h +22 -0
  410. data/src/seal/raw.c +59 -0
  411. data/src/seal/reader.c +102 -0
  412. data/src/seal/reader.h +59 -0
  413. data/src/seal/rvb.c +368 -0
  414. data/src/seal/src.c +654 -0
  415. data/src/seal/stream.c +109 -0
  416. data/src/seal/threading.c +66 -0
  417. data/src/seal/threading.h +20 -0
  418. data/src/seal/wav.c +297 -0
  419. data/src/seal/wav.h +23 -0
  420. data/src/win32api.rb +29 -0
  421. metadata +563 -0
@@ -0,0 +1,174 @@
1
+ /*
2
+ dct64.c: DCT64, the plain C version
3
+
4
+ copyright ?-2006 by the mpg123 project - free software under the terms of the LGPL 2.1
5
+ see COPYING and AUTHORS files in distribution or http://mpg123.org
6
+ initially written by Michael Hipp
7
+ */
8
+
9
+ /*
10
+ * Discrete Cosine Tansform (DCT) for subband synthesis
11
+ *
12
+ * -funroll-loops (for gcc) will remove the loops for better performance
13
+ * using loops in the source-code enhances readabillity
14
+ *
15
+ *
16
+ * TODO: write an optimized version for the down-sampling modes
17
+ * (in these modes the bands 16-31 (2:1) or 8-31 (4:1) are zero
18
+ */
19
+
20
+ #include "mpg123lib_intern.h"
21
+
22
+ void dct64(real *out0,real *out1,real *samples)
23
+ {
24
+ real bufs[64];
25
+
26
+ {
27
+ register int i,j;
28
+ register real *b1,*b2,*bs,*costab;
29
+
30
+ b1 = samples;
31
+ bs = bufs;
32
+ costab = pnts[0]+16;
33
+ b2 = b1 + 32;
34
+
35
+ for(i=15;i>=0;i--)
36
+ *bs++ = (*b1++ + *--b2);
37
+ for(i=15;i>=0;i--)
38
+ *bs++ = REAL_MUL((*--b2 - *b1++), *--costab);
39
+
40
+ b1 = bufs;
41
+ costab = pnts[1]+8;
42
+ b2 = b1 + 16;
43
+
44
+ {
45
+ for(i=7;i>=0;i--)
46
+ *bs++ = (*b1++ + *--b2);
47
+ for(i=7;i>=0;i--)
48
+ *bs++ = REAL_MUL((*--b2 - *b1++), *--costab);
49
+ b2 += 32;
50
+ costab += 8;
51
+ for(i=7;i>=0;i--)
52
+ *bs++ = (*b1++ + *--b2);
53
+ for(i=7;i>=0;i--)
54
+ *bs++ = REAL_MUL((*b1++ - *--b2), *--costab);
55
+ b2 += 32;
56
+ }
57
+
58
+ bs = bufs;
59
+ costab = pnts[2];
60
+ b2 = b1 + 8;
61
+
62
+ for(j=2;j;j--)
63
+ {
64
+ for(i=3;i>=0;i--)
65
+ *bs++ = (*b1++ + *--b2);
66
+ for(i=3;i>=0;i--)
67
+ *bs++ = REAL_MUL((*--b2 - *b1++), costab[i]);
68
+ b2 += 16;
69
+ for(i=3;i>=0;i--)
70
+ *bs++ = (*b1++ + *--b2);
71
+ for(i=3;i>=0;i--)
72
+ *bs++ = REAL_MUL((*b1++ - *--b2), costab[i]);
73
+ b2 += 16;
74
+ }
75
+
76
+ b1 = bufs;
77
+ costab = pnts[3];
78
+ b2 = b1 + 4;
79
+
80
+ for(j=4;j;j--)
81
+ {
82
+ *bs++ = (*b1++ + *--b2);
83
+ *bs++ = (*b1++ + *--b2);
84
+ *bs++ = REAL_MUL((*--b2 - *b1++), costab[1]);
85
+ *bs++ = REAL_MUL((*--b2 - *b1++), costab[0]);
86
+ b2 += 8;
87
+ *bs++ = (*b1++ + *--b2);
88
+ *bs++ = (*b1++ + *--b2);
89
+ *bs++ = REAL_MUL((*b1++ - *--b2), costab[1]);
90
+ *bs++ = REAL_MUL((*b1++ - *--b2), costab[0]);
91
+ b2 += 8;
92
+ }
93
+ bs = bufs;
94
+ costab = pnts[4];
95
+
96
+ for(j=8;j;j--)
97
+ {
98
+ real v0,v1;
99
+ v0=*b1++; v1 = *b1++;
100
+ *bs++ = (v0 + v1);
101
+ *bs++ = REAL_MUL((v0 - v1), (*costab));
102
+ v0=*b1++; v1 = *b1++;
103
+ *bs++ = (v0 + v1);
104
+ *bs++ = REAL_MUL((v1 - v0), (*costab));
105
+ }
106
+
107
+ }
108
+
109
+
110
+ {
111
+ register real *b1;
112
+ register int i;
113
+
114
+ for(b1=bufs,i=8;i;i--,b1+=4)
115
+ b1[2] += b1[3];
116
+
117
+ for(b1=bufs,i=4;i;i--,b1+=8)
118
+ {
119
+ b1[4] += b1[6];
120
+ b1[6] += b1[5];
121
+ b1[5] += b1[7];
122
+ }
123
+
124
+ for(b1=bufs,i=2;i;i--,b1+=16)
125
+ {
126
+ b1[8] += b1[12];
127
+ b1[12] += b1[10];
128
+ b1[10] += b1[14];
129
+ b1[14] += b1[9];
130
+ b1[9] += b1[13];
131
+ b1[13] += b1[11];
132
+ b1[11] += b1[15];
133
+ }
134
+ }
135
+
136
+
137
+ out0[0x10*16] = REAL_SCALE_DCT64(bufs[0]);
138
+ out0[0x10*15] = REAL_SCALE_DCT64(bufs[16+0] + bufs[16+8]);
139
+ out0[0x10*14] = REAL_SCALE_DCT64(bufs[8]);
140
+ out0[0x10*13] = REAL_SCALE_DCT64(bufs[16+8] + bufs[16+4]);
141
+ out0[0x10*12] = REAL_SCALE_DCT64(bufs[4]);
142
+ out0[0x10*11] = REAL_SCALE_DCT64(bufs[16+4] + bufs[16+12]);
143
+ out0[0x10*10] = REAL_SCALE_DCT64(bufs[12]);
144
+ out0[0x10* 9] = REAL_SCALE_DCT64(bufs[16+12] + bufs[16+2]);
145
+ out0[0x10* 8] = REAL_SCALE_DCT64(bufs[2]);
146
+ out0[0x10* 7] = REAL_SCALE_DCT64(bufs[16+2] + bufs[16+10]);
147
+ out0[0x10* 6] = REAL_SCALE_DCT64(bufs[10]);
148
+ out0[0x10* 5] = REAL_SCALE_DCT64(bufs[16+10] + bufs[16+6]);
149
+ out0[0x10* 4] = REAL_SCALE_DCT64(bufs[6]);
150
+ out0[0x10* 3] = REAL_SCALE_DCT64(bufs[16+6] + bufs[16+14]);
151
+ out0[0x10* 2] = REAL_SCALE_DCT64(bufs[14]);
152
+ out0[0x10* 1] = REAL_SCALE_DCT64(bufs[16+14] + bufs[16+1]);
153
+ out0[0x10* 0] = REAL_SCALE_DCT64(bufs[1]);
154
+
155
+ out1[0x10* 0] = REAL_SCALE_DCT64(bufs[1]);
156
+ out1[0x10* 1] = REAL_SCALE_DCT64(bufs[16+1] + bufs[16+9]);
157
+ out1[0x10* 2] = REAL_SCALE_DCT64(bufs[9]);
158
+ out1[0x10* 3] = REAL_SCALE_DCT64(bufs[16+9] + bufs[16+5]);
159
+ out1[0x10* 4] = REAL_SCALE_DCT64(bufs[5]);
160
+ out1[0x10* 5] = REAL_SCALE_DCT64(bufs[16+5] + bufs[16+13]);
161
+ out1[0x10* 6] = REAL_SCALE_DCT64(bufs[13]);
162
+ out1[0x10* 7] = REAL_SCALE_DCT64(bufs[16+13] + bufs[16+3]);
163
+ out1[0x10* 8] = REAL_SCALE_DCT64(bufs[3]);
164
+ out1[0x10* 9] = REAL_SCALE_DCT64(bufs[16+3] + bufs[16+11]);
165
+ out1[0x10*10] = REAL_SCALE_DCT64(bufs[11]);
166
+ out1[0x10*11] = REAL_SCALE_DCT64(bufs[16+11] + bufs[16+7]);
167
+ out1[0x10*12] = REAL_SCALE_DCT64(bufs[7]);
168
+ out1[0x10*13] = REAL_SCALE_DCT64(bufs[16+7] + bufs[16+15]);
169
+ out1[0x10*14] = REAL_SCALE_DCT64(bufs[15]);
170
+ out1[0x10*15] = REAL_SCALE_DCT64(bufs[16+15]);
171
+
172
+ }
173
+
174
+
@@ -0,0 +1,712 @@
1
+ /*
2
+ dct64_3dnow.s: Replacement of dct64() with AMD's 3DNow! SIMD operations support
3
+
4
+ copyright ?-2006 by the mpg123 project - free software under the terms of the LGPL 2.1
5
+ see COPYING and AUTHORS files in distribution or http://mpg123.org
6
+ initially written by Syuuhei Kashiyama
7
+
8
+ Original "license" statement:
9
+ The author of this program disclaim whole expressed or implied
10
+ warranties with regard to this program, and in no event shall the
11
+ author of this program liable to whatever resulted from the use of
12
+ this program. Use it at your own risk.
13
+ */
14
+
15
+ #include "mangle.h"
16
+
17
+ .globl ASM_NAME(dct64_3dnow)
18
+ /* .type ASM_NAME(dct64_3dnow),@function */
19
+ ASM_NAME(dct64_3dnow):
20
+ subl $256,%esp
21
+ pushl %ebp
22
+ pushl %edi
23
+ pushl %esi
24
+ pushl %ebx
25
+ leal 16(%esp),%ebx
26
+ movl 284(%esp),%edi
27
+ movl 276(%esp),%ebp
28
+ movl 280(%esp),%edx
29
+ leal 128(%ebx),%esi
30
+
31
+ /* femms */
32
+
33
+ /* 1 */
34
+ movl ASM_NAME(pnts),%eax
35
+ movq 0(%edi),%mm0
36
+ movq %mm0,%mm1
37
+ movd 124(%edi),%mm2
38
+ punpckldq 120(%edi),%mm2
39
+ movq 0(%eax),%mm3
40
+ pfadd %mm2,%mm0
41
+ movq %mm0,0(%ebx)
42
+ pfsub %mm2,%mm1
43
+ pfmul %mm3,%mm1
44
+ movd %mm1,124(%ebx)
45
+ psrlq $32,%mm1
46
+ movd %mm1,120(%ebx)
47
+ movq 8(%edi),%mm4
48
+ movq %mm4,%mm5
49
+ movd 116(%edi),%mm6
50
+ punpckldq 112(%edi),%mm6
51
+ movq 8(%eax),%mm7
52
+ pfadd %mm6,%mm4
53
+ movq %mm4,8(%ebx)
54
+ pfsub %mm6,%mm5
55
+ pfmul %mm7,%mm5
56
+ movd %mm5,116(%ebx)
57
+ psrlq $32,%mm5
58
+ movd %mm5,112(%ebx)
59
+ movq 16(%edi),%mm0
60
+ movq %mm0,%mm1
61
+ movd 108(%edi),%mm2
62
+ punpckldq 104(%edi),%mm2
63
+ movq 16(%eax),%mm3
64
+ pfadd %mm2,%mm0
65
+ movq %mm0,16(%ebx)
66
+ pfsub %mm2,%mm1
67
+ pfmul %mm3,%mm1
68
+ movd %mm1,108(%ebx)
69
+ psrlq $32,%mm1
70
+ movd %mm1,104(%ebx)
71
+ movq 24(%edi),%mm4
72
+ movq %mm4,%mm5
73
+ movd 100(%edi),%mm6
74
+ punpckldq 96(%edi),%mm6
75
+ movq 24(%eax),%mm7
76
+ pfadd %mm6,%mm4
77
+ movq %mm4,24(%ebx)
78
+ pfsub %mm6,%mm5
79
+ pfmul %mm7,%mm5
80
+ movd %mm5,100(%ebx)
81
+ psrlq $32,%mm5
82
+ movd %mm5,96(%ebx)
83
+ movq 32(%edi),%mm0
84
+ movq %mm0,%mm1
85
+ movd 92(%edi),%mm2
86
+ punpckldq 88(%edi),%mm2
87
+ movq 32(%eax),%mm3
88
+ pfadd %mm2,%mm0
89
+ movq %mm0,32(%ebx)
90
+ pfsub %mm2,%mm1
91
+ pfmul %mm3,%mm1
92
+ movd %mm1,92(%ebx)
93
+ psrlq $32,%mm1
94
+ movd %mm1,88(%ebx)
95
+ movq 40(%edi),%mm4
96
+ movq %mm4,%mm5
97
+ movd 84(%edi),%mm6
98
+ punpckldq 80(%edi),%mm6
99
+ movq 40(%eax),%mm7
100
+ pfadd %mm6,%mm4
101
+ movq %mm4,40(%ebx)
102
+ pfsub %mm6,%mm5
103
+ pfmul %mm7,%mm5
104
+ movd %mm5,84(%ebx)
105
+ psrlq $32,%mm5
106
+ movd %mm5,80(%ebx)
107
+ movq 48(%edi),%mm0
108
+ movq %mm0,%mm1
109
+ movd 76(%edi),%mm2
110
+ punpckldq 72(%edi),%mm2
111
+ movq 48(%eax),%mm3
112
+ pfadd %mm2,%mm0
113
+ movq %mm0,48(%ebx)
114
+ pfsub %mm2,%mm1
115
+ pfmul %mm3,%mm1
116
+ movd %mm1,76(%ebx)
117
+ psrlq $32,%mm1
118
+ movd %mm1,72(%ebx)
119
+ movq 56(%edi),%mm4
120
+ movq %mm4,%mm5
121
+ movd 68(%edi),%mm6
122
+ punpckldq 64(%edi),%mm6
123
+ movq 56(%eax),%mm7
124
+ pfadd %mm6,%mm4
125
+ movq %mm4,56(%ebx)
126
+ pfsub %mm6,%mm5
127
+ pfmul %mm7,%mm5
128
+ movd %mm5,68(%ebx)
129
+ psrlq $32,%mm5
130
+ movd %mm5,64(%ebx)
131
+
132
+ /* 2 */
133
+ movl ASM_NAME(pnts)+4,%eax
134
+ /* 0,14 */
135
+ movq 0(%ebx),%mm0
136
+ movq %mm0,%mm1
137
+ movd 60(%ebx),%mm2
138
+ punpckldq 56(%ebx),%mm2
139
+ movq 0(%eax),%mm3
140
+ pfadd %mm2,%mm0
141
+ movq %mm0,0(%esi)
142
+ pfsub %mm2,%mm1
143
+ pfmul %mm3,%mm1
144
+ movd %mm1,60(%esi)
145
+ psrlq $32,%mm1
146
+ movd %mm1,56(%esi)
147
+ /* 16,30 */
148
+ movq 64(%ebx),%mm0
149
+ movq %mm0,%mm1
150
+ movd 124(%ebx),%mm2
151
+ punpckldq 120(%ebx),%mm2
152
+ pfadd %mm2,%mm0
153
+ movq %mm0,64(%esi)
154
+ pfsubr %mm2,%mm1
155
+ pfmul %mm3,%mm1
156
+ movd %mm1,124(%esi)
157
+ psrlq $32,%mm1
158
+ movd %mm1,120(%esi)
159
+ /* 2,12 */
160
+ movq 8(%ebx),%mm4
161
+ movq %mm4,%mm5
162
+ movd 52(%ebx),%mm6
163
+ punpckldq 48(%ebx),%mm6
164
+ movq 8(%eax),%mm7
165
+ pfadd %mm6,%mm4
166
+ movq %mm4,8(%esi)
167
+ pfsub %mm6,%mm5
168
+ pfmul %mm7,%mm5
169
+ movd %mm5,52(%esi)
170
+ psrlq $32,%mm5
171
+ movd %mm5,48(%esi)
172
+ /* 18,28 */
173
+ movq 72(%ebx),%mm4
174
+ movq %mm4,%mm5
175
+ movd 116(%ebx),%mm6
176
+ punpckldq 112(%ebx),%mm6
177
+ pfadd %mm6,%mm4
178
+ movq %mm4,72(%esi)
179
+ pfsubr %mm6,%mm5
180
+ pfmul %mm7,%mm5
181
+ movd %mm5,116(%esi)
182
+ psrlq $32,%mm5
183
+ movd %mm5,112(%esi)
184
+ /* 4,10 */
185
+ movq 16(%ebx),%mm0
186
+ movq %mm0,%mm1
187
+ movd 44(%ebx),%mm2
188
+ punpckldq 40(%ebx),%mm2
189
+ movq 16(%eax),%mm3
190
+ pfadd %mm2,%mm0
191
+ movq %mm0,16(%esi)
192
+ pfsub %mm2,%mm1
193
+ pfmul %mm3,%mm1
194
+ movd %mm1,44(%esi)
195
+ psrlq $32,%mm1
196
+ movd %mm1,40(%esi)
197
+ /* 20,26 */
198
+ movq 80(%ebx),%mm0
199
+ movq %mm0,%mm1
200
+ movd 108(%ebx),%mm2
201
+ punpckldq 104(%ebx),%mm2
202
+ pfadd %mm2,%mm0
203
+ movq %mm0,80(%esi)
204
+ pfsubr %mm2,%mm1
205
+ pfmul %mm3,%mm1
206
+ movd %mm1,108(%esi)
207
+ psrlq $32,%mm1
208
+ movd %mm1,104(%esi)
209
+ /* 6,8 */
210
+ movq 24(%ebx),%mm4
211
+ movq %mm4,%mm5
212
+ movd 36(%ebx),%mm6
213
+ punpckldq 32(%ebx),%mm6
214
+ movq 24(%eax),%mm7
215
+ pfadd %mm6,%mm4
216
+ movq %mm4,24(%esi)
217
+ pfsub %mm6,%mm5
218
+ pfmul %mm7,%mm5
219
+ movd %mm5,36(%esi)
220
+ psrlq $32,%mm5
221
+ movd %mm5,32(%esi)
222
+ /* 22,24 */
223
+ movq 88(%ebx),%mm4
224
+ movq %mm4,%mm5
225
+ movd 100(%ebx),%mm6
226
+ punpckldq 96(%ebx),%mm6
227
+ pfadd %mm6,%mm4
228
+ movq %mm4,88(%esi)
229
+ pfsubr %mm6,%mm5
230
+ pfmul %mm7,%mm5
231
+ movd %mm5,100(%esi)
232
+ psrlq $32,%mm5
233
+ movd %mm5,96(%esi)
234
+
235
+ /* 3 */
236
+ movl ASM_NAME(pnts)+8,%eax
237
+ movq 0(%eax),%mm0
238
+ movq 8(%eax),%mm1
239
+ /* 0,6 */
240
+ movq 0(%esi),%mm2
241
+ movq %mm2,%mm3
242
+ movd 28(%esi),%mm4
243
+ punpckldq 24(%esi),%mm4
244
+ pfadd %mm4,%mm2
245
+ pfsub %mm4,%mm3
246
+ pfmul %mm0,%mm3
247
+ movq %mm2,0(%ebx)
248
+ movd %mm3,28(%ebx)
249
+ psrlq $32,%mm3
250
+ movd %mm3,24(%ebx)
251
+ /* 2,4 */
252
+ movq 8(%esi),%mm5
253
+ movq %mm5,%mm6
254
+ movd 20(%esi),%mm7
255
+ punpckldq 16(%esi),%mm7
256
+ pfadd %mm7,%mm5
257
+ pfsub %mm7,%mm6
258
+ pfmul %mm1,%mm6
259
+ movq %mm5,8(%ebx)
260
+ movd %mm6,20(%ebx)
261
+ psrlq $32,%mm6
262
+ movd %mm6,16(%ebx)
263
+ /* 8,14 */
264
+ movq 32(%esi),%mm2
265
+ movq %mm2,%mm3
266
+ movd 60(%esi),%mm4
267
+ punpckldq 56(%esi),%mm4
268
+ pfadd %mm4,%mm2
269
+ pfsubr %mm4,%mm3
270
+ pfmul %mm0,%mm3
271
+ movq %mm2,32(%ebx)
272
+ movd %mm3,60(%ebx)
273
+ psrlq $32,%mm3
274
+ movd %mm3,56(%ebx)
275
+ /* 10,12 */
276
+ movq 40(%esi),%mm5
277
+ movq %mm5,%mm6
278
+ movd 52(%esi),%mm7
279
+ punpckldq 48(%esi),%mm7
280
+ pfadd %mm7,%mm5
281
+ pfsubr %mm7,%mm6
282
+ pfmul %mm1,%mm6
283
+ movq %mm5,40(%ebx)
284
+ movd %mm6,52(%ebx)
285
+ psrlq $32,%mm6
286
+ movd %mm6,48(%ebx)
287
+ /* 16,22 */
288
+ movq 64(%esi),%mm2
289
+ movq %mm2,%mm3
290
+ movd 92(%esi),%mm4
291
+ punpckldq 88(%esi),%mm4
292
+ pfadd %mm4,%mm2
293
+ pfsub %mm4,%mm3
294
+ pfmul %mm0,%mm3
295
+ movq %mm2,64(%ebx)
296
+ movd %mm3,92(%ebx)
297
+ psrlq $32,%mm3
298
+ movd %mm3,88(%ebx)
299
+ /* 18,20 */
300
+ movq 72(%esi),%mm5
301
+ movq %mm5,%mm6
302
+ movd 84(%esi),%mm7
303
+ punpckldq 80(%esi),%mm7
304
+ pfadd %mm7,%mm5
305
+ pfsub %mm7,%mm6
306
+ pfmul %mm1,%mm6
307
+ movq %mm5,72(%ebx)
308
+ movd %mm6,84(%ebx)
309
+ psrlq $32,%mm6
310
+ movd %mm6,80(%ebx)
311
+ /* 24,30 */
312
+ movq 96(%esi),%mm2
313
+ movq %mm2,%mm3
314
+ movd 124(%esi),%mm4
315
+ punpckldq 120(%esi),%mm4
316
+ pfadd %mm4,%mm2
317
+ pfsubr %mm4,%mm3
318
+ pfmul %mm0,%mm3
319
+ movq %mm2,96(%ebx)
320
+ movd %mm3,124(%ebx)
321
+ psrlq $32,%mm3
322
+ movd %mm3,120(%ebx)
323
+ /* 26,28 */
324
+ movq 104(%esi),%mm5
325
+ movq %mm5,%mm6
326
+ movd 116(%esi),%mm7
327
+ punpckldq 112(%esi),%mm7
328
+ pfadd %mm7,%mm5
329
+ pfsubr %mm7,%mm6
330
+ pfmul %mm1,%mm6
331
+ movq %mm5,104(%ebx)
332
+ movd %mm6,116(%ebx)
333
+ psrlq $32,%mm6
334
+ movd %mm6,112(%ebx)
335
+
336
+ /* 4 */
337
+ movl ASM_NAME(pnts)+12,%eax
338
+ movq 0(%eax),%mm0
339
+ /* 0 */
340
+ movq 0(%ebx),%mm1
341
+ movq %mm1,%mm2
342
+ movd 12(%ebx),%mm3
343
+ punpckldq 8(%ebx),%mm3
344
+ pfadd %mm3,%mm1
345
+ pfsub %mm3,%mm2
346
+ pfmul %mm0,%mm2
347
+ movq %mm1,0(%esi)
348
+ movd %mm2,12(%esi)
349
+ psrlq $32,%mm2
350
+ movd %mm2,8(%esi)
351
+ /* 4 */
352
+ movq 16(%ebx),%mm4
353
+ movq %mm4,%mm5
354
+ movd 28(%ebx),%mm6
355
+ punpckldq 24(%ebx),%mm6
356
+ pfadd %mm6,%mm4
357
+ pfsubr %mm6,%mm5
358
+ pfmul %mm0,%mm5
359
+ movq %mm4,16(%esi)
360
+ movd %mm5,28(%esi)
361
+ psrlq $32,%mm5
362
+ movd %mm5,24(%esi)
363
+ /* 8 */
364
+ movq 32(%ebx),%mm1
365
+ movq %mm1,%mm2
366
+ movd 44(%ebx),%mm3
367
+ punpckldq 40(%ebx),%mm3
368
+ pfadd %mm3,%mm1
369
+ pfsub %mm3,%mm2
370
+ pfmul %mm0,%mm2
371
+ movq %mm1,32(%esi)
372
+ movd %mm2,44(%esi)
373
+ psrlq $32,%mm2
374
+ movd %mm2,40(%esi)
375
+ /* 12 */
376
+ movq 48(%ebx),%mm4
377
+ movq %mm4,%mm5
378
+ movd 60(%ebx),%mm6
379
+ punpckldq 56(%ebx),%mm6
380
+ pfadd %mm6,%mm4
381
+ pfsubr %mm6,%mm5
382
+ pfmul %mm0,%mm5
383
+ movq %mm4,48(%esi)
384
+ movd %mm5,60(%esi)
385
+ psrlq $32,%mm5
386
+ movd %mm5,56(%esi)
387
+ /* 16 */
388
+ movq 64(%ebx),%mm1
389
+ movq %mm1,%mm2
390
+ movd 76(%ebx),%mm3
391
+ punpckldq 72(%ebx),%mm3
392
+ pfadd %mm3,%mm1
393
+ pfsub %mm3,%mm2
394
+ pfmul %mm0,%mm2
395
+ movq %mm1,64(%esi)
396
+ movd %mm2,76(%esi)
397
+ psrlq $32,%mm2
398
+ movd %mm2,72(%esi)
399
+ /* 20 */
400
+ movq 80(%ebx),%mm4
401
+ movq %mm4,%mm5
402
+ movd 92(%ebx),%mm6
403
+ punpckldq 88(%ebx),%mm6
404
+ pfadd %mm6,%mm4
405
+ pfsubr %mm6,%mm5
406
+ pfmul %mm0,%mm5
407
+ movq %mm4,80(%esi)
408
+ movd %mm5,92(%esi)
409
+ psrlq $32,%mm5
410
+ movd %mm5,88(%esi)
411
+ /* 24 */
412
+ movq 96(%ebx),%mm1
413
+ movq %mm1,%mm2
414
+ movd 108(%ebx),%mm3
415
+ punpckldq 104(%ebx),%mm3
416
+ pfadd %mm3,%mm1
417
+ pfsub %mm3,%mm2
418
+ pfmul %mm0,%mm2
419
+ movq %mm1,96(%esi)
420
+ movd %mm2,108(%esi)
421
+ psrlq $32,%mm2
422
+ movd %mm2,104(%esi)
423
+ /* 28 */
424
+ movq 112(%ebx),%mm4
425
+ movq %mm4,%mm5
426
+ movd 124(%ebx),%mm6
427
+ punpckldq 120(%ebx),%mm6
428
+ pfadd %mm6,%mm4
429
+ pfsubr %mm6,%mm5
430
+ pfmul %mm0,%mm5
431
+ movq %mm4,112(%esi)
432
+ movd %mm5,124(%esi)
433
+ psrlq $32,%mm5
434
+ movd %mm5,120(%esi)
435
+
436
+ /* 5 */
437
+ movl $-1,%eax
438
+ movd %eax,%mm1
439
+ movl $1,%eax
440
+ /* L | H */
441
+ movd %eax,%mm0
442
+ punpckldq %mm1,%mm0
443
+ /* 1.0 | -1.0 */
444
+ pi2fd %mm0,%mm0
445
+ movd %eax,%mm1
446
+ pi2fd %mm1,%mm1
447
+ movl ASM_NAME(pnts)+16,%eax
448
+ movd 0(%eax),%mm2
449
+ /* 1.0 | cos0 */
450
+ punpckldq %mm2,%mm1
451
+ /* 0 */
452
+ movq 0(%esi),%mm2
453
+ movq %mm2,%mm3
454
+ pfmul %mm0,%mm3
455
+ pfacc %mm3,%mm2
456
+ pfmul %mm1,%mm2
457
+ movq %mm2,0(%ebx)
458
+ movq 8(%esi),%mm4
459
+ movq %mm4,%mm5
460
+ pfmul %mm0,%mm5
461
+ pfacc %mm5,%mm4
462
+ pfmul %mm0,%mm4
463
+ pfmul %mm1,%mm4
464
+ movq %mm4,%mm5
465
+ psrlq $32,%mm5
466
+ pfacc %mm5,%mm4
467
+ movq %mm4,8(%ebx)
468
+ /* 4 */
469
+ movq 16(%esi),%mm2
470
+ movq %mm2,%mm3
471
+ pfmul %mm0,%mm3
472
+ pfacc %mm3,%mm2
473
+ pfmul %mm1,%mm2
474
+ movq 24(%esi),%mm4
475
+ movq %mm4,%mm5
476
+ pfmul %mm0,%mm5
477
+ pfacc %mm5,%mm4
478
+ pfmul %mm0,%mm4
479
+ pfmul %mm1,%mm4
480
+ movq %mm4,%mm5
481
+ psrlq $32,%mm5
482
+ pfacc %mm5,%mm4
483
+ movq %mm2,%mm3
484
+ psrlq $32,%mm3
485
+ pfadd %mm4,%mm2
486
+ pfadd %mm3,%mm4
487
+ movq %mm2,16(%ebx)
488
+ movq %mm4,24(%ebx)
489
+ /* 8 */
490
+ movq 32(%esi),%mm2
491
+ movq %mm2,%mm3
492
+ pfmul %mm0,%mm3
493
+ pfacc %mm3,%mm2
494
+ pfmul %mm1,%mm2
495
+ movq %mm2,32(%ebx)
496
+ movq 40(%esi),%mm4
497
+ movq %mm4,%mm5
498
+ pfmul %mm0,%mm5
499
+ pfacc %mm5,%mm4
500
+ pfmul %mm0,%mm4
501
+ pfmul %mm1,%mm4
502
+ movq %mm4,%mm5
503
+ psrlq $32,%mm5
504
+ pfacc %mm5,%mm4
505
+ movq %mm4,40(%ebx)
506
+ /* 12 */
507
+ movq 48(%esi),%mm2
508
+ movq %mm2,%mm3
509
+ pfmul %mm0,%mm3
510
+ pfacc %mm3,%mm2
511
+ pfmul %mm1,%mm2
512
+ movq 56(%esi),%mm4
513
+ movq %mm4,%mm5
514
+ pfmul %mm0,%mm5
515
+ pfacc %mm5,%mm4
516
+ pfmul %mm0,%mm4
517
+ pfmul %mm1,%mm4
518
+ movq %mm4,%mm5
519
+ psrlq $32,%mm5
520
+ pfacc %mm5,%mm4
521
+ movq %mm2,%mm3
522
+ psrlq $32,%mm3
523
+ pfadd %mm4,%mm2
524
+ pfadd %mm3,%mm4
525
+ movq %mm2,48(%ebx)
526
+ movq %mm4,56(%ebx)
527
+ /* 16 */
528
+ movq 64(%esi),%mm2
529
+ movq %mm2,%mm3
530
+ pfmul %mm0,%mm3
531
+ pfacc %mm3,%mm2
532
+ pfmul %mm1,%mm2
533
+ movq %mm2,64(%ebx)
534
+ movq 72(%esi),%mm4
535
+ movq %mm4,%mm5
536
+ pfmul %mm0,%mm5
537
+ pfacc %mm5,%mm4
538
+ pfmul %mm0,%mm4
539
+ pfmul %mm1,%mm4
540
+ movq %mm4,%mm5
541
+ psrlq $32,%mm5
542
+ pfacc %mm5,%mm4
543
+ movq %mm4,72(%ebx)
544
+ /* 20 */
545
+ movq 80(%esi),%mm2
546
+ movq %mm2,%mm3
547
+ pfmul %mm0,%mm3
548
+ pfacc %mm3,%mm2
549
+ pfmul %mm1,%mm2
550
+ movq 88(%esi),%mm4
551
+ movq %mm4,%mm5
552
+ pfmul %mm0,%mm5
553
+ pfacc %mm5,%mm4
554
+ pfmul %mm0,%mm4
555
+ pfmul %mm1,%mm4
556
+ movq %mm4,%mm5
557
+ psrlq $32,%mm5
558
+ pfacc %mm5,%mm4
559
+ movq %mm2,%mm3
560
+ psrlq $32,%mm3
561
+ pfadd %mm4,%mm2
562
+ pfadd %mm3,%mm4
563
+ movq %mm2,80(%ebx)
564
+ movq %mm4,88(%ebx)
565
+ /* 24 */
566
+ movq 96(%esi),%mm2
567
+ movq %mm2,%mm3
568
+ pfmul %mm0,%mm3
569
+ pfacc %mm3,%mm2
570
+ pfmul %mm1,%mm2
571
+ movq %mm2,96(%ebx)
572
+ movq 104(%esi),%mm4
573
+ movq %mm4,%mm5
574
+ pfmul %mm0,%mm5
575
+ pfacc %mm5,%mm4
576
+ pfmul %mm0,%mm4
577
+ pfmul %mm1,%mm4
578
+ movq %mm4,%mm5
579
+ psrlq $32,%mm5
580
+ pfacc %mm5,%mm4
581
+ movq %mm4,104(%ebx)
582
+ /* 28 */
583
+ movq 112(%esi),%mm2
584
+ movq %mm2,%mm3
585
+ pfmul %mm0,%mm3
586
+ pfacc %mm3,%mm2
587
+ pfmul %mm1,%mm2
588
+ movq 120(%esi),%mm4
589
+ movq %mm4,%mm5
590
+ pfmul %mm0,%mm5
591
+ pfacc %mm5,%mm4
592
+ pfmul %mm0,%mm4
593
+ pfmul %mm1,%mm4
594
+ movq %mm4,%mm5
595
+ psrlq $32,%mm5
596
+ pfacc %mm5,%mm4
597
+ movq %mm2,%mm3
598
+ psrlq $32,%mm3
599
+ pfadd %mm4,%mm2
600
+ pfadd %mm3,%mm4
601
+ movq %mm2,112(%ebx)
602
+ movq %mm4,120(%ebx)
603
+
604
+ /* Phase6 */
605
+ movl 0(%ebx),%eax
606
+ movl %eax,1024(%ebp)
607
+ movl 4(%ebx),%eax
608
+ movl %eax,0(%ebp)
609
+ movl %eax,0(%edx)
610
+ movl 8(%ebx),%eax
611
+ movl %eax,512(%ebp)
612
+ movl 12(%ebx),%eax
613
+ movl %eax,512(%edx)
614
+
615
+ movl 16(%ebx),%eax
616
+ movl %eax,768(%ebp)
617
+ movl 20(%ebx),%eax
618
+ movl %eax,256(%edx)
619
+
620
+ movl 24(%ebx),%eax
621
+ movl %eax,256(%ebp)
622
+ movl 28(%ebx),%eax
623
+ movl %eax,768(%edx)
624
+
625
+ movq 32(%ebx),%mm0
626
+ movq 48(%ebx),%mm1
627
+ pfadd %mm1,%mm0
628
+ movd %mm0,896(%ebp)
629
+ psrlq $32,%mm0
630
+ movd %mm0,128(%edx)
631
+ movq 40(%ebx),%mm2
632
+ pfadd %mm2,%mm1
633
+ movd %mm1,640(%ebp)
634
+ psrlq $32,%mm1
635
+ movd %mm1,384(%edx)
636
+
637
+ movq 56(%ebx),%mm3
638
+ pfadd %mm3,%mm2
639
+ movd %mm2,384(%ebp)
640
+ psrlq $32,%mm2
641
+ movd %mm2,640(%edx)
642
+
643
+ movd 36(%ebx),%mm4
644
+ pfadd %mm4,%mm3
645
+ movd %mm3,128(%ebp)
646
+ psrlq $32,%mm3
647
+ movd %mm3,896(%edx)
648
+ movq 96(%ebx),%mm0
649
+ movq 64(%ebx),%mm1
650
+
651
+ movq 112(%ebx),%mm2
652
+ pfadd %mm2,%mm0
653
+ movq %mm0,%mm3
654
+ pfadd %mm1,%mm3
655
+ movd %mm3,960(%ebp)
656
+ psrlq $32,%mm3
657
+ movd %mm3,64(%edx)
658
+ movq 80(%ebx),%mm1
659
+ pfadd %mm1,%mm0
660
+ movd %mm0,832(%ebp)
661
+ psrlq $32,%mm0
662
+ movd %mm0,192(%edx)
663
+ movq 104(%ebx),%mm3
664
+ pfadd %mm3,%mm2
665
+ movq %mm2,%mm4
666
+ pfadd %mm1,%mm4
667
+ movd %mm4,704(%ebp)
668
+ psrlq $32,%mm4
669
+ movd %mm4,320(%edx)
670
+ movq 72(%ebx),%mm1
671
+ pfadd %mm1,%mm2
672
+ movd %mm2,576(%ebp)
673
+ psrlq $32,%mm2
674
+ movd %mm2,448(%edx)
675
+
676
+ movq 120(%ebx),%mm4
677
+ pfadd %mm4,%mm3
678
+ movq %mm3,%mm5
679
+ pfadd %mm1,%mm5
680
+ movd %mm5,448(%ebp)
681
+ psrlq $32,%mm5
682
+ movd %mm5,576(%edx)
683
+ movq 88(%ebx),%mm1
684
+ pfadd %mm1,%mm3
685
+ movd %mm3,320(%ebp)
686
+ psrlq $32,%mm3
687
+ movd %mm3,704(%edx)
688
+
689
+ movd 100(%ebx),%mm5
690
+ pfadd %mm5,%mm4
691
+ movq %mm4,%mm6
692
+ pfadd %mm1,%mm6
693
+ movd %mm6,192(%ebp)
694
+ psrlq $32,%mm6
695
+ movd %mm6,832(%edx)
696
+ movd 68(%ebx),%mm1
697
+ pfadd %mm1,%mm4
698
+ movd %mm4,64(%ebp)
699
+ psrlq $32,%mm4
700
+ movd %mm4,960(%edx)
701
+
702
+ /* femms */
703
+
704
+ popl %ebx
705
+ popl %esi
706
+ popl %edi
707
+ popl %ebp
708
+ addl $256,%esp
709
+
710
+ ret
711
+
712
+ NONEXEC_STACK