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,454 @@
1
+ /*
2
+ dct64_sse: MMX/SSE optimized dct64
3
+
4
+ copyright 1995-2009 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 Taihei Monma
7
+ */
8
+
9
+ #include "mangle.h"
10
+
11
+ #define ARG(n) (8+n*4)(%ebp)
12
+ #define TEMP(n) (4+n*16)(%esp)
13
+ #define TEMP_BYTE(n) (4+n)(%esp)
14
+
15
+ /*
16
+ void dct64_sse(short *out0, short *out1, real *samples);
17
+ */
18
+
19
+ #ifndef __APPLE__
20
+ .section .rodata
21
+ #else
22
+ .data
23
+ #endif
24
+ ALIGN16
25
+ pnpn:
26
+ .long 0
27
+ .long -2147483648
28
+ .long 0
29
+ .long -2147483648
30
+ ALIGN16
31
+ mask:
32
+ .long -1
33
+ .long -1
34
+ .long -1
35
+ .long 0
36
+
37
+ .text
38
+ ALIGN16
39
+ .globl ASM_NAME(dct64_sse)
40
+ ASM_NAME(dct64_sse):
41
+ pushl %ebp
42
+ movl %esp, %ebp
43
+
44
+ andl $-16, %esp /* align the stack at 16 bytes */
45
+ subl $128, %esp /* reserve space for temporal store */
46
+ pushl %ebx
47
+
48
+ movl ARG(0), %ecx
49
+ movl ARG(1), %ebx
50
+ movl ARG(2), %eax
51
+
52
+ MOVUAPS (%eax), %xmm7
53
+ MOVUAPS 16(%eax), %xmm6
54
+ MOVUAPS 112(%eax), %xmm0
55
+ MOVUAPS 96(%eax), %xmm1
56
+ shufps $0x1b, %xmm0, %xmm0
57
+ shufps $0x1b, %xmm1, %xmm1
58
+ movaps %xmm7, %xmm4
59
+ movaps %xmm6, %xmm5
60
+ addps %xmm0, %xmm4
61
+ addps %xmm1, %xmm5
62
+ subps %xmm0, %xmm7
63
+ subps %xmm1, %xmm6
64
+ movaps %xmm4, TEMP(0)
65
+ movaps %xmm5, TEMP(1)
66
+
67
+ MOVUAPS 32(%eax), %xmm2
68
+ MOVUAPS 48(%eax), %xmm3
69
+ MOVUAPS 80(%eax), %xmm0
70
+ MOVUAPS 64(%eax), %xmm1
71
+ shufps $0x1b, %xmm0, %xmm0
72
+ shufps $0x1b, %xmm1, %xmm1
73
+ movaps %xmm2, %xmm5
74
+ movaps %xmm3, %xmm4
75
+ addps %xmm0, %xmm2
76
+ addps %xmm1, %xmm3
77
+ subps %xmm0, %xmm5
78
+ subps %xmm1, %xmm4
79
+
80
+ mulps ASM_NAME(costab_mmxsse), %xmm7
81
+ mulps ASM_NAME(costab_mmxsse)+16, %xmm6
82
+ mulps ASM_NAME(costab_mmxsse)+32, %xmm5
83
+ mulps ASM_NAME(costab_mmxsse)+48, %xmm4
84
+
85
+ shufps $0x1b, %xmm2, %xmm2
86
+ shufps $0x1b, %xmm3, %xmm3
87
+ shufps $0x1b, %xmm4, %xmm4
88
+ shufps $0x1b, %xmm5, %xmm5
89
+ movaps TEMP(0), %xmm0
90
+ movaps TEMP(1), %xmm1
91
+ subps %xmm3, %xmm0
92
+ subps %xmm2, %xmm1
93
+ addps TEMP(0), %xmm3
94
+ addps TEMP(1), %xmm2
95
+ movaps %xmm3, TEMP(0)
96
+ movaps %xmm2, TEMP(1)
97
+ movaps %xmm6, %xmm2
98
+ movaps %xmm7, %xmm3
99
+ subps %xmm5, %xmm6
100
+ subps %xmm4, %xmm7
101
+ addps %xmm3, %xmm4
102
+ addps %xmm2, %xmm5
103
+ mulps ASM_NAME(costab_mmxsse)+64, %xmm0
104
+ mulps ASM_NAME(costab_mmxsse)+80, %xmm1
105
+ mulps ASM_NAME(costab_mmxsse)+80, %xmm6
106
+ mulps ASM_NAME(costab_mmxsse)+64, %xmm7
107
+
108
+ movaps TEMP(0), %xmm2
109
+ movaps TEMP(1), %xmm3
110
+ shufps $0x1b, %xmm3, %xmm3
111
+ shufps $0x1b, %xmm5, %xmm5
112
+ shufps $0x1b, %xmm1, %xmm1
113
+ shufps $0x1b, %xmm6, %xmm6
114
+ movaps %xmm0, TEMP(1)
115
+ subps %xmm3, %xmm2
116
+ subps %xmm1, %xmm0
117
+ addps TEMP(0), %xmm3
118
+ addps TEMP(1), %xmm1
119
+ movaps %xmm3, TEMP(0)
120
+ movaps %xmm1, TEMP(2)
121
+ movaps %xmm5, %xmm1
122
+ movaps %xmm4, %xmm5
123
+ movaps %xmm7, %xmm3
124
+ subps %xmm1, %xmm5
125
+ subps %xmm6, %xmm7
126
+ addps %xmm1, %xmm4
127
+ addps %xmm3, %xmm6
128
+ mulps ASM_NAME(costab_mmxsse)+96, %xmm2
129
+ mulps ASM_NAME(costab_mmxsse)+96, %xmm0
130
+ mulps ASM_NAME(costab_mmxsse)+96, %xmm5
131
+ mulps ASM_NAME(costab_mmxsse)+96, %xmm7
132
+ movaps %xmm2, TEMP(1)
133
+ movaps %xmm0, TEMP(3)
134
+
135
+ movaps %xmm4, %xmm2
136
+ movaps %xmm5, %xmm3
137
+ shufps $0x44, %xmm6, %xmm2
138
+ shufps $0xbb, %xmm7, %xmm5
139
+ shufps $0xbb, %xmm6, %xmm4
140
+ shufps $0x44, %xmm7, %xmm3
141
+ movaps %xmm2, %xmm6
142
+ movaps %xmm3, %xmm7
143
+ subps %xmm4, %xmm2
144
+ subps %xmm5, %xmm3
145
+ addps %xmm6, %xmm4
146
+ addps %xmm7, %xmm5
147
+ movaps ASM_NAME(costab_mmxsse)+112, %xmm0
148
+ movlhps %xmm0, %xmm0
149
+ mulps %xmm0, %xmm2
150
+ mulps %xmm0, %xmm3
151
+ movaps %xmm0, TEMP(4)
152
+ movaps %xmm4, %xmm6
153
+ movaps %xmm5, %xmm7
154
+ shufps $0x14, %xmm2, %xmm4
155
+ shufps $0xbe, %xmm2, %xmm6
156
+ shufps $0x14, %xmm3, %xmm5
157
+ shufps $0xbe, %xmm3, %xmm7
158
+ movaps %xmm5, TEMP(5)
159
+ movaps %xmm7, TEMP(7)
160
+
161
+ movaps TEMP(0), %xmm0
162
+ movaps TEMP(1), %xmm1
163
+ movaps %xmm0, %xmm2
164
+ movaps %xmm1, %xmm3
165
+ shufps $0x44, TEMP(2), %xmm2
166
+ shufps $0xbb, TEMP(3), %xmm1
167
+ shufps $0xbb, TEMP(2), %xmm0
168
+ shufps $0x44, TEMP(3), %xmm3
169
+ movaps %xmm2, %xmm5
170
+ movaps %xmm3, %xmm7
171
+ subps %xmm0, %xmm2
172
+ subps %xmm1, %xmm3
173
+ addps %xmm5, %xmm0
174
+ addps %xmm7, %xmm1
175
+ mulps TEMP(4), %xmm2
176
+ mulps TEMP(4), %xmm3
177
+ movaps %xmm0, %xmm5
178
+ movaps %xmm1, %xmm7
179
+ shufps $0x14, %xmm2, %xmm0
180
+ shufps $0xbe, %xmm2, %xmm5
181
+ shufps $0x14, %xmm3, %xmm1
182
+ shufps $0xbe, %xmm3, %xmm7
183
+
184
+ movaps %xmm0, TEMP(0)
185
+ movaps %xmm1, TEMP(1)
186
+ movaps %xmm5, TEMP(2)
187
+ movaps %xmm7, TEMP(3)
188
+
189
+ movss ASM_NAME(costab_mmxsse)+120, %xmm5
190
+ shufps $0x00, %xmm5, %xmm5
191
+ xorps pnpn, %xmm5
192
+
193
+ movaps %xmm4, %xmm0
194
+ movaps %xmm6, %xmm1
195
+ unpcklps TEMP(5), %xmm4
196
+ unpckhps TEMP(5), %xmm0
197
+ unpcklps TEMP(7), %xmm6
198
+ unpckhps TEMP(7), %xmm1
199
+ movaps %xmm4, %xmm2
200
+ movaps %xmm6, %xmm3
201
+ unpcklps %xmm0, %xmm4
202
+ unpckhps %xmm0, %xmm2
203
+ unpcklps %xmm1, %xmm6
204
+ unpckhps %xmm1, %xmm3
205
+ movaps %xmm4, %xmm0
206
+ movaps %xmm6, %xmm1
207
+ subps %xmm2, %xmm0
208
+ subps %xmm3, %xmm1
209
+ addps %xmm2, %xmm4
210
+ addps %xmm3, %xmm6
211
+ mulps %xmm5, %xmm0
212
+ mulps %xmm5, %xmm1
213
+ movaps %xmm5, TEMP(5)
214
+ movaps %xmm4, %xmm5
215
+ movaps %xmm6, %xmm7
216
+ unpcklps %xmm0, %xmm4
217
+ unpckhps %xmm0, %xmm5
218
+ unpcklps %xmm1, %xmm6
219
+ unpckhps %xmm1, %xmm7
220
+
221
+ movaps TEMP(0), %xmm0
222
+ movaps TEMP(2), %xmm2
223
+ movaps %xmm4, TEMP(4)
224
+ movaps %xmm6, TEMP(6)
225
+
226
+ movaps %xmm0, %xmm4
227
+ movaps %xmm2, %xmm6
228
+ unpcklps TEMP(1), %xmm0
229
+ unpckhps TEMP(1), %xmm4
230
+ unpcklps TEMP(3), %xmm2
231
+ unpckhps TEMP(3), %xmm6
232
+ movaps %xmm0, %xmm1
233
+ movaps %xmm2, %xmm3
234
+ unpcklps %xmm4, %xmm0
235
+ unpckhps %xmm4, %xmm1
236
+ unpcklps %xmm6, %xmm2
237
+ unpckhps %xmm6, %xmm3
238
+ movaps %xmm0, %xmm4
239
+ movaps %xmm2, %xmm6
240
+ subps %xmm1, %xmm4
241
+ subps %xmm3, %xmm6
242
+ addps %xmm1, %xmm0
243
+ addps %xmm3, %xmm2
244
+ mulps TEMP(5), %xmm4
245
+ mulps TEMP(5), %xmm6
246
+ movaps %xmm0, %xmm1
247
+ movaps %xmm2, %xmm3
248
+ unpcklps %xmm4, %xmm0
249
+ unpckhps %xmm4, %xmm1
250
+ unpcklps %xmm6, %xmm2
251
+ unpckhps %xmm6, %xmm3
252
+
253
+ movaps %xmm0, TEMP(0)
254
+ movaps %xmm1, TEMP(1)
255
+ movaps %xmm2, TEMP(2)
256
+ movaps %xmm3, TEMP(3)
257
+ movaps %xmm5, TEMP(5)
258
+ movaps %xmm7, TEMP(7)
259
+
260
+ movss TEMP_BYTE(12), %xmm0
261
+ movss TEMP_BYTE(28), %xmm1
262
+ movss TEMP_BYTE(44), %xmm2
263
+ movss TEMP_BYTE(60), %xmm3
264
+ addss TEMP_BYTE(8), %xmm0
265
+ addss TEMP_BYTE(24), %xmm1
266
+ addss TEMP_BYTE(40), %xmm2
267
+ addss TEMP_BYTE(56), %xmm3
268
+ movss %xmm0, TEMP_BYTE(8)
269
+ movss %xmm1, TEMP_BYTE(24)
270
+ movss %xmm2, TEMP_BYTE(40)
271
+ movss %xmm3, TEMP_BYTE(56)
272
+ movss TEMP_BYTE(76), %xmm0
273
+ movss TEMP_BYTE(92), %xmm1
274
+ movss TEMP_BYTE(108), %xmm2
275
+ movss TEMP_BYTE(124), %xmm3
276
+ addss TEMP_BYTE(72), %xmm0
277
+ addss TEMP_BYTE(88), %xmm1
278
+ addss TEMP_BYTE(104), %xmm2
279
+ addss TEMP_BYTE(120), %xmm3
280
+ movss %xmm0, TEMP_BYTE(72)
281
+ movss %xmm1, TEMP_BYTE(88)
282
+ movss %xmm2, TEMP_BYTE(104)
283
+ movss %xmm3, TEMP_BYTE(120)
284
+
285
+ movaps TEMP_BYTE(16), %xmm1
286
+ movaps TEMP_BYTE(48), %xmm3
287
+ movaps TEMP_BYTE(80), %xmm5
288
+ movaps TEMP_BYTE(112), %xmm7
289
+ movaps %xmm1, %xmm0
290
+ movaps %xmm3, %xmm2
291
+ movaps %xmm5, %xmm4
292
+ movaps %xmm7, %xmm6
293
+ shufps $0x1e, %xmm0, %xmm0
294
+ shufps $0x1e, %xmm2, %xmm2
295
+ shufps $0x1e, %xmm4, %xmm4
296
+ shufps $0x1e, %xmm6, %xmm6
297
+ andps mask, %xmm0
298
+ andps mask, %xmm2
299
+ andps mask, %xmm4
300
+ andps mask, %xmm6
301
+ addps %xmm0, %xmm1
302
+ addps %xmm2, %xmm3
303
+ addps %xmm4, %xmm5
304
+ addps %xmm6, %xmm7
305
+
306
+ movaps TEMP_BYTE(32), %xmm2
307
+ movaps TEMP_BYTE(96), %xmm6
308
+ movaps %xmm2, %xmm0
309
+ movaps %xmm6, %xmm4
310
+ shufps $0x1e, %xmm0, %xmm0
311
+ shufps $0x1e, %xmm4, %xmm4
312
+ andps mask, %xmm0
313
+ andps mask, %xmm4
314
+ addps %xmm3, %xmm2
315
+ addps %xmm0, %xmm3
316
+ addps %xmm7, %xmm6
317
+ addps %xmm4, %xmm7
318
+
319
+ movaps TEMP_BYTE(0), %xmm0
320
+ movaps TEMP_BYTE(64), %xmm4
321
+
322
+ cvtps2pi %xmm0, %mm0
323
+ cvtps2pi %xmm1, %mm1
324
+ movhlps %xmm0, %xmm0
325
+ movhlps %xmm1, %xmm1
326
+ cvtps2pi %xmm0, %mm2
327
+ cvtps2pi %xmm1, %mm3
328
+ packssdw %mm2, %mm0
329
+ packssdw %mm3, %mm1
330
+
331
+ cvtps2pi %xmm2, %mm2
332
+ cvtps2pi %xmm3, %mm3
333
+ movhlps %xmm2, %xmm2
334
+ movhlps %xmm3, %xmm3
335
+ cvtps2pi %xmm2, %mm4
336
+ cvtps2pi %xmm3, %mm5
337
+ packssdw %mm4, %mm2
338
+ packssdw %mm5, %mm3
339
+
340
+ movd %mm0, %eax
341
+ movd %mm1, %edx
342
+ movw %ax, 512(%ecx)
343
+ movw %dx, 384(%ecx)
344
+ shrl $16, %eax
345
+ shrl $16, %edx
346
+ movw %ax, (%ecx)
347
+ movw %ax, (%ebx)
348
+ movw %dx, 128(%ebx)
349
+
350
+ movd %mm2, %eax
351
+ movd %mm3, %edx
352
+ movw %ax, 448(%ecx)
353
+ movw %dx, 320(%ecx)
354
+ shrl $16, %eax
355
+ shrl $16, %edx
356
+ movw %ax, 64(%ebx)
357
+ movw %dx, 192(%ebx)
358
+
359
+ psrlq $32, %mm0
360
+ psrlq $32, %mm1
361
+ movd %mm0, %eax
362
+ movd %mm1, %edx
363
+ movw %ax, 256(%ecx)
364
+ movw %dx, 128(%ecx)
365
+ shrl $16, %eax
366
+ shrl $16, %edx
367
+ movw %ax, 256(%ebx)
368
+ movw %dx, 384(%ebx)
369
+
370
+ psrlq $32, %mm2
371
+ psrlq $32, %mm3
372
+ movd %mm2, %eax
373
+ movd %mm3, %edx
374
+ movw %ax, 192(%ecx)
375
+ movw %dx, 64(%ecx)
376
+ shrl $16, %eax
377
+ shrl $16, %edx
378
+ movw %ax, 320(%ebx)
379
+ movw %dx, 448(%ebx)
380
+
381
+ movaps %xmm4, %xmm0
382
+ shufps $0x1e, %xmm0, %xmm0
383
+ movaps %xmm5, %xmm1
384
+ andps mask, %xmm0
385
+
386
+ addps %xmm6, %xmm4
387
+ addps %xmm7, %xmm5
388
+ addps %xmm1, %xmm6
389
+ addps %xmm0, %xmm7
390
+
391
+ cvtps2pi %xmm4, %mm0
392
+ cvtps2pi %xmm5, %mm1
393
+ movhlps %xmm4, %xmm4
394
+ movhlps %xmm5, %xmm5
395
+ cvtps2pi %xmm4, %mm2
396
+ cvtps2pi %xmm5, %mm3
397
+ packssdw %mm2, %mm0
398
+ packssdw %mm3, %mm1
399
+
400
+ cvtps2pi %xmm6, %mm2
401
+ cvtps2pi %xmm7, %mm3
402
+ movhlps %xmm6, %xmm6
403
+ movhlps %xmm7, %xmm7
404
+ cvtps2pi %xmm6, %mm4
405
+ cvtps2pi %xmm7, %mm5
406
+ packssdw %mm4, %mm2
407
+ packssdw %mm5, %mm3
408
+
409
+ movd %mm0, %eax
410
+ movd %mm2, %edx
411
+ movw %ax, 480(%ecx)
412
+ movw %dx, 416(%ecx)
413
+ shrl $16, %eax
414
+ shrl $16, %edx
415
+ movw %ax, 32(%ebx)
416
+ movw %dx, 96(%ebx)
417
+
418
+ psrlq $32, %mm0
419
+ psrlq $32, %mm2
420
+ movd %mm0, %eax
421
+ movd %mm2, %edx
422
+ movw %ax, 224(%ecx)
423
+ movw %dx, 160(%ecx)
424
+ shrl $16, %eax
425
+ shrl $16, %edx
426
+ movw %ax, 288(%ebx)
427
+ movw %dx, 352(%ebx)
428
+
429
+ movd %mm1, %eax
430
+ movd %mm3, %edx
431
+ movw %ax, 352(%ecx)
432
+ movw %dx, 288(%ecx)
433
+ shrl $16, %eax
434
+ shrl $16, %edx
435
+ movw %ax, 160(%ebx)
436
+ movw %dx, 224(%ebx)
437
+
438
+ psrlq $32, %mm1
439
+ psrlq $32, %mm3
440
+ movd %mm1, %eax
441
+ movd %mm3, %edx
442
+ movw %ax, 96(%ecx)
443
+ movw %dx, 32(%ecx)
444
+ shrl $16, %eax
445
+ shrl $16, %edx
446
+ movw %ax, 416(%ebx)
447
+ movw %dx, 480(%ebx)
448
+
449
+ popl %ebx
450
+ movl %ebp, %esp
451
+ popl %ebp
452
+ ret
453
+
454
+ NONEXEC_STACK