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.
- data/.yardopts +1 -0
- data/LICENSE +13 -0
- data/README.md +265 -0
- data/ext/seal/extconf.rb +45 -0
- data/include/al/al.h +724 -0
- data/include/al/alc.h +277 -0
- data/include/al/efx-presets.h +402 -0
- data/include/al/efx.h +758 -0
- data/include/mpg123/mpg123.h +1034 -0
- data/include/ogg/config_types.h +25 -0
- data/include/ogg/ogg.h +210 -0
- data/include/ogg/os_types.h +147 -0
- data/include/seal.h +23 -0
- data/include/seal/buf.h +143 -0
- data/include/seal/core.h +95 -0
- data/include/seal/efs.h +112 -0
- data/include/seal/err.h +93 -0
- data/include/seal/fmt.h +58 -0
- data/include/seal/listener.h +103 -0
- data/include/seal/raw.h +86 -0
- data/include/seal/rvb.h +520 -0
- data/include/seal/src.h +413 -0
- data/include/seal/stream.h +81 -0
- data/include/vorbis/codec.h +243 -0
- data/include/vorbis/vorbisfile.h +206 -0
- data/mpg123/AUTHORS +150 -0
- data/mpg123/COPYING +773 -0
- data/mpg123/ChangeLog +3 -0
- data/mpg123/INSTALL +111 -0
- data/mpg123/Makefile.am +99 -0
- data/mpg123/Makefile.in +1043 -0
- data/mpg123/NEWS +1200 -0
- data/mpg123/NEWS.libmpg123 +133 -0
- data/mpg123/README +203 -0
- data/mpg123/TODO +38 -0
- data/mpg123/aclocal.m4 +1168 -0
- data/mpg123/build/config.guess +1530 -0
- data/mpg123/build/config.sub +1782 -0
- data/mpg123/build/depcomp +707 -0
- data/mpg123/build/install-sh +527 -0
- data/mpg123/build/ltmain.sh +9655 -0
- data/mpg123/build/missing +330 -0
- data/mpg123/configure +20267 -0
- data/mpg123/configure.ac +2178 -0
- data/mpg123/doc/ACCURACY +2 -0
- data/mpg123/doc/BENCHMARKING +110 -0
- data/mpg123/doc/BUGS +3 -0
- data/mpg123/doc/CONTACT +17 -0
- data/mpg123/doc/LICENSE +22 -0
- data/mpg123/doc/Makefile.am +32 -0
- data/mpg123/doc/Makefile.in +490 -0
- data/mpg123/doc/PATENTS +39 -0
- data/mpg123/doc/README.3DNOW +56 -0
- data/mpg123/doc/README.gain +171 -0
- data/mpg123/doc/README.remote +218 -0
- data/mpg123/doc/ROAD_TO_LGPL +270 -0
- data/mpg123/doc/THANKS +13 -0
- data/mpg123/doc/TODO +63 -0
- data/mpg123/doc/doxy_examples.c +21 -0
- data/mpg123/doc/doxygen.conf +41 -0
- data/mpg123/doc/doxyhead.xhtml +12 -0
- data/mpg123/doc/examples/dump_seekindex.c +41 -0
- data/mpg123/doc/examples/extract_frames.c +92 -0
- data/mpg123/doc/examples/feedseek.c +238 -0
- data/mpg123/doc/examples/id3dump.c +178 -0
- data/mpg123/doc/examples/mpg123_to_wav.c +118 -0
- data/mpg123/doc/examples/mpglib.c +92 -0
- data/mpg123/doc/examples/scan.c +47 -0
- data/mpg123/doc/libmpg123_speed.txt +84 -0
- data/mpg123/equalize.dat +37 -0
- data/mpg123/libmpg123.pc.in +11 -0
- data/mpg123/m4/addrconfig.m4 +34 -0
- data/mpg123/m4/libtool.m4 +7982 -0
- data/mpg123/m4/ltoptions.m4 +384 -0
- data/mpg123/m4/ltsugar.m4 +123 -0
- data/mpg123/m4/ltversion.m4 +23 -0
- data/mpg123/m4/lt~obsolete.m4 +98 -0
- data/mpg123/makedll.sh +19 -0
- data/mpg123/man1/mpg123.1 +512 -0
- data/mpg123/mpg123.spec +68 -0
- data/mpg123/mpg123.spec.in +68 -0
- data/mpg123/ports/MSVC++/2005/libmpg123/libmpg123.vcproj +741 -0
- data/mpg123/ports/MSVC++/2008/dump_seekindex/dump_seekindex.vcproj +194 -0
- data/mpg123/ports/MSVC++/2008/feedseek/feedseek.vcproj +195 -0
- data/mpg123/ports/MSVC++/2008/libmpg123/libmpg123.vcproj +1357 -0
- data/mpg123/ports/MSVC++/2008/mpg123.sln +44 -0
- data/mpg123/ports/MSVC++/2008/mpglib/mpglib.vcproj +191 -0
- data/mpg123/ports/MSVC++/2008/scan/scan.vcproj +195 -0
- data/mpg123/ports/MSVC++/2008clr/2008clr.sln +81 -0
- data/mpg123/ports/MSVC++/2008clr/examples/ReplaceReaderclr/Program.cs +435 -0
- data/mpg123/ports/MSVC++/2008clr/examples/ReplaceReaderclr/Properties/AssemblyInfo.cs +36 -0
- data/mpg123/ports/MSVC++/2008clr/examples/ReplaceReaderclr/ReplaceReaderclr.csproj +72 -0
- data/mpg123/ports/MSVC++/2008clr/examples/feedseekclr/Program.cs +331 -0
- data/mpg123/ports/MSVC++/2008clr/examples/feedseekclr/Properties/AssemblyInfo.cs +36 -0
- data/mpg123/ports/MSVC++/2008clr/examples/feedseekclr/feedseekclr.csproj +71 -0
- data/mpg123/ports/MSVC++/2008clr/examples/scanclr/Program.cs +79 -0
- data/mpg123/ports/MSVC++/2008clr/examples/scanclr/Properties/AssemblyInfo.cs +36 -0
- data/mpg123/ports/MSVC++/2008clr/examples/scanclr/scanclr.csproj +70 -0
- data/mpg123/ports/MSVC++/2008clr/mpg123clr/AssemblyInfo.cpp +76 -0
- data/mpg123/ports/MSVC++/2008clr/mpg123clr/ReadMe.txt +165 -0
- data/mpg123/ports/MSVC++/2008clr/mpg123clr/advanced.cpp +91 -0
- data/mpg123/ports/MSVC++/2008clr/mpg123clr/advanced.h +130 -0
- data/mpg123/ports/MSVC++/2008clr/mpg123clr/dllmain.cpp +19 -0
- data/mpg123/ports/MSVC++/2008clr/mpg123clr/enum.h +218 -0
- data/mpg123/ports/MSVC++/2008clr/mpg123clr/error.cpp +48 -0
- data/mpg123/ports/MSVC++/2008clr/mpg123clr/error.h +134 -0
- data/mpg123/ports/MSVC++/2008clr/mpg123clr/id3v1.cpp +92 -0
- data/mpg123/ports/MSVC++/2008clr/mpg123clr/id3v1.h +132 -0
- data/mpg123/ports/MSVC++/2008clr/mpg123clr/id3v2.cpp +138 -0
- data/mpg123/ports/MSVC++/2008clr/mpg123clr/id3v2.h +152 -0
- data/mpg123/ports/MSVC++/2008clr/mpg123clr/mpg123clr.cpp +896 -0
- data/mpg123/ports/MSVC++/2008clr/mpg123clr/mpg123clr.h +953 -0
- data/mpg123/ports/MSVC++/2008clr/mpg123clr/mpg123clr.rc +102 -0
- data/mpg123/ports/MSVC++/2008clr/mpg123clr/mpg123clr.vcproj +328 -0
- data/mpg123/ports/MSVC++/2008clr/mpg123clr/resource.h +14 -0
- data/mpg123/ports/MSVC++/2008clr/mpg123clr/stdafx.cpp +8 -0
- data/mpg123/ports/MSVC++/2008clr/mpg123clr/stdafx.h +38 -0
- data/mpg123/ports/MSVC++/2008clr/mpg123clr/string.cpp +166 -0
- data/mpg123/ports/MSVC++/2008clr/mpg123clr/string.h +265 -0
- data/mpg123/ports/MSVC++/2008clr/mpg123clr/targetver.h +24 -0
- data/mpg123/ports/MSVC++/2008clr/mpg123clr/text.cpp +67 -0
- data/mpg123/ports/MSVC++/2008clr/mpg123clr/text.h +111 -0
- data/mpg123/ports/MSVC++/2010/dump_seekindex/dump_seekindex.vcxproj +90 -0
- data/mpg123/ports/MSVC++/2010/dump_seekindex/dump_seekindex.vcxproj.filters +6 -0
- data/mpg123/ports/MSVC++/2010/feedseek/feedseek.vcxproj +95 -0
- data/mpg123/ports/MSVC++/2010/feedseek/feedseek.vcxproj.filters +6 -0
- data/mpg123/ports/MSVC++/2010/libmpg123/libmpg123.vcxproj +960 -0
- data/mpg123/ports/MSVC++/2010/libmpg123/libmpg123.vcxproj.user +3 -0
- data/mpg123/ports/MSVC++/2010/libmpg123/yasm.exe +0 -0
- data/mpg123/ports/MSVC++/2010/mpg123.sln +38 -0
- data/mpg123/ports/MSVC++/2010/scan/scan.vcxproj +93 -0
- data/mpg123/ports/MSVC++/2010/scan/scan.vcxproj.filters +6 -0
- data/mpg123/ports/MSVC++/CMP3Stream/INCLUDE/CORE/CORE_FileIn.H +15 -0
- data/mpg123/ports/MSVC++/CMP3Stream/INCLUDE/CORE/SourceFilter_MP3.H +139 -0
- data/mpg123/ports/MSVC++/CMP3Stream/INCLUDE/IIEP_Def.H +206 -0
- data/mpg123/ports/MSVC++/CMP3Stream/INCLUDE/IIEP_FileIn.H +167 -0
- data/mpg123/ports/MSVC++/CMP3Stream/README +4 -0
- data/mpg123/ports/MSVC++/CMP3Stream/SOURCE/CORE_FileIn.CPP +462 -0
- data/mpg123/ports/MSVC++/CMP3Stream/SOURCE/CORE_Log.CPP +122 -0
- data/mpg123/ports/MSVC++/CMP3Stream/SOURCE/CORE_Mutex.CPP +35 -0
- data/mpg123/ports/MSVC++/CMP3Stream/SOURCE/SourceFilter_MP3Stream.CPP +586 -0
- data/mpg123/ports/MSVC++/CMP3Stream/libMPG123/PLACE_LIBMPG123_SOURCES_HERE +0 -0
- data/mpg123/ports/MSVC++/CMP3Stream/libMPG123/libMPG123.vcproj +245 -0
- data/mpg123/ports/MSVC++/config.h +35 -0
- data/mpg123/ports/MSVC++/examples/feedseek.c +240 -0
- data/mpg123/ports/MSVC++/examples/scan.c +47 -0
- data/mpg123/ports/MSVC++/mpg123.h +46 -0
- data/mpg123/ports/MSVC++/msvc.c +59 -0
- data/mpg123/ports/README +26 -0
- data/mpg123/ports/Sony_PSP/Makefile.psp +38 -0
- data/mpg123/ports/Sony_PSP/README +11 -0
- data/mpg123/ports/Sony_PSP/config.h +368 -0
- data/mpg123/ports/Sony_PSP/readers.c.patch +2 -0
- data/mpg123/ports/Xcode/config.h +197 -0
- data/mpg123/ports/Xcode/mpg123.h +17 -0
- data/mpg123/ports/Xcode/mpg123.xcodeproj/project.pbxproj +670 -0
- data/mpg123/ports/mpg123_.pas +478 -0
- data/mpg123/scripts/benchmark-cpu.pl +56 -0
- data/mpg123/scripts/tag_lyrics.py +76 -0
- data/mpg123/src/Makefile.am +186 -0
- data/mpg123/src/Makefile.in +1097 -0
- data/mpg123/src/audio.c +725 -0
- data/mpg123/src/audio.h +106 -0
- data/mpg123/src/buffer.c +312 -0
- data/mpg123/src/buffer.h +45 -0
- data/mpg123/src/common.c +240 -0
- data/mpg123/src/common.h +29 -0
- data/mpg123/src/config.h.in +436 -0
- data/mpg123/src/control_generic.c +809 -0
- data/mpg123/src/equalizer.c +48 -0
- data/mpg123/src/genre.c +271 -0
- data/mpg123/src/genre.h +15 -0
- data/mpg123/src/getlopt.c +148 -0
- data/mpg123/src/getlopt.h +77 -0
- data/mpg123/src/httpget.c +700 -0
- data/mpg123/src/httpget.h +66 -0
- data/mpg123/src/legacy_module.c +74 -0
- data/mpg123/src/libmpg123/Makefile.am +141 -0
- data/mpg123/src/libmpg123/Makefile.in +919 -0
- data/mpg123/src/libmpg123/compat.c +138 -0
- data/mpg123/src/libmpg123/compat.h +178 -0
- data/mpg123/src/libmpg123/dct36_3dnow.S +505 -0
- data/mpg123/src/libmpg123/dct36_3dnowext.S +512 -0
- data/mpg123/src/libmpg123/dct64.c +174 -0
- data/mpg123/src/libmpg123/dct64_3dnow.S +712 -0
- data/mpg123/src/libmpg123/dct64_3dnowext.S +714 -0
- data/mpg123/src/libmpg123/dct64_altivec.c +315 -0
- data/mpg123/src/libmpg123/dct64_i386.c +336 -0
- data/mpg123/src/libmpg123/dct64_i486.c +342 -0
- data/mpg123/src/libmpg123/dct64_mmx.S +811 -0
- data/mpg123/src/libmpg123/dct64_neon.S +297 -0
- data/mpg123/src/libmpg123/dct64_neon_float.S +270 -0
- data/mpg123/src/libmpg123/dct64_sse.S +454 -0
- data/mpg123/src/libmpg123/dct64_sse_float.S +401 -0
- data/mpg123/src/libmpg123/dct64_x86_64.S +464 -0
- data/mpg123/src/libmpg123/dct64_x86_64_float.S +426 -0
- data/mpg123/src/libmpg123/debug.h +171 -0
- data/mpg123/src/libmpg123/decode.h +268 -0
- data/mpg123/src/libmpg123/dither.c +119 -0
- data/mpg123/src/libmpg123/dither.h +23 -0
- data/mpg123/src/libmpg123/equalizer.c +17 -0
- data/mpg123/src/libmpg123/equalizer_3dnow.S +70 -0
- data/mpg123/src/libmpg123/feature.c +106 -0
- data/mpg123/src/libmpg123/format.c +521 -0
- data/mpg123/src/libmpg123/frame.c +1046 -0
- data/mpg123/src/libmpg123/frame.h +410 -0
- data/mpg123/src/libmpg123/gapless.h +119 -0
- data/mpg123/src/libmpg123/getbits.h +100 -0
- data/mpg123/src/libmpg123/getcpuflags.S +91 -0
- data/mpg123/src/libmpg123/getcpuflags.h +47 -0
- data/mpg123/src/libmpg123/huffman.h +340 -0
- data/mpg123/src/libmpg123/icy.c +32 -0
- data/mpg123/src/libmpg123/icy.h +38 -0
- data/mpg123/src/libmpg123/icy2utf8.c +438 -0
- data/mpg123/src/libmpg123/icy2utf8.h +10 -0
- data/mpg123/src/libmpg123/id3.c +999 -0
- data/mpg123/src/libmpg123/id3.h +43 -0
- data/mpg123/src/libmpg123/index.c +134 -0
- data/mpg123/src/libmpg123/index.h +59 -0
- data/mpg123/src/libmpg123/intsym.h +256 -0
- data/mpg123/src/libmpg123/l12_integer_tables.h +278 -0
- data/mpg123/src/libmpg123/l2tables.h +164 -0
- data/mpg123/src/libmpg123/l3_integer_tables.h +1002 -0
- data/mpg123/src/libmpg123/layer1.c +155 -0
- data/mpg123/src/libmpg123/layer2.c +371 -0
- data/mpg123/src/libmpg123/layer3.c +2053 -0
- data/mpg123/src/libmpg123/lfs_alias.c +252 -0
- data/mpg123/src/libmpg123/lfs_wrap.c +751 -0
- data/mpg123/src/libmpg123/libmpg123.c +1607 -0
- data/mpg123/src/libmpg123/mangle.h +74 -0
- data/mpg123/src/libmpg123/mpeghead.h +87 -0
- data/mpg123/src/libmpg123/mpg123.h.in +1075 -0
- data/mpg123/src/libmpg123/mpg123lib_intern.h +338 -0
- data/mpg123/src/libmpg123/ntom.c +148 -0
- data/mpg123/src/libmpg123/optimize.c +964 -0
- data/mpg123/src/libmpg123/optimize.h +219 -0
- data/mpg123/src/libmpg123/parse.c +1179 -0
- data/mpg123/src/libmpg123/parse.h +25 -0
- data/mpg123/src/libmpg123/reader.h +137 -0
- data/mpg123/src/libmpg123/readers.c +1235 -0
- data/mpg123/src/libmpg123/sample.h +152 -0
- data/mpg123/src/libmpg123/stringbuf.c +163 -0
- data/mpg123/src/libmpg123/synth.c +816 -0
- data/mpg123/src/libmpg123/synth.h +196 -0
- data/mpg123/src/libmpg123/synth_3dnow.S +318 -0
- data/mpg123/src/libmpg123/synth_3dnowext.S +6 -0
- data/mpg123/src/libmpg123/synth_8bit.c +142 -0
- data/mpg123/src/libmpg123/synth_8bit.h +86 -0
- data/mpg123/src/libmpg123/synth_altivec.c +1057 -0
- data/mpg123/src/libmpg123/synth_arm.S +271 -0
- data/mpg123/src/libmpg123/synth_arm_accurate.S +287 -0
- data/mpg123/src/libmpg123/synth_i486.c +252 -0
- data/mpg123/src/libmpg123/synth_i586.S +336 -0
- data/mpg123/src/libmpg123/synth_i586_dither.S +375 -0
- data/mpg123/src/libmpg123/synth_mmx.S +125 -0
- data/mpg123/src/libmpg123/synth_mono.h +64 -0
- data/mpg123/src/libmpg123/synth_neon.S +123 -0
- data/mpg123/src/libmpg123/synth_neon_accurate.S +173 -0
- data/mpg123/src/libmpg123/synth_neon_float.S +149 -0
- data/mpg123/src/libmpg123/synth_neon_s32.S +168 -0
- data/mpg123/src/libmpg123/synth_ntom.h +213 -0
- data/mpg123/src/libmpg123/synth_real.c +404 -0
- data/mpg123/src/libmpg123/synth_s32.c +411 -0
- data/mpg123/src/libmpg123/synth_sse.S +6 -0
- data/mpg123/src/libmpg123/synth_sse3d.h +246 -0
- data/mpg123/src/libmpg123/synth_sse_accurate.S +294 -0
- data/mpg123/src/libmpg123/synth_sse_float.S +241 -0
- data/mpg123/src/libmpg123/synth_sse_s32.S +306 -0
- data/mpg123/src/libmpg123/synth_stereo_neon.S +175 -0
- data/mpg123/src/libmpg123/synth_stereo_neon_accurate.S +262 -0
- data/mpg123/src/libmpg123/synth_stereo_neon_float.S +220 -0
- data/mpg123/src/libmpg123/synth_stereo_neon_s32.S +247 -0
- data/mpg123/src/libmpg123/synth_stereo_sse_accurate.S +508 -0
- data/mpg123/src/libmpg123/synth_stereo_sse_float.S +416 -0
- data/mpg123/src/libmpg123/synth_stereo_sse_s32.S +540 -0
- data/mpg123/src/libmpg123/synth_stereo_x86_64.S +335 -0
- data/mpg123/src/libmpg123/synth_stereo_x86_64_accurate.S +454 -0
- data/mpg123/src/libmpg123/synth_stereo_x86_64_float.S +396 -0
- data/mpg123/src/libmpg123/synth_stereo_x86_64_s32.S +473 -0
- data/mpg123/src/libmpg123/synth_x86_64.S +244 -0
- data/mpg123/src/libmpg123/synth_x86_64_accurate.S +301 -0
- data/mpg123/src/libmpg123/synth_x86_64_float.S +259 -0
- data/mpg123/src/libmpg123/synth_x86_64_s32.S +312 -0
- data/mpg123/src/libmpg123/synths.h +52 -0
- data/mpg123/src/libmpg123/tabinit.c +294 -0
- data/mpg123/src/libmpg123/tabinit_mmx.S +210 -0
- data/mpg123/src/libmpg123/testcpu.c +35 -0
- data/mpg123/src/libmpg123/true.h +14 -0
- data/mpg123/src/local.c +63 -0
- data/mpg123/src/local.h +21 -0
- data/mpg123/src/metaprint.c +373 -0
- data/mpg123/src/metaprint.h +17 -0
- data/mpg123/src/module.c +306 -0
- data/mpg123/src/module.h +48 -0
- data/mpg123/src/mpg123.c +1405 -0
- data/mpg123/src/mpg123app.h +171 -0
- data/mpg123/src/output/Makefile.am +213 -0
- data/mpg123/src/output/Makefile.in +1238 -0
- data/mpg123/src/output/aix.c +300 -0
- data/mpg123/src/output/alib.c +209 -0
- data/mpg123/src/output/alsa.c +297 -0
- data/mpg123/src/output/arts.c +117 -0
- data/mpg123/src/output/coreaudio.c +370 -0
- data/mpg123/src/output/dummy.c +78 -0
- data/mpg123/src/output/esd.c +167 -0
- data/mpg123/src/output/hp.c +184 -0
- data/mpg123/src/output/jack.c +450 -0
- data/mpg123/src/output/mint.c +197 -0
- data/mpg123/src/output/nas.c +335 -0
- data/mpg123/src/output/openal.c +197 -0
- data/mpg123/src/output/os2.c +665 -0
- data/mpg123/src/output/oss.c +319 -0
- data/mpg123/src/output/portaudio.c +255 -0
- data/mpg123/src/output/pulse.c +164 -0
- data/mpg123/src/output/sdl.c +206 -0
- data/mpg123/src/output/sgi.c +213 -0
- data/mpg123/src/output/sndio.c +161 -0
- data/mpg123/src/output/sun.c +281 -0
- data/mpg123/src/output/win32.c +229 -0
- data/mpg123/src/playlist.c +596 -0
- data/mpg123/src/playlist.h +52 -0
- data/mpg123/src/resolver.c +319 -0
- data/mpg123/src/resolver.h +25 -0
- data/mpg123/src/sfifo.c +146 -0
- data/mpg123/src/sfifo.h +95 -0
- data/mpg123/src/streamdump.c +74 -0
- data/mpg123/src/streamdump.h +20 -0
- data/mpg123/src/term.c +479 -0
- data/mpg123/src/term.h +81 -0
- data/mpg123/src/tests/noise.c +52 -0
- data/mpg123/src/tests/plain_id3.c +109 -0
- data/mpg123/src/tests/seek_accuracy.c +261 -0
- data/mpg123/src/tests/seek_whence.c +56 -0
- data/mpg123/src/tests/testtext.h +34 -0
- data/mpg123/src/tests/text.c +80 -0
- data/mpg123/src/wav.c +464 -0
- data/mpg123/src/wavhead.h +68 -0
- data/mpg123/src/win32_net.c +599 -0
- data/mpg123/src/win32_support.c +191 -0
- data/mpg123/src/win32_support.h +152 -0
- data/mpg123/src/xfermem.c +321 -0
- data/mpg123/src/xfermem.h +74 -0
- data/mpg123/windows-builds.sh +137 -0
- data/msvc/lib/OpenAL32.lib +0 -0
- data/spec/fixtures/heal.ogg +0 -0
- data/spec/fixtures/tone_up.wav +0 -0
- data/spec/seal/buffer_spec.rb +37 -0
- data/spec/seal/core_spec.rb +29 -0
- data/spec/seal/effect_slot_spec.rb +38 -0
- data/spec/seal/listener_spec.rb +33 -0
- data/spec/seal/reverb_spec.rb +51 -0
- data/spec/seal/source_spec.rb +370 -0
- data/spec/seal/stream_spec.rb +38 -0
- data/spec/spec_helper.rb +45 -0
- data/spec/support/attribute_examples.rb +75 -0
- data/spec/support/audio_object_with_format.rb +27 -0
- data/spec/support/movable_object.rb +22 -0
- data/src/libogg/bitwise.c +857 -0
- data/src/libogg/framing.c +2093 -0
- data/src/libvorbis/backends.h +144 -0
- data/src/libvorbis/bitrate.c +253 -0
- data/src/libvorbis/bitrate.h +59 -0
- data/src/libvorbis/block.c +1046 -0
- data/src/libvorbis/codebook.c +484 -0
- data/src/libvorbis/codebook.h +119 -0
- data/src/libvorbis/codec_internal.h +167 -0
- data/src/libvorbis/envelope.c +375 -0
- data/src/libvorbis/envelope.h +80 -0
- data/src/libvorbis/floor0.c +221 -0
- data/src/libvorbis/floor1.c +1100 -0
- data/src/libvorbis/highlevel.h +58 -0
- data/src/libvorbis/info.c +668 -0
- data/src/libvorbis/lookup.c +94 -0
- data/src/libvorbis/lookup.h +32 -0
- data/src/libvorbis/lookup_data.h +192 -0
- data/src/libvorbis/lpc.c +160 -0
- data/src/libvorbis/lpc.h +29 -0
- data/src/libvorbis/lsp.c +456 -0
- data/src/libvorbis/lsp.h +28 -0
- data/src/libvorbis/mapping0.c +816 -0
- data/src/libvorbis/masking.h +785 -0
- data/src/libvorbis/mdct.c +563 -0
- data/src/libvorbis/mdct.h +71 -0
- data/src/libvorbis/misc.h +57 -0
- data/src/libvorbis/os.h +186 -0
- data/src/libvorbis/psy.c +1206 -0
- data/src/libvorbis/psy.h +154 -0
- data/src/libvorbis/registry.c +45 -0
- data/src/libvorbis/registry.h +32 -0
- data/src/libvorbis/res0.c +889 -0
- data/src/libvorbis/scales.h +90 -0
- data/src/libvorbis/sharedbook.c +579 -0
- data/src/libvorbis/smallft.c +1255 -0
- data/src/libvorbis/smallft.h +34 -0
- data/src/libvorbis/synthesis.c +184 -0
- data/src/libvorbis/vorbisfile.c +2337 -0
- data/src/libvorbis/window.c +2135 -0
- data/src/libvorbis/window.h +26 -0
- data/src/rubyext.c +2329 -0
- data/src/seal/buf.c +124 -0
- data/src/seal/core.c +283 -0
- data/src/seal/efs.c +74 -0
- data/src/seal/err.c +118 -0
- data/src/seal/fmt.c +86 -0
- data/src/seal/listener.c +111 -0
- data/src/seal/mpg.c +174 -0
- data/src/seal/mpg.h +24 -0
- data/src/seal/ov.c +180 -0
- data/src/seal/ov.h +22 -0
- data/src/seal/raw.c +59 -0
- data/src/seal/reader.c +102 -0
- data/src/seal/reader.h +59 -0
- data/src/seal/rvb.c +368 -0
- data/src/seal/src.c +654 -0
- data/src/seal/stream.c +109 -0
- data/src/seal/threading.c +66 -0
- data/src/seal/threading.h +20 -0
- data/src/seal/wav.c +297 -0
- data/src/seal/wav.h +23 -0
- data/src/win32api.rb +29 -0
- metadata +563 -0
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
/*
|
|
2
|
+
compat: Some compatibility functions.
|
|
3
|
+
|
|
4
|
+
The mpg123 code is determined to keep it's legacy. A legacy of old, old UNIX.
|
|
5
|
+
So anything possibly somewhat advanced should be considered to be put here, with proper #ifdef;-)
|
|
6
|
+
|
|
7
|
+
copyright 2007-8 by the mpg123 project - free software under the terms of the LGPL 2.1
|
|
8
|
+
see COPYING and AUTHORS files in distribution or http://mpg123.org
|
|
9
|
+
initially written by Thomas Orgis, Windows Unicode stuff by JonY.
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
#include "config.h"
|
|
13
|
+
#include "compat.h"
|
|
14
|
+
|
|
15
|
+
#ifdef _MSC_VER
|
|
16
|
+
#include <io.h>
|
|
17
|
+
#else
|
|
18
|
+
#include <fcntl.h>
|
|
19
|
+
#endif
|
|
20
|
+
#include <sys/stat.h>
|
|
21
|
+
|
|
22
|
+
#ifdef WANT_WIN32_UNICODE
|
|
23
|
+
#include <wchar.h>
|
|
24
|
+
#include <windows.h>
|
|
25
|
+
#include <winnls.h>
|
|
26
|
+
#endif
|
|
27
|
+
|
|
28
|
+
#include "debug.h"
|
|
29
|
+
|
|
30
|
+
/* A safe realloc also for very old systems where realloc(NULL, size) returns NULL. */
|
|
31
|
+
void *safe_realloc(void *ptr, size_t size)
|
|
32
|
+
{
|
|
33
|
+
if(ptr == NULL) return malloc(size);
|
|
34
|
+
else return realloc(ptr, size);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
#ifndef HAVE_STRERROR
|
|
38
|
+
const char *strerror(int errnum)
|
|
39
|
+
{
|
|
40
|
+
extern int sys_nerr;
|
|
41
|
+
extern char *sys_errlist[];
|
|
42
|
+
|
|
43
|
+
return (errnum < sys_nerr) ? sys_errlist[errnum] : "";
|
|
44
|
+
}
|
|
45
|
+
#endif
|
|
46
|
+
|
|
47
|
+
#ifndef HAVE_STRDUP
|
|
48
|
+
char *strdup(const char *src)
|
|
49
|
+
{
|
|
50
|
+
char *dest;
|
|
51
|
+
|
|
52
|
+
if (!(dest = (char *) malloc(strlen(src)+1)))
|
|
53
|
+
return NULL;
|
|
54
|
+
else
|
|
55
|
+
return strcpy(dest, src);
|
|
56
|
+
}
|
|
57
|
+
#endif
|
|
58
|
+
|
|
59
|
+
int compat_open(const char *filename, int flags)
|
|
60
|
+
{
|
|
61
|
+
int ret;
|
|
62
|
+
#if defined (WANT_WIN32_UNICODE)
|
|
63
|
+
wchar_t *frag = NULL;
|
|
64
|
+
|
|
65
|
+
ret = win32_utf8_wide(filename, &frag, NULL);
|
|
66
|
+
if ((frag == NULL) || (ret == 0)) goto fallback; /* Fallback to plain open when ucs-2 conversion fails */
|
|
67
|
+
|
|
68
|
+
ret = _wopen(frag, flags); /*Try _wopen */
|
|
69
|
+
if (ret != -1 ) goto open_ok; /* msdn says -1 means failure */
|
|
70
|
+
|
|
71
|
+
fallback:
|
|
72
|
+
#endif
|
|
73
|
+
|
|
74
|
+
#if (defined(WIN32) && !defined (__CYGWIN__)) /* MSDN says POSIX function is deprecated beginning in Visual C++ 2005 */
|
|
75
|
+
ret = _open(filename, flags); /* Try plain old _open(), if it fails, do nothing */
|
|
76
|
+
#else
|
|
77
|
+
/* On UNIX, we always add a default permission mask in case flags|O_CREAT. */
|
|
78
|
+
ret = open(filename, flags, S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH);
|
|
79
|
+
#endif
|
|
80
|
+
|
|
81
|
+
#if defined (WANT_WIN32_UNICODE)
|
|
82
|
+
open_ok:
|
|
83
|
+
free ((void *)frag); /* Freeing a NULL should be OK */
|
|
84
|
+
#endif
|
|
85
|
+
|
|
86
|
+
return ret;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
int compat_close(int infd)
|
|
90
|
+
{
|
|
91
|
+
#if (defined(WIN32) && !defined (__CYGWIN__)) /* MSDN says POSIX function is deprecated beginning in Visual C++ 2005 */
|
|
92
|
+
return _close(infd);
|
|
93
|
+
#else
|
|
94
|
+
return close(infd);
|
|
95
|
+
#endif
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
/* Windows Unicode stuff */
|
|
99
|
+
|
|
100
|
+
#ifdef WANT_WIN32_UNICODE
|
|
101
|
+
int win32_wide_utf8(const wchar_t * const wptr, char **mbptr, size_t * buflen)
|
|
102
|
+
{
|
|
103
|
+
size_t len;
|
|
104
|
+
char *buf;
|
|
105
|
+
int ret = 0;
|
|
106
|
+
|
|
107
|
+
len = WideCharToMultiByte(CP_UTF8, 0, wptr, -1, NULL, 0, NULL, NULL); /* Get utf-8 string length */
|
|
108
|
+
buf = calloc(len + 1, sizeof (char)); /* Can we assume sizeof char always = 1? */
|
|
109
|
+
|
|
110
|
+
if(!buf) len = 0;
|
|
111
|
+
else {
|
|
112
|
+
if (len != 0) ret = WideCharToMultiByte(CP_UTF8, 0, wptr, -1, buf, len, NULL, NULL); /*Do actual conversion*/
|
|
113
|
+
buf[len] = '0'; /* Must terminate */
|
|
114
|
+
}
|
|
115
|
+
*mbptr = buf; /* Set string pointer to allocated buffer */
|
|
116
|
+
if(buflen != NULL) *buflen = (len) * sizeof (char); /* Give length of allocated memory if needed. */
|
|
117
|
+
return ret;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
int win32_utf8_wide(const char *const mbptr, wchar_t **wptr, size_t *buflen)
|
|
121
|
+
{
|
|
122
|
+
size_t len;
|
|
123
|
+
wchar_t *buf;
|
|
124
|
+
int ret = 0;
|
|
125
|
+
|
|
126
|
+
len = MultiByteToWideChar(CP_UTF8, MB_ERR_INVALID_CHARS, mbptr, -1, NULL, 0); /* Get converted size */
|
|
127
|
+
buf = calloc(len + 1, sizeof (wchar_t)); /* Allocate memory accordingly */
|
|
128
|
+
|
|
129
|
+
if(!buf) len = 0;
|
|
130
|
+
else {
|
|
131
|
+
if (len != 0) ret = MultiByteToWideChar (CP_UTF8, MB_ERR_INVALID_CHARS, mbptr, -1, buf, len); /* Do conversion */
|
|
132
|
+
buf[len] = L'0'; /* Must terminate */
|
|
133
|
+
}
|
|
134
|
+
*wptr = buf; /* Set string pointer to allocated buffer */
|
|
135
|
+
if (buflen != NULL) *buflen = len * sizeof (wchar_t); /* Give length of allocated memory if needed. */
|
|
136
|
+
return ret; /* Number of characters written */
|
|
137
|
+
}
|
|
138
|
+
#endif
|
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
/*
|
|
2
|
+
compat: Some compatibility functions and header inclusions.
|
|
3
|
+
Basic standard C stuff, that may barely be above/around C89.
|
|
4
|
+
|
|
5
|
+
The mpg123 code is determined to keep it's legacy. A legacy of old, old UNIX.
|
|
6
|
+
It is envisioned to include this compat header instead of any of the "standard" headers, to catch compatibility issues.
|
|
7
|
+
So, don't include stdlib.h or string.h ... include compat.h.
|
|
8
|
+
|
|
9
|
+
copyright 2007-8 by the mpg123 project - free software under the terms of the LGPL 2.1
|
|
10
|
+
see COPYING and AUTHORS files in distribution or http://mpg123.org
|
|
11
|
+
initially written by Thomas Orgis
|
|
12
|
+
*/
|
|
13
|
+
|
|
14
|
+
#ifndef MPG123_COMPAT_H
|
|
15
|
+
#define MPG123_COMPAT_H
|
|
16
|
+
|
|
17
|
+
#include "config.h"
|
|
18
|
+
#include "intsym.h"
|
|
19
|
+
|
|
20
|
+
#ifdef HAVE_STDLIB_H
|
|
21
|
+
/* realloc, size_t */
|
|
22
|
+
#include <stdlib.h>
|
|
23
|
+
#endif
|
|
24
|
+
|
|
25
|
+
#include <stdio.h>
|
|
26
|
+
#include <math.h>
|
|
27
|
+
|
|
28
|
+
#ifdef HAVE_SIGNAL_H
|
|
29
|
+
#include <signal.h>
|
|
30
|
+
#else
|
|
31
|
+
#ifdef HAVE_SYS_SIGNAL_H
|
|
32
|
+
#include <sys/signal.h>
|
|
33
|
+
#endif
|
|
34
|
+
#endif
|
|
35
|
+
|
|
36
|
+
#ifdef HAVE_UNISTD_H
|
|
37
|
+
#include <unistd.h>
|
|
38
|
+
#endif
|
|
39
|
+
|
|
40
|
+
/* Types, types, types. */
|
|
41
|
+
/* Do we actually need these two in addition to sys/types.h? As replacement? */
|
|
42
|
+
#ifdef HAVE_SYS_TYPES_H
|
|
43
|
+
#include <sys/types.h>
|
|
44
|
+
#endif
|
|
45
|
+
#ifdef HAVE_INTTYPES_H
|
|
46
|
+
#include <inttypes.h>
|
|
47
|
+
#endif
|
|
48
|
+
#ifdef HAVE_STDINT_H
|
|
49
|
+
#include <stdint.h>
|
|
50
|
+
#endif
|
|
51
|
+
/* We want SIZE_MAX, etc. */
|
|
52
|
+
#ifdef HAVE_LIMITS_H
|
|
53
|
+
#include <limits.h>
|
|
54
|
+
#endif
|
|
55
|
+
|
|
56
|
+
#ifndef SIZE_MAX
|
|
57
|
+
#define SIZE_MAX ((size_t)-1)
|
|
58
|
+
#endif
|
|
59
|
+
#ifndef ULONG_MAX
|
|
60
|
+
#define ULONG_MAX ((unsigned long)-1)
|
|
61
|
+
#endif
|
|
62
|
+
|
|
63
|
+
#ifdef HAVE_STRING_H
|
|
64
|
+
#include <string.h>
|
|
65
|
+
#endif
|
|
66
|
+
|
|
67
|
+
#ifdef OS2
|
|
68
|
+
#include <float.h>
|
|
69
|
+
#endif
|
|
70
|
+
|
|
71
|
+
#ifdef HAVE_SYS_TIME_H
|
|
72
|
+
#include <sys/time.h>
|
|
73
|
+
#endif
|
|
74
|
+
/* For select(), I need select.h according to POSIX 2001, else: sys/time.h sys/types.h unistd.h */
|
|
75
|
+
#ifdef HAVE_SYS_SELECT_H
|
|
76
|
+
#include <sys/select.h>
|
|
77
|
+
#endif
|
|
78
|
+
|
|
79
|
+
/* To parse big numbers... */
|
|
80
|
+
#ifdef HAVE_ATOLL
|
|
81
|
+
#define atobigint atoll
|
|
82
|
+
#else
|
|
83
|
+
#define atobigint atol
|
|
84
|
+
#endif
|
|
85
|
+
|
|
86
|
+
typedef unsigned char byte;
|
|
87
|
+
|
|
88
|
+
/* A safe realloc also for very old systems where realloc(NULL, size) returns NULL. */
|
|
89
|
+
void *safe_realloc(void *ptr, size_t size);
|
|
90
|
+
#ifndef HAVE_STRERROR
|
|
91
|
+
const char *strerror(int errnum);
|
|
92
|
+
#endif
|
|
93
|
+
|
|
94
|
+
#ifndef HAVE_STRDUP
|
|
95
|
+
char *strdup(const char *s);
|
|
96
|
+
#endif
|
|
97
|
+
|
|
98
|
+
/* If we have the size checks enabled, try to derive some sane printfs.
|
|
99
|
+
Simple start: Use max integer type and format if long is not big enough.
|
|
100
|
+
I am hesitating to use %ll without making sure that it's there... */
|
|
101
|
+
#if !(defined PLAIN_C89) && (defined SIZEOF_OFF_T) && (SIZEOF_OFF_T > SIZEOF_LONG) && (defined PRIiMAX)
|
|
102
|
+
# define OFF_P PRIiMAX
|
|
103
|
+
typedef intmax_t off_p;
|
|
104
|
+
#else
|
|
105
|
+
# define OFF_P "li"
|
|
106
|
+
typedef long off_p;
|
|
107
|
+
#endif
|
|
108
|
+
|
|
109
|
+
#if !(defined PLAIN_C89) && (defined SIZEOF_SIZE_T) && (SIZEOF_SIZE_T > SIZEOF_LONG) && (defined PRIuMAX)
|
|
110
|
+
# define SIZE_P PRIuMAX
|
|
111
|
+
typedef uintmax_t size_p;
|
|
112
|
+
#else
|
|
113
|
+
# define SIZE_P "lu"
|
|
114
|
+
typedef unsigned long size_p;
|
|
115
|
+
#endif
|
|
116
|
+
|
|
117
|
+
#if !(defined PLAIN_C89) && (defined SIZEOF_SSIZE_T) && (SIZEOF_SSIZE_T > SIZEOF_LONG) && (defined PRIiMAX)
|
|
118
|
+
# define SSIZE_P PRIuMAX
|
|
119
|
+
typedef intmax_t ssize_p;
|
|
120
|
+
#else
|
|
121
|
+
# define SSIZE_P "li"
|
|
122
|
+
typedef long ssize_p;
|
|
123
|
+
#endif
|
|
124
|
+
|
|
125
|
+
/**
|
|
126
|
+
* Opening a file handle can be different.
|
|
127
|
+
* This function here is defined to take a path in native encoding (ISO8859 / UTF-8 / ...), or, when MS Windows Unicode support is enabled, an UTF-8 string that will be converted back to native UCS-2 (wide character) before calling the system's open function.
|
|
128
|
+
* @param[in] wptr Pointer to wide string.
|
|
129
|
+
* @param[in] mbptr Pointer to multibyte string.
|
|
130
|
+
* @return file descriptor (>=0) or error code.
|
|
131
|
+
*/
|
|
132
|
+
int compat_open(const char *filename, int flags);
|
|
133
|
+
|
|
134
|
+
/**
|
|
135
|
+
* Closing a file handle can be platform specific.
|
|
136
|
+
* This function takes a file descriptor that is to be closed.
|
|
137
|
+
* @param[in] infd File descriptor to be closed.
|
|
138
|
+
* @return 0 if the file was successfully closed. A return value of -1 indicates an error.
|
|
139
|
+
*/
|
|
140
|
+
int compat_close(int infd);
|
|
141
|
+
|
|
142
|
+
/* Those do make sense in a separate file, but I chose to include them in compat.c because that's the one source whose object is shared between mpg123 and libmpg123 -- and both need the functionality internally. */
|
|
143
|
+
|
|
144
|
+
#ifdef WANT_WIN32_UNICODE
|
|
145
|
+
/**
|
|
146
|
+
* win32_uni2mbc
|
|
147
|
+
* Converts a null terminated UCS-2 string to a multibyte (UTF-8) equivalent.
|
|
148
|
+
* Caller is supposed to free allocated buffer.
|
|
149
|
+
* @param[in] wptr Pointer to wide string.
|
|
150
|
+
* @param[out] mbptr Pointer to multibyte string.
|
|
151
|
+
* @param[out] buflen Optional parameter for length of allocated buffer.
|
|
152
|
+
* @return status of WideCharToMultiByte conversion.
|
|
153
|
+
*
|
|
154
|
+
* WideCharToMultiByte - http://msdn.microsoft.com/en-us/library/dd374130(VS.85).aspx
|
|
155
|
+
*/
|
|
156
|
+
int win32_wide_utf8(const wchar_t * const wptr, char **mbptr, size_t * buflen);
|
|
157
|
+
|
|
158
|
+
/**
|
|
159
|
+
* win32_mbc2uni
|
|
160
|
+
* Converts a null terminated UTF-8 string to a UCS-2 equivalent.
|
|
161
|
+
* Caller is supposed to free allocated buffer.
|
|
162
|
+
* @param[out] mbptr Pointer to multibyte string.
|
|
163
|
+
* @param[in] wptr Pointer to wide string.
|
|
164
|
+
* @param[out] buflen Optional parameter for length of allocated buffer.
|
|
165
|
+
* @return status of WideCharToMultiByte conversion.
|
|
166
|
+
*
|
|
167
|
+
* MultiByteToWideChar - http://msdn.microsoft.com/en-us/library/dd319072(VS.85).aspx
|
|
168
|
+
*/
|
|
169
|
+
|
|
170
|
+
int win32_utf8_wide(const char *const mbptr, wchar_t **wptr, size_t *buflen);
|
|
171
|
+
#endif
|
|
172
|
+
|
|
173
|
+
/* That one comes from Tellie on OS/2, needed in resolver. */
|
|
174
|
+
#ifdef __KLIBC__
|
|
175
|
+
typedef int socklen_t;
|
|
176
|
+
#endif
|
|
177
|
+
|
|
178
|
+
#endif
|
|
@@ -0,0 +1,505 @@
|
|
|
1
|
+
/*
|
|
2
|
+
dct64_3dnow.s: Replacement of dct36() 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
|
+
This code based 'dct36_3dnow.s' by Syuuhei Kashiyama
|
|
9
|
+
<squash@mb.kcom.ne.jp>,only two types of changes have been made:
|
|
10
|
+
|
|
11
|
+
- remove PREFETCH instruction for speedup
|
|
12
|
+
- change function name for support 3DNow! automatic detect
|
|
13
|
+
|
|
14
|
+
You can find Kashiyama's original 3dnow! support patch
|
|
15
|
+
(for mpg123-0.59o) at
|
|
16
|
+
http://user.ecc.u-tokyo.ac.jp/~g810370/linux-simd/ (Japanese).
|
|
17
|
+
|
|
18
|
+
by KIMURA Takuhiro <kim@hannah.ipc.miyakyo-u.ac.jp> - until 31.Mar.1999
|
|
19
|
+
<kim@comtec.co.jp> - after 1.Apr.1999
|
|
20
|
+
|
|
21
|
+
Replacement of dct36() with AMD's 3DNow! SIMD operations support
|
|
22
|
+
|
|
23
|
+
Syuuhei Kashiyama <squash@mb.kcom.ne.jp>
|
|
24
|
+
|
|
25
|
+
The author of this program disclaim whole expressed or implied
|
|
26
|
+
warranties with regard to this program, and in no event shall the
|
|
27
|
+
author of this program liable to whatever resulted from the use of
|
|
28
|
+
this program. Use it at your own risk.
|
|
29
|
+
*/
|
|
30
|
+
|
|
31
|
+
#include "mangle.h"
|
|
32
|
+
|
|
33
|
+
.globl ASM_NAME(dct36_3dnow)
|
|
34
|
+
/* .type ASM_NAME(dct36_3dnow),@function */
|
|
35
|
+
ASM_NAME(dct36_3dnow):
|
|
36
|
+
pushl %ebp
|
|
37
|
+
movl %esp,%ebp
|
|
38
|
+
subl $120,%esp
|
|
39
|
+
pushl %esi
|
|
40
|
+
pushl %ebx
|
|
41
|
+
movl 8(%ebp),%eax
|
|
42
|
+
movl 12(%ebp),%esi
|
|
43
|
+
movl 16(%ebp),%ecx
|
|
44
|
+
movl 20(%ebp),%edx
|
|
45
|
+
movl 24(%ebp),%ebx
|
|
46
|
+
leal -128(%ebp),%esp
|
|
47
|
+
|
|
48
|
+
femms
|
|
49
|
+
movq (%eax),%mm0
|
|
50
|
+
movq 4(%eax),%mm1
|
|
51
|
+
pfadd %mm1,%mm0
|
|
52
|
+
movq %mm0,4(%eax)
|
|
53
|
+
psrlq $32,%mm1
|
|
54
|
+
movq 12(%eax),%mm2
|
|
55
|
+
punpckldq %mm2,%mm1
|
|
56
|
+
pfadd %mm2,%mm1
|
|
57
|
+
movq %mm1,12(%eax)
|
|
58
|
+
psrlq $32,%mm2
|
|
59
|
+
movq 20(%eax),%mm3
|
|
60
|
+
punpckldq %mm3,%mm2
|
|
61
|
+
pfadd %mm3,%mm2
|
|
62
|
+
movq %mm2,20(%eax)
|
|
63
|
+
psrlq $32,%mm3
|
|
64
|
+
movq 28(%eax),%mm4
|
|
65
|
+
punpckldq %mm4,%mm3
|
|
66
|
+
pfadd %mm4,%mm3
|
|
67
|
+
movq %mm3,28(%eax)
|
|
68
|
+
psrlq $32,%mm4
|
|
69
|
+
movq 36(%eax),%mm5
|
|
70
|
+
punpckldq %mm5,%mm4
|
|
71
|
+
pfadd %mm5,%mm4
|
|
72
|
+
movq %mm4,36(%eax)
|
|
73
|
+
psrlq $32,%mm5
|
|
74
|
+
movq 44(%eax),%mm6
|
|
75
|
+
punpckldq %mm6,%mm5
|
|
76
|
+
pfadd %mm6,%mm5
|
|
77
|
+
movq %mm5,44(%eax)
|
|
78
|
+
psrlq $32,%mm6
|
|
79
|
+
movq 52(%eax),%mm7
|
|
80
|
+
punpckldq %mm7,%mm6
|
|
81
|
+
pfadd %mm7,%mm6
|
|
82
|
+
movq %mm6,52(%eax)
|
|
83
|
+
psrlq $32,%mm7
|
|
84
|
+
movq 60(%eax),%mm0
|
|
85
|
+
punpckldq %mm0,%mm7
|
|
86
|
+
pfadd %mm0,%mm7
|
|
87
|
+
movq %mm7,60(%eax)
|
|
88
|
+
psrlq $32,%mm0
|
|
89
|
+
movd 68(%eax),%mm1
|
|
90
|
+
pfadd %mm1,%mm0
|
|
91
|
+
movd %mm0,68(%eax)
|
|
92
|
+
movd 4(%eax),%mm0
|
|
93
|
+
movd 12(%eax),%mm1
|
|
94
|
+
punpckldq %mm1,%mm0
|
|
95
|
+
punpckldq 20(%eax),%mm1
|
|
96
|
+
pfadd %mm1,%mm0
|
|
97
|
+
movd %mm0,12(%eax)
|
|
98
|
+
psrlq $32,%mm0
|
|
99
|
+
movd %mm0,20(%eax)
|
|
100
|
+
psrlq $32,%mm1
|
|
101
|
+
movd 28(%eax),%mm2
|
|
102
|
+
punpckldq %mm2,%mm1
|
|
103
|
+
punpckldq 36(%eax),%mm2
|
|
104
|
+
pfadd %mm2,%mm1
|
|
105
|
+
movd %mm1,28(%eax)
|
|
106
|
+
psrlq $32,%mm1
|
|
107
|
+
movd %mm1,36(%eax)
|
|
108
|
+
psrlq $32,%mm2
|
|
109
|
+
movd 44(%eax),%mm3
|
|
110
|
+
punpckldq %mm3,%mm2
|
|
111
|
+
punpckldq 52(%eax),%mm3
|
|
112
|
+
pfadd %mm3,%mm2
|
|
113
|
+
movd %mm2,44(%eax)
|
|
114
|
+
psrlq $32,%mm2
|
|
115
|
+
movd %mm2,52(%eax)
|
|
116
|
+
psrlq $32,%mm3
|
|
117
|
+
movd 60(%eax),%mm4
|
|
118
|
+
punpckldq %mm4,%mm3
|
|
119
|
+
punpckldq 68(%eax),%mm4
|
|
120
|
+
pfadd %mm4,%mm3
|
|
121
|
+
movd %mm3,60(%eax)
|
|
122
|
+
psrlq $32,%mm3
|
|
123
|
+
movd %mm3,68(%eax)
|
|
124
|
+
|
|
125
|
+
movq 24(%eax),%mm0
|
|
126
|
+
movq 48(%eax),%mm1
|
|
127
|
+
movd ASM_NAME(COS9)+12,%mm2
|
|
128
|
+
punpckldq %mm2,%mm2
|
|
129
|
+
movd ASM_NAME(COS9)+24,%mm3
|
|
130
|
+
punpckldq %mm3,%mm3
|
|
131
|
+
pfmul %mm2,%mm0
|
|
132
|
+
pfmul %mm3,%mm1
|
|
133
|
+
pushl %eax
|
|
134
|
+
movl $1,%eax
|
|
135
|
+
movd %eax,%mm7
|
|
136
|
+
pi2fd %mm7,%mm7
|
|
137
|
+
popl %eax
|
|
138
|
+
movq 8(%eax),%mm2
|
|
139
|
+
movd ASM_NAME(COS9)+4,%mm3
|
|
140
|
+
punpckldq %mm3,%mm3
|
|
141
|
+
pfmul %mm3,%mm2
|
|
142
|
+
pfadd %mm0,%mm2
|
|
143
|
+
movq 40(%eax),%mm3
|
|
144
|
+
movd ASM_NAME(COS9)+20,%mm4
|
|
145
|
+
punpckldq %mm4,%mm4
|
|
146
|
+
pfmul %mm4,%mm3
|
|
147
|
+
pfadd %mm3,%mm2
|
|
148
|
+
movq 56(%eax),%mm3
|
|
149
|
+
movd ASM_NAME(COS9)+28,%mm4
|
|
150
|
+
punpckldq %mm4,%mm4
|
|
151
|
+
pfmul %mm4,%mm3
|
|
152
|
+
pfadd %mm3,%mm2
|
|
153
|
+
movq (%eax),%mm3
|
|
154
|
+
movq 16(%eax),%mm4
|
|
155
|
+
movd ASM_NAME(COS9)+8,%mm5
|
|
156
|
+
punpckldq %mm5,%mm5
|
|
157
|
+
pfmul %mm5,%mm4
|
|
158
|
+
pfadd %mm4,%mm3
|
|
159
|
+
movq 32(%eax),%mm4
|
|
160
|
+
movd ASM_NAME(COS9)+16,%mm5
|
|
161
|
+
punpckldq %mm5,%mm5
|
|
162
|
+
pfmul %mm5,%mm4
|
|
163
|
+
pfadd %mm4,%mm3
|
|
164
|
+
pfadd %mm1,%mm3
|
|
165
|
+
movq 64(%eax),%mm4
|
|
166
|
+
movd ASM_NAME(COS9)+32,%mm5
|
|
167
|
+
punpckldq %mm5,%mm5
|
|
168
|
+
pfmul %mm5,%mm4
|
|
169
|
+
pfadd %mm4,%mm3
|
|
170
|
+
movq %mm2,%mm4
|
|
171
|
+
pfadd %mm3,%mm4
|
|
172
|
+
movq %mm7,%mm5
|
|
173
|
+
punpckldq ASM_NAME(tfcos36)+0,%mm5
|
|
174
|
+
pfmul %mm5,%mm4
|
|
175
|
+
movq %mm4,%mm5
|
|
176
|
+
pfacc %mm5,%mm5
|
|
177
|
+
movd 108(%edx),%mm6
|
|
178
|
+
punpckldq 104(%edx),%mm6
|
|
179
|
+
pfmul %mm6,%mm5
|
|
180
|
+
movd %mm5,36(%ecx)
|
|
181
|
+
psrlq $32,%mm5
|
|
182
|
+
movd %mm5,32(%ecx)
|
|
183
|
+
movq %mm4,%mm6
|
|
184
|
+
punpckldq %mm6,%mm5
|
|
185
|
+
pfsub %mm6,%mm5
|
|
186
|
+
punpckhdq %mm5,%mm5
|
|
187
|
+
movd 32(%edx),%mm6
|
|
188
|
+
punpckldq 36(%edx),%mm6
|
|
189
|
+
pfmul %mm6,%mm5
|
|
190
|
+
movd 32(%esi),%mm6
|
|
191
|
+
punpckldq 36(%esi),%mm6
|
|
192
|
+
pfadd %mm6,%mm5
|
|
193
|
+
movd %mm5,1024(%ebx)
|
|
194
|
+
psrlq $32,%mm5
|
|
195
|
+
movd %mm5,1152(%ebx)
|
|
196
|
+
movq %mm3,%mm4
|
|
197
|
+
pfsub %mm2,%mm4
|
|
198
|
+
movq %mm7,%mm5
|
|
199
|
+
punpckldq ASM_NAME(tfcos36)+32,%mm5
|
|
200
|
+
pfmul %mm5,%mm4
|
|
201
|
+
movq %mm4,%mm5
|
|
202
|
+
pfacc %mm5,%mm5
|
|
203
|
+
movd 140(%edx),%mm6
|
|
204
|
+
punpckldq 72(%edx),%mm6
|
|
205
|
+
pfmul %mm6,%mm5
|
|
206
|
+
movd %mm5,68(%ecx)
|
|
207
|
+
psrlq $32,%mm5
|
|
208
|
+
movd %mm5,0(%ecx)
|
|
209
|
+
movq %mm4,%mm6
|
|
210
|
+
punpckldq %mm6,%mm5
|
|
211
|
+
pfsub %mm6,%mm5
|
|
212
|
+
punpckhdq %mm5,%mm5
|
|
213
|
+
movd 0(%edx),%mm6
|
|
214
|
+
punpckldq 68(%edx),%mm6
|
|
215
|
+
pfmul %mm6,%mm5
|
|
216
|
+
movd 0(%esi),%mm6
|
|
217
|
+
punpckldq 68(%esi),%mm6
|
|
218
|
+
pfadd %mm6,%mm5
|
|
219
|
+
movd %mm5,0(%ebx)
|
|
220
|
+
psrlq $32,%mm5
|
|
221
|
+
movd %mm5,2176(%ebx)
|
|
222
|
+
movq 8(%eax),%mm2
|
|
223
|
+
movq 40(%eax),%mm3
|
|
224
|
+
pfsub %mm3,%mm2
|
|
225
|
+
movq 56(%eax),%mm3
|
|
226
|
+
pfsub %mm3,%mm2
|
|
227
|
+
movd ASM_NAME(COS9)+12,%mm3
|
|
228
|
+
punpckldq %mm3,%mm3
|
|
229
|
+
pfmul %mm3,%mm2
|
|
230
|
+
movq 16(%eax),%mm3
|
|
231
|
+
movq 32(%eax),%mm4
|
|
232
|
+
pfsub %mm4,%mm3
|
|
233
|
+
movq 64(%eax),%mm4
|
|
234
|
+
pfsub %mm4,%mm3
|
|
235
|
+
movd ASM_NAME(COS9)+24,%mm4
|
|
236
|
+
punpckldq %mm4,%mm4
|
|
237
|
+
pfmul %mm4,%mm3
|
|
238
|
+
movq 48(%eax),%mm4
|
|
239
|
+
pfsub %mm4,%mm3
|
|
240
|
+
movq (%eax),%mm4
|
|
241
|
+
pfadd %mm4,%mm3
|
|
242
|
+
movq %mm2,%mm4
|
|
243
|
+
pfadd %mm3,%mm4
|
|
244
|
+
movq %mm7,%mm5
|
|
245
|
+
punpckldq ASM_NAME(tfcos36)+4,%mm5
|
|
246
|
+
pfmul %mm5,%mm4
|
|
247
|
+
movq %mm4,%mm5
|
|
248
|
+
pfacc %mm5,%mm5
|
|
249
|
+
movd 112(%edx),%mm6
|
|
250
|
+
punpckldq 100(%edx),%mm6
|
|
251
|
+
pfmul %mm6,%mm5
|
|
252
|
+
movd %mm5,40(%ecx)
|
|
253
|
+
psrlq $32,%mm5
|
|
254
|
+
movd %mm5,28(%ecx)
|
|
255
|
+
movq %mm4,%mm6
|
|
256
|
+
punpckldq %mm6,%mm5
|
|
257
|
+
pfsub %mm6,%mm5
|
|
258
|
+
punpckhdq %mm5,%mm5
|
|
259
|
+
movd 28(%edx),%mm6
|
|
260
|
+
punpckldq 40(%edx),%mm6
|
|
261
|
+
pfmul %mm6,%mm5
|
|
262
|
+
movd 28(%esi),%mm6
|
|
263
|
+
punpckldq 40(%esi),%mm6
|
|
264
|
+
pfadd %mm6,%mm5
|
|
265
|
+
movd %mm5,896(%ebx)
|
|
266
|
+
psrlq $32,%mm5
|
|
267
|
+
movd %mm5,1280(%ebx)
|
|
268
|
+
movq %mm3,%mm4
|
|
269
|
+
pfsub %mm2,%mm4
|
|
270
|
+
movq %mm7,%mm5
|
|
271
|
+
punpckldq ASM_NAME(tfcos36)+28,%mm5
|
|
272
|
+
pfmul %mm5,%mm4
|
|
273
|
+
movq %mm4,%mm5
|
|
274
|
+
pfacc %mm5,%mm5
|
|
275
|
+
movd 136(%edx),%mm6
|
|
276
|
+
punpckldq 76(%edx),%mm6
|
|
277
|
+
pfmul %mm6,%mm5
|
|
278
|
+
movd %mm5,64(%ecx)
|
|
279
|
+
psrlq $32,%mm5
|
|
280
|
+
movd %mm5,4(%ecx)
|
|
281
|
+
movq %mm4,%mm6
|
|
282
|
+
punpckldq %mm6,%mm5
|
|
283
|
+
pfsub %mm6,%mm5
|
|
284
|
+
punpckhdq %mm5,%mm5
|
|
285
|
+
movd 4(%edx),%mm6
|
|
286
|
+
punpckldq 64(%edx),%mm6
|
|
287
|
+
pfmul %mm6,%mm5
|
|
288
|
+
movd 4(%esi),%mm6
|
|
289
|
+
punpckldq 64(%esi),%mm6
|
|
290
|
+
pfadd %mm6,%mm5
|
|
291
|
+
movd %mm5,128(%ebx)
|
|
292
|
+
psrlq $32,%mm5
|
|
293
|
+
movd %mm5,2048(%ebx)
|
|
294
|
+
|
|
295
|
+
movq 8(%eax),%mm2
|
|
296
|
+
movd ASM_NAME(COS9)+20,%mm3
|
|
297
|
+
punpckldq %mm3,%mm3
|
|
298
|
+
pfmul %mm3,%mm2
|
|
299
|
+
pfsub %mm0,%mm2
|
|
300
|
+
movq 40(%eax),%mm3
|
|
301
|
+
movd ASM_NAME(COS9)+28,%mm4
|
|
302
|
+
punpckldq %mm4,%mm4
|
|
303
|
+
pfmul %mm4,%mm3
|
|
304
|
+
pfsub %mm3,%mm2
|
|
305
|
+
movq 56(%eax),%mm3
|
|
306
|
+
movd ASM_NAME(COS9)+4,%mm4
|
|
307
|
+
punpckldq %mm4,%mm4
|
|
308
|
+
pfmul %mm4,%mm3
|
|
309
|
+
pfadd %mm3,%mm2
|
|
310
|
+
movq (%eax),%mm3
|
|
311
|
+
movq 16(%eax),%mm4
|
|
312
|
+
movd ASM_NAME(COS9)+32,%mm5
|
|
313
|
+
punpckldq %mm5,%mm5
|
|
314
|
+
pfmul %mm5,%mm4
|
|
315
|
+
pfsub %mm4,%mm3
|
|
316
|
+
movq 32(%eax),%mm4
|
|
317
|
+
movd ASM_NAME(COS9)+8,%mm5
|
|
318
|
+
punpckldq %mm5,%mm5
|
|
319
|
+
pfmul %mm5,%mm4
|
|
320
|
+
pfsub %mm4,%mm3
|
|
321
|
+
pfadd %mm1,%mm3
|
|
322
|
+
movq 64(%eax),%mm4
|
|
323
|
+
movd ASM_NAME(COS9)+16,%mm5
|
|
324
|
+
punpckldq %mm5,%mm5
|
|
325
|
+
pfmul %mm5,%mm4
|
|
326
|
+
pfadd %mm4,%mm3
|
|
327
|
+
movq %mm2,%mm4
|
|
328
|
+
pfadd %mm3,%mm4
|
|
329
|
+
movq %mm7,%mm5
|
|
330
|
+
punpckldq ASM_NAME(tfcos36)+8,%mm5
|
|
331
|
+
pfmul %mm5,%mm4
|
|
332
|
+
movq %mm4,%mm5
|
|
333
|
+
pfacc %mm5,%mm5
|
|
334
|
+
movd 116(%edx),%mm6
|
|
335
|
+
punpckldq 96(%edx),%mm6
|
|
336
|
+
pfmul %mm6,%mm5
|
|
337
|
+
movd %mm5,44(%ecx)
|
|
338
|
+
psrlq $32,%mm5
|
|
339
|
+
movd %mm5,24(%ecx)
|
|
340
|
+
movq %mm4,%mm6
|
|
341
|
+
punpckldq %mm6,%mm5
|
|
342
|
+
pfsub %mm6,%mm5
|
|
343
|
+
punpckhdq %mm5,%mm5
|
|
344
|
+
movd 24(%edx),%mm6
|
|
345
|
+
punpckldq 44(%edx),%mm6
|
|
346
|
+
pfmul %mm6,%mm5
|
|
347
|
+
movd 24(%esi),%mm6
|
|
348
|
+
punpckldq 44(%esi),%mm6
|
|
349
|
+
pfadd %mm6,%mm5
|
|
350
|
+
movd %mm5,768(%ebx)
|
|
351
|
+
psrlq $32,%mm5
|
|
352
|
+
movd %mm5,1408(%ebx)
|
|
353
|
+
movq %mm3,%mm4
|
|
354
|
+
pfsub %mm2,%mm4
|
|
355
|
+
movq %mm7,%mm5
|
|
356
|
+
punpckldq ASM_NAME(tfcos36)+24,%mm5
|
|
357
|
+
pfmul %mm5,%mm4
|
|
358
|
+
movq %mm4,%mm5
|
|
359
|
+
pfacc %mm5,%mm5
|
|
360
|
+
movd 132(%edx),%mm6
|
|
361
|
+
punpckldq 80(%edx),%mm6
|
|
362
|
+
pfmul %mm6,%mm5
|
|
363
|
+
movd %mm5,60(%ecx)
|
|
364
|
+
psrlq $32,%mm5
|
|
365
|
+
movd %mm5,8(%ecx)
|
|
366
|
+
movq %mm4,%mm6
|
|
367
|
+
punpckldq %mm6,%mm5
|
|
368
|
+
pfsub %mm6,%mm5
|
|
369
|
+
punpckhdq %mm5,%mm5
|
|
370
|
+
movd 8(%edx),%mm6
|
|
371
|
+
punpckldq 60(%edx),%mm6
|
|
372
|
+
pfmul %mm6,%mm5
|
|
373
|
+
movd 8(%esi),%mm6
|
|
374
|
+
punpckldq 60(%esi),%mm6
|
|
375
|
+
pfadd %mm6,%mm5
|
|
376
|
+
movd %mm5,256(%ebx)
|
|
377
|
+
psrlq $32,%mm5
|
|
378
|
+
movd %mm5,1920(%ebx)
|
|
379
|
+
movq 8(%eax),%mm2
|
|
380
|
+
movd ASM_NAME(COS9)+28,%mm3
|
|
381
|
+
punpckldq %mm3,%mm3
|
|
382
|
+
pfmul %mm3,%mm2
|
|
383
|
+
pfsub %mm0,%mm2
|
|
384
|
+
movq 40(%eax),%mm3
|
|
385
|
+
movd ASM_NAME(COS9)+4,%mm4
|
|
386
|
+
punpckldq %mm4,%mm4
|
|
387
|
+
pfmul %mm4,%mm3
|
|
388
|
+
pfadd %mm3,%mm2
|
|
389
|
+
movq 56(%eax),%mm3
|
|
390
|
+
movd ASM_NAME(COS9)+20,%mm4
|
|
391
|
+
punpckldq %mm4,%mm4
|
|
392
|
+
pfmul %mm4,%mm3
|
|
393
|
+
pfsub %mm3,%mm2
|
|
394
|
+
movq (%eax),%mm3
|
|
395
|
+
movq 16(%eax),%mm4
|
|
396
|
+
movd ASM_NAME(COS9)+16,%mm5
|
|
397
|
+
punpckldq %mm5,%mm5
|
|
398
|
+
pfmul %mm5,%mm4
|
|
399
|
+
pfsub %mm4,%mm3
|
|
400
|
+
movq 32(%eax),%mm4
|
|
401
|
+
movd ASM_NAME(COS9)+32,%mm5
|
|
402
|
+
punpckldq %mm5,%mm5
|
|
403
|
+
pfmul %mm5,%mm4
|
|
404
|
+
pfadd %mm4,%mm3
|
|
405
|
+
pfadd %mm1,%mm3
|
|
406
|
+
movq 64(%eax),%mm4
|
|
407
|
+
movd ASM_NAME(COS9)+8,%mm5
|
|
408
|
+
punpckldq %mm5,%mm5
|
|
409
|
+
pfmul %mm5,%mm4
|
|
410
|
+
pfsub %mm4,%mm3
|
|
411
|
+
movq %mm2,%mm4
|
|
412
|
+
pfadd %mm3,%mm4
|
|
413
|
+
movq %mm7,%mm5
|
|
414
|
+
punpckldq ASM_NAME(tfcos36)+12,%mm5
|
|
415
|
+
pfmul %mm5,%mm4
|
|
416
|
+
movq %mm4,%mm5
|
|
417
|
+
pfacc %mm5,%mm5
|
|
418
|
+
movd 120(%edx),%mm6
|
|
419
|
+
punpckldq 92(%edx),%mm6
|
|
420
|
+
pfmul %mm6,%mm5
|
|
421
|
+
movd %mm5,48(%ecx)
|
|
422
|
+
psrlq $32,%mm5
|
|
423
|
+
movd %mm5,20(%ecx)
|
|
424
|
+
movq %mm4,%mm6
|
|
425
|
+
punpckldq %mm6,%mm5
|
|
426
|
+
pfsub %mm6,%mm5
|
|
427
|
+
punpckhdq %mm5,%mm5
|
|
428
|
+
movd 20(%edx),%mm6
|
|
429
|
+
punpckldq 48(%edx),%mm6
|
|
430
|
+
pfmul %mm6,%mm5
|
|
431
|
+
movd 20(%esi),%mm6
|
|
432
|
+
punpckldq 48(%esi),%mm6
|
|
433
|
+
pfadd %mm6,%mm5
|
|
434
|
+
movd %mm5,640(%ebx)
|
|
435
|
+
psrlq $32,%mm5
|
|
436
|
+
movd %mm5,1536(%ebx)
|
|
437
|
+
movq %mm3,%mm4
|
|
438
|
+
pfsub %mm2,%mm4
|
|
439
|
+
movq %mm7,%mm5
|
|
440
|
+
punpckldq ASM_NAME(tfcos36)+20,%mm5
|
|
441
|
+
pfmul %mm5,%mm4
|
|
442
|
+
movq %mm4,%mm5
|
|
443
|
+
pfacc %mm5,%mm5
|
|
444
|
+
movd 128(%edx),%mm6
|
|
445
|
+
punpckldq 84(%edx),%mm6
|
|
446
|
+
pfmul %mm6,%mm5
|
|
447
|
+
movd %mm5,56(%ecx)
|
|
448
|
+
psrlq $32,%mm5
|
|
449
|
+
movd %mm5,12(%ecx)
|
|
450
|
+
movq %mm4,%mm6
|
|
451
|
+
punpckldq %mm6,%mm5
|
|
452
|
+
pfsub %mm6,%mm5
|
|
453
|
+
punpckhdq %mm5,%mm5
|
|
454
|
+
movd 12(%edx),%mm6
|
|
455
|
+
punpckldq 56(%edx),%mm6
|
|
456
|
+
pfmul %mm6,%mm5
|
|
457
|
+
movd 12(%esi),%mm6
|
|
458
|
+
punpckldq 56(%esi),%mm6
|
|
459
|
+
pfadd %mm6,%mm5
|
|
460
|
+
movd %mm5,384(%ebx)
|
|
461
|
+
psrlq $32,%mm5
|
|
462
|
+
movd %mm5,1792(%ebx)
|
|
463
|
+
|
|
464
|
+
movq (%eax),%mm4
|
|
465
|
+
movq 16(%eax),%mm3
|
|
466
|
+
pfsub %mm3,%mm4
|
|
467
|
+
movq 32(%eax),%mm3
|
|
468
|
+
pfadd %mm3,%mm4
|
|
469
|
+
movq 48(%eax),%mm3
|
|
470
|
+
pfsub %mm3,%mm4
|
|
471
|
+
movq 64(%eax),%mm3
|
|
472
|
+
pfadd %mm3,%mm4
|
|
473
|
+
movq %mm7,%mm5
|
|
474
|
+
punpckldq ASM_NAME(tfcos36)+16,%mm5
|
|
475
|
+
pfmul %mm5,%mm4
|
|
476
|
+
movq %mm4,%mm5
|
|
477
|
+
pfacc %mm5,%mm5
|
|
478
|
+
movd 124(%edx),%mm6
|
|
479
|
+
punpckldq 88(%edx),%mm6
|
|
480
|
+
pfmul %mm6,%mm5
|
|
481
|
+
movd %mm5,52(%ecx)
|
|
482
|
+
psrlq $32,%mm5
|
|
483
|
+
movd %mm5,16(%ecx)
|
|
484
|
+
movq %mm4,%mm6
|
|
485
|
+
punpckldq %mm6,%mm5
|
|
486
|
+
pfsub %mm6,%mm5
|
|
487
|
+
punpckhdq %mm5,%mm5
|
|
488
|
+
movd 16(%edx),%mm6
|
|
489
|
+
punpckldq 52(%edx),%mm6
|
|
490
|
+
pfmul %mm6,%mm5
|
|
491
|
+
movd 16(%esi),%mm6
|
|
492
|
+
punpckldq 52(%esi),%mm6
|
|
493
|
+
pfadd %mm6,%mm5
|
|
494
|
+
movd %mm5,512(%ebx)
|
|
495
|
+
psrlq $32,%mm5
|
|
496
|
+
movd %mm5,1664(%ebx)
|
|
497
|
+
|
|
498
|
+
femms
|
|
499
|
+
popl %ebx
|
|
500
|
+
popl %esi
|
|
501
|
+
movl %ebp,%esp
|
|
502
|
+
popl %ebp
|
|
503
|
+
ret
|
|
504
|
+
|
|
505
|
+
NONEXEC_STACK
|