seal 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
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,342 @@
1
+ /*
2
+ dct64_i486.c: DCT64, a plain C variant for i486
3
+
4
+ copyright 1998-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 Fabrice Bellard
7
+ */
8
+
9
+ /* Discrete Cosine Tansform (DCT) for subband synthesis.
10
+ *
11
+ * This code is optimized for 80486. It should be compiled with gcc
12
+ * 2.7.2 or higher.
13
+ *
14
+ * Note: This code does not give the necessary accuracy. Moreover, no
15
+ * overflow test are done.
16
+ *
17
+ * (c) 1998 Fabrice Bellard.
18
+ */
19
+
20
+ #include "mpg123lib_intern.h"
21
+
22
+ #define COS_0_0 16403
23
+ #define COS_0_1 16563
24
+ #define COS_0_2 16890
25
+ #define COS_0_3 17401
26
+ #define COS_0_4 18124
27
+ #define COS_0_5 19101
28
+ #define COS_0_6 20398
29
+ #define COS_0_7 22112
30
+ #define COS_0_8 24396
31
+ #define COS_0_9 27503
32
+ #define COS_0_10 31869
33
+ #define COS_0_11 38320
34
+ #define COS_0_12 48633
35
+ #define COS_0_13 67429
36
+ #define COS_0_14 111660
37
+ #define COS_0_15 333906
38
+ #define COS_1_0 16463
39
+ #define COS_1_1 17121
40
+ #define COS_1_2 18577
41
+ #define COS_1_3 21195
42
+ #define COS_1_4 25826
43
+ #define COS_1_5 34756
44
+ #define COS_1_6 56441
45
+ #define COS_1_7 167154
46
+ #define COS_2_0 16704
47
+ #define COS_2_1 19704
48
+ #define COS_2_2 29490
49
+ #define COS_2_3 83981
50
+ #define COS_3_0 17733
51
+ #define COS_3_1 42813
52
+ #define COS_4_0 23170
53
+
54
+ #define SETOUT(out,n,expr) out[FIR_BUFFER_SIZE*(n)]=(expr)
55
+ #define MULL(a,b) (((long long)(a)*(long long)(b)) >> 15)
56
+ #define MUL(a,b) \
57
+ (\
58
+ ((!(b & 0x3F)) ? (((a)*(b >> 6)) >> 9) :\
59
+ ((!(b & 0x1F)) ? (((a)*(b >> 5)) >> 10) :\
60
+ ((!(b & 0x0F)) ? (((a)*(b >> 4)) >> 11) :\
61
+ ((!(b & 0x07)) ? (((a)*(b >> 3)) >> 12) :\
62
+ ((!(b & 0x03)) ? (((a)*(b >> 2)) >> 13) :\
63
+ ((!(b & 0x01)) ? (((a)*(b >> 1)) >> 14) :\
64
+ (((a)*(b )) >> 15))))))))
65
+
66
+
67
+ void dct64_1_486(int *out0,int *out1,int *b1,int *b2)
68
+ {
69
+ b1[0x00] = b2[0x00] + b2[0x1F];
70
+ b1[0x1F] = MUL((b2[0x00] - b2[0x1F]),COS_0_0);
71
+
72
+ b1[0x01] = b2[0x01] + b2[0x1E];
73
+ b1[0x1E] = MUL((b2[0x01] - b2[0x1E]),COS_0_1);
74
+
75
+ b1[0x02] = b2[0x02] + b2[0x1D];
76
+ b1[0x1D] = MUL((b2[0x02] - b2[0x1D]),COS_0_2);
77
+
78
+ b1[0x03] = b2[0x03] + b2[0x1C];
79
+ b1[0x1C] = MUL((b2[0x03] - b2[0x1C]),COS_0_3);
80
+
81
+ b1[0x04] = b2[0x04] + b2[0x1B];
82
+ b1[0x1B] = MUL((b2[0x04] - b2[0x1B]),COS_0_4);
83
+
84
+ b1[0x05] = b2[0x05] + b2[0x1A];
85
+ b1[0x1A] = MUL((b2[0x05] - b2[0x1A]),COS_0_5);
86
+
87
+ b1[0x06] = b2[0x06] + b2[0x19];
88
+ b1[0x19] = MUL((b2[0x06] - b2[0x19]),COS_0_6);
89
+
90
+ b1[0x07] = b2[0x07] + b2[0x18];
91
+ b1[0x18] = MUL((b2[0x07] - b2[0x18]),COS_0_7);
92
+
93
+ b1[0x08] = b2[0x08] + b2[0x17];
94
+ b1[0x17] = MUL((b2[0x08] - b2[0x17]),COS_0_8);
95
+
96
+ b1[0x09] = b2[0x09] + b2[0x16];
97
+ b1[0x16] = MUL((b2[0x09] - b2[0x16]),COS_0_9);
98
+
99
+ b1[0x0A] = b2[0x0A] + b2[0x15];
100
+ b1[0x15] = MUL((b2[0x0A] - b2[0x15]),COS_0_10);
101
+
102
+ b1[0x0B] = b2[0x0B] + b2[0x14];
103
+ b1[0x14] = MUL((b2[0x0B] - b2[0x14]),COS_0_11);
104
+
105
+ b1[0x0C] = b2[0x0C] + b2[0x13];
106
+ b1[0x13] = MUL((b2[0x0C] - b2[0x13]),COS_0_12);
107
+
108
+ b1[0x0D] = b2[0x0D] + b2[0x12];
109
+ b1[0x12] = MULL((b2[0x0D] - b2[0x12]),COS_0_13);
110
+
111
+ b1[0x0E] = b2[0x0E] + b2[0x11];
112
+ b1[0x11] = MULL((b2[0x0E] - b2[0x11]),COS_0_14);
113
+
114
+ b1[0x0F] = b2[0x0F] + b2[0x10];
115
+ b1[0x10] = MULL((b2[0x0F] - b2[0x10]),COS_0_15);
116
+
117
+
118
+ b2[0x00] = b1[0x00] + b1[0x0F];
119
+ b2[0x0F] = MUL((b1[0x00] - b1[0x0F]),COS_1_0);
120
+ b2[0x01] = b1[0x01] + b1[0x0E];
121
+ b2[0x0E] = MUL((b1[0x01] - b1[0x0E]),COS_1_1);
122
+ b2[0x02] = b1[0x02] + b1[0x0D];
123
+ b2[0x0D] = MUL((b1[0x02] - b1[0x0D]),COS_1_2);
124
+ b2[0x03] = b1[0x03] + b1[0x0C];
125
+ b2[0x0C] = MUL((b1[0x03] - b1[0x0C]),COS_1_3);
126
+ b2[0x04] = b1[0x04] + b1[0x0B];
127
+ b2[0x0B] = MUL((b1[0x04] - b1[0x0B]),COS_1_4);
128
+ b2[0x05] = b1[0x05] + b1[0x0A];
129
+ b2[0x0A] = MUL((b1[0x05] - b1[0x0A]),COS_1_5);
130
+ b2[0x06] = b1[0x06] + b1[0x09];
131
+ b2[0x09] = MUL((b1[0x06] - b1[0x09]),COS_1_6);
132
+ b2[0x07] = b1[0x07] + b1[0x08];
133
+ b2[0x08] = MULL((b1[0x07] - b1[0x08]),COS_1_7);
134
+
135
+ b2[0x10] = b1[0x10] + b1[0x1F];
136
+ b2[0x1F] = MUL((b1[0x1F] - b1[0x10]),COS_1_0);
137
+ b2[0x11] = b1[0x11] + b1[0x1E];
138
+ b2[0x1E] = MUL((b1[0x1E] - b1[0x11]),COS_1_1);
139
+ b2[0x12] = b1[0x12] + b1[0x1D];
140
+ b2[0x1D] = MUL((b1[0x1D] - b1[0x12]),COS_1_2);
141
+ b2[0x13] = b1[0x13] + b1[0x1C];
142
+ b2[0x1C] = MUL((b1[0x1C] - b1[0x13]),COS_1_3);
143
+ b2[0x14] = b1[0x14] + b1[0x1B];
144
+ b2[0x1B] = MUL((b1[0x1B] - b1[0x14]),COS_1_4);
145
+ b2[0x15] = b1[0x15] + b1[0x1A];
146
+ b2[0x1A] = MUL((b1[0x1A] - b1[0x15]),COS_1_5);
147
+ b2[0x16] = b1[0x16] + b1[0x19];
148
+ b2[0x19] = MUL((b1[0x19] - b1[0x16]),COS_1_6);
149
+ b2[0x17] = b1[0x17] + b1[0x18];
150
+ b2[0x18] = MULL((b1[0x18] - b1[0x17]),COS_1_7);
151
+
152
+
153
+ b1[0x00] = b2[0x00] + b2[0x07];
154
+ b1[0x07] = MUL((b2[0x00] - b2[0x07]),COS_2_0);
155
+ b1[0x01] = b2[0x01] + b2[0x06];
156
+ b1[0x06] = MUL((b2[0x01] - b2[0x06]),COS_2_1);
157
+ b1[0x02] = b2[0x02] + b2[0x05];
158
+ b1[0x05] = MUL((b2[0x02] - b2[0x05]),COS_2_2);
159
+ b1[0x03] = b2[0x03] + b2[0x04];
160
+ b1[0x04] = MULL((b2[0x03] - b2[0x04]),COS_2_3);
161
+
162
+ b1[0x08] = b2[0x08] + b2[0x0F];
163
+ b1[0x0F] = MUL((b2[0x0F] - b2[0x08]),COS_2_0);
164
+ b1[0x09] = b2[0x09] + b2[0x0E];
165
+ b1[0x0E] = MUL((b2[0x0E] - b2[0x09]),COS_2_1);
166
+ b1[0x0A] = b2[0x0A] + b2[0x0D];
167
+ b1[0x0D] = MUL((b2[0x0D] - b2[0x0A]),COS_2_2);
168
+ b1[0x0B] = b2[0x0B] + b2[0x0C];
169
+ b1[0x0C] = MULL((b2[0x0C] - b2[0x0B]),COS_2_3);
170
+
171
+ b1[0x10] = b2[0x10] + b2[0x17];
172
+ b1[0x17] = MUL((b2[0x10] - b2[0x17]),COS_2_0);
173
+ b1[0x11] = b2[0x11] + b2[0x16];
174
+ b1[0x16] = MUL((b2[0x11] - b2[0x16]),COS_2_1);
175
+ b1[0x12] = b2[0x12] + b2[0x15];
176
+ b1[0x15] = MUL((b2[0x12] - b2[0x15]),COS_2_2);
177
+ b1[0x13] = b2[0x13] + b2[0x14];
178
+ b1[0x14] = MULL((b2[0x13] - b2[0x14]),COS_2_3);
179
+
180
+ b1[0x18] = b2[0x18] + b2[0x1F];
181
+ b1[0x1F] = MUL((b2[0x1F] - b2[0x18]),COS_2_0);
182
+ b1[0x19] = b2[0x19] + b2[0x1E];
183
+ b1[0x1E] = MUL((b2[0x1E] - b2[0x19]),COS_2_1);
184
+ b1[0x1A] = b2[0x1A] + b2[0x1D];
185
+ b1[0x1D] = MUL((b2[0x1D] - b2[0x1A]),COS_2_2);
186
+ b1[0x1B] = b2[0x1B] + b2[0x1C];
187
+ b1[0x1C] = MULL((b2[0x1C] - b2[0x1B]),COS_2_3);
188
+
189
+
190
+ b2[0x00] = b1[0x00] + b1[0x03];
191
+ b2[0x03] = MUL((b1[0x00] - b1[0x03]),COS_3_0);
192
+ b2[0x01] = b1[0x01] + b1[0x02];
193
+ b2[0x02] = MUL((b1[0x01] - b1[0x02]),COS_3_1);
194
+
195
+ b2[0x04] = b1[0x04] + b1[0x07];
196
+ b2[0x07] = MUL((b1[0x07] - b1[0x04]),COS_3_0);
197
+ b2[0x05] = b1[0x05] + b1[0x06];
198
+ b2[0x06] = MUL((b1[0x06] - b1[0x05]),COS_3_1);
199
+
200
+ b2[0x08] = b1[0x08] + b1[0x0B];
201
+ b2[0x0B] = MUL((b1[0x08] - b1[0x0B]),COS_3_0);
202
+ b2[0x09] = b1[0x09] + b1[0x0A];
203
+ b2[0x0A] = MUL((b1[0x09] - b1[0x0A]),COS_3_1);
204
+
205
+ b2[0x0C] = b1[0x0C] + b1[0x0F];
206
+ b2[0x0F] = MUL((b1[0x0F] - b1[0x0C]),COS_3_0);
207
+ b2[0x0D] = b1[0x0D] + b1[0x0E];
208
+ b2[0x0E] = MUL((b1[0x0E] - b1[0x0D]),COS_3_1);
209
+
210
+ b2[0x10] = b1[0x10] + b1[0x13];
211
+ b2[0x13] = MUL((b1[0x10] - b1[0x13]),COS_3_0);
212
+ b2[0x11] = b1[0x11] + b1[0x12];
213
+ b2[0x12] = MUL((b1[0x11] - b1[0x12]),COS_3_1);
214
+
215
+ b2[0x14] = b1[0x14] + b1[0x17];
216
+ b2[0x17] = MUL((b1[0x17] - b1[0x14]),COS_3_0);
217
+ b2[0x15] = b1[0x15] + b1[0x16];
218
+ b2[0x16] = MUL((b1[0x16] - b1[0x15]),COS_3_1);
219
+
220
+ b2[0x18] = b1[0x18] + b1[0x1B];
221
+ b2[0x1B] = MUL((b1[0x18] - b1[0x1B]),COS_3_0);
222
+ b2[0x19] = b1[0x19] + b1[0x1A];
223
+ b2[0x1A] = MUL((b1[0x19] - b1[0x1A]),COS_3_1);
224
+
225
+ b2[0x1C] = b1[0x1C] + b1[0x1F];
226
+ b2[0x1F] = MUL((b1[0x1F] - b1[0x1C]),COS_3_0);
227
+ b2[0x1D] = b1[0x1D] + b1[0x1E];
228
+ b2[0x1E] = MUL((b1[0x1E] - b1[0x1D]),COS_3_1);
229
+
230
+ {
231
+ int i;
232
+ for(i=0;i<32;i+=4) {
233
+ b1[i+0x00] = b2[i+0x00] + b2[i+0x01];
234
+ b1[i+0x01] = MUL((b2[i+0x00] - b2[i+0x01]),COS_4_0);
235
+ b1[i+0x02] = b2[i+0x02] + b2[i+0x03];
236
+ b1[i+0x03] = MUL((b2[i+0x03] - b2[i+0x02]),COS_4_0);
237
+ }
238
+ }
239
+
240
+ b1[0x02] += b1[0x03];
241
+ b1[0x06] += b1[0x07];
242
+ b1[0x04] += b1[0x06];
243
+ b1[0x06] += b1[0x05];
244
+ b1[0x05] += b1[0x07];
245
+
246
+ b1[0x0A] += b1[0x0B];
247
+ b1[0x0E] += b1[0x0F];
248
+ b1[0x0C] += b1[0x0E];
249
+ b1[0x0E] += b1[0x0D];
250
+ b1[0x0D] += b1[0x0F];
251
+
252
+ b1[0x12] += b1[0x13];
253
+ b1[0x16] += b1[0x17];
254
+ b1[0x14] += b1[0x16];
255
+ b1[0x16] += b1[0x15];
256
+ b1[0x15] += b1[0x17];
257
+
258
+ b1[0x1A] += b1[0x1B];
259
+ b1[0x1E] += b1[0x1F];
260
+ b1[0x1C] += b1[0x1E];
261
+ b1[0x1E] += b1[0x1D];
262
+ b1[0x1D] += b1[0x1F];
263
+
264
+ SETOUT(out0,16,b1[0x00]);
265
+ SETOUT(out0,12,b1[0x04]);
266
+ SETOUT(out0, 8,b1[0x02]);
267
+ SETOUT(out0, 4,b1[0x06]);
268
+ SETOUT(out0, 0,b1[0x01]);
269
+ SETOUT(out1, 0,b1[0x01]);
270
+ SETOUT(out1, 4,b1[0x05]);
271
+ SETOUT(out1, 8,b1[0x03]);
272
+ SETOUT(out1,12,b1[0x07]);
273
+
274
+ b1[0x08] += b1[0x0C];
275
+ SETOUT(out0,14,b1[0x08]);
276
+ b1[0x0C] += b1[0x0a];
277
+ SETOUT(out0,10,b1[0x0C]);
278
+ b1[0x0A] += b1[0x0E];
279
+ SETOUT(out0, 6,b1[0x0A]);
280
+ b1[0x0E] += b1[0x09];
281
+ SETOUT(out0, 2,b1[0x0E]);
282
+ b1[0x09] += b1[0x0D];
283
+ SETOUT(out1, 2,b1[0x09]);
284
+ b1[0x0D] += b1[0x0B];
285
+ SETOUT(out1, 6,b1[0x0D]);
286
+ b1[0x0B] += b1[0x0F];
287
+ SETOUT(out1,10,b1[0x0B]);
288
+ SETOUT(out1,14,b1[0x0F]);
289
+
290
+ b1[0x18] += b1[0x1C];
291
+ SETOUT(out0,15,b1[0x10] + b1[0x18]);
292
+ SETOUT(out0,13,b1[0x18] + b1[0x14]);
293
+ b1[0x1C] += b1[0x1a];
294
+ SETOUT(out0,11,b1[0x14] + b1[0x1C]);
295
+ SETOUT(out0, 9,b1[0x1C] + b1[0x12]);
296
+ b1[0x1A] += b1[0x1E];
297
+ SETOUT(out0, 7,b1[0x12] + b1[0x1A]);
298
+ SETOUT(out0, 5,b1[0x1A] + b1[0x16]);
299
+ b1[0x1E] += b1[0x19];
300
+ SETOUT(out0, 3,b1[0x16] + b1[0x1E]);
301
+ SETOUT(out0, 1,b1[0x1E] + b1[0x11]);
302
+ b1[0x19] += b1[0x1D];
303
+ SETOUT(out1, 1,b1[0x11] + b1[0x19]);
304
+ SETOUT(out1, 3,b1[0x19] + b1[0x15]);
305
+ b1[0x1D] += b1[0x1B];
306
+ SETOUT(out1, 5,b1[0x15] + b1[0x1D]);
307
+ SETOUT(out1, 7,b1[0x1D] + b1[0x13]);
308
+ b1[0x1B] += b1[0x1F];
309
+ SETOUT(out1, 9,b1[0x13] + b1[0x1B]);
310
+ SETOUT(out1,11,b1[0x1B] + b1[0x17]);
311
+ SETOUT(out1,13,b1[0x17] + b1[0x1F]);
312
+ SETOUT(out1,15,b1[0x1F]);
313
+ }
314
+
315
+
316
+ /*
317
+ * the call via dct64 is a trick to force GCC to use
318
+ * (new) registers for the b1,b2 pointer to the bufs[xx] field
319
+ */
320
+ void dct64_i486(int *a,int *b,real *samples)
321
+ {
322
+ int bufs[64];
323
+ int i;
324
+
325
+ #ifdef REAL_IS_FIXED
326
+ #define TOINT(a) ((a) * 32768 / (int)REAL_FACTOR)
327
+
328
+ for(i=0;i<32;i++) {
329
+ bufs[i]=TOINT(samples[i]);
330
+ }
331
+ #else
332
+ int *p = bufs;
333
+ register double const scale = ((65536.0 * 32) + 1) * 65536.0;
334
+
335
+ for(i=0;i<32;i++) {
336
+ *((double *) (p++)) = scale + *samples++; /* beware on bufs overrun: 8B store from x87 */
337
+ }
338
+ #endif
339
+
340
+ dct64_1_486(a,b,bufs+32,bufs);
341
+ }
342
+
@@ -0,0 +1,811 @@
1
+ /*
2
+ dct64_mmx.s: MMX optimized DCT64
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 the mysterious higway (apparently)
7
+ */
8
+
9
+ #include "mangle.h"
10
+
11
+ .text
12
+
13
+ ALIGN32
14
+ .globl ASM_NAME(dct64_mmx)
15
+ ASM_NAME(dct64_mmx):
16
+
17
+ xorl %ecx,%ecx
18
+ .globl ASM_NAME(dct64_MMX)
19
+ ASM_NAME(dct64_MMX):
20
+ pushl %ebx
21
+ pushl %esi
22
+ pushl %edi
23
+ subl $256,%esp
24
+ movl 280(%esp),%eax
25
+ flds (%eax)
26
+ leal 128(%esp),%edx
27
+ fadds 124(%eax)
28
+ movl 272(%esp),%esi
29
+ fstps (%edx)
30
+ movl 276(%esp),%edi
31
+ flds 4(%eax)
32
+ movl ASM_VALUE(costab_mmxsse),%ebx
33
+ fadds 120(%eax)
34
+ orl %ecx,%ecx
35
+ fstps 4(%edx)
36
+ flds (%eax)
37
+ movl %esp,%ecx
38
+ fsubs 124(%eax)
39
+ fmuls (%ebx)
40
+ fstps 124(%edx)
41
+ flds 4(%eax)
42
+ fsubs 120(%eax)
43
+ fmuls 4(%ebx)
44
+ fstps 120(%edx)
45
+ flds 8(%eax)
46
+ fadds 116(%eax)
47
+ fstps 8(%edx)
48
+ flds 12(%eax)
49
+ fadds 112(%eax)
50
+ fstps 12(%edx)
51
+ flds 8(%eax)
52
+ fsubs 116(%eax)
53
+ fmuls 8(%ebx)
54
+ fstps 116(%edx)
55
+ flds 12(%eax)
56
+ fsubs 112(%eax)
57
+ fmuls 12(%ebx)
58
+ fstps 112(%edx)
59
+ flds 16(%eax)
60
+ fadds 108(%eax)
61
+ fstps 16(%edx)
62
+ flds 20(%eax)
63
+ fadds 104(%eax)
64
+ fstps 20(%edx)
65
+ flds 16(%eax)
66
+ fsubs 108(%eax)
67
+ fmuls 16(%ebx)
68
+ fstps 108(%edx)
69
+ flds 20(%eax)
70
+ fsubs 104(%eax)
71
+ fmuls 20(%ebx)
72
+ fstps 104(%edx)
73
+ flds 24(%eax)
74
+ fadds 100(%eax)
75
+ fstps 24(%edx)
76
+ flds 28(%eax)
77
+ fadds 96(%eax)
78
+ fstps 28(%edx)
79
+ flds 24(%eax)
80
+ fsubs 100(%eax)
81
+ fmuls 24(%ebx)
82
+ fstps 100(%edx)
83
+ flds 28(%eax)
84
+ fsubs 96(%eax)
85
+ fmuls 28(%ebx)
86
+ fstps 96(%edx)
87
+ flds 32(%eax)
88
+ fadds 92(%eax)
89
+ fstps 32(%edx)
90
+ flds 36(%eax)
91
+ fadds 88(%eax)
92
+ fstps 36(%edx)
93
+ flds 32(%eax)
94
+ fsubs 92(%eax)
95
+ fmuls 32(%ebx)
96
+ fstps 92(%edx)
97
+ flds 36(%eax)
98
+ fsubs 88(%eax)
99
+ fmuls 36(%ebx)
100
+ fstps 88(%edx)
101
+ flds 40(%eax)
102
+ fadds 84(%eax)
103
+ fstps 40(%edx)
104
+ flds 44(%eax)
105
+ fadds 80(%eax)
106
+ fstps 44(%edx)
107
+ flds 40(%eax)
108
+ fsubs 84(%eax)
109
+ fmuls 40(%ebx)
110
+ fstps 84(%edx)
111
+ flds 44(%eax)
112
+ fsubs 80(%eax)
113
+ fmuls 44(%ebx)
114
+ fstps 80(%edx)
115
+ flds 48(%eax)
116
+ fadds 76(%eax)
117
+ fstps 48(%edx)
118
+ flds 52(%eax)
119
+ fadds 72(%eax)
120
+ fstps 52(%edx)
121
+ flds 48(%eax)
122
+ fsubs 76(%eax)
123
+ fmuls 48(%ebx)
124
+ fstps 76(%edx)
125
+ flds 52(%eax)
126
+ fsubs 72(%eax)
127
+ fmuls 52(%ebx)
128
+ fstps 72(%edx)
129
+ flds 56(%eax)
130
+ fadds 68(%eax)
131
+ fstps 56(%edx)
132
+ flds 60(%eax)
133
+ fadds 64(%eax)
134
+ fstps 60(%edx)
135
+ flds 56(%eax)
136
+ fsubs 68(%eax)
137
+ fmuls 56(%ebx)
138
+ fstps 68(%edx)
139
+ flds 60(%eax)
140
+ fsubs 64(%eax)
141
+ fmuls 60(%ebx)
142
+ fstps 64(%edx)
143
+
144
+ flds (%edx)
145
+ fadds 60(%edx)
146
+ fstps (%ecx)
147
+ flds 4(%edx)
148
+ fadds 56(%edx)
149
+ fstps 4(%ecx)
150
+ flds (%edx)
151
+ fsubs 60(%edx)
152
+ fmuls 64(%ebx)
153
+ fstps 60(%ecx)
154
+ flds 4(%edx)
155
+ fsubs 56(%edx)
156
+ fmuls 68(%ebx)
157
+ fstps 56(%ecx)
158
+ flds 8(%edx)
159
+ fadds 52(%edx)
160
+ fstps 8(%ecx)
161
+ flds 12(%edx)
162
+ fadds 48(%edx)
163
+ fstps 12(%ecx)
164
+ flds 8(%edx)
165
+ fsubs 52(%edx)
166
+ fmuls 72(%ebx)
167
+ fstps 52(%ecx)
168
+ flds 12(%edx)
169
+ fsubs 48(%edx)
170
+ fmuls 76(%ebx)
171
+ fstps 48(%ecx)
172
+ flds 16(%edx)
173
+ fadds 44(%edx)
174
+ fstps 16(%ecx)
175
+ flds 20(%edx)
176
+ fadds 40(%edx)
177
+ fstps 20(%ecx)
178
+ flds 16(%edx)
179
+ fsubs 44(%edx)
180
+ fmuls 80(%ebx)
181
+ fstps 44(%ecx)
182
+ flds 20(%edx)
183
+ fsubs 40(%edx)
184
+ fmuls 84(%ebx)
185
+ fstps 40(%ecx)
186
+ flds 24(%edx)
187
+ fadds 36(%edx)
188
+ fstps 24(%ecx)
189
+ flds 28(%edx)
190
+ fadds 32(%edx)
191
+ fstps 28(%ecx)
192
+ flds 24(%edx)
193
+ fsubs 36(%edx)
194
+ fmuls 88(%ebx)
195
+ fstps 36(%ecx)
196
+ flds 28(%edx)
197
+ fsubs 32(%edx)
198
+ fmuls 92(%ebx)
199
+ fstps 32(%ecx)
200
+
201
+ flds 64(%edx)
202
+ fadds 124(%edx)
203
+ fstps 64(%ecx)
204
+ flds 68(%edx)
205
+ fadds 120(%edx)
206
+ fstps 68(%ecx)
207
+ flds 124(%edx)
208
+ fsubs 64(%edx)
209
+ fmuls 64(%ebx)
210
+ fstps 124(%ecx)
211
+ flds 120(%edx)
212
+ fsubs 68(%edx)
213
+ fmuls 68(%ebx)
214
+ fstps 120(%ecx)
215
+ flds 72(%edx)
216
+ fadds 116(%edx)
217
+ fstps 72(%ecx)
218
+ flds 76(%edx)
219
+ fadds 112(%edx)
220
+ fstps 76(%ecx)
221
+ flds 116(%edx)
222
+ fsubs 72(%edx)
223
+ fmuls 72(%ebx)
224
+ fstps 116(%ecx)
225
+ flds 112(%edx)
226
+ fsubs 76(%edx)
227
+ fmuls 76(%ebx)
228
+ fstps 112(%ecx)
229
+ flds 80(%edx)
230
+ fadds 108(%edx)
231
+ fstps 80(%ecx)
232
+ flds 84(%edx)
233
+ fadds 104(%edx)
234
+ fstps 84(%ecx)
235
+ flds 108(%edx)
236
+ fsubs 80(%edx)
237
+ fmuls 80(%ebx)
238
+ fstps 108(%ecx)
239
+ flds 104(%edx)
240
+ fsubs 84(%edx)
241
+ fmuls 84(%ebx)
242
+ fstps 104(%ecx)
243
+ flds 88(%edx)
244
+ fadds 100(%edx)
245
+ fstps 88(%ecx)
246
+ flds 92(%edx)
247
+ fadds 96(%edx)
248
+ fstps 92(%ecx)
249
+ flds 100(%edx)
250
+ fsubs 88(%edx)
251
+ fmuls 88(%ebx)
252
+ fstps 100(%ecx)
253
+ flds 96(%edx)
254
+ fsubs 92(%edx)
255
+ fmuls 92(%ebx)
256
+ fstps 96(%ecx)
257
+
258
+ flds (%ecx)
259
+ fadds 28(%ecx)
260
+ fstps (%edx)
261
+ flds (%ecx)
262
+ fsubs 28(%ecx)
263
+ fmuls 96(%ebx)
264
+ fstps 28(%edx)
265
+ flds 4(%ecx)
266
+ fadds 24(%ecx)
267
+ fstps 4(%edx)
268
+ flds 4(%ecx)
269
+ fsubs 24(%ecx)
270
+ fmuls 100(%ebx)
271
+ fstps 24(%edx)
272
+ flds 8(%ecx)
273
+ fadds 20(%ecx)
274
+ fstps 8(%edx)
275
+ flds 8(%ecx)
276
+ fsubs 20(%ecx)
277
+ fmuls 104(%ebx)
278
+ fstps 20(%edx)
279
+ flds 12(%ecx)
280
+ fadds 16(%ecx)
281
+ fstps 12(%edx)
282
+ flds 12(%ecx)
283
+ fsubs 16(%ecx)
284
+ fmuls 108(%ebx)
285
+ fstps 16(%edx)
286
+ flds 32(%ecx)
287
+ fadds 60(%ecx)
288
+ fstps 32(%edx)
289
+ flds 60(%ecx)
290
+ fsubs 32(%ecx)
291
+ fmuls 96(%ebx)
292
+ fstps 60(%edx)
293
+ flds 36(%ecx)
294
+ fadds 56(%ecx)
295
+ fstps 36(%edx)
296
+ flds 56(%ecx)
297
+ fsubs 36(%ecx)
298
+ fmuls 100(%ebx)
299
+ fstps 56(%edx)
300
+ flds 40(%ecx)
301
+ fadds 52(%ecx)
302
+ fstps 40(%edx)
303
+ flds 52(%ecx)
304
+ fsubs 40(%ecx)
305
+ fmuls 104(%ebx)
306
+ fstps 52(%edx)
307
+ flds 44(%ecx)
308
+ fadds 48(%ecx)
309
+ fstps 44(%edx)
310
+ flds 48(%ecx)
311
+ fsubs 44(%ecx)
312
+ fmuls 108(%ebx)
313
+ fstps 48(%edx)
314
+ flds 64(%ecx)
315
+ fadds 92(%ecx)
316
+ fstps 64(%edx)
317
+ flds 64(%ecx)
318
+ fsubs 92(%ecx)
319
+ fmuls 96(%ebx)
320
+ fstps 92(%edx)
321
+ flds 68(%ecx)
322
+ fadds 88(%ecx)
323
+ fstps 68(%edx)
324
+ flds 68(%ecx)
325
+ fsubs 88(%ecx)
326
+ fmuls 100(%ebx)
327
+ fstps 88(%edx)
328
+ flds 72(%ecx)
329
+ fadds 84(%ecx)
330
+ fstps 72(%edx)
331
+ flds 72(%ecx)
332
+ fsubs 84(%ecx)
333
+ fmuls 104(%ebx)
334
+ fstps 84(%edx)
335
+ flds 76(%ecx)
336
+ fadds 80(%ecx)
337
+ fstps 76(%edx)
338
+ flds 76(%ecx)
339
+ fsubs 80(%ecx)
340
+ fmuls 108(%ebx)
341
+ fstps 80(%edx)
342
+ flds 96(%ecx)
343
+ fadds 124(%ecx)
344
+ fstps 96(%edx)
345
+ flds 124(%ecx)
346
+ fsubs 96(%ecx)
347
+ fmuls 96(%ebx)
348
+ fstps 124(%edx)
349
+ flds 100(%ecx)
350
+ fadds 120(%ecx)
351
+ fstps 100(%edx)
352
+ flds 120(%ecx)
353
+ fsubs 100(%ecx)
354
+ fmuls 100(%ebx)
355
+ fstps 120(%edx)
356
+ flds 104(%ecx)
357
+ fadds 116(%ecx)
358
+ fstps 104(%edx)
359
+ flds 116(%ecx)
360
+ fsubs 104(%ecx)
361
+ fmuls 104(%ebx)
362
+ fstps 116(%edx)
363
+ flds 108(%ecx)
364
+ fadds 112(%ecx)
365
+ fstps 108(%edx)
366
+ flds 112(%ecx)
367
+ fsubs 108(%ecx)
368
+ fmuls 108(%ebx)
369
+ fstps 112(%edx)
370
+ flds (%edx)
371
+ fadds 12(%edx)
372
+ fstps (%ecx)
373
+ flds (%edx)
374
+ fsubs 12(%edx)
375
+ fmuls 112(%ebx)
376
+ fstps 12(%ecx)
377
+ flds 4(%edx)
378
+ fadds 8(%edx)
379
+ fstps 4(%ecx)
380
+ flds 4(%edx)
381
+ fsubs 8(%edx)
382
+ fmuls 116(%ebx)
383
+ fstps 8(%ecx)
384
+ flds 16(%edx)
385
+ fadds 28(%edx)
386
+ fstps 16(%ecx)
387
+ flds 28(%edx)
388
+ fsubs 16(%edx)
389
+ fmuls 112(%ebx)
390
+ fstps 28(%ecx)
391
+ flds 20(%edx)
392
+ fadds 24(%edx)
393
+ fstps 20(%ecx)
394
+ flds 24(%edx)
395
+ fsubs 20(%edx)
396
+ fmuls 116(%ebx)
397
+ fstps 24(%ecx)
398
+ flds 32(%edx)
399
+ fadds 44(%edx)
400
+ fstps 32(%ecx)
401
+ flds 32(%edx)
402
+ fsubs 44(%edx)
403
+ fmuls 112(%ebx)
404
+ fstps 44(%ecx)
405
+ flds 36(%edx)
406
+ fadds 40(%edx)
407
+ fstps 36(%ecx)
408
+ flds 36(%edx)
409
+ fsubs 40(%edx)
410
+ fmuls 116(%ebx)
411
+ fstps 40(%ecx)
412
+ flds 48(%edx)
413
+ fadds 60(%edx)
414
+ fstps 48(%ecx)
415
+ flds 60(%edx)
416
+ fsubs 48(%edx)
417
+ fmuls 112(%ebx)
418
+ fstps 60(%ecx)
419
+ flds 52(%edx)
420
+ fadds 56(%edx)
421
+ fstps 52(%ecx)
422
+ flds 56(%edx)
423
+ fsubs 52(%edx)
424
+ fmuls 116(%ebx)
425
+ fstps 56(%ecx)
426
+ flds 64(%edx)
427
+ fadds 76(%edx)
428
+ fstps 64(%ecx)
429
+ flds 64(%edx)
430
+ fsubs 76(%edx)
431
+ fmuls 112(%ebx)
432
+ fstps 76(%ecx)
433
+ flds 68(%edx)
434
+ fadds 72(%edx)
435
+ fstps 68(%ecx)
436
+ flds 68(%edx)
437
+ fsubs 72(%edx)
438
+ fmuls 116(%ebx)
439
+ fstps 72(%ecx)
440
+ flds 80(%edx)
441
+ fadds 92(%edx)
442
+ fstps 80(%ecx)
443
+ flds 92(%edx)
444
+ fsubs 80(%edx)
445
+ fmuls 112(%ebx)
446
+ fstps 92(%ecx)
447
+ flds 84(%edx)
448
+ fadds 88(%edx)
449
+ fstps 84(%ecx)
450
+ flds 88(%edx)
451
+ fsubs 84(%edx)
452
+ fmuls 116(%ebx)
453
+ fstps 88(%ecx)
454
+ flds 96(%edx)
455
+ fadds 108(%edx)
456
+ fstps 96(%ecx)
457
+ flds 96(%edx)
458
+ fsubs 108(%edx)
459
+ fmuls 112(%ebx)
460
+ fstps 108(%ecx)
461
+ flds 100(%edx)
462
+ fadds 104(%edx)
463
+ fstps 100(%ecx)
464
+ flds 100(%edx)
465
+ fsubs 104(%edx)
466
+ fmuls 116(%ebx)
467
+ fstps 104(%ecx)
468
+ flds 112(%edx)
469
+ fadds 124(%edx)
470
+ fstps 112(%ecx)
471
+ flds 124(%edx)
472
+ fsubs 112(%edx)
473
+ fmuls 112(%ebx)
474
+ fstps 124(%ecx)
475
+ flds 116(%edx)
476
+ fadds 120(%edx)
477
+ fstps 116(%ecx)
478
+ flds 120(%edx)
479
+ fsubs 116(%edx)
480
+ fmuls 116(%ebx)
481
+ fstps 120(%ecx)
482
+
483
+ flds 32(%ecx)
484
+ fadds 36(%ecx)
485
+ fstps 32(%edx)
486
+ flds 32(%ecx)
487
+ fsubs 36(%ecx)
488
+ fmuls 120(%ebx)
489
+ fstps 36(%edx)
490
+ flds 44(%ecx)
491
+ fsubs 40(%ecx)
492
+ fmuls 120(%ebx)
493
+ fsts 44(%edx)
494
+ fadds 40(%ecx)
495
+ fadds 44(%ecx)
496
+ fstps 40(%edx)
497
+ flds 48(%ecx)
498
+ fsubs 52(%ecx)
499
+ fmuls 120(%ebx)
500
+ flds 60(%ecx)
501
+ fsubs 56(%ecx)
502
+ fmuls 120(%ebx)
503
+ fld %st(0)
504
+ fadds 56(%ecx)
505
+ fadds 60(%ecx)
506
+ fld %st(0)
507
+ fadds 48(%ecx)
508
+ fadds 52(%ecx)
509
+ fstps 48(%edx)
510
+ fadd %st(2)
511
+ fstps 56(%edx)
512
+ fsts 60(%edx)
513
+ faddp %st(1)
514
+ fstps 52(%edx)
515
+ flds 64(%ecx)
516
+ fadds 68(%ecx)
517
+ fstps 64(%edx)
518
+ flds 64(%ecx)
519
+ fsubs 68(%ecx)
520
+ fmuls 120(%ebx)
521
+ fstps 68(%edx)
522
+ flds 76(%ecx)
523
+ fsubs 72(%ecx)
524
+ fmuls 120(%ebx)
525
+ fsts 76(%edx)
526
+ fadds 72(%ecx)
527
+ fadds 76(%ecx)
528
+ fstps 72(%edx)
529
+ flds 92(%ecx)
530
+ fsubs 88(%ecx)
531
+ fmuls 120(%ebx)
532
+ fsts 92(%edx)
533
+ fadds 92(%ecx)
534
+ fadds 88(%ecx)
535
+ fld %st(0)
536
+ fadds 80(%ecx)
537
+ fadds 84(%ecx)
538
+ fstps 80(%edx)
539
+ flds 80(%ecx)
540
+ fsubs 84(%ecx)
541
+ fmuls 120(%ebx)
542
+ fadd %st(0), %st(1)
543
+ fadds 92(%edx)
544
+ fstps 84(%edx)
545
+ fstps 88(%edx)
546
+ flds 96(%ecx)
547
+ fadds 100(%ecx)
548
+ fstps 96(%edx)
549
+ flds 96(%ecx)
550
+ fsubs 100(%ecx)
551
+ fmuls 120(%ebx)
552
+ fstps 100(%edx)
553
+ flds 108(%ecx)
554
+ fsubs 104(%ecx)
555
+ fmuls 120(%ebx)
556
+ fsts 108(%edx)
557
+ fadds 104(%ecx)
558
+ fadds 108(%ecx)
559
+ fstps 104(%edx)
560
+ flds 124(%ecx)
561
+ fsubs 120(%ecx)
562
+ fmuls 120(%ebx)
563
+ fsts 124(%edx)
564
+ fadds 120(%ecx)
565
+ fadds 124(%ecx)
566
+ fld %st(0)
567
+ fadds 112(%ecx)
568
+ fadds 116(%ecx)
569
+ fstps 112(%edx)
570
+ flds 112(%ecx)
571
+ fsubs 116(%ecx)
572
+ fmuls 120(%ebx)
573
+ fadd %st(0),%st(1)
574
+ fadds 124(%edx)
575
+ fstps 116(%edx)
576
+ fstps 120(%edx)
577
+ jnz .L01
578
+
579
+ flds (%ecx)
580
+ fadds 4(%ecx)
581
+ fstps 1024(%esi)
582
+ flds (%ecx)
583
+ fsubs 4(%ecx)
584
+ fmuls 120(%ebx)
585
+ fsts (%esi)
586
+ fstps (%edi)
587
+ flds 12(%ecx)
588
+ fsubs 8(%ecx)
589
+ fmuls 120(%ebx)
590
+ fsts 512(%edi)
591
+ fadds 12(%ecx)
592
+ fadds 8(%ecx)
593
+ fstps 512(%esi)
594
+ flds 16(%ecx)
595
+ fsubs 20(%ecx)
596
+ fmuls 120(%ebx)
597
+ flds 28(%ecx)
598
+ fsubs 24(%ecx)
599
+ fmuls 120(%ebx)
600
+ fsts 768(%edi)
601
+ fld %st(0)
602
+ fadds 24(%ecx)
603
+ fadds 28(%ecx)
604
+ fld %st(0)
605
+ fadds 16(%ecx)
606
+ fadds 20(%ecx)
607
+ fstps 768(%esi)
608
+ fadd %st(2)
609
+ fstps 256(%esi)
610
+ faddp %st(1)
611
+ fstps 256(%edi)
612
+
613
+ flds 32(%edx)
614
+ fadds 48(%edx)
615
+ fstps 896(%esi)
616
+ flds 48(%edx)
617
+ fadds 40(%edx)
618
+ fstps 640(%esi)
619
+ flds 40(%edx)
620
+ fadds 56(%edx)
621
+ fstps 384(%esi)
622
+ flds 56(%edx)
623
+ fadds 36(%edx)
624
+ fstps 128(%esi)
625
+ flds 36(%edx)
626
+ fadds 52(%edx)
627
+ fstps 128(%edi)
628
+ flds 52(%edx)
629
+ fadds 44(%edx)
630
+ fstps 384(%edi)
631
+ flds 60(%edx)
632
+ fsts 896(%edi)
633
+ fadds 44(%edx)
634
+ fstps 640(%edi)
635
+ flds 96(%edx)
636
+ fadds 112(%edx)
637
+ fld %st(0)
638
+ fadds 64(%edx)
639
+ fstps 960(%esi)
640
+ fadds 80(%edx)
641
+ fstps 832(%esi)
642
+ flds 112(%edx)
643
+ fadds 104(%edx)
644
+ fld %st(0)
645
+ fadds 80(%edx)
646
+ fstps 704(%esi)
647
+ fadds 72(%edx)
648
+ fstps 576(%esi)
649
+ flds 104(%edx)
650
+ fadds 120(%edx)
651
+ fld %st(0)
652
+ fadds 72(%edx)
653
+ fstps 448(%esi)
654
+ fadds 88(%edx)
655
+ fstps 320(%esi)
656
+ flds 120(%edx)
657
+ fadds 100(%edx)
658
+ fld %st(0)
659
+ fadds 88(%edx)
660
+ fstps 192(%esi)
661
+ fadds 68(%edx)
662
+ fstps 64(%esi)
663
+ flds 100(%edx)
664
+ fadds 116(%edx)
665
+ fld %st(0)
666
+ fadds 68(%edx)
667
+ fstps 64(%edi)
668
+ fadds 84(%edx)
669
+ fstps 192(%edi)
670
+ flds 116(%edx)
671
+ fadds 108(%edx)
672
+ fld %st(0)
673
+ fadds 84(%edx)
674
+ fstps 320(%edi)
675
+ fadds 76(%edx)
676
+ fstps 448(%edi)
677
+ flds 108(%edx)
678
+ fadds 124(%edx)
679
+ fld %st(0)
680
+ fadds 76(%edx)
681
+ fstps 576(%edi)
682
+ fadds 92(%edx)
683
+ fstps 704(%edi)
684
+ flds 124(%edx)
685
+ fsts 960(%edi)
686
+ fadds 92(%edx)
687
+ fstps 832(%edi)
688
+ addl $256,%esp
689
+ popl %edi
690
+ popl %esi
691
+ popl %ebx
692
+ ret
693
+ .L01:
694
+ flds (%ecx)
695
+ fadds 4(%ecx)
696
+ fistps 512(%esi)
697
+ flds (%ecx)
698
+ fsubs 4(%ecx)
699
+ fmuls 120(%ebx)
700
+
701
+ fistps (%esi)
702
+
703
+ flds 12(%ecx)
704
+ fsubs 8(%ecx)
705
+ fmuls 120(%ebx)
706
+ fists 256(%edi)
707
+ fadds 12(%ecx)
708
+ fadds 8(%ecx)
709
+ fistps 256(%esi)
710
+ flds 16(%ecx)
711
+ fsubs 20(%ecx)
712
+ fmuls 120(%ebx)
713
+ flds 28(%ecx)
714
+ fsubs 24(%ecx)
715
+ fmuls 120(%ebx)
716
+ fists 384(%edi)
717
+ fld %st(0)
718
+ fadds 24(%ecx)
719
+ fadds 28(%ecx)
720
+ fld %st(0)
721
+ fadds 16(%ecx)
722
+ fadds 20(%ecx)
723
+ fistps 384(%esi)
724
+ fadd %st(2)
725
+ fistps 128(%esi)
726
+ faddp %st(1)
727
+ fistps 128(%edi)
728
+
729
+ flds 32(%edx)
730
+ fadds 48(%edx)
731
+ fistps 448(%esi)
732
+ flds 48(%edx)
733
+ fadds 40(%edx)
734
+ fistps 320(%esi)
735
+ flds 40(%edx)
736
+ fadds 56(%edx)
737
+ fistps 192(%esi)
738
+ flds 56(%edx)
739
+ fadds 36(%edx)
740
+ fistps 64(%esi)
741
+ flds 36(%edx)
742
+ fadds 52(%edx)
743
+ fistps 64(%edi)
744
+ flds 52(%edx)
745
+ fadds 44(%edx)
746
+ fistps 192(%edi)
747
+ flds 60(%edx)
748
+ fists 448(%edi)
749
+ fadds 44(%edx)
750
+ fistps 320(%edi)
751
+ flds 96(%edx)
752
+ fadds 112(%edx)
753
+ fld %st(0)
754
+ fadds 64(%edx)
755
+ fistps 480(%esi)
756
+ fadds 80(%edx)
757
+ fistps 416(%esi)
758
+ flds 112(%edx)
759
+ fadds 104(%edx)
760
+ fld %st(0)
761
+ fadds 80(%edx)
762
+ fistps 352(%esi)
763
+ fadds 72(%edx)
764
+ fistps 288(%esi)
765
+ flds 104(%edx)
766
+ fadds 120(%edx)
767
+ fld %st(0)
768
+ fadds 72(%edx)
769
+ fistps 224(%esi)
770
+ fadds 88(%edx)
771
+ fistps 160(%esi)
772
+ flds 120(%edx)
773
+ fadds 100(%edx)
774
+ fld %st(0)
775
+ fadds 88(%edx)
776
+ fistps 96(%esi)
777
+ fadds 68(%edx)
778
+ fistps 32(%esi)
779
+ flds 100(%edx)
780
+ fadds 116(%edx)
781
+ fld %st(0)
782
+ fadds 68(%edx)
783
+ fistps 32(%edi)
784
+ fadds 84(%edx)
785
+ fistps 96(%edi)
786
+ flds 116(%edx)
787
+ fadds 108(%edx)
788
+ fld %st(0)
789
+ fadds 84(%edx)
790
+ fistps 160(%edi)
791
+ fadds 76(%edx)
792
+ fistps 224(%edi)
793
+ flds 108(%edx)
794
+ fadds 124(%edx)
795
+ fld %st(0)
796
+ fadds 76(%edx)
797
+ fistps 288(%edi)
798
+ fadds 92(%edx)
799
+ fistps 352(%edi)
800
+ flds 124(%edx)
801
+ fists 480(%edi)
802
+ fadds 92(%edx)
803
+ fistps 416(%edi)
804
+ movsw
805
+ addl $256,%esp
806
+ popl %edi
807
+ popl %esi
808
+ popl %ebx
809
+ ret
810
+
811
+ NONEXEC_STACK