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,271 @@
|
|
|
1
|
+
/*
|
|
2
|
+
synth_arm: ARM optimized synth
|
|
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 WINDOW r0
|
|
12
|
+
#define B0 r1
|
|
13
|
+
#define SAMPLES r2
|
|
14
|
+
#define REG_CLIP r4
|
|
15
|
+
#define REG_MAX r12
|
|
16
|
+
|
|
17
|
+
/*
|
|
18
|
+
int synth_1to1_arm_asm(real *window, real *b0, short *samples, int bo1);
|
|
19
|
+
return value: number of clipped samples
|
|
20
|
+
*/
|
|
21
|
+
|
|
22
|
+
.text
|
|
23
|
+
ALIGN4
|
|
24
|
+
.globl ASM_NAME(synth_1to1_arm_asm)
|
|
25
|
+
ASM_NAME(synth_1to1_arm_asm):
|
|
26
|
+
stmfd sp!, {r4, r5, r6, r7, r8, r9, r10, lr}
|
|
27
|
+
|
|
28
|
+
add WINDOW, WINDOW, #64
|
|
29
|
+
sub WINDOW, WINDOW, r3, lsl #2
|
|
30
|
+
eor REG_CLIP, REG_CLIP, REG_CLIP
|
|
31
|
+
mov REG_MAX, #1073741824
|
|
32
|
+
sub REG_MAX, REG_MAX, #32768
|
|
33
|
+
|
|
34
|
+
mov r3, #16
|
|
35
|
+
|
|
36
|
+
ldr r5, [WINDOW], #4
|
|
37
|
+
ldr r6, [B0], #4
|
|
38
|
+
.Loop_start_1:
|
|
39
|
+
ldr r8, [WINDOW], #4
|
|
40
|
+
ldr r9, [B0], #4
|
|
41
|
+
mul r7, r5, r6
|
|
42
|
+
ldr r5, [WINDOW], #4
|
|
43
|
+
ldr r6, [B0], #4
|
|
44
|
+
mul r10, r8, r9
|
|
45
|
+
ldr r8, [WINDOW], #4
|
|
46
|
+
ldr r9, [B0], #4
|
|
47
|
+
mla r7, r5, r6, r7
|
|
48
|
+
ldr r5, [WINDOW], #4
|
|
49
|
+
ldr r6, [B0], #4
|
|
50
|
+
mla r10, r8, r9, r10
|
|
51
|
+
ldr r8, [WINDOW], #4
|
|
52
|
+
ldr r9, [B0], #4
|
|
53
|
+
mla r7, r5, r6, r7
|
|
54
|
+
ldr r5, [WINDOW], #4
|
|
55
|
+
ldr r6, [B0], #4
|
|
56
|
+
mla r10, r8, r9, r10
|
|
57
|
+
ldr r8, [WINDOW], #4
|
|
58
|
+
ldr r9, [B0], #4
|
|
59
|
+
mla r7, r5, r6, r7
|
|
60
|
+
ldr r5, [WINDOW], #4
|
|
61
|
+
ldr r6, [B0], #4
|
|
62
|
+
mla r10, r8, r9, r10
|
|
63
|
+
ldr r8, [WINDOW], #4
|
|
64
|
+
ldr r9, [B0], #4
|
|
65
|
+
mla r7, r5, r6, r7
|
|
66
|
+
ldr r5, [WINDOW], #4
|
|
67
|
+
ldr r6, [B0], #4
|
|
68
|
+
mla r10, r8, r9, r10
|
|
69
|
+
ldr r8, [WINDOW], #4
|
|
70
|
+
ldr r9, [B0], #4
|
|
71
|
+
mla r7, r5, r6, r7
|
|
72
|
+
ldr r5, [WINDOW], #4
|
|
73
|
+
ldr r6, [B0], #4
|
|
74
|
+
mla r10, r8, r9, r10
|
|
75
|
+
ldr r8, [WINDOW], #4
|
|
76
|
+
ldr r9, [B0], #4
|
|
77
|
+
mla r7, r5, r6, r7
|
|
78
|
+
ldr r5, [WINDOW], #4
|
|
79
|
+
ldr r6, [B0], #4
|
|
80
|
+
mla r10, r8, r9, r10
|
|
81
|
+
ldr r8, [WINDOW], #68
|
|
82
|
+
ldr r9, [B0], #4
|
|
83
|
+
mla r7, r5, r6, r7
|
|
84
|
+
ldr r5, [WINDOW], #4
|
|
85
|
+
ldr r6, [B0], #4
|
|
86
|
+
mla r10, r8, r9, r10
|
|
87
|
+
|
|
88
|
+
sub r7, r7, r10
|
|
89
|
+
|
|
90
|
+
cmp r7, REG_MAX
|
|
91
|
+
movgt r7, REG_MAX
|
|
92
|
+
addgt REG_CLIP, REG_CLIP, #1
|
|
93
|
+
cmp r7, #-1073741824
|
|
94
|
+
movlt r7, #-1073741824
|
|
95
|
+
addlt REG_CLIP, REG_CLIP, #1
|
|
96
|
+
movs r7, r7, asr #15
|
|
97
|
+
adc r7, r7, #0
|
|
98
|
+
strh r7, [SAMPLES], #4
|
|
99
|
+
|
|
100
|
+
subs r3, r3, #1
|
|
101
|
+
bne .Loop_start_1
|
|
102
|
+
|
|
103
|
+
add WINDOW, WINDOW, #4
|
|
104
|
+
add B0, B0, #4
|
|
105
|
+
|
|
106
|
+
ldr r8, [WINDOW], #8
|
|
107
|
+
ldr r9, [B0], #8
|
|
108
|
+
mul r7, r5, r6
|
|
109
|
+
ldr r5, [WINDOW], #8
|
|
110
|
+
ldr r6, [B0], #8
|
|
111
|
+
mul r10, r8, r9
|
|
112
|
+
ldr r8, [WINDOW], #8
|
|
113
|
+
ldr r9, [B0], #8
|
|
114
|
+
mla r7, r5, r6, r7
|
|
115
|
+
ldr r5, [WINDOW], #8
|
|
116
|
+
ldr r6, [B0], #8
|
|
117
|
+
mla r10, r8, r9, r10
|
|
118
|
+
ldr r8, [WINDOW], #8
|
|
119
|
+
ldr r9, [B0], #8
|
|
120
|
+
mla r7, r5, r6, r7
|
|
121
|
+
ldr r5, [WINDOW], #8
|
|
122
|
+
ldr r6, [B0], #8
|
|
123
|
+
mla r10, r8, r9, r10
|
|
124
|
+
ldr r8, [WINDOW], #72
|
|
125
|
+
ldr r9, [B0], #-120
|
|
126
|
+
mla r7, r5, r6, r7
|
|
127
|
+
ldr r5, [WINDOW], #4
|
|
128
|
+
ldr r6, [B0], #4
|
|
129
|
+
mla r10, r8, r9, r10
|
|
130
|
+
|
|
131
|
+
add r7, r7, r10
|
|
132
|
+
|
|
133
|
+
cmp r7, REG_MAX
|
|
134
|
+
movgt r7, REG_MAX
|
|
135
|
+
addgt REG_CLIP, REG_CLIP, #1
|
|
136
|
+
cmp r7, #-1073741824
|
|
137
|
+
movlt r7, #-1073741824
|
|
138
|
+
addlt REG_CLIP, REG_CLIP, #1
|
|
139
|
+
movs r7, r7, asr #15
|
|
140
|
+
adc r7, r7, #0
|
|
141
|
+
strh r7, [SAMPLES], #4
|
|
142
|
+
|
|
143
|
+
mov r3, #14
|
|
144
|
+
|
|
145
|
+
.Loop_start_2:
|
|
146
|
+
ldr r8, [WINDOW], #4
|
|
147
|
+
ldr r9, [B0], #4
|
|
148
|
+
mul r7, r5, r6
|
|
149
|
+
ldr r5, [WINDOW], #4
|
|
150
|
+
ldr r6, [B0], #4
|
|
151
|
+
mul r10, r8, r9
|
|
152
|
+
ldr r8, [WINDOW], #4
|
|
153
|
+
ldr r9, [B0], #4
|
|
154
|
+
mla r7, r5, r6, r7
|
|
155
|
+
ldr r5, [WINDOW], #4
|
|
156
|
+
ldr r6, [B0], #4
|
|
157
|
+
mla r10, r8, r9, r10
|
|
158
|
+
ldr r8, [WINDOW], #4
|
|
159
|
+
ldr r9, [B0], #4
|
|
160
|
+
mla r7, r5, r6, r7
|
|
161
|
+
ldr r5, [WINDOW], #4
|
|
162
|
+
ldr r6, [B0], #4
|
|
163
|
+
mla r10, r8, r9, r10
|
|
164
|
+
ldr r8, [WINDOW], #4
|
|
165
|
+
ldr r9, [B0], #4
|
|
166
|
+
mla r7, r5, r6, r7
|
|
167
|
+
ldr r5, [WINDOW], #4
|
|
168
|
+
ldr r6, [B0], #4
|
|
169
|
+
mla r10, r8, r9, r10
|
|
170
|
+
ldr r8, [WINDOW], #4
|
|
171
|
+
ldr r9, [B0], #4
|
|
172
|
+
mla r7, r5, r6, r7
|
|
173
|
+
ldr r5, [WINDOW], #4
|
|
174
|
+
ldr r6, [B0], #4
|
|
175
|
+
mla r10, r8, r9, r10
|
|
176
|
+
ldr r8, [WINDOW], #4
|
|
177
|
+
ldr r9, [B0], #4
|
|
178
|
+
mla r7, r5, r6, r7
|
|
179
|
+
ldr r5, [WINDOW], #4
|
|
180
|
+
ldr r6, [B0], #4
|
|
181
|
+
mla r10, r8, r9, r10
|
|
182
|
+
ldr r8, [WINDOW], #4
|
|
183
|
+
ldr r9, [B0], #4
|
|
184
|
+
mla r7, r5, r6, r7
|
|
185
|
+
ldr r5, [WINDOW], #4
|
|
186
|
+
ldr r6, [B0], #4
|
|
187
|
+
mla r10, r8, r9, r10
|
|
188
|
+
ldr r8, [WINDOW], #68
|
|
189
|
+
ldr r9, [B0], #-124
|
|
190
|
+
mla r7, r5, r6, r7
|
|
191
|
+
ldr r5, [WINDOW], #4
|
|
192
|
+
ldr r6, [B0], #4
|
|
193
|
+
mla r10, r8, r9, r10
|
|
194
|
+
|
|
195
|
+
add r7, r7, r10
|
|
196
|
+
|
|
197
|
+
cmp r7, REG_MAX
|
|
198
|
+
movgt r7, REG_MAX
|
|
199
|
+
addgt REG_CLIP, REG_CLIP, #1
|
|
200
|
+
cmp r7, #-1073741824
|
|
201
|
+
movlt r7, #-1073741824
|
|
202
|
+
addlt REG_CLIP, REG_CLIP, #1
|
|
203
|
+
movs r7, r7, asr #15
|
|
204
|
+
adc r7, r7, #0
|
|
205
|
+
strh r7, [SAMPLES], #4
|
|
206
|
+
|
|
207
|
+
subs r3, r3, #1
|
|
208
|
+
bne .Loop_start_2
|
|
209
|
+
|
|
210
|
+
ldr r8, [WINDOW], #4
|
|
211
|
+
ldr r9, [B0], #4
|
|
212
|
+
mul r7, r5, r6
|
|
213
|
+
ldr r5, [WINDOW], #4
|
|
214
|
+
ldr r6, [B0], #4
|
|
215
|
+
mul r10, r8, r9
|
|
216
|
+
ldr r8, [WINDOW], #4
|
|
217
|
+
ldr r9, [B0], #4
|
|
218
|
+
mla r7, r5, r6, r7
|
|
219
|
+
ldr r5, [WINDOW], #4
|
|
220
|
+
ldr r6, [B0], #4
|
|
221
|
+
mla r10, r8, r9, r10
|
|
222
|
+
ldr r8, [WINDOW], #4
|
|
223
|
+
ldr r9, [B0], #4
|
|
224
|
+
mla r7, r5, r6, r7
|
|
225
|
+
ldr r5, [WINDOW], #4
|
|
226
|
+
ldr r6, [B0], #4
|
|
227
|
+
mla r10, r8, r9, r10
|
|
228
|
+
ldr r8, [WINDOW], #4
|
|
229
|
+
ldr r9, [B0], #4
|
|
230
|
+
mla r7, r5, r6, r7
|
|
231
|
+
ldr r5, [WINDOW], #4
|
|
232
|
+
ldr r6, [B0], #4
|
|
233
|
+
mla r10, r8, r9, r10
|
|
234
|
+
ldr r8, [WINDOW], #4
|
|
235
|
+
ldr r9, [B0], #4
|
|
236
|
+
mla r7, r5, r6, r7
|
|
237
|
+
ldr r5, [WINDOW], #4
|
|
238
|
+
ldr r6, [B0], #4
|
|
239
|
+
mla r10, r8, r9, r10
|
|
240
|
+
ldr r8, [WINDOW], #4
|
|
241
|
+
ldr r9, [B0], #4
|
|
242
|
+
mla r7, r5, r6, r7
|
|
243
|
+
ldr r5, [WINDOW], #4
|
|
244
|
+
ldr r6, [B0], #4
|
|
245
|
+
mla r10, r8, r9, r10
|
|
246
|
+
ldr r8, [WINDOW], #4
|
|
247
|
+
ldr r9, [B0], #4
|
|
248
|
+
mla r7, r5, r6, r7
|
|
249
|
+
ldr r5, [WINDOW], #4
|
|
250
|
+
ldr r6, [B0], #4
|
|
251
|
+
mla r10, r8, r9, r10
|
|
252
|
+
ldr r8, [WINDOW]
|
|
253
|
+
ldr r9, [B0]
|
|
254
|
+
mla r7, r5, r6, r7
|
|
255
|
+
mla r10, r8, r9, r10
|
|
256
|
+
|
|
257
|
+
add r7, r7, r10
|
|
258
|
+
|
|
259
|
+
cmp r7, REG_MAX
|
|
260
|
+
movgt r7, REG_MAX
|
|
261
|
+
addgt REG_CLIP, REG_CLIP, #1
|
|
262
|
+
cmp r7, #-1073741824
|
|
263
|
+
movlt r7, #-1073741824
|
|
264
|
+
addlt REG_CLIP, REG_CLIP, #1
|
|
265
|
+
movs r7, r7, asr #15
|
|
266
|
+
adc r7, r7, #0
|
|
267
|
+
strh r7, [SAMPLES]
|
|
268
|
+
|
|
269
|
+
mov r0, REG_CLIP
|
|
270
|
+
|
|
271
|
+
ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, pc}
|
|
@@ -0,0 +1,287 @@
|
|
|
1
|
+
/*
|
|
2
|
+
synth_arm_accurate: ARM optimized synth (ISO compliant 16bit output version)
|
|
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 WINDOW r0
|
|
12
|
+
#define B0 r1
|
|
13
|
+
#define SAMPLES r2
|
|
14
|
+
#define REG_CLIP r4
|
|
15
|
+
#define REG_MAX r14
|
|
16
|
+
|
|
17
|
+
/*
|
|
18
|
+
int synth_1to1_arm_accurate_asm(real *window, real *b0, short *samples, int bo1);
|
|
19
|
+
return value: number of clipped samples
|
|
20
|
+
*/
|
|
21
|
+
|
|
22
|
+
.text
|
|
23
|
+
ALIGN4
|
|
24
|
+
.globl ASM_NAME(synth_1to1_arm_accurate_asm)
|
|
25
|
+
ASM_NAME(synth_1to1_arm_accurate_asm):
|
|
26
|
+
stmfd sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr}
|
|
27
|
+
|
|
28
|
+
add WINDOW, WINDOW, #64
|
|
29
|
+
sub WINDOW, WINDOW, r3, lsl #2
|
|
30
|
+
eor REG_CLIP, REG_CLIP, REG_CLIP
|
|
31
|
+
mov REG_MAX, #1073741824
|
|
32
|
+
sub REG_MAX, REG_MAX, #32768
|
|
33
|
+
|
|
34
|
+
mov r3, #16
|
|
35
|
+
|
|
36
|
+
ldr r5, [WINDOW], #4
|
|
37
|
+
ldr r6, [B0], #4
|
|
38
|
+
.Loop_start_1:
|
|
39
|
+
ldr r9, [WINDOW], #4
|
|
40
|
+
ldr r10, [B0], #4
|
|
41
|
+
smull r8, r7, r5, r6
|
|
42
|
+
ldr r5, [WINDOW], #4
|
|
43
|
+
ldr r6, [B0], #4
|
|
44
|
+
smull r12, r11, r9, r10
|
|
45
|
+
ldr r9, [WINDOW], #4
|
|
46
|
+
ldr r10, [B0], #4
|
|
47
|
+
smlal r8, r7, r5, r6
|
|
48
|
+
ldr r5, [WINDOW], #4
|
|
49
|
+
ldr r6, [B0], #4
|
|
50
|
+
smlal r12, r11, r9, r10
|
|
51
|
+
ldr r9, [WINDOW], #4
|
|
52
|
+
ldr r10, [B0], #4
|
|
53
|
+
smlal r8, r7, r5, r6
|
|
54
|
+
ldr r5, [WINDOW], #4
|
|
55
|
+
ldr r6, [B0], #4
|
|
56
|
+
smlal r12, r11, r9, r10
|
|
57
|
+
ldr r9, [WINDOW], #4
|
|
58
|
+
ldr r10, [B0], #4
|
|
59
|
+
smlal r8, r7, r5, r6
|
|
60
|
+
ldr r5, [WINDOW], #4
|
|
61
|
+
ldr r6, [B0], #4
|
|
62
|
+
smlal r12, r11, r9, r10
|
|
63
|
+
ldr r9, [WINDOW], #4
|
|
64
|
+
ldr r10, [B0], #4
|
|
65
|
+
smlal r8, r7, r5, r6
|
|
66
|
+
ldr r5, [WINDOW], #4
|
|
67
|
+
ldr r6, [B0], #4
|
|
68
|
+
smlal r12, r11, r9, r10
|
|
69
|
+
ldr r9, [WINDOW], #4
|
|
70
|
+
ldr r10, [B0], #4
|
|
71
|
+
smlal r8, r7, r5, r6
|
|
72
|
+
ldr r5, [WINDOW], #4
|
|
73
|
+
ldr r6, [B0], #4
|
|
74
|
+
smlal r12, r11, r9, r10
|
|
75
|
+
ldr r9, [WINDOW], #4
|
|
76
|
+
ldr r10, [B0], #4
|
|
77
|
+
smlal r8, r7, r5, r6
|
|
78
|
+
ldr r5, [WINDOW], #4
|
|
79
|
+
ldr r6, [B0], #4
|
|
80
|
+
smlal r12, r11, r9, r10
|
|
81
|
+
ldr r9, [WINDOW], #68
|
|
82
|
+
ldr r10, [B0], #4
|
|
83
|
+
smlal r8, r7, r5, r6
|
|
84
|
+
ldr r5, [WINDOW], #4
|
|
85
|
+
ldr r6, [B0], #4
|
|
86
|
+
smlal r12, r11, r9, r10
|
|
87
|
+
|
|
88
|
+
mov r8, r8, lsr #24
|
|
89
|
+
mov r12, r12, lsr #24
|
|
90
|
+
orr r8, r8, r7, lsl #8
|
|
91
|
+
orr r12, r12, r11, lsl #8
|
|
92
|
+
sub r8, r8, r12
|
|
93
|
+
|
|
94
|
+
cmp r8, REG_MAX
|
|
95
|
+
movgt r8, REG_MAX
|
|
96
|
+
addgt REG_CLIP, REG_CLIP, #1
|
|
97
|
+
cmp r8, #-1073741824
|
|
98
|
+
movlt r8, #-1073741824
|
|
99
|
+
addlt REG_CLIP, REG_CLIP, #1
|
|
100
|
+
movs r8, r8, asr #15
|
|
101
|
+
adc r8, r8, #0
|
|
102
|
+
strh r8, [SAMPLES], #4
|
|
103
|
+
|
|
104
|
+
subs r3, r3, #1
|
|
105
|
+
bne .Loop_start_1
|
|
106
|
+
|
|
107
|
+
add WINDOW, WINDOW, #4
|
|
108
|
+
add B0, B0, #4
|
|
109
|
+
|
|
110
|
+
ldr r9, [WINDOW], #8
|
|
111
|
+
ldr r10, [B0], #8
|
|
112
|
+
smull r8, r7, r5, r6
|
|
113
|
+
ldr r5, [WINDOW], #8
|
|
114
|
+
ldr r6, [B0], #8
|
|
115
|
+
smull r12, r11, r9, r10
|
|
116
|
+
ldr r9, [WINDOW], #8
|
|
117
|
+
ldr r10, [B0], #8
|
|
118
|
+
smlal r8, r7, r5, r6
|
|
119
|
+
ldr r5, [WINDOW], #8
|
|
120
|
+
ldr r6, [B0], #8
|
|
121
|
+
smlal r12, r11, r9, r10
|
|
122
|
+
ldr r9, [WINDOW], #8
|
|
123
|
+
ldr r10, [B0], #8
|
|
124
|
+
smlal r8, r7, r5, r6
|
|
125
|
+
ldr r5, [WINDOW], #8
|
|
126
|
+
ldr r6, [B0], #8
|
|
127
|
+
smlal r12, r11, r9, r10
|
|
128
|
+
ldr r9, [WINDOW], #72
|
|
129
|
+
ldr r10, [B0], #-120
|
|
130
|
+
smlal r8, r7, r5, r6
|
|
131
|
+
ldr r5, [WINDOW], #4
|
|
132
|
+
ldr r6, [B0], #4
|
|
133
|
+
smlal r12, r11, r9, r10
|
|
134
|
+
|
|
135
|
+
mov r8, r8, lsr #24
|
|
136
|
+
mov r12, r12, lsr #24
|
|
137
|
+
orr r8, r8, r7, lsl #8
|
|
138
|
+
orr r12, r12, r11, lsl #8
|
|
139
|
+
add r8, r8, r12
|
|
140
|
+
|
|
141
|
+
cmp r8, REG_MAX
|
|
142
|
+
movgt r8, REG_MAX
|
|
143
|
+
addgt REG_CLIP, REG_CLIP, #1
|
|
144
|
+
cmp r8, #-1073741824
|
|
145
|
+
movlt r8, #-1073741824
|
|
146
|
+
addlt REG_CLIP, REG_CLIP, #1
|
|
147
|
+
movs r8, r8, asr #15
|
|
148
|
+
adc r8, r8, #0
|
|
149
|
+
strh r8, [SAMPLES], #4
|
|
150
|
+
|
|
151
|
+
mov r3, #14
|
|
152
|
+
|
|
153
|
+
.Loop_start_2:
|
|
154
|
+
ldr r9, [WINDOW], #4
|
|
155
|
+
ldr r10, [B0], #4
|
|
156
|
+
smull r8, r7, r5, r6
|
|
157
|
+
ldr r5, [WINDOW], #4
|
|
158
|
+
ldr r6, [B0], #4
|
|
159
|
+
smull r12, r11, r9, r10
|
|
160
|
+
ldr r9, [WINDOW], #4
|
|
161
|
+
ldr r10, [B0], #4
|
|
162
|
+
smlal r8, r7, r5, r6
|
|
163
|
+
ldr r5, [WINDOW], #4
|
|
164
|
+
ldr r6, [B0], #4
|
|
165
|
+
smlal r12, r11, r9, r10
|
|
166
|
+
ldr r9, [WINDOW], #4
|
|
167
|
+
ldr r10, [B0], #4
|
|
168
|
+
smlal r8, r7, r5, r6
|
|
169
|
+
ldr r5, [WINDOW], #4
|
|
170
|
+
ldr r6, [B0], #4
|
|
171
|
+
smlal r12, r11, r9, r10
|
|
172
|
+
ldr r9, [WINDOW], #4
|
|
173
|
+
ldr r10, [B0], #4
|
|
174
|
+
smlal r8, r7, r5, r6
|
|
175
|
+
ldr r5, [WINDOW], #4
|
|
176
|
+
ldr r6, [B0], #4
|
|
177
|
+
smlal r12, r11, r9, r10
|
|
178
|
+
ldr r9, [WINDOW], #4
|
|
179
|
+
ldr r10, [B0], #4
|
|
180
|
+
smlal r8, r7, r5, r6
|
|
181
|
+
ldr r5, [WINDOW], #4
|
|
182
|
+
ldr r6, [B0], #4
|
|
183
|
+
smlal r12, r11, r9, r10
|
|
184
|
+
ldr r9, [WINDOW], #4
|
|
185
|
+
ldr r10, [B0], #4
|
|
186
|
+
smlal r8, r7, r5, r6
|
|
187
|
+
ldr r5, [WINDOW], #4
|
|
188
|
+
ldr r6, [B0], #4
|
|
189
|
+
smlal r12, r11, r9, r10
|
|
190
|
+
ldr r9, [WINDOW], #4
|
|
191
|
+
ldr r10, [B0], #4
|
|
192
|
+
smlal r8, r7, r5, r6
|
|
193
|
+
ldr r5, [WINDOW], #4
|
|
194
|
+
ldr r6, [B0], #4
|
|
195
|
+
smlal r12, r11, r9, r10
|
|
196
|
+
ldr r9, [WINDOW], #68
|
|
197
|
+
ldr r10, [B0], #-124
|
|
198
|
+
smlal r8, r7, r5, r6
|
|
199
|
+
ldr r5, [WINDOW], #4
|
|
200
|
+
ldr r6, [B0], #4
|
|
201
|
+
smlal r12, r11, r9, r10
|
|
202
|
+
|
|
203
|
+
mov r8, r8, lsr #24
|
|
204
|
+
mov r12, r12, lsr #24
|
|
205
|
+
orr r8, r8, r7, lsl #8
|
|
206
|
+
orr r12, r12, r11, lsl #8
|
|
207
|
+
add r8, r8, r12
|
|
208
|
+
|
|
209
|
+
cmp r8, REG_MAX
|
|
210
|
+
movgt r8, REG_MAX
|
|
211
|
+
addgt REG_CLIP, REG_CLIP, #1
|
|
212
|
+
cmp r8, #-1073741824
|
|
213
|
+
movlt r8, #-1073741824
|
|
214
|
+
addlt REG_CLIP, REG_CLIP, #1
|
|
215
|
+
movs r8, r8, asr #15
|
|
216
|
+
adc r8, r8, #0
|
|
217
|
+
strh r8, [SAMPLES], #4
|
|
218
|
+
|
|
219
|
+
subs r3, r3, #1
|
|
220
|
+
bne .Loop_start_2
|
|
221
|
+
|
|
222
|
+
ldr r9, [WINDOW], #4
|
|
223
|
+
ldr r10, [B0], #4
|
|
224
|
+
smull r8, r7, r5, r6
|
|
225
|
+
ldr r5, [WINDOW], #4
|
|
226
|
+
ldr r6, [B0], #4
|
|
227
|
+
smull r12, r11, r9, r10
|
|
228
|
+
ldr r9, [WINDOW], #4
|
|
229
|
+
ldr r10, [B0], #4
|
|
230
|
+
smlal r8, r7, r5, r6
|
|
231
|
+
ldr r5, [WINDOW], #4
|
|
232
|
+
ldr r6, [B0], #4
|
|
233
|
+
smlal r12, r11, r9, r10
|
|
234
|
+
ldr r9, [WINDOW], #4
|
|
235
|
+
ldr r10, [B0], #4
|
|
236
|
+
smlal r8, r7, r5, r6
|
|
237
|
+
ldr r5, [WINDOW], #4
|
|
238
|
+
ldr r6, [B0], #4
|
|
239
|
+
smlal r12, r11, r9, r10
|
|
240
|
+
ldr r9, [WINDOW], #4
|
|
241
|
+
ldr r10, [B0], #4
|
|
242
|
+
smlal r8, r7, r5, r6
|
|
243
|
+
ldr r5, [WINDOW], #4
|
|
244
|
+
ldr r6, [B0], #4
|
|
245
|
+
smlal r12, r11, r9, r10
|
|
246
|
+
ldr r9, [WINDOW], #4
|
|
247
|
+
ldr r10, [B0], #4
|
|
248
|
+
smlal r8, r7, r5, r6
|
|
249
|
+
ldr r5, [WINDOW], #4
|
|
250
|
+
ldr r6, [B0], #4
|
|
251
|
+
smlal r12, r11, r9, r10
|
|
252
|
+
ldr r9, [WINDOW], #4
|
|
253
|
+
ldr r10, [B0], #4
|
|
254
|
+
smlal r8, r7, r5, r6
|
|
255
|
+
ldr r5, [WINDOW], #4
|
|
256
|
+
ldr r6, [B0], #4
|
|
257
|
+
smlal r12, r11, r9, r10
|
|
258
|
+
ldr r9, [WINDOW], #4
|
|
259
|
+
ldr r10, [B0], #4
|
|
260
|
+
smlal r8, r7, r5, r6
|
|
261
|
+
ldr r5, [WINDOW], #4
|
|
262
|
+
ldr r6, [B0], #4
|
|
263
|
+
smlal r12, r11, r9, r10
|
|
264
|
+
ldr r9, [WINDOW], #68
|
|
265
|
+
ldr r10, [B0], #-124
|
|
266
|
+
smlal r8, r7, r5, r6
|
|
267
|
+
smlal r12, r11, r9, r10
|
|
268
|
+
|
|
269
|
+
mov r8, r8, lsr #24
|
|
270
|
+
mov r12, r12, lsr #24
|
|
271
|
+
orr r8, r8, r7, lsl #8
|
|
272
|
+
orr r12, r12, r11, lsl #8
|
|
273
|
+
add r8, r8, r12
|
|
274
|
+
|
|
275
|
+
cmp r8, REG_MAX
|
|
276
|
+
movgt r8, REG_MAX
|
|
277
|
+
addgt REG_CLIP, REG_CLIP, #1
|
|
278
|
+
cmp r8, #-1073741824
|
|
279
|
+
movlt r8, #-1073741824
|
|
280
|
+
addlt REG_CLIP, REG_CLIP, #1
|
|
281
|
+
movs r8, r8, asr #15
|
|
282
|
+
adc r8, r8, #0
|
|
283
|
+
strh r8, [SAMPLES]
|
|
284
|
+
|
|
285
|
+
mov r0, REG_CLIP
|
|
286
|
+
|
|
287
|
+
ldmfd sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc}
|