gosu 0.7.16 → 0.7.17
Sign up to get free protection for your applications and to get access to all the features.
- data/Gosu/Version.hpp +2 -2
- data/GosuImpl/AudioFmod.cpp +7 -1
- data/GosuImpl/RubyGosuStub.mm +4 -1
- data/GosuImpl/RubyGosu_wrap.cxx +2 -2
- data/GosuImpl/TimingUnix.cpp +4 -1
- data/GosuImpl/TimingWin.cpp +31 -28
- data/GosuImpl/WindowWin.cpp +4 -0
- data/Rakefile +12 -18
- data/examples/ChipmunkIntegration.rb +1 -1
- data/examples/OpenGLIntegration.rb +1 -1
- data/examples/RMagickIntegration.rb +1 -1
- data/examples/Tutorial.cpp +2 -2
- data/examples/Tutorial.rb +1 -1
- data/lib/gosu/patches.rb +2 -2
- data/reference/cpp/_version_8hpp.html +4 -4
- data/reference/cpp/_version_8hpp_source.html +2 -2
- data/reference/rdoc/classes/Gosu.html +10 -10
- data/reference/rdoc/classes/Gosu/Color.html +3 -3
- data/reference/rdoc/classes/Gosu/Font.html +5 -5
- data/reference/rdoc/classes/Gosu/Image.html +9 -9
- data/reference/rdoc/classes/Gosu/Sample.html +3 -3
- data/reference/rdoc/classes/Gosu/SampleInstance.html +5 -5
- data/reference/rdoc/classes/Gosu/Song.html +7 -7
- data/reference/rdoc/classes/Gosu/TextInput.html +1 -1
- data/reference/rdoc/classes/Gosu/Window.html +17 -17
- data/reference/rdoc/classes/Numeric.html +2 -2
- data/reference/rdoc/created.rid +1 -1
- metadata +2 -912
- data/dependencies/libogg/AUTHORS +0 -4
- data/dependencies/libogg/CHANGES +0 -33
- data/dependencies/libogg/COPYING +0 -28
- data/dependencies/libogg/Makefile.am +0 -32
- data/dependencies/libogg/Makefile.in +0 -713
- data/dependencies/libogg/README +0 -103
- data/dependencies/libogg/aclocal.m4 +0 -6807
- data/dependencies/libogg/compile +0 -142
- data/dependencies/libogg/config.guess +0 -1465
- data/dependencies/libogg/config.h.in +0 -70
- data/dependencies/libogg/config.sub +0 -1569
- data/dependencies/libogg/configure +0 -23018
- data/dependencies/libogg/configure.in +0 -301
- data/dependencies/libogg/debian/changelog +0 -68
- data/dependencies/libogg/debian/control +0 -22
- data/dependencies/libogg/debian/copyright +0 -37
- data/dependencies/libogg/debian/libogg-dev.docs +0 -1
- data/dependencies/libogg/debian/libogg-dev.install +0 -8
- data/dependencies/libogg/debian/libogg0.README.Debian +0 -6
- data/dependencies/libogg/debian/libogg0.install +0 -1
- data/dependencies/libogg/debian/rules +0 -154
- data/dependencies/libogg/debian/watch +0 -3
- data/dependencies/libogg/depcomp +0 -529
- data/dependencies/libogg/doc/Makefile.am +0 -11
- data/dependencies/libogg/doc/Makefile.in +0 -518
- data/dependencies/libogg/doc/framing.html +0 -431
- data/dependencies/libogg/doc/index.html +0 -104
- data/dependencies/libogg/doc/libogg/Makefile.am +0 -28
- data/dependencies/libogg/doc/libogg/Makefile.in +0 -378
- data/dependencies/libogg/doc/libogg/bitpacking.html +0 -99
- data/dependencies/libogg/doc/libogg/datastructures.html +0 -59
- data/dependencies/libogg/doc/libogg/decoding.html +0 -100
- data/dependencies/libogg/doc/libogg/encoding.html +0 -64
- data/dependencies/libogg/doc/libogg/general.html +0 -105
- data/dependencies/libogg/doc/libogg/index.html +0 -39
- data/dependencies/libogg/doc/libogg/ogg_packet.html +0 -75
- data/dependencies/libogg/doc/libogg/ogg_packet_clear.html +0 -62
- data/dependencies/libogg/doc/libogg/ogg_page.html +0 -74
- data/dependencies/libogg/doc/libogg/ogg_page_bos.html +0 -65
- data/dependencies/libogg/doc/libogg/ogg_page_checksum_set.html +0 -62
- data/dependencies/libogg/doc/libogg/ogg_page_continued.html +0 -64
- data/dependencies/libogg/doc/libogg/ogg_page_eos.html +0 -65
- data/dependencies/libogg/doc/libogg/ogg_page_granulepos.html +0 -65
- data/dependencies/libogg/doc/libogg/ogg_page_packets.html +0 -75
- data/dependencies/libogg/doc/libogg/ogg_page_pageno.html +0 -63
- data/dependencies/libogg/doc/libogg/ogg_page_serialno.html +0 -63
- data/dependencies/libogg/doc/libogg/ogg_page_version.html +0 -63
- data/dependencies/libogg/doc/libogg/ogg_stream_clear.html +0 -61
- data/dependencies/libogg/doc/libogg/ogg_stream_destroy.html +0 -62
- data/dependencies/libogg/doc/libogg/ogg_stream_eos.html +0 -62
- data/dependencies/libogg/doc/libogg/ogg_stream_flush.html +0 -67
- data/dependencies/libogg/doc/libogg/ogg_stream_init.html +0 -66
- data/dependencies/libogg/doc/libogg/ogg_stream_packetin.html +0 -65
- data/dependencies/libogg/doc/libogg/ogg_stream_packetout.html +0 -71
- data/dependencies/libogg/doc/libogg/ogg_stream_packetpeek.html +0 -85
- data/dependencies/libogg/doc/libogg/ogg_stream_pagein.html +0 -67
- data/dependencies/libogg/doc/libogg/ogg_stream_pageout.html +0 -66
- data/dependencies/libogg/doc/libogg/ogg_stream_reset.html +0 -61
- data/dependencies/libogg/doc/libogg/ogg_stream_reset_serialno.html +0 -67
- data/dependencies/libogg/doc/libogg/ogg_stream_state.html +0 -121
- data/dependencies/libogg/doc/libogg/ogg_sync_buffer.html +0 -67
- data/dependencies/libogg/doc/libogg/ogg_sync_clear.html +0 -62
- data/dependencies/libogg/doc/libogg/ogg_sync_destroy.html +0 -62
- data/dependencies/libogg/doc/libogg/ogg_sync_init.html +0 -63
- data/dependencies/libogg/doc/libogg/ogg_sync_pageout.html +0 -79
- data/dependencies/libogg/doc/libogg/ogg_sync_pageseek.html +0 -68
- data/dependencies/libogg/doc/libogg/ogg_sync_reset.html +0 -63
- data/dependencies/libogg/doc/libogg/ogg_sync_state.html +0 -67
- data/dependencies/libogg/doc/libogg/ogg_sync_wrote.html +0 -73
- data/dependencies/libogg/doc/libogg/oggpack_adv.html +0 -64
- data/dependencies/libogg/doc/libogg/oggpack_adv1.html +0 -62
- data/dependencies/libogg/doc/libogg/oggpack_bits.html +0 -62
- data/dependencies/libogg/doc/libogg/oggpack_buffer.html +0 -66
- data/dependencies/libogg/doc/libogg/oggpack_bytes.html +0 -62
- data/dependencies/libogg/doc/libogg/oggpack_get_buffer.html +0 -62
- data/dependencies/libogg/doc/libogg/oggpack_look.html +0 -66
- data/dependencies/libogg/doc/libogg/oggpack_look1.html +0 -63
- data/dependencies/libogg/doc/libogg/oggpack_read.html +0 -65
- data/dependencies/libogg/doc/libogg/oggpack_read1.html +0 -63
- data/dependencies/libogg/doc/libogg/oggpack_readinit.html +0 -64
- data/dependencies/libogg/doc/libogg/oggpack_reset.html +0 -62
- data/dependencies/libogg/doc/libogg/oggpack_write.html +0 -68
- data/dependencies/libogg/doc/libogg/oggpack_writealign.html +0 -65
- data/dependencies/libogg/doc/libogg/oggpack_writeclear.html +0 -62
- data/dependencies/libogg/doc/libogg/oggpack_writecopy.html +0 -69
- data/dependencies/libogg/doc/libogg/oggpack_writeinit.html +0 -62
- data/dependencies/libogg/doc/libogg/oggpack_writetrunc.html +0 -65
- data/dependencies/libogg/doc/libogg/overview.html +0 -44
- data/dependencies/libogg/doc/libogg/reference.html +0 -93
- data/dependencies/libogg/doc/libogg/style.css +0 -7
- data/dependencies/libogg/doc/libogg/vorbis_comment.html +0 -70
- data/dependencies/libogg/doc/libogg/vorbis_info.html +0 -80
- data/dependencies/libogg/doc/ogg-multiplex.html +0 -445
- data/dependencies/libogg/doc/oggstream.html +0 -234
- data/dependencies/libogg/doc/rfc3533.txt +0 -843
- data/dependencies/libogg/doc/rfc3534.txt +0 -339
- data/dependencies/libogg/doc/stream.png +0 -0
- data/dependencies/libogg/doc/vorbisword2.png +0 -0
- data/dependencies/libogg/doc/white-ogg.png +0 -0
- data/dependencies/libogg/doc/white-xifish.png +0 -0
- data/dependencies/libogg/include/Makefile.am +0 -3
- data/dependencies/libogg/include/Makefile.in +0 -481
- data/dependencies/libogg/include/ogg/Makefile.am +0 -6
- data/dependencies/libogg/include/ogg/Makefile.in +0 -428
- data/dependencies/libogg/include/ogg/config_types.h.in +0 -11
- data/dependencies/libogg/include/ogg/ogg.h +0 -202
- data/dependencies/libogg/include/ogg/os_types.h +0 -127
- data/dependencies/libogg/install-sh +0 -323
- data/dependencies/libogg/libogg.spec +0 -106
- data/dependencies/libogg/libogg.spec.in +0 -106
- data/dependencies/libogg/ltmain.sh +0 -6426
- data/dependencies/libogg/macos/compat/strdup.c +0 -21
- data/dependencies/libogg/macos/compat/sys/types.h +0 -1
- data/dependencies/libogg/macos/libogg.mcp +0 -0
- data/dependencies/libogg/macos/libogg.mcp.exp +0 -64
- data/dependencies/libogg/macosx/English.lproj/InfoPlist.strings +0 -0
- data/dependencies/libogg/macosx/Info.plist +0 -30
- data/dependencies/libogg/macosx/Ogg.xcodeproj/project.pbxproj +0 -303
- data/dependencies/libogg/macosx/Ogg_Prefix.pch +0 -5
- data/dependencies/libogg/missing +0 -357
- data/dependencies/libogg/ogg-uninstalled.pc.in +0 -14
- data/dependencies/libogg/ogg.m4 +0 -102
- data/dependencies/libogg/ogg.pc.in +0 -14
- data/dependencies/libogg/src/Makefile.am +0 -28
- data/dependencies/libogg/src/Makefile.in +0 -536
- data/dependencies/libogg/src/bitwise.c +0 -784
- data/dependencies/libogg/src/framing.c +0 -1800
- data/dependencies/libogg/win32/Makefile.am +0 -5
- data/dependencies/libogg/win32/Makefile.in +0 -327
- data/dependencies/libogg/win32/build_ogg_dynamic.bat +0 -18
- data/dependencies/libogg/win32/build_ogg_dynamic_debug.bat +0 -18
- data/dependencies/libogg/win32/build_ogg_static.bat +0 -18
- data/dependencies/libogg/win32/build_ogg_static_debug.bat +0 -18
- data/dependencies/libogg/win32/ogg.def +0 -78
- data/dependencies/libogg/win32/ogg.dsw +0 -41
- data/dependencies/libogg/win32/ogg_dynamic.dsp +0 -128
- data/dependencies/libogg/win32/ogg_static.dsp +0 -108
- data/dependencies/libpng/ANNOUNCE +0 -61
- data/dependencies/libpng/CHANGES +0 -2173
- data/dependencies/libpng/INSTALL +0 -199
- data/dependencies/libpng/KNOWNBUG +0 -22
- data/dependencies/libpng/LICENSE +0 -109
- data/dependencies/libpng/README +0 -264
- data/dependencies/libpng/TODO +0 -24
- data/dependencies/libpng/Y2KINFO +0 -55
- data/dependencies/libpng/configure +0 -13
- data/dependencies/libpng/contrib/gregbook/COPYING +0 -340
- data/dependencies/libpng/contrib/gregbook/LICENSE +0 -50
- data/dependencies/libpng/contrib/gregbook/Makefile.mingw32 +0 -130
- data/dependencies/libpng/contrib/gregbook/Makefile.sgi +0 -104
- data/dependencies/libpng/contrib/gregbook/Makefile.unx +0 -132
- data/dependencies/libpng/contrib/gregbook/Makefile.w32 +0 -113
- data/dependencies/libpng/contrib/gregbook/README +0 -186
- data/dependencies/libpng/contrib/gregbook/makevms.com +0 -132
- data/dependencies/libpng/contrib/gregbook/readpng.c +0 -304
- data/dependencies/libpng/contrib/gregbook/readpng.h +0 -88
- data/dependencies/libpng/contrib/gregbook/readpng2.c +0 -645
- data/dependencies/libpng/contrib/gregbook/readpng2.h +0 -121
- data/dependencies/libpng/contrib/gregbook/readppm.c +0 -179
- data/dependencies/libpng/contrib/gregbook/rpng-win.c +0 -684
- data/dependencies/libpng/contrib/gregbook/rpng-x.c +0 -904
- data/dependencies/libpng/contrib/gregbook/rpng2-win.c +0 -1225
- data/dependencies/libpng/contrib/gregbook/rpng2-x.c +0 -2127
- data/dependencies/libpng/contrib/gregbook/toucan.png +0 -0
- data/dependencies/libpng/contrib/gregbook/wpng.c +0 -853
- data/dependencies/libpng/contrib/gregbook/writepng.c +0 -392
- data/dependencies/libpng/contrib/gregbook/writepng.h +0 -133
- data/dependencies/libpng/contrib/pngminim/decoder/README +0 -6
- data/dependencies/libpng/contrib/pngminim/decoder/gather.sh +0 -8
- data/dependencies/libpng/contrib/pngminim/decoder/makefile.std +0 -44
- data/dependencies/libpng/contrib/pngminim/decoder/pngusr.h +0 -67
- data/dependencies/libpng/contrib/pngminim/encoder/README +0 -6
- data/dependencies/libpng/contrib/pngminim/encoder/dummy_inflate.c +0 -27
- data/dependencies/libpng/contrib/pngminim/encoder/gather.sh +0 -9
- data/dependencies/libpng/contrib/pngminim/encoder/makefile.std +0 -43
- data/dependencies/libpng/contrib/pngminim/encoder/pngusr.h +0 -66
- data/dependencies/libpng/contrib/pngminus/README +0 -153
- data/dependencies/libpng/contrib/pngminus/makefile.std +0 -65
- data/dependencies/libpng/contrib/pngminus/makefile.tc3 +0 -38
- data/dependencies/libpng/contrib/pngminus/makevms.com +0 -92
- data/dependencies/libpng/contrib/pngminus/png2pnm.bat +0 -41
- data/dependencies/libpng/contrib/pngminus/png2pnm.c +0 -430
- data/dependencies/libpng/contrib/pngminus/png2pnm.sh +0 -42
- data/dependencies/libpng/contrib/pngminus/pngminus.bat +0 -4
- data/dependencies/libpng/contrib/pngminus/pngminus.sh +0 -5
- data/dependencies/libpng/contrib/pngminus/pnm2png.bat +0 -41
- data/dependencies/libpng/contrib/pngminus/pnm2png.c +0 -533
- data/dependencies/libpng/contrib/pngminus/pnm2png.sh +0 -42
- data/dependencies/libpng/contrib/pngsuite/basn0g01.png +0 -0
- data/dependencies/libpng/contrib/pngsuite/basn0g02.png +0 -0
- data/dependencies/libpng/contrib/pngsuite/basn0g04.png +0 -0
- data/dependencies/libpng/contrib/pngsuite/basn0g08.png +0 -0
- data/dependencies/libpng/contrib/pngsuite/basn0g16.png +0 -0
- data/dependencies/libpng/contrib/pngsuite/basn2c08.png +0 -0
- data/dependencies/libpng/contrib/pngsuite/basn2c16.png +0 -0
- data/dependencies/libpng/contrib/pngsuite/basn3p01.png +0 -0
- data/dependencies/libpng/contrib/pngsuite/basn3p02.png +0 -0
- data/dependencies/libpng/contrib/pngsuite/basn3p04.png +0 -0
- data/dependencies/libpng/contrib/pngsuite/basn3p08.png +0 -0
- data/dependencies/libpng/contrib/pngsuite/basn4a08.png +0 -0
- data/dependencies/libpng/contrib/pngsuite/basn4a16.png +0 -0
- data/dependencies/libpng/contrib/pngsuite/basn6a08.png +0 -0
- data/dependencies/libpng/contrib/pngsuite/basn6a16.png +0 -0
- data/dependencies/libpng/contrib/visupng/PngFile.c +0 -439
- data/dependencies/libpng/contrib/visupng/PngFile.h +0 -27
- data/dependencies/libpng/contrib/visupng/README.txt +0 -58
- data/dependencies/libpng/contrib/visupng/VisualPng.c +0 -961
- data/dependencies/libpng/contrib/visupng/VisualPng.dsp +0 -147
- data/dependencies/libpng/contrib/visupng/VisualPng.dsw +0 -29
- data/dependencies/libpng/contrib/visupng/VisualPng.ico +0 -0
- data/dependencies/libpng/contrib/visupng/VisualPng.png +0 -0
- data/dependencies/libpng/contrib/visupng/VisualPng.rc +0 -152
- data/dependencies/libpng/contrib/visupng/cexcept.h +0 -243
- data/dependencies/libpng/contrib/visupng/resource.h +0 -23
- data/dependencies/libpng/example.c +0 -814
- data/dependencies/libpng/libpng-1.2.29.txt +0 -2906
- data/dependencies/libpng/libpng.3 +0 -3680
- data/dependencies/libpng/libpngpf.3 +0 -274
- data/dependencies/libpng/png.5 +0 -74
- data/dependencies/libpng/png.c +0 -798
- data/dependencies/libpng/png.h +0 -3569
- data/dependencies/libpng/pngbar.jpg +0 -0
- data/dependencies/libpng/pngbar.png +0 -0
- data/dependencies/libpng/pngconf.h +0 -1481
- data/dependencies/libpng/pngerror.c +0 -343
- data/dependencies/libpng/pnggccrd.c +0 -103
- data/dependencies/libpng/pngget.c +0 -901
- data/dependencies/libpng/pngmem.c +0 -608
- data/dependencies/libpng/pngnow.png +0 -0
- data/dependencies/libpng/pngpread.c +0 -1598
- data/dependencies/libpng/pngread.c +0 -1479
- data/dependencies/libpng/pngrio.c +0 -167
- data/dependencies/libpng/pngrtran.c +0 -4292
- data/dependencies/libpng/pngrutil.c +0 -3183
- data/dependencies/libpng/pngset.c +0 -1268
- data/dependencies/libpng/pngtest.c +0 -1563
- data/dependencies/libpng/pngtest.png +0 -0
- data/dependencies/libpng/pngtrans.c +0 -662
- data/dependencies/libpng/pngvcrd.c +0 -1
- data/dependencies/libpng/pngwio.c +0 -234
- data/dependencies/libpng/pngwrite.c +0 -1532
- data/dependencies/libpng/pngwtran.c +0 -572
- data/dependencies/libpng/pngwutil.c +0 -2802
- data/dependencies/libpng/projects/beos/x86-shared.proj +0 -0
- data/dependencies/libpng/projects/beos/x86-shared.txt +0 -22
- data/dependencies/libpng/projects/beos/x86-static.proj +0 -0
- data/dependencies/libpng/projects/beos/x86-static.txt +0 -22
- data/dependencies/libpng/projects/cbuilder5/libpng.bpf +0 -22
- data/dependencies/libpng/projects/cbuilder5/libpng.bpg +0 -25
- data/dependencies/libpng/projects/cbuilder5/libpng.bpr +0 -157
- data/dependencies/libpng/projects/cbuilder5/libpng.cpp +0 -29
- data/dependencies/libpng/projects/cbuilder5/libpng.readme.txt +0 -25
- data/dependencies/libpng/projects/cbuilder5/libpngstat.bpf +0 -22
- data/dependencies/libpng/projects/cbuilder5/libpngstat.bpr +0 -109
- data/dependencies/libpng/projects/cbuilder5/zlib.readme.txt +0 -14
- data/dependencies/libpng/projects/netware.txt +0 -6
- data/dependencies/libpng/projects/visualc6/README.txt +0 -57
- data/dependencies/libpng/projects/visualc6/libpng.dsp +0 -472
- data/dependencies/libpng/projects/visualc6/libpng.dsw +0 -59
- data/dependencies/libpng/projects/visualc6/pngtest.dsp +0 -314
- data/dependencies/libpng/projects/visualc71/PRJ0041.mak +0 -21
- data/dependencies/libpng/projects/visualc71/README.txt +0 -57
- data/dependencies/libpng/projects/visualc71/README_zlib.txt +0 -44
- data/dependencies/libpng/projects/visualc71/libpng.sln +0 -88
- data/dependencies/libpng/projects/visualc71/libpng.vcproj +0 -702
- data/dependencies/libpng/projects/visualc71/pngtest.vcproj +0 -459
- data/dependencies/libpng/projects/visualc71/zlib.vcproj +0 -670
- data/dependencies/libpng/projects/wince.txt +0 -6
- data/dependencies/libpng/scripts/CMakeLists.txt +0 -210
- data/dependencies/libpng/scripts/SCOPTIONS.ppc +0 -7
- data/dependencies/libpng/scripts/descrip.mms +0 -52
- data/dependencies/libpng/scripts/libpng-config-body.in +0 -96
- data/dependencies/libpng/scripts/libpng-config-head.in +0 -21
- data/dependencies/libpng/scripts/libpng-config.in +0 -124
- data/dependencies/libpng/scripts/libpng.icc +0 -44
- data/dependencies/libpng/scripts/libpng.pc-configure.in +0 -10
- data/dependencies/libpng/scripts/libpng.pc.in +0 -10
- data/dependencies/libpng/scripts/makefile.32sunu +0 -254
- data/dependencies/libpng/scripts/makefile.64sunu +0 -254
- data/dependencies/libpng/scripts/makefile.acorn +0 -51
- data/dependencies/libpng/scripts/makefile.aix +0 -113
- data/dependencies/libpng/scripts/makefile.amiga +0 -48
- data/dependencies/libpng/scripts/makefile.atari +0 -51
- data/dependencies/libpng/scripts/makefile.bc32 +0 -152
- data/dependencies/libpng/scripts/makefile.beos +0 -226
- data/dependencies/libpng/scripts/makefile.bor +0 -162
- data/dependencies/libpng/scripts/makefile.cygwin +0 -299
- data/dependencies/libpng/scripts/makefile.darwin +0 -234
- data/dependencies/libpng/scripts/makefile.dec +0 -214
- data/dependencies/libpng/scripts/makefile.dj2 +0 -55
- data/dependencies/libpng/scripts/makefile.elf +0 -275
- data/dependencies/libpng/scripts/makefile.freebsd +0 -48
- data/dependencies/libpng/scripts/makefile.gcc +0 -79
- data/dependencies/libpng/scripts/makefile.gcmmx +0 -271
- data/dependencies/libpng/scripts/makefile.hp64 +0 -235
- data/dependencies/libpng/scripts/makefile.hpgcc +0 -245
- data/dependencies/libpng/scripts/makefile.hpux +0 -232
- data/dependencies/libpng/scripts/makefile.ibmc +0 -71
- data/dependencies/libpng/scripts/makefile.intel +0 -102
- data/dependencies/libpng/scripts/makefile.knr +0 -99
- data/dependencies/libpng/scripts/makefile.linux +0 -249
- data/dependencies/libpng/scripts/makefile.mingw +0 -289
- data/dependencies/libpng/scripts/makefile.mips +0 -83
- data/dependencies/libpng/scripts/makefile.msc +0 -86
- data/dependencies/libpng/scripts/makefile.ne12bsd +0 -45
- data/dependencies/libpng/scripts/makefile.netbsd +0 -45
- data/dependencies/libpng/scripts/makefile.nommx +0 -252
- data/dependencies/libpng/scripts/makefile.openbsd +0 -73
- data/dependencies/libpng/scripts/makefile.os2 +0 -69
- data/dependencies/libpng/scripts/makefile.sco +0 -229
- data/dependencies/libpng/scripts/makefile.sggcc +0 -242
- data/dependencies/libpng/scripts/makefile.sgi +0 -245
- data/dependencies/libpng/scripts/makefile.so9 +0 -251
- data/dependencies/libpng/scripts/makefile.solaris +0 -249
- data/dependencies/libpng/scripts/makefile.solaris-x86 +0 -248
- data/dependencies/libpng/scripts/makefile.std +0 -92
- data/dependencies/libpng/scripts/makefile.sunos +0 -97
- data/dependencies/libpng/scripts/makefile.tc3 +0 -89
- data/dependencies/libpng/scripts/makefile.vcawin32 +0 -99
- data/dependencies/libpng/scripts/makefile.vcwin32 +0 -99
- data/dependencies/libpng/scripts/makefile.watcom +0 -109
- data/dependencies/libpng/scripts/makevms.com +0 -144
- data/dependencies/libpng/scripts/pngos2.def +0 -257
- data/dependencies/libpng/scripts/pngw32.def +0 -238
- data/dependencies/libpng/scripts/pngw32.rc +0 -112
- data/dependencies/libpng/scripts/smakefile.ppc +0 -30
- data/dependencies/libvorbis/AUTHORS +0 -3
- data/dependencies/libvorbis/CHANGES +0 -48
- data/dependencies/libvorbis/COPYING +0 -28
- data/dependencies/libvorbis/Makefile.am +0 -41
- data/dependencies/libvorbis/Makefile.in +0 -759
- data/dependencies/libvorbis/README +0 -132
- data/dependencies/libvorbis/acinclude.m4 +0 -161
- data/dependencies/libvorbis/aclocal.m4 +0 -7273
- data/dependencies/libvorbis/autogen.sh +0 -127
- data/dependencies/libvorbis/config.guess +0 -1500
- data/dependencies/libvorbis/config.h.in +0 -78
- data/dependencies/libvorbis/config.sub +0 -1616
- data/dependencies/libvorbis/configure +0 -22114
- data/dependencies/libvorbis/configure.in +0 -246
- data/dependencies/libvorbis/depcomp +0 -584
- data/dependencies/libvorbis/doc/Makefile +0 -665
- data/dependencies/libvorbis/doc/Makefile.am +0 -137
- data/dependencies/libvorbis/doc/Makefile.in +0 -665
- data/dependencies/libvorbis/doc/Vorbis_I_spec.html +0 -2292
- data/dependencies/libvorbis/doc/Vorbis_I_spec.pdf +0 -0
- data/dependencies/libvorbis/doc/components.png +0 -0
- data/dependencies/libvorbis/doc/draft-ietf-avt-rtp-vorbis-06.txt +0 -1401
- data/dependencies/libvorbis/doc/draft-ietf-avt-rtp-vorbis-06.xml +0 -1388
- data/dependencies/libvorbis/doc/eightphase.png +0 -0
- data/dependencies/libvorbis/doc/evenlsp.png +0 -0
- data/dependencies/libvorbis/doc/fish_xiph_org.png +0 -0
- data/dependencies/libvorbis/doc/floor1-1.png +0 -0
- data/dependencies/libvorbis/doc/floor1-2.png +0 -0
- data/dependencies/libvorbis/doc/floor1-3.png +0 -0
- data/dependencies/libvorbis/doc/floor1-4.png +0 -0
- data/dependencies/libvorbis/doc/floor1_inverse_dB_table.html +0 -154
- data/dependencies/libvorbis/doc/floorval.png +0 -0
- data/dependencies/libvorbis/doc/fourphase.png +0 -0
- data/dependencies/libvorbis/doc/framing.html +0 -431
- data/dependencies/libvorbis/doc/helper.html +0 -239
- data/dependencies/libvorbis/doc/hufftree-under.png +0 -0
- data/dependencies/libvorbis/doc/hufftree.png +0 -0
- data/dependencies/libvorbis/doc/index.html +0 -114
- data/dependencies/libvorbis/doc/lspmap.png +0 -0
- data/dependencies/libvorbis/doc/oddlsp.png +0 -0
- data/dependencies/libvorbis/doc/oggstream.html +0 -234
- data/dependencies/libvorbis/doc/programming.html +0 -554
- data/dependencies/libvorbis/doc/residue-pack.png +0 -0
- data/dependencies/libvorbis/doc/residue2.png +0 -0
- data/dependencies/libvorbis/doc/squarepolar.png +0 -0
- data/dependencies/libvorbis/doc/stereo.html +0 -418
- data/dependencies/libvorbis/doc/stream.png +0 -0
- data/dependencies/libvorbis/doc/v-comment.html +0 -285
- data/dependencies/libvorbis/doc/vorbis-clip.txt +0 -139
- data/dependencies/libvorbis/doc/vorbis-errors.txt +0 -103
- data/dependencies/libvorbis/doc/vorbis-fidelity.html +0 -180
- data/dependencies/libvorbis/doc/vorbis.html +0 -234
- data/dependencies/libvorbis/doc/vorbisenc/Makefile +0 -382
- data/dependencies/libvorbis/doc/vorbisenc/Makefile.am +0 -9
- data/dependencies/libvorbis/doc/vorbisenc/Makefile.in +0 -382
- data/dependencies/libvorbis/doc/vorbisenc/changes.html +0 -104
- data/dependencies/libvorbis/doc/vorbisenc/examples.html +0 -133
- data/dependencies/libvorbis/doc/vorbisenc/index.html +0 -40
- data/dependencies/libvorbis/doc/vorbisenc/ov_ectl_ratemanage2_arg.html +0 -92
- data/dependencies/libvorbis/doc/vorbisenc/ov_ectl_ratemanage_arg.html +0 -92
- data/dependencies/libvorbis/doc/vorbisenc/overview.html +0 -382
- data/dependencies/libvorbis/doc/vorbisenc/reference.html +0 -48
- data/dependencies/libvorbis/doc/vorbisenc/style.css +0 -7
- data/dependencies/libvorbis/doc/vorbisenc/vorbis_encode_ctl.html +0 -169
- data/dependencies/libvorbis/doc/vorbisenc/vorbis_encode_init.html +0 -88
- data/dependencies/libvorbis/doc/vorbisenc/vorbis_encode_init_vbr.html +0 -81
- data/dependencies/libvorbis/doc/vorbisenc/vorbis_encode_setup_init.html +0 -88
- data/dependencies/libvorbis/doc/vorbisenc/vorbis_encode_setup_managed.html +0 -102
- data/dependencies/libvorbis/doc/vorbisenc/vorbis_encode_setup_vbr.html +0 -90
- data/dependencies/libvorbis/doc/vorbisenc/vorbis_info.html +0 -81
- data/dependencies/libvorbis/doc/vorbisfile/Makefile +0 -396
- data/dependencies/libvorbis/doc/vorbisfile/Makefile.am +0 -23
- data/dependencies/libvorbis/doc/vorbisfile/Makefile.in +0 -396
- data/dependencies/libvorbis/doc/vorbisfile/OggVorbis_File.html +0 -137
- data/dependencies/libvorbis/doc/vorbisfile/callbacks.html +0 -121
- data/dependencies/libvorbis/doc/vorbisfile/chaining_example_c.html +0 -90
- data/dependencies/libvorbis/doc/vorbisfile/chainingexample.html +0 -175
- data/dependencies/libvorbis/doc/vorbisfile/crosslap.html +0 -121
- data/dependencies/libvorbis/doc/vorbisfile/datastructures.html +0 -61
- data/dependencies/libvorbis/doc/vorbisfile/decoding.html +0 -87
- data/dependencies/libvorbis/doc/vorbisfile/example.html +0 -208
- data/dependencies/libvorbis/doc/vorbisfile/exampleindex.html +0 -39
- data/dependencies/libvorbis/doc/vorbisfile/fileinfo.html +0 -95
- data/dependencies/libvorbis/doc/vorbisfile/index.html +0 -49
- data/dependencies/libvorbis/doc/vorbisfile/initialization.html +0 -118
- data/dependencies/libvorbis/doc/vorbisfile/ov_bitrate.html +0 -72
- data/dependencies/libvorbis/doc/vorbisfile/ov_bitrate_instant.html +0 -65
- data/dependencies/libvorbis/doc/vorbisfile/ov_callbacks.html +0 -117
- data/dependencies/libvorbis/doc/vorbisfile/ov_clear.html +0 -64
- data/dependencies/libvorbis/doc/vorbisfile/ov_comment.html +0 -66
- data/dependencies/libvorbis/doc/vorbisfile/ov_crosslap.html +0 -100
- data/dependencies/libvorbis/doc/vorbisfile/ov_fopen.html +0 -124
- data/dependencies/libvorbis/doc/vorbisfile/ov_info.html +0 -64
- data/dependencies/libvorbis/doc/vorbisfile/ov_open.html +0 -183
- data/dependencies/libvorbis/doc/vorbisfile/ov_open_callbacks.html +0 -147
- data/dependencies/libvorbis/doc/vorbisfile/ov_pcm_seek.html +0 -83
- data/dependencies/libvorbis/doc/vorbisfile/ov_pcm_seek_lap.html +0 -103
- data/dependencies/libvorbis/doc/vorbisfile/ov_pcm_seek_page.html +0 -84
- data/dependencies/libvorbis/doc/vorbisfile/ov_pcm_seek_page_lap.html +0 -112
- data/dependencies/libvorbis/doc/vorbisfile/ov_pcm_tell.html +0 -63
- data/dependencies/libvorbis/doc/vorbisfile/ov_pcm_total.html +0 -67
- data/dependencies/libvorbis/doc/vorbisfile/ov_raw_seek.html +0 -83
- data/dependencies/libvorbis/doc/vorbisfile/ov_raw_seek_lap.html +0 -110
- data/dependencies/libvorbis/doc/vorbisfile/ov_raw_tell.html +0 -65
- data/dependencies/libvorbis/doc/vorbisfile/ov_raw_total.html +0 -68
- data/dependencies/libvorbis/doc/vorbisfile/ov_read.html +0 -123
- data/dependencies/libvorbis/doc/vorbisfile/ov_read_float.html +0 -101
- data/dependencies/libvorbis/doc/vorbisfile/ov_seekable.html +0 -63
- data/dependencies/libvorbis/doc/vorbisfile/ov_serialnumber.html +0 -67
- data/dependencies/libvorbis/doc/vorbisfile/ov_streams.html +0 -64
- data/dependencies/libvorbis/doc/vorbisfile/ov_test.html +0 -101
- data/dependencies/libvorbis/doc/vorbisfile/ov_test_callbacks.html +0 -111
- data/dependencies/libvorbis/doc/vorbisfile/ov_test_open.html +0 -82
- data/dependencies/libvorbis/doc/vorbisfile/ov_time_seek.html +0 -82
- data/dependencies/libvorbis/doc/vorbisfile/ov_time_seek_lap.html +0 -105
- data/dependencies/libvorbis/doc/vorbisfile/ov_time_seek_page.html +0 -83
- data/dependencies/libvorbis/doc/vorbisfile/ov_time_seek_page_lap.html +0 -112
- data/dependencies/libvorbis/doc/vorbisfile/ov_time_tell.html +0 -63
- data/dependencies/libvorbis/doc/vorbisfile/ov_time_total.html +0 -67
- data/dependencies/libvorbis/doc/vorbisfile/overview.html +0 -61
- data/dependencies/libvorbis/doc/vorbisfile/reference.html +0 -83
- data/dependencies/libvorbis/doc/vorbisfile/return.html +0 -77
- data/dependencies/libvorbis/doc/vorbisfile/seekexample.html +0 -152
- data/dependencies/libvorbis/doc/vorbisfile/seeking.html +0 -107
- data/dependencies/libvorbis/doc/vorbisfile/seeking_example_c.html +0 -86
- data/dependencies/libvorbis/doc/vorbisfile/seeking_test_c.html +0 -86
- data/dependencies/libvorbis/doc/vorbisfile/seekingexample.html +0 -203
- data/dependencies/libvorbis/doc/vorbisfile/style.css +0 -7
- data/dependencies/libvorbis/doc/vorbisfile/threads.html +0 -50
- data/dependencies/libvorbis/doc/vorbisfile/vorbis_comment.html +0 -70
- data/dependencies/libvorbis/doc/vorbisfile/vorbis_info.html +0 -80
- data/dependencies/libvorbis/doc/vorbisfile/vorbisfile_example_c.html +0 -106
- data/dependencies/libvorbis/doc/vorbisword2.png +0 -0
- data/dependencies/libvorbis/doc/wait.png +0 -0
- data/dependencies/libvorbis/doc/white-ogg.png +0 -0
- data/dependencies/libvorbis/doc/white-xifish.png +0 -0
- data/dependencies/libvorbis/doc/window1.png +0 -0
- data/dependencies/libvorbis/doc/window2.png +0 -0
- data/dependencies/libvorbis/doc/xifish.pdf +0 -0
- data/dependencies/libvorbis/doc/xml/01-introduction.xml +0 -665
- data/dependencies/libvorbis/doc/xml/02-bitpacking.xml +0 -280
- data/dependencies/libvorbis/doc/xml/03-codebook.xml +0 -458
- data/dependencies/libvorbis/doc/xml/04-codec.xml +0 -711
- data/dependencies/libvorbis/doc/xml/05-comment.xml +0 -284
- data/dependencies/libvorbis/doc/xml/06-floor0.xml +0 -257
- data/dependencies/libvorbis/doc/xml/07-floor1.xml +0 -450
- data/dependencies/libvorbis/doc/xml/08-residue.xml +0 -492
- data/dependencies/libvorbis/doc/xml/09-helper.xml +0 -211
- data/dependencies/libvorbis/doc/xml/10-tables.xml +0 -94
- data/dependencies/libvorbis/doc/xml/TODO +0 -28
- data/dependencies/libvorbis/doc/xml/Vorbis_I_spec.xml +0 -30
- data/dependencies/libvorbis/doc/xml/a1-encapsulation_ogg.xml +0 -201
- data/dependencies/libvorbis/doc/xml/a2-encapsulation_rtp.xml +0 -31
- data/dependencies/libvorbis/doc/xml/footer.xml +0 -60
- data/dependencies/libvorbis/doc/xml/spec-common.xsl +0 -24
- data/dependencies/libvorbis/doc/xml/spec-fo.xsl +0 -16
- data/dependencies/libvorbis/doc/xml/spec-html.xsl +0 -5
- data/dependencies/libvorbis/examples/Makefile +0 -515
- data/dependencies/libvorbis/examples/Makefile.am +0 -28
- data/dependencies/libvorbis/examples/Makefile.in +0 -515
- data/dependencies/libvorbis/examples/chaining_example.c +0 -72
- data/dependencies/libvorbis/examples/decoder_example.c +0 -307
- data/dependencies/libvorbis/examples/encoder_example.c +0 -253
- data/dependencies/libvorbis/examples/frameview.pl +0 -630
- data/dependencies/libvorbis/examples/seeking_example.c +0 -256
- data/dependencies/libvorbis/examples/vorbisfile_example.c +0 -87
- data/dependencies/libvorbis/include/Makefile.am +0 -3
- data/dependencies/libvorbis/include/Makefile.in +0 -506
- data/dependencies/libvorbis/include/vorbis/Makefile.am +0 -7
- data/dependencies/libvorbis/include/vorbis/Makefile.in +0 -426
- data/dependencies/libvorbis/include/vorbis/codec.h +0 -241
- data/dependencies/libvorbis/include/vorbis/vorbisenc.h +0 -112
- data/dependencies/libvorbis/include/vorbis/vorbisfile.h +0 -183
- data/dependencies/libvorbis/install-sh +0 -507
- data/dependencies/libvorbis/lib/Makefile.am +0 -44
- data/dependencies/libvorbis/lib/Makefile.in +0 -706
- data/dependencies/libvorbis/lib/analysis.c +0 -121
- data/dependencies/libvorbis/lib/backends.h +0 -146
- data/dependencies/libvorbis/lib/barkmel.c +0 -64
- data/dependencies/libvorbis/lib/bitrate.c +0 -253
- data/dependencies/libvorbis/lib/bitrate.h +0 -59
- data/dependencies/libvorbis/lib/block.c +0 -993
- data/dependencies/libvorbis/lib/books/Makefile.am +0 -3
- data/dependencies/libvorbis/lib/books/Makefile.in +0 -506
- data/dependencies/libvorbis/lib/books/coupled/Makefile.am +0 -3
- data/dependencies/libvorbis/lib/books/coupled/Makefile.in +0 -347
- data/dependencies/libvorbis/lib/books/coupled/res_books_stereo.h +0 -20681
- data/dependencies/libvorbis/lib/books/floor/Makefile.am +0 -3
- data/dependencies/libvorbis/lib/books/floor/Makefile.in +0 -347
- data/dependencies/libvorbis/lib/books/floor/floor_books.h +0 -1838
- data/dependencies/libvorbis/lib/books/uncoupled/Makefile.am +0 -3
- data/dependencies/libvorbis/lib/books/uncoupled/Makefile.in +0 -347
- data/dependencies/libvorbis/lib/books/uncoupled/res_books_uncoupled.h +0 -11517
- data/dependencies/libvorbis/lib/codebook.c +0 -634
- data/dependencies/libvorbis/lib/codebook.h +0 -160
- data/dependencies/libvorbis/lib/codec_internal.h +0 -137
- data/dependencies/libvorbis/lib/envelope.c +0 -382
- data/dependencies/libvorbis/lib/envelope.h +0 -81
- data/dependencies/libvorbis/lib/floor0.c +0 -223
- data/dependencies/libvorbis/lib/floor1.c +0 -1094
- data/dependencies/libvorbis/lib/highlevel.h +0 -57
- data/dependencies/libvorbis/lib/info.c +0 -644
- data/dependencies/libvorbis/lib/lookup.c +0 -94
- data/dependencies/libvorbis/lib/lookup.h +0 -32
- data/dependencies/libvorbis/lib/lookup_data.h +0 -189
- data/dependencies/libvorbis/lib/lookups.pl +0 -142
- data/dependencies/libvorbis/lib/lpc.c +0 -149
- data/dependencies/libvorbis/lib/lpc.h +0 -29
- data/dependencies/libvorbis/lib/lsp.c +0 -455
- data/dependencies/libvorbis/lib/lsp.h +0 -28
- data/dependencies/libvorbis/lib/mapping0.c +0 -844
- data/dependencies/libvorbis/lib/masking.h +0 -785
- data/dependencies/libvorbis/lib/mdct.c +0 -564
- data/dependencies/libvorbis/lib/mdct.h +0 -83
- data/dependencies/libvorbis/lib/misc.h +0 -52
- data/dependencies/libvorbis/lib/modes/Makefile.am +0 -6
- data/dependencies/libvorbis/lib/modes/Makefile.in +0 -351
- data/dependencies/libvorbis/lib/modes/floor_all.h +0 -248
- data/dependencies/libvorbis/lib/modes/psych_11.h +0 -51
- data/dependencies/libvorbis/lib/modes/psych_16.h +0 -136
- data/dependencies/libvorbis/lib/modes/psych_44.h +0 -666
- data/dependencies/libvorbis/lib/modes/psych_8.h +0 -102
- data/dependencies/libvorbis/lib/modes/residue_16.h +0 -163
- data/dependencies/libvorbis/lib/modes/residue_44.h +0 -294
- data/dependencies/libvorbis/lib/modes/residue_44u.h +0 -318
- data/dependencies/libvorbis/lib/modes/residue_8.h +0 -109
- data/dependencies/libvorbis/lib/modes/setup_11.h +0 -141
- data/dependencies/libvorbis/lib/modes/setup_16.h +0 -149
- data/dependencies/libvorbis/lib/modes/setup_22.h +0 -128
- data/dependencies/libvorbis/lib/modes/setup_32.h +0 -132
- data/dependencies/libvorbis/lib/modes/setup_44.h +0 -107
- data/dependencies/libvorbis/lib/modes/setup_44u.h +0 -74
- data/dependencies/libvorbis/lib/modes/setup_8.h +0 -146
- data/dependencies/libvorbis/lib/modes/setup_X.h +0 -226
- data/dependencies/libvorbis/lib/os.h +0 -156
- data/dependencies/libvorbis/lib/psy.c +0 -1227
- data/dependencies/libvorbis/lib/psy.h +0 -186
- data/dependencies/libvorbis/lib/psytune.c +0 -524
- data/dependencies/libvorbis/lib/registry.c +0 -46
- data/dependencies/libvorbis/lib/registry.h +0 -32
- data/dependencies/libvorbis/lib/res0.c +0 -919
- data/dependencies/libvorbis/lib/scales.h +0 -86
- data/dependencies/libvorbis/lib/sharedbook.c +0 -735
- data/dependencies/libvorbis/lib/smallft.c +0 -1255
- data/dependencies/libvorbis/lib/smallft.h +0 -34
- data/dependencies/libvorbis/lib/synthesis.c +0 -170
- data/dependencies/libvorbis/lib/tone.c +0 -54
- data/dependencies/libvorbis/lib/vorbisenc.c +0 -1184
- data/dependencies/libvorbis/lib/vorbisfile.c +0 -2194
- data/dependencies/libvorbis/lib/window.c +0 -2136
- data/dependencies/libvorbis/lib/window.h +0 -26
- data/dependencies/libvorbis/libvorbis.spec +0 -118
- data/dependencies/libvorbis/libvorbis.spec.in +0 -118
- data/dependencies/libvorbis/ltmain.sh +0 -6871
- data/dependencies/libvorbis/macos/compat/strdup.c +0 -21
- data/dependencies/libvorbis/macos/compat/sys/types.h +0 -1
- data/dependencies/libvorbis/macos/decoder_example.mcp +0 -0
- data/dependencies/libvorbis/macos/encoder_example.mcp +0 -0
- data/dependencies/libvorbis/macos/libvorbis.mcp +0 -0
- data/dependencies/libvorbis/macos/libvorbis.mcp.exp +0 -45
- data/dependencies/libvorbis/macos/libvorbisenc.mcp +0 -0
- data/dependencies/libvorbis/macos/libvorbisenc.mcp.exp +0 -8
- data/dependencies/libvorbis/macos/libvorbisfile.mcp +0 -0
- data/dependencies/libvorbis/macos/libvorbisfile.mcp.exp +0 -45
- data/dependencies/libvorbis/macos/vorbis.mcp +0 -0
- data/dependencies/libvorbis/macosx/English.lproj/InfoPlist.strings +0 -0
- data/dependencies/libvorbis/macosx/Info.plist +0 -30
- data/dependencies/libvorbis/macosx/Vorbis.xcodeproj/project.pbxproj +0 -893
- data/dependencies/libvorbis/missing +0 -367
- data/dependencies/libvorbis/symbian/bld.inf +0 -35
- data/dependencies/libvorbis/symbian/config.h +0 -54
- data/dependencies/libvorbis/symbian/vorbis.mmp +0 -43
- data/dependencies/libvorbis/todo.txt +0 -22
- data/dependencies/libvorbis/vorbis-uninstalled.pc.in +0 -14
- data/dependencies/libvorbis/vorbis.m4 +0 -122
- data/dependencies/libvorbis/vorbis.pc.in +0 -14
- data/dependencies/libvorbis/vorbisenc-uninstalled.pc.in +0 -14
- data/dependencies/libvorbis/vorbisenc.pc.in +0 -14
- data/dependencies/libvorbis/vorbisfile-uninstalled.pc.in +0 -14
- data/dependencies/libvorbis/vorbisfile.pc.in +0 -14
- data/dependencies/libvorbis/vq/16.vqs +0 -77
- data/dependencies/libvorbis/vq/16u.vqs +0 -71
- data/dependencies/libvorbis/vq/44c-1.vqs +0 -63
- data/dependencies/libvorbis/vq/44c0.vqs +0 -65
- data/dependencies/libvorbis/vq/44c1.vqs +0 -66
- data/dependencies/libvorbis/vq/44c2.vqs +0 -37
- data/dependencies/libvorbis/vq/44c3.vqs +0 -36
- data/dependencies/libvorbis/vq/44c4.vqs +0 -36
- data/dependencies/libvorbis/vq/44c5.vqs +0 -37
- data/dependencies/libvorbis/vq/44c6.vqs +0 -37
- data/dependencies/libvorbis/vq/44c7.vqs +0 -38
- data/dependencies/libvorbis/vq/44c8.vqs +0 -39
- data/dependencies/libvorbis/vq/44c9.vqs +0 -37
- data/dependencies/libvorbis/vq/44u0.vqs +0 -33
- data/dependencies/libvorbis/vq/44u1.vqs +0 -33
- data/dependencies/libvorbis/vq/44u2.vqs +0 -32
- data/dependencies/libvorbis/vq/44u3.vqs +0 -33
- data/dependencies/libvorbis/vq/44u4.vqs +0 -33
- data/dependencies/libvorbis/vq/44u5.vqs +0 -35
- data/dependencies/libvorbis/vq/44u6.vqs +0 -35
- data/dependencies/libvorbis/vq/44u7.vqs +0 -34
- data/dependencies/libvorbis/vq/44u8.vqs +0 -35
- data/dependencies/libvorbis/vq/44u9.vqs +0 -36
- data/dependencies/libvorbis/vq/8.vqs +0 -43
- data/dependencies/libvorbis/vq/8u.vqs +0 -41
- data/dependencies/libvorbis/vq/Makefile +0 -532
- data/dependencies/libvorbis/vq/Makefile.am +0 -34
- data/dependencies/libvorbis/vq/Makefile.in +0 -532
- data/dependencies/libvorbis/vq/auxpartition.pl +0 -71
- data/dependencies/libvorbis/vq/bookutil.c +0 -717
- data/dependencies/libvorbis/vq/bookutil.h +0 -43
- data/dependencies/libvorbis/vq/build.c +0 -195
- data/dependencies/libvorbis/vq/cascade.c +0 -91
- data/dependencies/libvorbis/vq/distribution.c +0 -248
- data/dependencies/libvorbis/vq/floor_11.vqs +0 -10
- data/dependencies/libvorbis/vq/floor_22.vqs +0 -27
- data/dependencies/libvorbis/vq/floor_44.vqs +0 -83
- data/dependencies/libvorbis/vq/genericdata.c +0 -61
- data/dependencies/libvorbis/vq/huffbuild.c +0 -201
- data/dependencies/libvorbis/vq/latticebuild.c +0 -177
- data/dependencies/libvorbis/vq/latticehint.c +0 -430
- data/dependencies/libvorbis/vq/latticepare.c +0 -595
- data/dependencies/libvorbis/vq/latticetune.c +0 -164
- data/dependencies/libvorbis/vq/localcodebook.h +0 -160
- data/dependencies/libvorbis/vq/lspdata.c +0 -157
- data/dependencies/libvorbis/vq/make_floor_books.pl +0 -108
- data/dependencies/libvorbis/vq/make_residue_books.pl +0 -187
- data/dependencies/libvorbis/vq/metrics.c +0 -295
- data/dependencies/libvorbis/vq/residue_entropy +0 -58
- data/dependencies/libvorbis/vq/residuedata.c +0 -160
- data/dependencies/libvorbis/vq/residuesplit.c +0 -282
- data/dependencies/libvorbis/vq/run.c +0 -216
- data/dependencies/libvorbis/vq/train.c +0 -364
- data/dependencies/libvorbis/vq/vqext.h +0 -34
- data/dependencies/libvorbis/vq/vqgen.c +0 -567
- data/dependencies/libvorbis/vq/vqgen.h +0 -85
- data/dependencies/libvorbis/vq/vqsplit.c +0 -612
- data/dependencies/libvorbis/vq/vqsplit.h +0 -37
- data/dependencies/libvorbis/win32/VS2003/libvorbis/libvorbis.vcproj +0 -467
- data/dependencies/libvorbis/win32/VS2003/libvorbisfile/libvorbisfile.def +0 -47
- data/dependencies/libvorbis/win32/VS2003/libvorbisfile/libvorbisfile.vcproj +0 -147
- data/dependencies/libvorbis/win32/VS2003/vorbisdec/vorbisdec.vcproj +0 -268
- data/dependencies/libvorbis/win32/VS2003/vorbisenc/vorbisenc.vcproj +0 -268
- data/dependencies/libvorbis/win32/VS2005/libvorbis/libvorbis.vcproj +0 -653
- data/dependencies/libvorbis/win32/VS2005/libvorbisfile/libvorbisfile.def +0 -47
- data/dependencies/libvorbis/win32/VS2005/libvorbisfile/libvorbisfile.vcproj +0 -219
- data/dependencies/libvorbis/win32/VS2005/vorbisdec/vorbisdec.vcproj +0 -389
- data/dependencies/libvorbis/win32/VS2005/vorbisenc/vorbisenc.vcproj +0 -390
- data/dependencies/libvorbis/win32/build_vorbis_dynamic.bat +0 -19
- data/dependencies/libvorbis/win32/build_vorbis_dynamic_debug.bat +0 -19
- data/dependencies/libvorbis/win32/build_vorbis_static.bat +0 -19
- data/dependencies/libvorbis/win32/build_vorbis_static_debug.bat +0 -19
- data/dependencies/libvorbis/win32/build_vorbisenc_dynamic.bat +0 -19
- data/dependencies/libvorbis/win32/build_vorbisenc_dynamic_debug.bat +0 -19
- data/dependencies/libvorbis/win32/build_vorbisenc_static.bat +0 -19
- data/dependencies/libvorbis/win32/build_vorbisenc_static_debug.bat +0 -19
- data/dependencies/libvorbis/win32/build_vorbisfile_dynamic.bat +0 -19
- data/dependencies/libvorbis/win32/build_vorbisfile_dynamic_debug.bat +0 -19
- data/dependencies/libvorbis/win32/build_vorbisfile_static.bat +0 -19
- data/dependencies/libvorbis/win32/build_vorbisfile_static_debug.bat +0 -19
- data/dependencies/libvorbis/win32/vorbis.def +0 -57
- data/dependencies/libvorbis/win32/vorbis.dsw +0 -101
- data/dependencies/libvorbis/win32/vorbis_dynamic.dsp +0 -281
- data/dependencies/libvorbis/win32/vorbis_static.dsp +0 -257
- data/dependencies/libvorbis/win32/vorbisenc.def +0 -13
- data/dependencies/libvorbis/win32/vorbisenc_dynamic.dsp +0 -121
- data/dependencies/libvorbis/win32/vorbisenc_static.dsp +0 -100
- data/dependencies/libvorbis/win32/vorbisfile.def +0 -41
- data/dependencies/libvorbis/win32/vorbisfile_dynamic.dsp +0 -119
- data/dependencies/libvorbis/win32/vorbisfile_static.dsp +0 -100
- data/dependencies/zlib/ChangeLog +0 -855
- data/dependencies/zlib/FAQ +0 -339
- data/dependencies/zlib/INDEX +0 -51
- data/dependencies/zlib/Makefile +0 -154
- data/dependencies/zlib/Makefile.in +0 -154
- data/dependencies/zlib/README +0 -125
- data/dependencies/zlib/adler32.c +0 -149
- data/dependencies/zlib/algorithm.txt +0 -209
- data/dependencies/zlib/amiga/Makefile.pup +0 -66
- data/dependencies/zlib/amiga/Makefile.sas +0 -65
- data/dependencies/zlib/as400/bndsrc +0 -132
- data/dependencies/zlib/as400/compile.clp +0 -123
- data/dependencies/zlib/as400/readme.txt +0 -111
- data/dependencies/zlib/as400/zlib.inc +0 -331
- data/dependencies/zlib/compress.c +0 -79
- data/dependencies/zlib/configure +0 -459
- data/dependencies/zlib/contrib/README.contrib +0 -71
- data/dependencies/zlib/contrib/ada/buffer_demo.adb +0 -106
- data/dependencies/zlib/contrib/ada/mtest.adb +0 -156
- data/dependencies/zlib/contrib/ada/read.adb +0 -156
- data/dependencies/zlib/contrib/ada/readme.txt +0 -65
- data/dependencies/zlib/contrib/ada/test.adb +0 -463
- data/dependencies/zlib/contrib/ada/zlib-streams.adb +0 -225
- data/dependencies/zlib/contrib/ada/zlib-streams.ads +0 -114
- data/dependencies/zlib/contrib/ada/zlib-thin.adb +0 -141
- data/dependencies/zlib/contrib/ada/zlib-thin.ads +0 -450
- data/dependencies/zlib/contrib/ada/zlib.adb +0 -701
- data/dependencies/zlib/contrib/ada/zlib.ads +0 -328
- data/dependencies/zlib/contrib/ada/zlib.gpr +0 -20
- data/dependencies/zlib/contrib/asm586/README.586 +0 -43
- data/dependencies/zlib/contrib/asm586/match.S +0 -364
- data/dependencies/zlib/contrib/asm686/README.686 +0 -34
- data/dependencies/zlib/contrib/asm686/match.S +0 -329
- data/dependencies/zlib/contrib/blast/Makefile +0 -8
- data/dependencies/zlib/contrib/blast/README +0 -4
- data/dependencies/zlib/contrib/blast/blast.c +0 -444
- data/dependencies/zlib/contrib/blast/blast.h +0 -71
- data/dependencies/zlib/contrib/blast/test.pk +0 -0
- data/dependencies/zlib/contrib/blast/test.txt +0 -1
- data/dependencies/zlib/contrib/delphi/ZLib.pas +0 -557
- data/dependencies/zlib/contrib/delphi/ZLibConst.pas +0 -11
- data/dependencies/zlib/contrib/delphi/readme.txt +0 -76
- data/dependencies/zlib/contrib/delphi/zlibd32.mak +0 -93
- data/dependencies/zlib/contrib/dotzlib/DotZLib.build +0 -33
- data/dependencies/zlib/contrib/dotzlib/DotZLib.chm +0 -0
- data/dependencies/zlib/contrib/dotzlib/DotZLib.sln +0 -21
- data/dependencies/zlib/contrib/dotzlib/DotZLib/AssemblyInfo.cs +0 -58
- data/dependencies/zlib/contrib/dotzlib/DotZLib/ChecksumImpl.cs +0 -202
- data/dependencies/zlib/contrib/dotzlib/DotZLib/CircularBuffer.cs +0 -83
- data/dependencies/zlib/contrib/dotzlib/DotZLib/CodecBase.cs +0 -198
- data/dependencies/zlib/contrib/dotzlib/DotZLib/Deflater.cs +0 -106
- data/dependencies/zlib/contrib/dotzlib/DotZLib/DotZLib.cs +0 -288
- data/dependencies/zlib/contrib/dotzlib/DotZLib/DotZLib.csproj +0 -141
- data/dependencies/zlib/contrib/dotzlib/DotZLib/GZipStream.cs +0 -301
- data/dependencies/zlib/contrib/dotzlib/DotZLib/Inflater.cs +0 -105
- data/dependencies/zlib/contrib/dotzlib/DotZLib/UnitTests.cs +0 -274
- data/dependencies/zlib/contrib/dotzlib/LICENSE_1_0.txt +0 -23
- data/dependencies/zlib/contrib/dotzlib/readme.txt +0 -58
- data/dependencies/zlib/contrib/infback9/README +0 -1
- data/dependencies/zlib/contrib/infback9/infback9.c +0 -608
- data/dependencies/zlib/contrib/infback9/infback9.h +0 -37
- data/dependencies/zlib/contrib/infback9/inffix9.h +0 -107
- data/dependencies/zlib/contrib/infback9/inflate9.h +0 -47
- data/dependencies/zlib/contrib/infback9/inftree9.c +0 -323
- data/dependencies/zlib/contrib/infback9/inftree9.h +0 -55
- data/dependencies/zlib/contrib/inflate86/inffas86.c +0 -1157
- data/dependencies/zlib/contrib/inflate86/inffast.S +0 -1368
- data/dependencies/zlib/contrib/iostream/test.cpp +0 -24
- data/dependencies/zlib/contrib/iostream/zfstream.cpp +0 -329
- data/dependencies/zlib/contrib/iostream/zfstream.h +0 -128
- data/dependencies/zlib/contrib/iostream2/zstream.h +0 -307
- data/dependencies/zlib/contrib/iostream2/zstream_test.cpp +0 -25
- data/dependencies/zlib/contrib/iostream3/README +0 -35
- data/dependencies/zlib/contrib/iostream3/TODO +0 -17
- data/dependencies/zlib/contrib/iostream3/test.cc +0 -50
- data/dependencies/zlib/contrib/iostream3/zfstream.cc +0 -479
- data/dependencies/zlib/contrib/iostream3/zfstream.h +0 -466
- data/dependencies/zlib/contrib/masm686/match.asm +0 -413
- data/dependencies/zlib/contrib/masmx64/bld_ml64.bat +0 -2
- data/dependencies/zlib/contrib/masmx64/gvmat64.asm +0 -513
- data/dependencies/zlib/contrib/masmx64/gvmat64.obj +0 -0
- data/dependencies/zlib/contrib/masmx64/inffas8664.c +0 -186
- data/dependencies/zlib/contrib/masmx64/inffasx64.asm +0 -392
- data/dependencies/zlib/contrib/masmx64/inffasx64.obj +0 -0
- data/dependencies/zlib/contrib/masmx64/readme.txt +0 -28
- data/dependencies/zlib/contrib/masmx86/bld_ml32.bat +0 -2
- data/dependencies/zlib/contrib/masmx86/gvmat32.asm +0 -972
- data/dependencies/zlib/contrib/masmx86/gvmat32.obj +0 -0
- data/dependencies/zlib/contrib/masmx86/gvmat32c.c +0 -62
- data/dependencies/zlib/contrib/masmx86/inffas32.asm +0 -1083
- data/dependencies/zlib/contrib/masmx86/inffas32.obj +0 -0
- data/dependencies/zlib/contrib/masmx86/mkasm.bat +0 -3
- data/dependencies/zlib/contrib/masmx86/readme.txt +0 -21
- data/dependencies/zlib/contrib/minizip/ChangeLogUnzip +0 -67
- data/dependencies/zlib/contrib/minizip/Makefile +0 -25
- data/dependencies/zlib/contrib/minizip/crypt.h +0 -132
- data/dependencies/zlib/contrib/minizip/ioapi.c +0 -177
- data/dependencies/zlib/contrib/minizip/ioapi.h +0 -75
- data/dependencies/zlib/contrib/minizip/iowin32.c +0 -270
- data/dependencies/zlib/contrib/minizip/iowin32.h +0 -21
- data/dependencies/zlib/contrib/minizip/miniunz.c +0 -585
- data/dependencies/zlib/contrib/minizip/minizip.c +0 -420
- data/dependencies/zlib/contrib/minizip/mztools.c +0 -281
- data/dependencies/zlib/contrib/minizip/mztools.h +0 -31
- data/dependencies/zlib/contrib/minizip/unzip.c +0 -1598
- data/dependencies/zlib/contrib/minizip/unzip.h +0 -354
- data/dependencies/zlib/contrib/minizip/zip.c +0 -1219
- data/dependencies/zlib/contrib/minizip/zip.h +0 -235
- data/dependencies/zlib/contrib/pascal/example.pas +0 -599
- data/dependencies/zlib/contrib/pascal/readme.txt +0 -76
- data/dependencies/zlib/contrib/pascal/zlibd32.mak +0 -93
- data/dependencies/zlib/contrib/pascal/zlibpas.pas +0 -236
- data/dependencies/zlib/contrib/puff/Makefile +0 -8
- data/dependencies/zlib/contrib/puff/README +0 -63
- data/dependencies/zlib/contrib/puff/puff.c +0 -837
- data/dependencies/zlib/contrib/puff/puff.h +0 -31
- data/dependencies/zlib/contrib/puff/zeros.raw +0 -0
- data/dependencies/zlib/contrib/testzlib/testzlib.c +0 -275
- data/dependencies/zlib/contrib/testzlib/testzlib.txt +0 -10
- data/dependencies/zlib/contrib/untgz/Makefile +0 -14
- data/dependencies/zlib/contrib/untgz/Makefile.msc +0 -17
- data/dependencies/zlib/contrib/untgz/untgz.c +0 -674
- data/dependencies/zlib/contrib/vstudio/readme.txt +0 -73
- data/dependencies/zlib/contrib/vstudio/vc7/miniunz.vcproj +0 -126
- data/dependencies/zlib/contrib/vstudio/vc7/minizip.vcproj +0 -126
- data/dependencies/zlib/contrib/vstudio/vc7/testzlib.vcproj +0 -126
- data/dependencies/zlib/contrib/vstudio/vc7/zlib.rc +0 -32
- data/dependencies/zlib/contrib/vstudio/vc7/zlibstat.vcproj +0 -246
- data/dependencies/zlib/contrib/vstudio/vc7/zlibvc.def +0 -92
- data/dependencies/zlib/contrib/vstudio/vc7/zlibvc.sln +0 -78
- data/dependencies/zlib/contrib/vstudio/vc7/zlibvc.vcproj +0 -445
- data/dependencies/zlib/contrib/vstudio/vc8/miniunz.vcproj +0 -566
- data/dependencies/zlib/contrib/vstudio/vc8/minizip.vcproj +0 -563
- data/dependencies/zlib/contrib/vstudio/vc8/testzlib.vcproj +0 -948
- data/dependencies/zlib/contrib/vstudio/vc8/testzlibdll.vcproj +0 -567
- data/dependencies/zlib/contrib/vstudio/vc8/zlib.rc +0 -32
- data/dependencies/zlib/contrib/vstudio/vc8/zlibstat.vcproj +0 -870
- data/dependencies/zlib/contrib/vstudio/vc8/zlibvc.def +0 -92
- data/dependencies/zlib/contrib/vstudio/vc8/zlibvc.sln +0 -144
- data/dependencies/zlib/contrib/vstudio/vc8/zlibvc.vcproj +0 -1219
- data/dependencies/zlib/crc32.c +0 -423
- data/dependencies/zlib/crc32.h +0 -441
- data/dependencies/zlib/deflate.c +0 -1736
- data/dependencies/zlib/deflate.h +0 -331
- data/dependencies/zlib/example.c +0 -565
- data/dependencies/zlib/examples/README.examples +0 -42
- data/dependencies/zlib/examples/fitblk.c +0 -233
- data/dependencies/zlib/examples/gun.c +0 -693
- data/dependencies/zlib/examples/gzappend.c +0 -500
- data/dependencies/zlib/examples/gzjoin.c +0 -448
- data/dependencies/zlib/examples/gzlog.c +0 -413
- data/dependencies/zlib/examples/gzlog.h +0 -58
- data/dependencies/zlib/examples/zlib_how.html +0 -523
- data/dependencies/zlib/examples/zpipe.c +0 -191
- data/dependencies/zlib/examples/zran.c +0 -404
- data/dependencies/zlib/gzio.c +0 -1026
- data/dependencies/zlib/infback.c +0 -623
- data/dependencies/zlib/inffast.c +0 -318
- data/dependencies/zlib/inffast.h +0 -11
- data/dependencies/zlib/inffixed.h +0 -94
- data/dependencies/zlib/inflate.c +0 -1368
- data/dependencies/zlib/inflate.h +0 -115
- data/dependencies/zlib/inftrees.c +0 -329
- data/dependencies/zlib/inftrees.h +0 -55
- data/dependencies/zlib/make_vms.com +0 -461
- data/dependencies/zlib/minigzip.c +0 -322
- data/dependencies/zlib/msdos/Makefile.bor +0 -109
- data/dependencies/zlib/msdos/Makefile.dj2 +0 -104
- data/dependencies/zlib/msdos/Makefile.emx +0 -69
- data/dependencies/zlib/msdos/Makefile.msc +0 -106
- data/dependencies/zlib/msdos/Makefile.tc +0 -94
- data/dependencies/zlib/old/Makefile.riscos +0 -151
- data/dependencies/zlib/old/README +0 -3
- data/dependencies/zlib/old/descrip.mms +0 -48
- data/dependencies/zlib/old/os2/Makefile.os2 +0 -136
- data/dependencies/zlib/old/os2/zlib.def +0 -51
- data/dependencies/zlib/old/visual-basic.txt +0 -160
- data/dependencies/zlib/old/zlib.html +0 -971
- data/dependencies/zlib/projects/README.projects +0 -41
- data/dependencies/zlib/projects/visualc6/README.txt +0 -73
- data/dependencies/zlib/projects/visualc6/example.dsp +0 -278
- data/dependencies/zlib/projects/visualc6/minigzip.dsp +0 -278
- data/dependencies/zlib/projects/visualc6/zlib.dsp +0 -609
- data/dependencies/zlib/projects/visualc6/zlib.dsw +0 -59
- data/dependencies/zlib/qnx/package.qpg +0 -141
- data/dependencies/zlib/trees.c +0 -1219
- data/dependencies/zlib/trees.h +0 -128
- data/dependencies/zlib/uncompr.c +0 -61
- data/dependencies/zlib/win32/DLL_FAQ.txt +0 -397
- data/dependencies/zlib/win32/Makefile.bor +0 -107
- data/dependencies/zlib/win32/Makefile.emx +0 -69
- data/dependencies/zlib/win32/Makefile.gcc +0 -141
- data/dependencies/zlib/win32/Makefile.msc +0 -126
- data/dependencies/zlib/win32/VisualC.txt +0 -3
- data/dependencies/zlib/win32/zlib.def +0 -60
- data/dependencies/zlib/win32/zlib1.rc +0 -39
- data/dependencies/zlib/zconf.h +0 -332
- data/dependencies/zlib/zconf.in.h +0 -332
- data/dependencies/zlib/zlib.3 +0 -159
- data/dependencies/zlib/zlib.h +0 -1357
- data/dependencies/zlib/zutil.c +0 -318
- data/dependencies/zlib/zutil.h +0 -269
- data/mac/English.lproj/InfoPlist.strings +0 -0
- data/mac/Gosu-Info.plist +0 -26
- data/mac/Gosu.icns +0 -0
- data/mac/Gosu.xcodeproj/jlnr.mode1v3 +0 -1420
- data/mac/Gosu.xcodeproj/jlnr.mode2v3 +0 -1464
- data/mac/Gosu.xcodeproj/jlnr.pbxuser +0 -1407
- data/mac/Gosu.xcodeproj/jlnr.perspectivev3 +0 -1573
- data/mac/Gosu.xcodeproj/project.pbxproj +0 -2758
- data/mac/RubyGosu App-Info.plist +0 -26
- data/windows/Gosu.sln +0 -34
- data/windows/Gosu.vcproj +0 -553
- data/windows/RubyGosu.vcproj +0 -241
@@ -1,1227 +0,0 @@
|
|
1
|
-
/********************************************************************
|
2
|
-
* *
|
3
|
-
* THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. *
|
4
|
-
* USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS *
|
5
|
-
* GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
|
6
|
-
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
7
|
-
* *
|
8
|
-
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2007 *
|
9
|
-
* by the Xiph.Org Foundation http://www.xiph.org/ *
|
10
|
-
* *
|
11
|
-
********************************************************************
|
12
|
-
|
13
|
-
function: psychoacoustics not including preecho
|
14
|
-
last mod: $Id: psy.c 13293 2007-07-24 00:09:47Z xiphmont $
|
15
|
-
|
16
|
-
********************************************************************/
|
17
|
-
|
18
|
-
#include <stdlib.h>
|
19
|
-
#include <math.h>
|
20
|
-
#include <string.h>
|
21
|
-
#include "vorbis/codec.h"
|
22
|
-
#include "codec_internal.h"
|
23
|
-
|
24
|
-
#include "masking.h"
|
25
|
-
#include "psy.h"
|
26
|
-
#include "os.h"
|
27
|
-
#include "lpc.h"
|
28
|
-
#include "smallft.h"
|
29
|
-
#include "scales.h"
|
30
|
-
#include "misc.h"
|
31
|
-
|
32
|
-
#define NEGINF -9999.f
|
33
|
-
static double stereo_threshholds[]={0.0, .5, 1.0, 1.5, 2.5, 4.5, 8.5, 16.5, 9e10};
|
34
|
-
static double stereo_threshholds_limited[]={0.0, .5, 1.0, 1.5, 2.0, 2.5, 4.5, 8.5, 9e10};
|
35
|
-
|
36
|
-
vorbis_look_psy_global *_vp_global_look(vorbis_info *vi){
|
37
|
-
codec_setup_info *ci=vi->codec_setup;
|
38
|
-
vorbis_info_psy_global *gi=&ci->psy_g_param;
|
39
|
-
vorbis_look_psy_global *look=_ogg_calloc(1,sizeof(*look));
|
40
|
-
|
41
|
-
look->channels=vi->channels;
|
42
|
-
|
43
|
-
look->ampmax=-9999.;
|
44
|
-
look->gi=gi;
|
45
|
-
return(look);
|
46
|
-
}
|
47
|
-
|
48
|
-
void _vp_global_free(vorbis_look_psy_global *look){
|
49
|
-
if(look){
|
50
|
-
memset(look,0,sizeof(*look));
|
51
|
-
_ogg_free(look);
|
52
|
-
}
|
53
|
-
}
|
54
|
-
|
55
|
-
void _vi_gpsy_free(vorbis_info_psy_global *i){
|
56
|
-
if(i){
|
57
|
-
memset(i,0,sizeof(*i));
|
58
|
-
_ogg_free(i);
|
59
|
-
}
|
60
|
-
}
|
61
|
-
|
62
|
-
void _vi_psy_free(vorbis_info_psy *i){
|
63
|
-
if(i){
|
64
|
-
memset(i,0,sizeof(*i));
|
65
|
-
_ogg_free(i);
|
66
|
-
}
|
67
|
-
}
|
68
|
-
|
69
|
-
static void min_curve(float *c,
|
70
|
-
float *c2){
|
71
|
-
int i;
|
72
|
-
for(i=0;i<EHMER_MAX;i++)if(c2[i]<c[i])c[i]=c2[i];
|
73
|
-
}
|
74
|
-
static void max_curve(float *c,
|
75
|
-
float *c2){
|
76
|
-
int i;
|
77
|
-
for(i=0;i<EHMER_MAX;i++)if(c2[i]>c[i])c[i]=c2[i];
|
78
|
-
}
|
79
|
-
|
80
|
-
static void attenuate_curve(float *c,float att){
|
81
|
-
int i;
|
82
|
-
for(i=0;i<EHMER_MAX;i++)
|
83
|
-
c[i]+=att;
|
84
|
-
}
|
85
|
-
|
86
|
-
static float ***setup_tone_curves(float curveatt_dB[P_BANDS],float binHz,int n,
|
87
|
-
float center_boost, float center_decay_rate){
|
88
|
-
int i,j,k,m;
|
89
|
-
float ath[EHMER_MAX];
|
90
|
-
float workc[P_BANDS][P_LEVELS][EHMER_MAX];
|
91
|
-
float athc[P_LEVELS][EHMER_MAX];
|
92
|
-
float *brute_buffer=alloca(n*sizeof(*brute_buffer));
|
93
|
-
|
94
|
-
float ***ret=_ogg_malloc(sizeof(*ret)*P_BANDS);
|
95
|
-
|
96
|
-
memset(workc,0,sizeof(workc));
|
97
|
-
|
98
|
-
for(i=0;i<P_BANDS;i++){
|
99
|
-
/* we add back in the ATH to avoid low level curves falling off to
|
100
|
-
-infinity and unnecessarily cutting off high level curves in the
|
101
|
-
curve limiting (last step). */
|
102
|
-
|
103
|
-
/* A half-band's settings must be valid over the whole band, and
|
104
|
-
it's better to mask too little than too much */
|
105
|
-
int ath_offset=i*4;
|
106
|
-
for(j=0;j<EHMER_MAX;j++){
|
107
|
-
float min=999.;
|
108
|
-
for(k=0;k<4;k++)
|
109
|
-
if(j+k+ath_offset<MAX_ATH){
|
110
|
-
if(min>ATH[j+k+ath_offset])min=ATH[j+k+ath_offset];
|
111
|
-
}else{
|
112
|
-
if(min>ATH[MAX_ATH-1])min=ATH[MAX_ATH-1];
|
113
|
-
}
|
114
|
-
ath[j]=min;
|
115
|
-
}
|
116
|
-
|
117
|
-
/* copy curves into working space, replicate the 50dB curve to 30
|
118
|
-
and 40, replicate the 100dB curve to 110 */
|
119
|
-
for(j=0;j<6;j++)
|
120
|
-
memcpy(workc[i][j+2],tonemasks[i][j],EHMER_MAX*sizeof(*tonemasks[i][j]));
|
121
|
-
memcpy(workc[i][0],tonemasks[i][0],EHMER_MAX*sizeof(*tonemasks[i][0]));
|
122
|
-
memcpy(workc[i][1],tonemasks[i][0],EHMER_MAX*sizeof(*tonemasks[i][0]));
|
123
|
-
|
124
|
-
/* apply centered curve boost/decay */
|
125
|
-
for(j=0;j<P_LEVELS;j++){
|
126
|
-
for(k=0;k<EHMER_MAX;k++){
|
127
|
-
float adj=center_boost+abs(EHMER_OFFSET-k)*center_decay_rate;
|
128
|
-
if(adj<0. && center_boost>0)adj=0.;
|
129
|
-
if(adj>0. && center_boost<0)adj=0.;
|
130
|
-
workc[i][j][k]+=adj;
|
131
|
-
}
|
132
|
-
}
|
133
|
-
|
134
|
-
/* normalize curves so the driving amplitude is 0dB */
|
135
|
-
/* make temp curves with the ATH overlayed */
|
136
|
-
for(j=0;j<P_LEVELS;j++){
|
137
|
-
attenuate_curve(workc[i][j],curveatt_dB[i]+100.-(j<2?2:j)*10.-P_LEVEL_0);
|
138
|
-
memcpy(athc[j],ath,EHMER_MAX*sizeof(**athc));
|
139
|
-
attenuate_curve(athc[j],+100.-j*10.f-P_LEVEL_0);
|
140
|
-
max_curve(athc[j],workc[i][j]);
|
141
|
-
}
|
142
|
-
|
143
|
-
/* Now limit the louder curves.
|
144
|
-
|
145
|
-
the idea is this: We don't know what the playback attenuation
|
146
|
-
will be; 0dB SL moves every time the user twiddles the volume
|
147
|
-
knob. So that means we have to use a single 'most pessimal' curve
|
148
|
-
for all masking amplitudes, right? Wrong. The *loudest* sound
|
149
|
-
can be in (we assume) a range of ...+100dB] SL. However, sounds
|
150
|
-
20dB down will be in a range ...+80], 40dB down is from ...+60],
|
151
|
-
etc... */
|
152
|
-
|
153
|
-
for(j=1;j<P_LEVELS;j++){
|
154
|
-
min_curve(athc[j],athc[j-1]);
|
155
|
-
min_curve(workc[i][j],athc[j]);
|
156
|
-
}
|
157
|
-
}
|
158
|
-
|
159
|
-
for(i=0;i<P_BANDS;i++){
|
160
|
-
int hi_curve,lo_curve,bin;
|
161
|
-
ret[i]=_ogg_malloc(sizeof(**ret)*P_LEVELS);
|
162
|
-
|
163
|
-
/* low frequency curves are measured with greater resolution than
|
164
|
-
the MDCT/FFT will actually give us; we want the curve applied
|
165
|
-
to the tone data to be pessimistic and thus apply the minimum
|
166
|
-
masking possible for a given bin. That means that a single bin
|
167
|
-
could span more than one octave and that the curve will be a
|
168
|
-
composite of multiple octaves. It also may mean that a single
|
169
|
-
bin may span > an eighth of an octave and that the eighth
|
170
|
-
octave values may also be composited. */
|
171
|
-
|
172
|
-
/* which octave curves will we be compositing? */
|
173
|
-
bin=floor(fromOC(i*.5)/binHz);
|
174
|
-
lo_curve= ceil(toOC(bin*binHz+1)*2);
|
175
|
-
hi_curve= floor(toOC((bin+1)*binHz)*2);
|
176
|
-
if(lo_curve>i)lo_curve=i;
|
177
|
-
if(lo_curve<0)lo_curve=0;
|
178
|
-
if(hi_curve>=P_BANDS)hi_curve=P_BANDS-1;
|
179
|
-
|
180
|
-
for(m=0;m<P_LEVELS;m++){
|
181
|
-
ret[i][m]=_ogg_malloc(sizeof(***ret)*(EHMER_MAX+2));
|
182
|
-
|
183
|
-
for(j=0;j<n;j++)brute_buffer[j]=999.;
|
184
|
-
|
185
|
-
/* render the curve into bins, then pull values back into curve.
|
186
|
-
The point is that any inherent subsampling aliasing results in
|
187
|
-
a safe minimum */
|
188
|
-
for(k=lo_curve;k<=hi_curve;k++){
|
189
|
-
int l=0;
|
190
|
-
|
191
|
-
for(j=0;j<EHMER_MAX;j++){
|
192
|
-
int lo_bin= fromOC(j*.125+k*.5-2.0625)/binHz;
|
193
|
-
int hi_bin= fromOC(j*.125+k*.5-1.9375)/binHz+1;
|
194
|
-
|
195
|
-
if(lo_bin<0)lo_bin=0;
|
196
|
-
if(lo_bin>n)lo_bin=n;
|
197
|
-
if(lo_bin<l)l=lo_bin;
|
198
|
-
if(hi_bin<0)hi_bin=0;
|
199
|
-
if(hi_bin>n)hi_bin=n;
|
200
|
-
|
201
|
-
for(;l<hi_bin && l<n;l++)
|
202
|
-
if(brute_buffer[l]>workc[k][m][j])
|
203
|
-
brute_buffer[l]=workc[k][m][j];
|
204
|
-
}
|
205
|
-
|
206
|
-
for(;l<n;l++)
|
207
|
-
if(brute_buffer[l]>workc[k][m][EHMER_MAX-1])
|
208
|
-
brute_buffer[l]=workc[k][m][EHMER_MAX-1];
|
209
|
-
|
210
|
-
}
|
211
|
-
|
212
|
-
/* be equally paranoid about being valid up to next half ocatve */
|
213
|
-
if(i+1<P_BANDS){
|
214
|
-
int l=0;
|
215
|
-
k=i+1;
|
216
|
-
for(j=0;j<EHMER_MAX;j++){
|
217
|
-
int lo_bin= fromOC(j*.125+i*.5-2.0625)/binHz;
|
218
|
-
int hi_bin= fromOC(j*.125+i*.5-1.9375)/binHz+1;
|
219
|
-
|
220
|
-
if(lo_bin<0)lo_bin=0;
|
221
|
-
if(lo_bin>n)lo_bin=n;
|
222
|
-
if(lo_bin<l)l=lo_bin;
|
223
|
-
if(hi_bin<0)hi_bin=0;
|
224
|
-
if(hi_bin>n)hi_bin=n;
|
225
|
-
|
226
|
-
for(;l<hi_bin && l<n;l++)
|
227
|
-
if(brute_buffer[l]>workc[k][m][j])
|
228
|
-
brute_buffer[l]=workc[k][m][j];
|
229
|
-
}
|
230
|
-
|
231
|
-
for(;l<n;l++)
|
232
|
-
if(brute_buffer[l]>workc[k][m][EHMER_MAX-1])
|
233
|
-
brute_buffer[l]=workc[k][m][EHMER_MAX-1];
|
234
|
-
|
235
|
-
}
|
236
|
-
|
237
|
-
|
238
|
-
for(j=0;j<EHMER_MAX;j++){
|
239
|
-
int bin=fromOC(j*.125+i*.5-2.)/binHz;
|
240
|
-
if(bin<0){
|
241
|
-
ret[i][m][j+2]=-999.;
|
242
|
-
}else{
|
243
|
-
if(bin>=n){
|
244
|
-
ret[i][m][j+2]=-999.;
|
245
|
-
}else{
|
246
|
-
ret[i][m][j+2]=brute_buffer[bin];
|
247
|
-
}
|
248
|
-
}
|
249
|
-
}
|
250
|
-
|
251
|
-
/* add fenceposts */
|
252
|
-
for(j=0;j<EHMER_OFFSET;j++)
|
253
|
-
if(ret[i][m][j+2]>-200.f)break;
|
254
|
-
ret[i][m][0]=j;
|
255
|
-
|
256
|
-
for(j=EHMER_MAX-1;j>EHMER_OFFSET+1;j--)
|
257
|
-
if(ret[i][m][j+2]>-200.f)
|
258
|
-
break;
|
259
|
-
ret[i][m][1]=j;
|
260
|
-
|
261
|
-
}
|
262
|
-
}
|
263
|
-
|
264
|
-
return(ret);
|
265
|
-
}
|
266
|
-
|
267
|
-
void _vp_psy_init(vorbis_look_psy *p,vorbis_info_psy *vi,
|
268
|
-
vorbis_info_psy_global *gi,int n,long rate){
|
269
|
-
long i,j,lo=-99,hi=1;
|
270
|
-
long maxoc;
|
271
|
-
memset(p,0,sizeof(*p));
|
272
|
-
|
273
|
-
p->eighth_octave_lines=gi->eighth_octave_lines;
|
274
|
-
p->shiftoc=rint(log(gi->eighth_octave_lines*8.f)/log(2.f))-1;
|
275
|
-
|
276
|
-
p->firstoc=toOC(.25f*rate*.5/n)*(1<<(p->shiftoc+1))-gi->eighth_octave_lines;
|
277
|
-
maxoc=toOC((n+.25f)*rate*.5/n)*(1<<(p->shiftoc+1))+.5f;
|
278
|
-
p->total_octave_lines=maxoc-p->firstoc+1;
|
279
|
-
p->ath=_ogg_malloc(n*sizeof(*p->ath));
|
280
|
-
|
281
|
-
p->octave=_ogg_malloc(n*sizeof(*p->octave));
|
282
|
-
p->bark=_ogg_malloc(n*sizeof(*p->bark));
|
283
|
-
p->vi=vi;
|
284
|
-
p->n=n;
|
285
|
-
p->rate=rate;
|
286
|
-
|
287
|
-
/* AoTuV HF weighting */
|
288
|
-
p->m_val = 1.;
|
289
|
-
if(rate < 26000) p->m_val = 0;
|
290
|
-
else if(rate < 38000) p->m_val = .94; /* 32kHz */
|
291
|
-
else if(rate > 46000) p->m_val = 1.275; /* 48kHz */
|
292
|
-
|
293
|
-
/* set up the lookups for a given blocksize and sample rate */
|
294
|
-
|
295
|
-
for(i=0,j=0;i<MAX_ATH-1;i++){
|
296
|
-
int endpos=rint(fromOC((i+1)*.125-2.)*2*n/rate);
|
297
|
-
float base=ATH[i];
|
298
|
-
if(j<endpos){
|
299
|
-
float delta=(ATH[i+1]-base)/(endpos-j);
|
300
|
-
for(;j<endpos && j<n;j++){
|
301
|
-
p->ath[j]=base+100.;
|
302
|
-
base+=delta;
|
303
|
-
}
|
304
|
-
}
|
305
|
-
}
|
306
|
-
|
307
|
-
for(i=0;i<n;i++){
|
308
|
-
float bark=toBARK(rate/(2*n)*i);
|
309
|
-
|
310
|
-
for(;lo+vi->noisewindowlomin<i &&
|
311
|
-
toBARK(rate/(2*n)*lo)<(bark-vi->noisewindowlo);lo++);
|
312
|
-
|
313
|
-
for(;hi<=n && (hi<i+vi->noisewindowhimin ||
|
314
|
-
toBARK(rate/(2*n)*hi)<(bark+vi->noisewindowhi));hi++);
|
315
|
-
|
316
|
-
p->bark[i]=((lo-1)<<16)+(hi-1);
|
317
|
-
|
318
|
-
}
|
319
|
-
|
320
|
-
for(i=0;i<n;i++)
|
321
|
-
p->octave[i]=toOC((i+.25f)*.5*rate/n)*(1<<(p->shiftoc+1))+.5f;
|
322
|
-
|
323
|
-
p->tonecurves=setup_tone_curves(vi->toneatt,rate*.5/n,n,
|
324
|
-
vi->tone_centerboost,vi->tone_decay);
|
325
|
-
|
326
|
-
/* set up rolling noise median */
|
327
|
-
p->noiseoffset=_ogg_malloc(P_NOISECURVES*sizeof(*p->noiseoffset));
|
328
|
-
for(i=0;i<P_NOISECURVES;i++)
|
329
|
-
p->noiseoffset[i]=_ogg_malloc(n*sizeof(**p->noiseoffset));
|
330
|
-
|
331
|
-
for(i=0;i<n;i++){
|
332
|
-
float halfoc=toOC((i+.5)*rate/(2.*n))*2.;
|
333
|
-
int inthalfoc;
|
334
|
-
float del;
|
335
|
-
|
336
|
-
if(halfoc<0)halfoc=0;
|
337
|
-
if(halfoc>=P_BANDS-1)halfoc=P_BANDS-1;
|
338
|
-
inthalfoc=(int)halfoc;
|
339
|
-
del=halfoc-inthalfoc;
|
340
|
-
|
341
|
-
for(j=0;j<P_NOISECURVES;j++)
|
342
|
-
p->noiseoffset[j][i]=
|
343
|
-
p->vi->noiseoff[j][inthalfoc]*(1.-del) +
|
344
|
-
p->vi->noiseoff[j][inthalfoc+1]*del;
|
345
|
-
|
346
|
-
}
|
347
|
-
#if 0
|
348
|
-
{
|
349
|
-
static int ls=0;
|
350
|
-
_analysis_output_always("noiseoff0",ls,p->noiseoffset[0],n,1,0,0);
|
351
|
-
_analysis_output_always("noiseoff1",ls,p->noiseoffset[1],n,1,0,0);
|
352
|
-
_analysis_output_always("noiseoff2",ls++,p->noiseoffset[2],n,1,0,0);
|
353
|
-
}
|
354
|
-
#endif
|
355
|
-
}
|
356
|
-
|
357
|
-
void _vp_psy_clear(vorbis_look_psy *p){
|
358
|
-
int i,j;
|
359
|
-
if(p){
|
360
|
-
if(p->ath)_ogg_free(p->ath);
|
361
|
-
if(p->octave)_ogg_free(p->octave);
|
362
|
-
if(p->bark)_ogg_free(p->bark);
|
363
|
-
if(p->tonecurves){
|
364
|
-
for(i=0;i<P_BANDS;i++){
|
365
|
-
for(j=0;j<P_LEVELS;j++){
|
366
|
-
_ogg_free(p->tonecurves[i][j]);
|
367
|
-
}
|
368
|
-
_ogg_free(p->tonecurves[i]);
|
369
|
-
}
|
370
|
-
_ogg_free(p->tonecurves);
|
371
|
-
}
|
372
|
-
if(p->noiseoffset){
|
373
|
-
for(i=0;i<P_NOISECURVES;i++){
|
374
|
-
_ogg_free(p->noiseoffset[i]);
|
375
|
-
}
|
376
|
-
_ogg_free(p->noiseoffset);
|
377
|
-
}
|
378
|
-
memset(p,0,sizeof(*p));
|
379
|
-
}
|
380
|
-
}
|
381
|
-
|
382
|
-
/* octave/(8*eighth_octave_lines) x scale and dB y scale */
|
383
|
-
static void seed_curve(float *seed,
|
384
|
-
const float **curves,
|
385
|
-
float amp,
|
386
|
-
int oc, int n,
|
387
|
-
int linesper,float dBoffset){
|
388
|
-
int i,post1;
|
389
|
-
int seedptr;
|
390
|
-
const float *posts,*curve;
|
391
|
-
|
392
|
-
int choice=(int)((amp+dBoffset-P_LEVEL_0)*.1f);
|
393
|
-
choice=max(choice,0);
|
394
|
-
choice=min(choice,P_LEVELS-1);
|
395
|
-
posts=curves[choice];
|
396
|
-
curve=posts+2;
|
397
|
-
post1=(int)posts[1];
|
398
|
-
seedptr=oc+(posts[0]-EHMER_OFFSET)*linesper-(linesper>>1);
|
399
|
-
|
400
|
-
for(i=posts[0];i<post1;i++){
|
401
|
-
if(seedptr>0){
|
402
|
-
float lin=amp+curve[i];
|
403
|
-
if(seed[seedptr]<lin)seed[seedptr]=lin;
|
404
|
-
}
|
405
|
-
seedptr+=linesper;
|
406
|
-
if(seedptr>=n)break;
|
407
|
-
}
|
408
|
-
}
|
409
|
-
|
410
|
-
static void seed_loop(vorbis_look_psy *p,
|
411
|
-
const float ***curves,
|
412
|
-
const float *f,
|
413
|
-
const float *flr,
|
414
|
-
float *seed,
|
415
|
-
float specmax){
|
416
|
-
vorbis_info_psy *vi=p->vi;
|
417
|
-
long n=p->n,i;
|
418
|
-
float dBoffset=vi->max_curve_dB-specmax;
|
419
|
-
|
420
|
-
/* prime the working vector with peak values */
|
421
|
-
|
422
|
-
for(i=0;i<n;i++){
|
423
|
-
float max=f[i];
|
424
|
-
long oc=p->octave[i];
|
425
|
-
while(i+1<n && p->octave[i+1]==oc){
|
426
|
-
i++;
|
427
|
-
if(f[i]>max)max=f[i];
|
428
|
-
}
|
429
|
-
|
430
|
-
if(max+6.f>flr[i]){
|
431
|
-
oc=oc>>p->shiftoc;
|
432
|
-
|
433
|
-
if(oc>=P_BANDS)oc=P_BANDS-1;
|
434
|
-
if(oc<0)oc=0;
|
435
|
-
|
436
|
-
seed_curve(seed,
|
437
|
-
curves[oc],
|
438
|
-
max,
|
439
|
-
p->octave[i]-p->firstoc,
|
440
|
-
p->total_octave_lines,
|
441
|
-
p->eighth_octave_lines,
|
442
|
-
dBoffset);
|
443
|
-
}
|
444
|
-
}
|
445
|
-
}
|
446
|
-
|
447
|
-
static void seed_chase(float *seeds, int linesper, long n){
|
448
|
-
long *posstack=alloca(n*sizeof(*posstack));
|
449
|
-
float *ampstack=alloca(n*sizeof(*ampstack));
|
450
|
-
long stack=0;
|
451
|
-
long pos=0;
|
452
|
-
long i;
|
453
|
-
|
454
|
-
for(i=0;i<n;i++){
|
455
|
-
if(stack<2){
|
456
|
-
posstack[stack]=i;
|
457
|
-
ampstack[stack++]=seeds[i];
|
458
|
-
}else{
|
459
|
-
while(1){
|
460
|
-
if(seeds[i]<ampstack[stack-1]){
|
461
|
-
posstack[stack]=i;
|
462
|
-
ampstack[stack++]=seeds[i];
|
463
|
-
break;
|
464
|
-
}else{
|
465
|
-
if(i<posstack[stack-1]+linesper){
|
466
|
-
if(stack>1 && ampstack[stack-1]<=ampstack[stack-2] &&
|
467
|
-
i<posstack[stack-2]+linesper){
|
468
|
-
/* we completely overlap, making stack-1 irrelevant. pop it */
|
469
|
-
stack--;
|
470
|
-
continue;
|
471
|
-
}
|
472
|
-
}
|
473
|
-
posstack[stack]=i;
|
474
|
-
ampstack[stack++]=seeds[i];
|
475
|
-
break;
|
476
|
-
|
477
|
-
}
|
478
|
-
}
|
479
|
-
}
|
480
|
-
}
|
481
|
-
|
482
|
-
/* the stack now contains only the positions that are relevant. Scan
|
483
|
-
'em straight through */
|
484
|
-
|
485
|
-
for(i=0;i<stack;i++){
|
486
|
-
long endpos;
|
487
|
-
if(i<stack-1 && ampstack[i+1]>ampstack[i]){
|
488
|
-
endpos=posstack[i+1];
|
489
|
-
}else{
|
490
|
-
endpos=posstack[i]+linesper+1; /* +1 is important, else bin 0 is
|
491
|
-
discarded in short frames */
|
492
|
-
}
|
493
|
-
if(endpos>n)endpos=n;
|
494
|
-
for(;pos<endpos;pos++)
|
495
|
-
seeds[pos]=ampstack[i];
|
496
|
-
}
|
497
|
-
|
498
|
-
/* there. Linear time. I now remember this was on a problem set I
|
499
|
-
had in Grad Skool... I didn't solve it at the time ;-) */
|
500
|
-
|
501
|
-
}
|
502
|
-
|
503
|
-
/* bleaugh, this is more complicated than it needs to be */
|
504
|
-
#include<stdio.h>
|
505
|
-
static void max_seeds(vorbis_look_psy *p,
|
506
|
-
float *seed,
|
507
|
-
float *flr){
|
508
|
-
long n=p->total_octave_lines;
|
509
|
-
int linesper=p->eighth_octave_lines;
|
510
|
-
long linpos=0;
|
511
|
-
long pos;
|
512
|
-
|
513
|
-
seed_chase(seed,linesper,n); /* for masking */
|
514
|
-
|
515
|
-
pos=p->octave[0]-p->firstoc-(linesper>>1);
|
516
|
-
|
517
|
-
while(linpos+1<p->n){
|
518
|
-
float minV=seed[pos];
|
519
|
-
long end=((p->octave[linpos]+p->octave[linpos+1])>>1)-p->firstoc;
|
520
|
-
if(minV>p->vi->tone_abs_limit)minV=p->vi->tone_abs_limit;
|
521
|
-
while(pos+1<=end){
|
522
|
-
pos++;
|
523
|
-
if((seed[pos]>NEGINF && seed[pos]<minV) || minV==NEGINF)
|
524
|
-
minV=seed[pos];
|
525
|
-
}
|
526
|
-
|
527
|
-
end=pos+p->firstoc;
|
528
|
-
for(;linpos<p->n && p->octave[linpos]<=end;linpos++)
|
529
|
-
if(flr[linpos]<minV)flr[linpos]=minV;
|
530
|
-
}
|
531
|
-
|
532
|
-
{
|
533
|
-
float minV=seed[p->total_octave_lines-1];
|
534
|
-
for(;linpos<p->n;linpos++)
|
535
|
-
if(flr[linpos]<minV)flr[linpos]=minV;
|
536
|
-
}
|
537
|
-
|
538
|
-
}
|
539
|
-
|
540
|
-
static void bark_noise_hybridmp(int n,const long *b,
|
541
|
-
const float *f,
|
542
|
-
float *noise,
|
543
|
-
const float offset,
|
544
|
-
const int fixed){
|
545
|
-
|
546
|
-
float *N=alloca(n*sizeof(*N));
|
547
|
-
float *X=alloca(n*sizeof(*N));
|
548
|
-
float *XX=alloca(n*sizeof(*N));
|
549
|
-
float *Y=alloca(n*sizeof(*N));
|
550
|
-
float *XY=alloca(n*sizeof(*N));
|
551
|
-
|
552
|
-
float tN, tX, tXX, tY, tXY;
|
553
|
-
int i;
|
554
|
-
|
555
|
-
int lo, hi;
|
556
|
-
float R=0.f;
|
557
|
-
float A=0.f;
|
558
|
-
float B=0.f;
|
559
|
-
float D=1.f;
|
560
|
-
float w, x, y;
|
561
|
-
|
562
|
-
tN = tX = tXX = tY = tXY = 0.f;
|
563
|
-
|
564
|
-
y = f[0] + offset;
|
565
|
-
if (y < 1.f) y = 1.f;
|
566
|
-
|
567
|
-
w = y * y * .5;
|
568
|
-
|
569
|
-
tN += w;
|
570
|
-
tX += w;
|
571
|
-
tY += w * y;
|
572
|
-
|
573
|
-
N[0] = tN;
|
574
|
-
X[0] = tX;
|
575
|
-
XX[0] = tXX;
|
576
|
-
Y[0] = tY;
|
577
|
-
XY[0] = tXY;
|
578
|
-
|
579
|
-
for (i = 1, x = 1.f; i < n; i++, x += 1.f) {
|
580
|
-
|
581
|
-
y = f[i] + offset;
|
582
|
-
if (y < 1.f) y = 1.f;
|
583
|
-
|
584
|
-
w = y * y;
|
585
|
-
|
586
|
-
tN += w;
|
587
|
-
tX += w * x;
|
588
|
-
tXX += w * x * x;
|
589
|
-
tY += w * y;
|
590
|
-
tXY += w * x * y;
|
591
|
-
|
592
|
-
N[i] = tN;
|
593
|
-
X[i] = tX;
|
594
|
-
XX[i] = tXX;
|
595
|
-
Y[i] = tY;
|
596
|
-
XY[i] = tXY;
|
597
|
-
}
|
598
|
-
|
599
|
-
for (i = 0, x = 0.f;; i++, x += 1.f) {
|
600
|
-
|
601
|
-
lo = b[i] >> 16;
|
602
|
-
if( lo>=0 ) break;
|
603
|
-
hi = b[i] & 0xffff;
|
604
|
-
|
605
|
-
tN = N[hi] + N[-lo];
|
606
|
-
tX = X[hi] - X[-lo];
|
607
|
-
tXX = XX[hi] + XX[-lo];
|
608
|
-
tY = Y[hi] + Y[-lo];
|
609
|
-
tXY = XY[hi] - XY[-lo];
|
610
|
-
|
611
|
-
A = tY * tXX - tX * tXY;
|
612
|
-
B = tN * tXY - tX * tY;
|
613
|
-
D = tN * tXX - tX * tX;
|
614
|
-
R = (A + x * B) / D;
|
615
|
-
if (R < 0.f)
|
616
|
-
R = 0.f;
|
617
|
-
|
618
|
-
noise[i] = R - offset;
|
619
|
-
}
|
620
|
-
|
621
|
-
for ( ;; i++, x += 1.f) {
|
622
|
-
|
623
|
-
lo = b[i] >> 16;
|
624
|
-
hi = b[i] & 0xffff;
|
625
|
-
if(hi>=n)break;
|
626
|
-
|
627
|
-
tN = N[hi] - N[lo];
|
628
|
-
tX = X[hi] - X[lo];
|
629
|
-
tXX = XX[hi] - XX[lo];
|
630
|
-
tY = Y[hi] - Y[lo];
|
631
|
-
tXY = XY[hi] - XY[lo];
|
632
|
-
|
633
|
-
A = tY * tXX - tX * tXY;
|
634
|
-
B = tN * tXY - tX * tY;
|
635
|
-
D = tN * tXX - tX * tX;
|
636
|
-
R = (A + x * B) / D;
|
637
|
-
if (R < 0.f) R = 0.f;
|
638
|
-
|
639
|
-
noise[i] = R - offset;
|
640
|
-
}
|
641
|
-
for ( ; i < n; i++, x += 1.f) {
|
642
|
-
|
643
|
-
R = (A + x * B) / D;
|
644
|
-
if (R < 0.f) R = 0.f;
|
645
|
-
|
646
|
-
noise[i] = R - offset;
|
647
|
-
}
|
648
|
-
|
649
|
-
if (fixed <= 0) return;
|
650
|
-
|
651
|
-
for (i = 0, x = 0.f;; i++, x += 1.f) {
|
652
|
-
hi = i + fixed / 2;
|
653
|
-
lo = hi - fixed;
|
654
|
-
if(lo>=0)break;
|
655
|
-
|
656
|
-
tN = N[hi] + N[-lo];
|
657
|
-
tX = X[hi] - X[-lo];
|
658
|
-
tXX = XX[hi] + XX[-lo];
|
659
|
-
tY = Y[hi] + Y[-lo];
|
660
|
-
tXY = XY[hi] - XY[-lo];
|
661
|
-
|
662
|
-
|
663
|
-
A = tY * tXX - tX * tXY;
|
664
|
-
B = tN * tXY - tX * tY;
|
665
|
-
D = tN * tXX - tX * tX;
|
666
|
-
R = (A + x * B) / D;
|
667
|
-
|
668
|
-
if (R - offset < noise[i]) noise[i] = R - offset;
|
669
|
-
}
|
670
|
-
for ( ;; i++, x += 1.f) {
|
671
|
-
|
672
|
-
hi = i + fixed / 2;
|
673
|
-
lo = hi - fixed;
|
674
|
-
if(hi>=n)break;
|
675
|
-
|
676
|
-
tN = N[hi] - N[lo];
|
677
|
-
tX = X[hi] - X[lo];
|
678
|
-
tXX = XX[hi] - XX[lo];
|
679
|
-
tY = Y[hi] - Y[lo];
|
680
|
-
tXY = XY[hi] - XY[lo];
|
681
|
-
|
682
|
-
A = tY * tXX - tX * tXY;
|
683
|
-
B = tN * tXY - tX * tY;
|
684
|
-
D = tN * tXX - tX * tX;
|
685
|
-
R = (A + x * B) / D;
|
686
|
-
|
687
|
-
if (R - offset < noise[i]) noise[i] = R - offset;
|
688
|
-
}
|
689
|
-
for ( ; i < n; i++, x += 1.f) {
|
690
|
-
R = (A + x * B) / D;
|
691
|
-
if (R - offset < noise[i]) noise[i] = R - offset;
|
692
|
-
}
|
693
|
-
}
|
694
|
-
|
695
|
-
static float FLOOR1_fromdB_INV_LOOKUP[256]={
|
696
|
-
0.F, 8.81683e+06F, 8.27882e+06F, 7.77365e+06F,
|
697
|
-
7.29930e+06F, 6.85389e+06F, 6.43567e+06F, 6.04296e+06F,
|
698
|
-
5.67422e+06F, 5.32798e+06F, 5.00286e+06F, 4.69759e+06F,
|
699
|
-
4.41094e+06F, 4.14178e+06F, 3.88905e+06F, 3.65174e+06F,
|
700
|
-
3.42891e+06F, 3.21968e+06F, 3.02321e+06F, 2.83873e+06F,
|
701
|
-
2.66551e+06F, 2.50286e+06F, 2.35014e+06F, 2.20673e+06F,
|
702
|
-
2.07208e+06F, 1.94564e+06F, 1.82692e+06F, 1.71544e+06F,
|
703
|
-
1.61076e+06F, 1.51247e+06F, 1.42018e+06F, 1.33352e+06F,
|
704
|
-
1.25215e+06F, 1.17574e+06F, 1.10400e+06F, 1.03663e+06F,
|
705
|
-
973377.F, 913981.F, 858210.F, 805842.F,
|
706
|
-
756669.F, 710497.F, 667142.F, 626433.F,
|
707
|
-
588208.F, 552316.F, 518613.F, 486967.F,
|
708
|
-
457252.F, 429351.F, 403152.F, 378551.F,
|
709
|
-
355452.F, 333762.F, 313396.F, 294273.F,
|
710
|
-
276316.F, 259455.F, 243623.F, 228757.F,
|
711
|
-
214798.F, 201691.F, 189384.F, 177828.F,
|
712
|
-
166977.F, 156788.F, 147221.F, 138237.F,
|
713
|
-
129802.F, 121881.F, 114444.F, 107461.F,
|
714
|
-
100903.F, 94746.3F, 88964.9F, 83536.2F,
|
715
|
-
78438.8F, 73652.5F, 69158.2F, 64938.1F,
|
716
|
-
60975.6F, 57254.9F, 53761.2F, 50480.6F,
|
717
|
-
47400.3F, 44507.9F, 41792.0F, 39241.9F,
|
718
|
-
36847.3F, 34598.9F, 32487.7F, 30505.3F,
|
719
|
-
28643.8F, 26896.0F, 25254.8F, 23713.7F,
|
720
|
-
22266.7F, 20908.0F, 19632.2F, 18434.2F,
|
721
|
-
17309.4F, 16253.1F, 15261.4F, 14330.1F,
|
722
|
-
13455.7F, 12634.6F, 11863.7F, 11139.7F,
|
723
|
-
10460.0F, 9821.72F, 9222.39F, 8659.64F,
|
724
|
-
8131.23F, 7635.06F, 7169.17F, 6731.70F,
|
725
|
-
6320.93F, 5935.23F, 5573.06F, 5232.99F,
|
726
|
-
4913.67F, 4613.84F, 4332.30F, 4067.94F,
|
727
|
-
3819.72F, 3586.64F, 3367.78F, 3162.28F,
|
728
|
-
2969.31F, 2788.13F, 2617.99F, 2458.24F,
|
729
|
-
2308.24F, 2167.39F, 2035.14F, 1910.95F,
|
730
|
-
1794.35F, 1684.85F, 1582.04F, 1485.51F,
|
731
|
-
1394.86F, 1309.75F, 1229.83F, 1154.78F,
|
732
|
-
1084.32F, 1018.15F, 956.024F, 897.687F,
|
733
|
-
842.910F, 791.475F, 743.179F, 697.830F,
|
734
|
-
655.249F, 615.265F, 577.722F, 542.469F,
|
735
|
-
509.367F, 478.286F, 449.101F, 421.696F,
|
736
|
-
395.964F, 371.803F, 349.115F, 327.812F,
|
737
|
-
307.809F, 289.026F, 271.390F, 254.830F,
|
738
|
-
239.280F, 224.679F, 210.969F, 198.096F,
|
739
|
-
186.008F, 174.658F, 164.000F, 153.993F,
|
740
|
-
144.596F, 135.773F, 127.488F, 119.708F,
|
741
|
-
112.404F, 105.545F, 99.1046F, 93.0572F,
|
742
|
-
87.3788F, 82.0469F, 77.0404F, 72.3394F,
|
743
|
-
67.9252F, 63.7804F, 59.8885F, 56.2341F,
|
744
|
-
52.8027F, 49.5807F, 46.5553F, 43.7144F,
|
745
|
-
41.0470F, 38.5423F, 36.1904F, 33.9821F,
|
746
|
-
31.9085F, 29.9614F, 28.1332F, 26.4165F,
|
747
|
-
24.8045F, 23.2910F, 21.8697F, 20.5352F,
|
748
|
-
19.2822F, 18.1056F, 17.0008F, 15.9634F,
|
749
|
-
14.9893F, 14.0746F, 13.2158F, 12.4094F,
|
750
|
-
11.6522F, 10.9411F, 10.2735F, 9.64662F,
|
751
|
-
9.05798F, 8.50526F, 7.98626F, 7.49894F,
|
752
|
-
7.04135F, 6.61169F, 6.20824F, 5.82941F,
|
753
|
-
5.47370F, 5.13970F, 4.82607F, 4.53158F,
|
754
|
-
4.25507F, 3.99542F, 3.75162F, 3.52269F,
|
755
|
-
3.30774F, 3.10590F, 2.91638F, 2.73842F,
|
756
|
-
2.57132F, 2.41442F, 2.26709F, 2.12875F,
|
757
|
-
1.99885F, 1.87688F, 1.76236F, 1.65482F,
|
758
|
-
1.55384F, 1.45902F, 1.36999F, 1.28640F,
|
759
|
-
1.20790F, 1.13419F, 1.06499F, 1.F
|
760
|
-
};
|
761
|
-
|
762
|
-
void _vp_remove_floor(vorbis_look_psy *p,
|
763
|
-
float *mdct,
|
764
|
-
int *codedflr,
|
765
|
-
float *residue,
|
766
|
-
int sliding_lowpass){
|
767
|
-
|
768
|
-
int i,n=p->n;
|
769
|
-
|
770
|
-
if(sliding_lowpass>n)sliding_lowpass=n;
|
771
|
-
|
772
|
-
for(i=0;i<sliding_lowpass;i++){
|
773
|
-
residue[i]=
|
774
|
-
mdct[i]*FLOOR1_fromdB_INV_LOOKUP[codedflr[i]];
|
775
|
-
}
|
776
|
-
|
777
|
-
for(;i<n;i++)
|
778
|
-
residue[i]=0.;
|
779
|
-
}
|
780
|
-
|
781
|
-
void _vp_noisemask(vorbis_look_psy *p,
|
782
|
-
float *logmdct,
|
783
|
-
float *logmask){
|
784
|
-
|
785
|
-
int i,n=p->n;
|
786
|
-
float *work=alloca(n*sizeof(*work));
|
787
|
-
|
788
|
-
bark_noise_hybridmp(n,p->bark,logmdct,logmask,
|
789
|
-
140.,-1);
|
790
|
-
|
791
|
-
for(i=0;i<n;i++)work[i]=logmdct[i]-logmask[i];
|
792
|
-
|
793
|
-
bark_noise_hybridmp(n,p->bark,work,logmask,0.,
|
794
|
-
p->vi->noisewindowfixed);
|
795
|
-
|
796
|
-
for(i=0;i<n;i++)work[i]=logmdct[i]-work[i];
|
797
|
-
|
798
|
-
#if 0
|
799
|
-
{
|
800
|
-
static int seq=0;
|
801
|
-
|
802
|
-
float work2[n];
|
803
|
-
for(i=0;i<n;i++){
|
804
|
-
work2[i]=logmask[i]+work[i];
|
805
|
-
}
|
806
|
-
|
807
|
-
if(seq&1)
|
808
|
-
_analysis_output("median2R",seq/2,work,n,1,0,0);
|
809
|
-
else
|
810
|
-
_analysis_output("median2L",seq/2,work,n,1,0,0);
|
811
|
-
|
812
|
-
if(seq&1)
|
813
|
-
_analysis_output("envelope2R",seq/2,work2,n,1,0,0);
|
814
|
-
else
|
815
|
-
_analysis_output("envelope2L",seq/2,work2,n,1,0,0);
|
816
|
-
seq++;
|
817
|
-
}
|
818
|
-
#endif
|
819
|
-
|
820
|
-
for(i=0;i<n;i++){
|
821
|
-
int dB=logmask[i]+.5;
|
822
|
-
if(dB>=NOISE_COMPAND_LEVELS)dB=NOISE_COMPAND_LEVELS-1;
|
823
|
-
if(dB<0)dB=0;
|
824
|
-
logmask[i]= work[i]+p->vi->noisecompand[dB];
|
825
|
-
}
|
826
|
-
|
827
|
-
}
|
828
|
-
|
829
|
-
void _vp_tonemask(vorbis_look_psy *p,
|
830
|
-
float *logfft,
|
831
|
-
float *logmask,
|
832
|
-
float global_specmax,
|
833
|
-
float local_specmax){
|
834
|
-
|
835
|
-
int i,n=p->n;
|
836
|
-
|
837
|
-
float *seed=alloca(sizeof(*seed)*p->total_octave_lines);
|
838
|
-
float att=local_specmax+p->vi->ath_adjatt;
|
839
|
-
for(i=0;i<p->total_octave_lines;i++)seed[i]=NEGINF;
|
840
|
-
|
841
|
-
/* set the ATH (floating below localmax, not global max by a
|
842
|
-
specified att) */
|
843
|
-
if(att<p->vi->ath_maxatt)att=p->vi->ath_maxatt;
|
844
|
-
|
845
|
-
for(i=0;i<n;i++)
|
846
|
-
logmask[i]=p->ath[i]+att;
|
847
|
-
|
848
|
-
/* tone masking */
|
849
|
-
seed_loop(p,(const float ***)p->tonecurves,logfft,logmask,seed,global_specmax);
|
850
|
-
max_seeds(p,seed,logmask);
|
851
|
-
|
852
|
-
}
|
853
|
-
|
854
|
-
void _vp_offset_and_mix(vorbis_look_psy *p,
|
855
|
-
float *noise,
|
856
|
-
float *tone,
|
857
|
-
int offset_select,
|
858
|
-
float *logmask,
|
859
|
-
float *mdct,
|
860
|
-
float *logmdct){
|
861
|
-
int i,n=p->n;
|
862
|
-
float de, coeffi, cx;/* AoTuV */
|
863
|
-
float toneatt=p->vi->tone_masteratt[offset_select];
|
864
|
-
|
865
|
-
cx = p->m_val;
|
866
|
-
|
867
|
-
for(i=0;i<n;i++){
|
868
|
-
float val= noise[i]+p->noiseoffset[offset_select][i];
|
869
|
-
if(val>p->vi->noisemaxsupp)val=p->vi->noisemaxsupp;
|
870
|
-
logmask[i]=max(val,tone[i]+toneatt);
|
871
|
-
|
872
|
-
|
873
|
-
/* AoTuV */
|
874
|
-
/** @ M1 **
|
875
|
-
The following codes improve a noise problem.
|
876
|
-
A fundamental idea uses the value of masking and carries out
|
877
|
-
the relative compensation of the MDCT.
|
878
|
-
However, this code is not perfect and all noise problems cannot be solved.
|
879
|
-
by Aoyumi @ 2004/04/18
|
880
|
-
*/
|
881
|
-
|
882
|
-
if(offset_select == 1) {
|
883
|
-
coeffi = -17.2; /* coeffi is a -17.2dB threshold */
|
884
|
-
val = val - logmdct[i]; /* val == mdct line value relative to floor in dB */
|
885
|
-
|
886
|
-
if(val > coeffi){
|
887
|
-
/* mdct value is > -17.2 dB below floor */
|
888
|
-
|
889
|
-
de = 1.0-((val-coeffi)*0.005*cx);
|
890
|
-
/* pro-rated attenuation:
|
891
|
-
-0.00 dB boost if mdct value is -17.2dB (relative to floor)
|
892
|
-
-0.77 dB boost if mdct value is 0dB (relative to floor)
|
893
|
-
-1.64 dB boost if mdct value is +17.2dB (relative to floor)
|
894
|
-
etc... */
|
895
|
-
|
896
|
-
if(de < 0) de = 0.0001;
|
897
|
-
}else
|
898
|
-
/* mdct value is <= -17.2 dB below floor */
|
899
|
-
|
900
|
-
de = 1.0-((val-coeffi)*0.0003*cx);
|
901
|
-
/* pro-rated attenuation:
|
902
|
-
+0.00 dB atten if mdct value is -17.2dB (relative to floor)
|
903
|
-
+0.45 dB atten if mdct value is -34.4dB (relative to floor)
|
904
|
-
etc... */
|
905
|
-
|
906
|
-
mdct[i] *= de;
|
907
|
-
|
908
|
-
}
|
909
|
-
}
|
910
|
-
}
|
911
|
-
|
912
|
-
float _vp_ampmax_decay(float amp,vorbis_dsp_state *vd){
|
913
|
-
vorbis_info *vi=vd->vi;
|
914
|
-
codec_setup_info *ci=vi->codec_setup;
|
915
|
-
vorbis_info_psy_global *gi=&ci->psy_g_param;
|
916
|
-
|
917
|
-
int n=ci->blocksizes[vd->W]/2;
|
918
|
-
float secs=(float)n/vi->rate;
|
919
|
-
|
920
|
-
amp+=secs*gi->ampmax_att_per_sec;
|
921
|
-
if(amp<-9999)amp=-9999;
|
922
|
-
return(amp);
|
923
|
-
}
|
924
|
-
|
925
|
-
static void couple_lossless(float A, float B,
|
926
|
-
float *qA, float *qB){
|
927
|
-
int test1=fabs(*qA)>fabs(*qB);
|
928
|
-
test1-= fabs(*qA)<fabs(*qB);
|
929
|
-
|
930
|
-
if(!test1)test1=((fabs(A)>fabs(B))<<1)-1;
|
931
|
-
if(test1==1){
|
932
|
-
*qB=(*qA>0.f?*qA-*qB:*qB-*qA);
|
933
|
-
}else{
|
934
|
-
float temp=*qB;
|
935
|
-
*qB=(*qB>0.f?*qA-*qB:*qB-*qA);
|
936
|
-
*qA=temp;
|
937
|
-
}
|
938
|
-
|
939
|
-
if(*qB>fabs(*qA)*1.9999f){
|
940
|
-
*qB= -fabs(*qA)*2.f;
|
941
|
-
*qA= -*qA;
|
942
|
-
}
|
943
|
-
}
|
944
|
-
|
945
|
-
static float hypot_lookup[32]={
|
946
|
-
-0.009935, -0.011245, -0.012726, -0.014397,
|
947
|
-
-0.016282, -0.018407, -0.020800, -0.023494,
|
948
|
-
-0.026522, -0.029923, -0.033737, -0.038010,
|
949
|
-
-0.042787, -0.048121, -0.054064, -0.060671,
|
950
|
-
-0.068000, -0.076109, -0.085054, -0.094892,
|
951
|
-
-0.105675, -0.117451, -0.130260, -0.144134,
|
952
|
-
-0.159093, -0.175146, -0.192286, -0.210490,
|
953
|
-
-0.229718, -0.249913, -0.271001, -0.292893};
|
954
|
-
|
955
|
-
static void precomputed_couple_point(float premag,
|
956
|
-
int floorA,int floorB,
|
957
|
-
float *mag, float *ang){
|
958
|
-
|
959
|
-
int test=(floorA>floorB)-1;
|
960
|
-
int offset=31-abs(floorA-floorB);
|
961
|
-
float floormag=hypot_lookup[((offset<0)-1)&offset]+1.f;
|
962
|
-
|
963
|
-
floormag*=FLOOR1_fromdB_INV_LOOKUP[(floorB&test)|(floorA&(~test))];
|
964
|
-
|
965
|
-
*mag=premag*floormag;
|
966
|
-
*ang=0.f;
|
967
|
-
}
|
968
|
-
|
969
|
-
/* just like below, this is currently set up to only do
|
970
|
-
single-step-depth coupling. Otherwise, we'd have to do more
|
971
|
-
copying (which will be inevitable later) */
|
972
|
-
|
973
|
-
/* doing the real circular magnitude calculation is audibly superior
|
974
|
-
to (A+B)/sqrt(2) */
|
975
|
-
static float dipole_hypot(float a, float b){
|
976
|
-
if(a>0.){
|
977
|
-
if(b>0.)return sqrt(a*a+b*b);
|
978
|
-
if(a>-b)return sqrt(a*a-b*b);
|
979
|
-
return -sqrt(b*b-a*a);
|
980
|
-
}
|
981
|
-
if(b<0.)return -sqrt(a*a+b*b);
|
982
|
-
if(-a>b)return -sqrt(a*a-b*b);
|
983
|
-
return sqrt(b*b-a*a);
|
984
|
-
}
|
985
|
-
static float round_hypot(float a, float b){
|
986
|
-
if(a>0.){
|
987
|
-
if(b>0.)return sqrt(a*a+b*b);
|
988
|
-
if(a>-b)return sqrt(a*a+b*b);
|
989
|
-
return -sqrt(b*b+a*a);
|
990
|
-
}
|
991
|
-
if(b<0.)return -sqrt(a*a+b*b);
|
992
|
-
if(-a>b)return -sqrt(a*a+b*b);
|
993
|
-
return sqrt(b*b+a*a);
|
994
|
-
}
|
995
|
-
|
996
|
-
/* revert to round hypot for now */
|
997
|
-
float **_vp_quantize_couple_memo(vorbis_block *vb,
|
998
|
-
vorbis_info_psy_global *g,
|
999
|
-
vorbis_look_psy *p,
|
1000
|
-
vorbis_info_mapping0 *vi,
|
1001
|
-
float **mdct){
|
1002
|
-
|
1003
|
-
int i,j,n=p->n;
|
1004
|
-
float **ret=_vorbis_block_alloc(vb,vi->coupling_steps*sizeof(*ret));
|
1005
|
-
int limit=g->coupling_pointlimit[p->vi->blockflag][PACKETBLOBS/2];
|
1006
|
-
|
1007
|
-
for(i=0;i<vi->coupling_steps;i++){
|
1008
|
-
float *mdctM=mdct[vi->coupling_mag[i]];
|
1009
|
-
float *mdctA=mdct[vi->coupling_ang[i]];
|
1010
|
-
ret[i]=_vorbis_block_alloc(vb,n*sizeof(**ret));
|
1011
|
-
for(j=0;j<limit;j++)
|
1012
|
-
ret[i][j]=dipole_hypot(mdctM[j],mdctA[j]);
|
1013
|
-
for(;j<n;j++)
|
1014
|
-
ret[i][j]=round_hypot(mdctM[j],mdctA[j]);
|
1015
|
-
}
|
1016
|
-
|
1017
|
-
return(ret);
|
1018
|
-
}
|
1019
|
-
|
1020
|
-
/* this is for per-channel noise normalization */
|
1021
|
-
static int apsort(const void *a, const void *b){
|
1022
|
-
float f1=fabs(**(float**)a);
|
1023
|
-
float f2=fabs(**(float**)b);
|
1024
|
-
return (f1<f2)-(f1>f2);
|
1025
|
-
}
|
1026
|
-
|
1027
|
-
int **_vp_quantize_couple_sort(vorbis_block *vb,
|
1028
|
-
vorbis_look_psy *p,
|
1029
|
-
vorbis_info_mapping0 *vi,
|
1030
|
-
float **mags){
|
1031
|
-
|
1032
|
-
|
1033
|
-
if(p->vi->normal_point_p){
|
1034
|
-
int i,j,k,n=p->n;
|
1035
|
-
int **ret=_vorbis_block_alloc(vb,vi->coupling_steps*sizeof(*ret));
|
1036
|
-
int partition=p->vi->normal_partition;
|
1037
|
-
float **work=alloca(sizeof(*work)*partition);
|
1038
|
-
|
1039
|
-
for(i=0;i<vi->coupling_steps;i++){
|
1040
|
-
ret[i]=_vorbis_block_alloc(vb,n*sizeof(**ret));
|
1041
|
-
|
1042
|
-
for(j=0;j<n;j+=partition){
|
1043
|
-
for(k=0;k<partition;k++)work[k]=mags[i]+k+j;
|
1044
|
-
qsort(work,partition,sizeof(*work),apsort);
|
1045
|
-
for(k=0;k<partition;k++)ret[i][k+j]=work[k]-mags[i];
|
1046
|
-
}
|
1047
|
-
}
|
1048
|
-
return(ret);
|
1049
|
-
}
|
1050
|
-
return(NULL);
|
1051
|
-
}
|
1052
|
-
|
1053
|
-
void _vp_noise_normalize_sort(vorbis_look_psy *p,
|
1054
|
-
float *magnitudes,int *sortedindex){
|
1055
|
-
int i,j,n=p->n;
|
1056
|
-
vorbis_info_psy *vi=p->vi;
|
1057
|
-
int partition=vi->normal_partition;
|
1058
|
-
float **work=alloca(sizeof(*work)*partition);
|
1059
|
-
int start=vi->normal_start;
|
1060
|
-
|
1061
|
-
for(j=start;j<n;j+=partition){
|
1062
|
-
if(j+partition>n)partition=n-j;
|
1063
|
-
for(i=0;i<partition;i++)work[i]=magnitudes+i+j;
|
1064
|
-
qsort(work,partition,sizeof(*work),apsort);
|
1065
|
-
for(i=0;i<partition;i++){
|
1066
|
-
sortedindex[i+j-start]=work[i]-magnitudes;
|
1067
|
-
}
|
1068
|
-
}
|
1069
|
-
}
|
1070
|
-
|
1071
|
-
void _vp_noise_normalize(vorbis_look_psy *p,
|
1072
|
-
float *in,float *out,int *sortedindex){
|
1073
|
-
int flag=0,i,j=0,n=p->n;
|
1074
|
-
vorbis_info_psy *vi=p->vi;
|
1075
|
-
int partition=vi->normal_partition;
|
1076
|
-
int start=vi->normal_start;
|
1077
|
-
|
1078
|
-
if(start>n)start=n;
|
1079
|
-
|
1080
|
-
if(vi->normal_channel_p){
|
1081
|
-
for(;j<start;j++)
|
1082
|
-
out[j]=rint(in[j]);
|
1083
|
-
|
1084
|
-
for(;j+partition<=n;j+=partition){
|
1085
|
-
float acc=0.;
|
1086
|
-
int k;
|
1087
|
-
|
1088
|
-
for(i=j;i<j+partition;i++)
|
1089
|
-
acc+=in[i]*in[i];
|
1090
|
-
|
1091
|
-
for(i=0;i<partition;i++){
|
1092
|
-
k=sortedindex[i+j-start];
|
1093
|
-
|
1094
|
-
if(in[k]*in[k]>=.25f){
|
1095
|
-
out[k]=rint(in[k]);
|
1096
|
-
acc-=in[k]*in[k];
|
1097
|
-
flag=1;
|
1098
|
-
}else{
|
1099
|
-
if(acc<vi->normal_thresh)break;
|
1100
|
-
out[k]=unitnorm(in[k]);
|
1101
|
-
acc-=1.;
|
1102
|
-
}
|
1103
|
-
}
|
1104
|
-
|
1105
|
-
for(;i<partition;i++){
|
1106
|
-
k=sortedindex[i+j-start];
|
1107
|
-
out[k]=0.;
|
1108
|
-
}
|
1109
|
-
}
|
1110
|
-
}
|
1111
|
-
|
1112
|
-
for(;j<n;j++)
|
1113
|
-
out[j]=rint(in[j]);
|
1114
|
-
|
1115
|
-
}
|
1116
|
-
|
1117
|
-
void _vp_couple(int blobno,
|
1118
|
-
vorbis_info_psy_global *g,
|
1119
|
-
vorbis_look_psy *p,
|
1120
|
-
vorbis_info_mapping0 *vi,
|
1121
|
-
float **res,
|
1122
|
-
float **mag_memo,
|
1123
|
-
int **mag_sort,
|
1124
|
-
int **ifloor,
|
1125
|
-
int *nonzero,
|
1126
|
-
int sliding_lowpass){
|
1127
|
-
|
1128
|
-
int i,j,k,n=p->n;
|
1129
|
-
|
1130
|
-
/* perform any requested channel coupling */
|
1131
|
-
/* point stereo can only be used in a first stage (in this encoder)
|
1132
|
-
because of the dependency on floor lookups */
|
1133
|
-
for(i=0;i<vi->coupling_steps;i++){
|
1134
|
-
|
1135
|
-
/* once we're doing multistage coupling in which a channel goes
|
1136
|
-
through more than one coupling step, the floor vector
|
1137
|
-
magnitudes will also have to be recalculated an propogated
|
1138
|
-
along with PCM. Right now, we're not (that will wait until 5.1
|
1139
|
-
most likely), so the code isn't here yet. The memory management
|
1140
|
-
here is all assuming single depth couplings anyway. */
|
1141
|
-
|
1142
|
-
/* make sure coupling a zero and a nonzero channel results in two
|
1143
|
-
nonzero channels. */
|
1144
|
-
if(nonzero[vi->coupling_mag[i]] ||
|
1145
|
-
nonzero[vi->coupling_ang[i]]){
|
1146
|
-
|
1147
|
-
|
1148
|
-
float *rM=res[vi->coupling_mag[i]];
|
1149
|
-
float *rA=res[vi->coupling_ang[i]];
|
1150
|
-
float *qM=rM+n;
|
1151
|
-
float *qA=rA+n;
|
1152
|
-
int *floorM=ifloor[vi->coupling_mag[i]];
|
1153
|
-
int *floorA=ifloor[vi->coupling_ang[i]];
|
1154
|
-
float prepoint=stereo_threshholds[g->coupling_prepointamp[blobno]];
|
1155
|
-
float postpoint=stereo_threshholds[g->coupling_postpointamp[blobno]];
|
1156
|
-
int partition=(p->vi->normal_point_p?p->vi->normal_partition:p->n);
|
1157
|
-
int limit=g->coupling_pointlimit[p->vi->blockflag][blobno];
|
1158
|
-
int pointlimit=limit;
|
1159
|
-
|
1160
|
-
nonzero[vi->coupling_mag[i]]=1;
|
1161
|
-
nonzero[vi->coupling_ang[i]]=1;
|
1162
|
-
|
1163
|
-
/* The threshold of a stereo is changed with the size of n */
|
1164
|
-
if(n > 1000)
|
1165
|
-
postpoint=stereo_threshholds_limited[g->coupling_postpointamp[blobno]];
|
1166
|
-
|
1167
|
-
for(j=0;j<p->n;j+=partition){
|
1168
|
-
float acc=0.f;
|
1169
|
-
|
1170
|
-
for(k=0;k<partition;k++){
|
1171
|
-
int l=k+j;
|
1172
|
-
|
1173
|
-
if(l<sliding_lowpass){
|
1174
|
-
if((l>=limit && fabs(rM[l])<postpoint && fabs(rA[l])<postpoint) ||
|
1175
|
-
(fabs(rM[l])<prepoint && fabs(rA[l])<prepoint)){
|
1176
|
-
|
1177
|
-
|
1178
|
-
precomputed_couple_point(mag_memo[i][l],
|
1179
|
-
floorM[l],floorA[l],
|
1180
|
-
qM+l,qA+l);
|
1181
|
-
|
1182
|
-
if(rint(qM[l])==0.f)acc+=qM[l]*qM[l];
|
1183
|
-
}else{
|
1184
|
-
couple_lossless(rM[l],rA[l],qM+l,qA+l);
|
1185
|
-
}
|
1186
|
-
}else{
|
1187
|
-
qM[l]=0.;
|
1188
|
-
qA[l]=0.;
|
1189
|
-
}
|
1190
|
-
}
|
1191
|
-
|
1192
|
-
if(p->vi->normal_point_p){
|
1193
|
-
for(k=0;k<partition && acc>=p->vi->normal_thresh;k++){
|
1194
|
-
int l=mag_sort[i][j+k];
|
1195
|
-
if(l<sliding_lowpass && l>=pointlimit && rint(qM[l])==0.f){
|
1196
|
-
qM[l]=unitnorm(qM[l]);
|
1197
|
-
acc-=1.f;
|
1198
|
-
}
|
1199
|
-
}
|
1200
|
-
}
|
1201
|
-
}
|
1202
|
-
}
|
1203
|
-
}
|
1204
|
-
}
|
1205
|
-
|
1206
|
-
/* AoTuV */
|
1207
|
-
/** @ M2 **
|
1208
|
-
The boost problem by the combination of noise normalization and point stereo is eased.
|
1209
|
-
However, this is a temporary patch.
|
1210
|
-
by Aoyumi @ 2004/04/18
|
1211
|
-
*/
|
1212
|
-
|
1213
|
-
void hf_reduction(vorbis_info_psy_global *g,
|
1214
|
-
vorbis_look_psy *p,
|
1215
|
-
vorbis_info_mapping0 *vi,
|
1216
|
-
float **mdct){
|
1217
|
-
|
1218
|
-
int i,j,n=p->n, de=0.3*p->m_val;
|
1219
|
-
int limit=g->coupling_pointlimit[p->vi->blockflag][PACKETBLOBS/2];
|
1220
|
-
int start=p->vi->normal_start;
|
1221
|
-
|
1222
|
-
for(i=0; i<vi->coupling_steps; i++){
|
1223
|
-
/* for(j=start; j<limit; j++){} // ???*/
|
1224
|
-
for(j=limit; j<n; j++)
|
1225
|
-
mdct[i][j] *= (1.0 - de*((float)(j-limit) / (float)(n-limit)));
|
1226
|
-
}
|
1227
|
-
}
|