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,450 +0,0 @@
|
|
1
|
-
<?xml version="1.0" standalone="no"?>
|
2
|
-
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
|
3
|
-
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [
|
4
|
-
|
5
|
-
]>
|
6
|
-
|
7
|
-
<section id="vorbis-spec-floor1">
|
8
|
-
<sectioninfo>
|
9
|
-
<releaseinfo>
|
10
|
-
$Id: 07-floor1.xml 10466 2005-11-28 00:34:44Z giles $
|
11
|
-
</releaseinfo>
|
12
|
-
</sectioninfo>
|
13
|
-
<title>Floor type 1 setup and decode</title>
|
14
|
-
|
15
|
-
<section>
|
16
|
-
<title>Overview</title>
|
17
|
-
|
18
|
-
<para>
|
19
|
-
Vorbis floor type one uses a piecewise straight-line representation to
|
20
|
-
encode a spectral envelope curve. The representation plots this curve
|
21
|
-
mechanically on a linear frequency axis and a logarithmic (dB)
|
22
|
-
amplitude axis. The integer plotting algorithm used is similar to
|
23
|
-
Bresenham's algorithm.</para>
|
24
|
-
|
25
|
-
</section>
|
26
|
-
|
27
|
-
<section>
|
28
|
-
<title>Floor 1 format</title>
|
29
|
-
|
30
|
-
<section><title>model</title>
|
31
|
-
|
32
|
-
<para>
|
33
|
-
Floor type one represents a spectral curve as a series of
|
34
|
-
line segments. Synthesis constructs a floor curve using iterative
|
35
|
-
prediction in a process roughly equivalent to the following simplified
|
36
|
-
description:</para>
|
37
|
-
|
38
|
-
<para>
|
39
|
-
<itemizedlist>
|
40
|
-
<listitem><simpara> the first line segment (base case) is a logical line spanning
|
41
|
-
from x_0,y_0 to x_1,y_1 where in the base case x_0=0 and x_1=[n], the
|
42
|
-
full range of the spectral floor to be computed.</simpara></listitem>
|
43
|
-
|
44
|
-
<listitem><simpara>the induction step chooses a point x_new within an existing
|
45
|
-
logical line segment and produces a y_new value at that point computed
|
46
|
-
from the existing line's y value at x_new (as plotted by the line) and
|
47
|
-
a difference value decoded from the bitstream packet.</simpara></listitem>
|
48
|
-
|
49
|
-
<listitem><simpara>floor computation produces two new line segments, one running from
|
50
|
-
x_0,y_0 to x_new,y_new and from x_new,y_new to x_1,y_1. This step is
|
51
|
-
performed logically even if y_new represents no change to the
|
52
|
-
amplitude value at x_new so that later refinement is additionally
|
53
|
-
bounded at x_new.</simpara></listitem>
|
54
|
-
|
55
|
-
<listitem><simpara>the induction step repeats, using a list of x values specified in
|
56
|
-
the codec setup header at floor 1 initialization time. Computation
|
57
|
-
is completed at the end of the x value list.</simpara></listitem>
|
58
|
-
|
59
|
-
</itemizedlist>
|
60
|
-
</para>
|
61
|
-
|
62
|
-
<para>
|
63
|
-
Consider the following example, with values chosen for ease of
|
64
|
-
understanding rather than representing typical configuration:</para>
|
65
|
-
|
66
|
-
<para>
|
67
|
-
For the below example, we assume a floor setup with an [n] of 128.
|
68
|
-
The list of selected X values in increasing order is
|
69
|
-
0,16,32,48,64,80,96,112 and 128. In list order, the values interleave
|
70
|
-
as 0, 128, 64, 32, 96, 16, 48, 80 and 112. The corresponding
|
71
|
-
list-order Y values as decoded from an example packet are 110, 20, -5,
|
72
|
-
-45, 0, -25, -10, 30 and -10. We compute the floor in the following
|
73
|
-
way, beginning with the first line:</para>
|
74
|
-
|
75
|
-
<mediaobject>
|
76
|
-
<imageobject>
|
77
|
-
<imagedata fileref="floor1-1.png" format="PNG"/>
|
78
|
-
</imageobject>
|
79
|
-
<textobject>
|
80
|
-
<phrase>[graph of example floor]</phrase>
|
81
|
-
</textobject>
|
82
|
-
</mediaobject>
|
83
|
-
|
84
|
-
<para>
|
85
|
-
We now draw new logical lines to reflect the correction to new_Y, and
|
86
|
-
iterate for X positions 32 and 96:</para>
|
87
|
-
|
88
|
-
<mediaobject>
|
89
|
-
<imageobject>
|
90
|
-
<imagedata fileref="floor1-2.png" format="PNG"/>
|
91
|
-
</imageobject>
|
92
|
-
<textobject>
|
93
|
-
<phrase>[graph of example floor]</phrase>
|
94
|
-
</textobject>
|
95
|
-
</mediaobject>
|
96
|
-
|
97
|
-
<para>
|
98
|
-
Although the new Y value at X position 96 is unchanged, it is still
|
99
|
-
used later as an endpoint for further refinement. From here on, the
|
100
|
-
pattern should be clear; we complete the floor computation as follows:</para>
|
101
|
-
|
102
|
-
<mediaobject>
|
103
|
-
<imageobject>
|
104
|
-
<imagedata fileref="floor1-3.png" format="PNG"/>
|
105
|
-
</imageobject>
|
106
|
-
<textobject>
|
107
|
-
<phrase>[graph of example floor]</phrase>
|
108
|
-
</textobject>
|
109
|
-
</mediaobject>
|
110
|
-
|
111
|
-
<mediaobject>
|
112
|
-
<imageobject>
|
113
|
-
<imagedata fileref="floor1-4.png" format="PNG"/>
|
114
|
-
</imageobject>
|
115
|
-
<textobject>
|
116
|
-
<phrase>[graph of example floor]</phrase>
|
117
|
-
</textobject>
|
118
|
-
</mediaobject>
|
119
|
-
|
120
|
-
|
121
|
-
<para>
|
122
|
-
A more efficient algorithm with carefully defined integer rounding
|
123
|
-
behavior is used for actual decode, as described later. The actual
|
124
|
-
algorithm splits Y value computation and line plotting into two steps
|
125
|
-
with modifications to the above algorithm to eliminate noise
|
126
|
-
accumulation through integer roundoff/truncation. </para>
|
127
|
-
|
128
|
-
</section>
|
129
|
-
|
130
|
-
<section><title>header decode</title>
|
131
|
-
|
132
|
-
<para>
|
133
|
-
A list of floor X values is stored in the packet header in interleaved
|
134
|
-
format (used in list order during packet decode and synthesis). This
|
135
|
-
list is split into partitions, and each partition is assigned to a
|
136
|
-
partition class. X positions 0 and [n] are implicit and do not belong
|
137
|
-
to an explicit partition or partition class.</para>
|
138
|
-
|
139
|
-
<para>
|
140
|
-
A partition class consists of a representation vector width (the
|
141
|
-
number of Y values which the partition class encodes at once), a
|
142
|
-
'subclass' value representing the number of alternate entropy books
|
143
|
-
the partition class may use in representing Y values, the list of
|
144
|
-
[subclass] books and a master book used to encode which alternate
|
145
|
-
books were chosen for representation in a given packet. The
|
146
|
-
master/subclass mechanism is meant to be used as a flexible
|
147
|
-
representation cascade while still using codebooks only in a scalar
|
148
|
-
context.</para>
|
149
|
-
|
150
|
-
<screen>
|
151
|
-
|
152
|
-
1) [floor1_partitions] = read 5 bits as unsigned integer
|
153
|
-
2) [maximum_class] = -1
|
154
|
-
3) iterate [i] over the range 0 ... [floor1_partitions]-1 {
|
155
|
-
|
156
|
-
4) vector [floor1_partition_class_list] element [i] = read 4 bits as unsigned integer
|
157
|
-
|
158
|
-
}
|
159
|
-
|
160
|
-
5) [maximum_class] = largest integer scalar value in vector [floor1_partition_class_list]
|
161
|
-
6) iterate [i] over the range 0 ... [maximum_class] {
|
162
|
-
|
163
|
-
7) vector [floor1_class_dimensions] element [i] = read 3 bits as unsigned integer and add 1
|
164
|
-
8) vector [floor1_class_subclasses] element [i] = read 2 bits as unsigned integer
|
165
|
-
9) if ( vector [floor1_class_subclasses] element [i] is nonzero ) {
|
166
|
-
|
167
|
-
10) vector [floor1_class_masterbooks] element [i] = read 8 bits as unsigned integer
|
168
|
-
|
169
|
-
}
|
170
|
-
|
171
|
-
11) iterate [j] over the range 0 ... (2 exponent [floor1_class_subclasses] element [i]) - 1 {
|
172
|
-
|
173
|
-
12) array [floor1_subclass_books] element [i],[j] =
|
174
|
-
read 8 bits as unsigned integer and subtract one
|
175
|
-
}
|
176
|
-
}
|
177
|
-
|
178
|
-
13) [floor1_multiplier] = read 2 bits as unsigned integer and add one
|
179
|
-
14) [rangebits] = read 4 bits as unsigned integer
|
180
|
-
15) vector [floor1_X_list] element [0] = 0
|
181
|
-
16) vector [floor1_X_list] element [1] = 2 exponent [rangebits];
|
182
|
-
17) [floor1_values] = 2
|
183
|
-
18) iterate [i] over the range 0 ... [floor1_partitions]-1 {
|
184
|
-
|
185
|
-
19) [current_class_number] = vector [floor1_partition_class_list] element [i]
|
186
|
-
20) iterate [j] over the range 0 ... ([floor1_class_dimensions] element [current_class_number])-1 {
|
187
|
-
21) vector [floor1_X_list] element ([floor1_values]) =
|
188
|
-
read [rangebits] bits as unsigned integer
|
189
|
-
22) increment [floor1_values] by one
|
190
|
-
}
|
191
|
-
}
|
192
|
-
|
193
|
-
23) done
|
194
|
-
</screen>
|
195
|
-
|
196
|
-
<para>
|
197
|
-
An end-of-packet condition while reading any aspect of a floor 1
|
198
|
-
configuration during setup renders a stream undecodable. In
|
199
|
-
addition, a <varname>[floor1_class_masterbooks]</varname> or
|
200
|
-
<varname>[floor1_subclass_books]</varname> scalar element greater than the
|
201
|
-
highest numbered codebook configured in this stream is an error
|
202
|
-
condition that renders the stream undecodable.</para>
|
203
|
-
|
204
|
-
<section id="vorbis-spec-floor1-decode">
|
205
|
-
<title>packet decode</title>
|
206
|
-
|
207
|
-
<para>
|
208
|
-
Packet decode begins by checking the <varname>[nonzero]</varname> flag:</para>
|
209
|
-
|
210
|
-
<screen>
|
211
|
-
1) [nonzero] = read 1 bit as boolean
|
212
|
-
</screen>
|
213
|
-
|
214
|
-
<para>
|
215
|
-
If <varname>[nonzero]</varname> is unset, that indicates this channel contained
|
216
|
-
no audio energy in this frame. Decode immediately returns a status
|
217
|
-
indicating this floor curve (and thus this channel) is unused this
|
218
|
-
frame. (A return status of 'unused' is different from decoding a
|
219
|
-
floor that has all points set to minimum representation amplitude,
|
220
|
-
which happens to be approximately -140dB).
|
221
|
-
</para>
|
222
|
-
|
223
|
-
<para>
|
224
|
-
Assuming <varname>[nonzero]</varname> is set, decode proceeds as follows:</para>
|
225
|
-
|
226
|
-
<screen>
|
227
|
-
1) [range] = vector { 256, 128, 86, 64 } element ([floor1_multiplier]-1)
|
228
|
-
2) vector [floor1_Y] element [0] = read <link linkend="vorbis-spec-ilog">ilog</link>([range]-1) bits as unsigned integer
|
229
|
-
3) vector [floor1_Y] element [1] = read <link linkend="vorbis-spec-ilog">ilog</link>([range]-1) bits as unsigned integer
|
230
|
-
4) [offset] = 2;
|
231
|
-
5) iterate [i] over the range 0 ... [floor1_partitions]-1 {
|
232
|
-
|
233
|
-
6) [class] = vector [floor1_partition_class] element [i]
|
234
|
-
7) [cdim] = vector [floor1_class_dimensions] element [class]
|
235
|
-
8) [cbits] = vector [floor1_class_subclasses] element [class]
|
236
|
-
9) [csub] = (2 exponent [cbits])-1
|
237
|
-
10) [cval] = 0
|
238
|
-
11) if ( [cbits] is greater than zero ) {
|
239
|
-
|
240
|
-
12) [cval] = read from packet using codebook number
|
241
|
-
(vector [floor1_class_masterbooks] element [class]) in scalar context
|
242
|
-
}
|
243
|
-
|
244
|
-
13) iterate [j] over the range 0 ... [cdim]-1 {
|
245
|
-
|
246
|
-
14) [book] = array [floor1_subclass_books] element [class],([cval] bitwise AND [csub])
|
247
|
-
15) [cval] = [cval] right shifted [cbits] bits
|
248
|
-
16) if ( [book] is not less than zero ) {
|
249
|
-
|
250
|
-
17) vector [floor1_Y] element ([j]+[offset]) = read from packet using codebook
|
251
|
-
[book] in scalar context
|
252
|
-
|
253
|
-
} else [book] is less than zero {
|
254
|
-
|
255
|
-
18) vector [floor1_Y] element ([j]+[offset]) = 0
|
256
|
-
|
257
|
-
}
|
258
|
-
}
|
259
|
-
|
260
|
-
19) [offset] = [offset] + [cdim]
|
261
|
-
|
262
|
-
}
|
263
|
-
|
264
|
-
20) done
|
265
|
-
</screen>
|
266
|
-
|
267
|
-
<para>
|
268
|
-
An end-of-packet condition during curve decode should be considered a
|
269
|
-
nominal occurrence; if end-of-packet is reached during any read
|
270
|
-
operation above, floor decode is to return 'unused' status as if the
|
271
|
-
<varname>[nonzero]</varname> flag had been unset at the beginning of decode.
|
272
|
-
</para>
|
273
|
-
|
274
|
-
<para>
|
275
|
-
Vector <varname>[floor1_Y]</varname> contains the values from packet decode
|
276
|
-
needed for floor 1 synthesis.</para>
|
277
|
-
|
278
|
-
</section>
|
279
|
-
|
280
|
-
<section id="vorbis-spec-floor1-synth">
|
281
|
-
<title>curve computation</title>
|
282
|
-
|
283
|
-
<para>
|
284
|
-
Curve computation is split into two logical steps; the first step
|
285
|
-
derives final Y amplitude values from the encoded, wrapped difference
|
286
|
-
values taken from the bitstream. The second step plots the curve
|
287
|
-
lines. Also, although zero-difference values are used in the
|
288
|
-
iterative prediction to find final Y values, these points are
|
289
|
-
conditionally skipped during final line computation in step two.
|
290
|
-
Skipping zero-difference values allows a smoother line fit. </para>
|
291
|
-
|
292
|
-
<para>
|
293
|
-
Although some aspects of the below algorithm look like inconsequential
|
294
|
-
optimizations, implementors are warned to follow the details closely.
|
295
|
-
Deviation from implementing a strictly equivalent algorithm can result
|
296
|
-
in serious decoding errors.</para>
|
297
|
-
|
298
|
-
<section>
|
299
|
-
<title>step 1: amplitude value synthesis</title>
|
300
|
-
|
301
|
-
<para>
|
302
|
-
Unwrap the always-positive-or-zero values read from the packet into
|
303
|
-
+/- difference values, then apply to line prediction.</para>
|
304
|
-
|
305
|
-
<screen>
|
306
|
-
1) [range] = vector { 256, 128, 86, 64 } element ([floor1_multiplier]-1)
|
307
|
-
2) vector [floor1_step2_flag] element [0] = set
|
308
|
-
3) vector [floor1_step2_flag] element [1] = set
|
309
|
-
4) vector [floor1_final_Y] element [0] = vector [floor1_Y] element [0]
|
310
|
-
5) vector [floor1_final_Y] element [1] = vector [floor1_Y] element [1]
|
311
|
-
6) iterate [i] over the range 2 ... [floor1_values]-1 {
|
312
|
-
|
313
|
-
7) [low_neighbor_offset] = <link linkend="vorbis-spec-low_neighbor">low_neighbor</link>([floor1_X_list],[i])
|
314
|
-
8) [high_neighbor_offset] = <link linkend="vorbis-spec-high_neighbor">high_neighbor</link>([floor1_X_list],[i])
|
315
|
-
|
316
|
-
9) [predicted] = <link linkend="vorbis-spec-render_point">render_point</link>( vector [floor1_X_list] element [low_neighbor_offset],
|
317
|
-
vector [floor1_final_Y] element [low_neighbor_offset],
|
318
|
-
vector [floor1_X_list] element [high_neighbor_offset],
|
319
|
-
vector [floor1_final_Y] element [high_neighbor_offset],
|
320
|
-
vector [floor1_X_list] element [i] )
|
321
|
-
|
322
|
-
10) [val] = vector [floor1_Y] element [i]
|
323
|
-
11) [highroom] = [range] - [predicted]
|
324
|
-
12) [lowroom] = [predicted]
|
325
|
-
13) if ( [highroom] is less than [lowroom] ) {
|
326
|
-
|
327
|
-
14) [room] = [highroom] * 2
|
328
|
-
|
329
|
-
} else [highroom] is not less than [lowroom] {
|
330
|
-
|
331
|
-
15) [room] = [lowroom] * 2
|
332
|
-
|
333
|
-
}
|
334
|
-
|
335
|
-
16) if ( [val] is nonzero ) {
|
336
|
-
|
337
|
-
17) vector [floor1_step2_flag] element [low_neighbor_offset] = set
|
338
|
-
18) vector [floor1_step2_flag] element [high_neighbor_offset] = set
|
339
|
-
19) vector [floor1_step2_flag] element [i] = set
|
340
|
-
20) if ( [val] is greater than or equal to [room] ) {
|
341
|
-
|
342
|
-
21) if ( [highroom] is greater than [lowroom] ) {
|
343
|
-
|
344
|
-
22) vector [floor1_final_Y] element [i] = [val] - [lowroom] + [predicted]
|
345
|
-
|
346
|
-
} else [highroom] is not greater than [lowroom] {
|
347
|
-
|
348
|
-
23) vector [floor1_final_Y] element [i] = [predicted] - [val] + [highroom] - 1
|
349
|
-
|
350
|
-
}
|
351
|
-
|
352
|
-
} else [val] is less than [room] {
|
353
|
-
|
354
|
-
24) if ([val] is odd) {
|
355
|
-
|
356
|
-
25) vector [floor1_final_Y] element [i] =
|
357
|
-
[predicted] - (([val] + 1) divided by 2 using integer division)
|
358
|
-
|
359
|
-
} else [val] is even {
|
360
|
-
|
361
|
-
26) vector [floor1_final_Y] element [i] =
|
362
|
-
[predicted] + ([val] / 2 using integer division)
|
363
|
-
|
364
|
-
}
|
365
|
-
|
366
|
-
}
|
367
|
-
|
368
|
-
} else [val] is zero {
|
369
|
-
|
370
|
-
27) vector [floor1_step2_flag] element [i] = unset
|
371
|
-
28) vector [floor1_final_Y] element [i] = [predicted]
|
372
|
-
|
373
|
-
}
|
374
|
-
|
375
|
-
}
|
376
|
-
|
377
|
-
29) done
|
378
|
-
|
379
|
-
</screen>
|
380
|
-
|
381
|
-
</section>
|
382
|
-
|
383
|
-
<section>
|
384
|
-
<title>step 2: curve synthesis</title>
|
385
|
-
|
386
|
-
<para>
|
387
|
-
Curve synthesis generates a return vector <varname>[floor]</varname> of length
|
388
|
-
<varname>[n]</varname> (where <varname>[n]</varname> is provided by the decode process
|
389
|
-
calling to floor decode). Floor 1 curve synthesis makes use of the
|
390
|
-
<varname>[floor1_X_list]</varname>, <varname>[floor1_final_Y]</varname> and
|
391
|
-
<varname>[floor1_step2_flag]</varname> vectors, as well as [floor1_multiplier]
|
392
|
-
and [floor1_values] values.</para>
|
393
|
-
|
394
|
-
<para>
|
395
|
-
Decode begins by sorting the scalars from vectors
|
396
|
-
<varname>[floor1_X_list]</varname>, <varname>[floor1_final_Y]</varname> and
|
397
|
-
<varname>[floor1_step2_flag]</varname> together into new vectors
|
398
|
-
<varname>[floor1_X_list]'</varname>, <varname>[floor1_final_Y]'</varname> and
|
399
|
-
<varname>[floor1_step2_flag]'</varname> according to ascending sort order of the
|
400
|
-
values in <varname>[floor1_X_list]</varname>. That is, sort the values of
|
401
|
-
<varname>[floor1_X_list]</varname> and then apply the same permutation to
|
402
|
-
elements of the other two vectors so that the X, Y and step2_flag
|
403
|
-
values still match.</para>
|
404
|
-
|
405
|
-
<para>
|
406
|
-
Then compute the final curve in one pass:</para>
|
407
|
-
|
408
|
-
<screen>
|
409
|
-
1) [hx] = 0
|
410
|
-
2) [lx] = 0
|
411
|
-
3) [ly] = vector [floor1_final_Y]' element [0] * [floor1_multiplier]
|
412
|
-
4) iterate [i] over the range 1 ... [floor1_values]-1 {
|
413
|
-
|
414
|
-
5) if ( [floor1_step2_flag]' element [i] is set ) {
|
415
|
-
|
416
|
-
6) [hy] = [floor1_final_Y]' element [i] * [floor1_multiplier]
|
417
|
-
7) [hx] = [floor1_X_list]' element [i]
|
418
|
-
8) <link linkend="vorbis-spec-render_line">render_line</link>( [lx], [ly], [hx], [hy], [floor] )
|
419
|
-
9) [lx] = [hx]
|
420
|
-
10) [ly] = [hy]
|
421
|
-
}
|
422
|
-
}
|
423
|
-
|
424
|
-
11) if ( [hx] is less than [n] ) {
|
425
|
-
|
426
|
-
12) <link linkend="vorbis-spec-render_line">render_line</link>( [hx], [hy], [n], [hy], [floor] )
|
427
|
-
|
428
|
-
}
|
429
|
-
|
430
|
-
13) if ( [hx] is greater than [n] ) {
|
431
|
-
|
432
|
-
14) truncate vector [floor] to [n] elements
|
433
|
-
|
434
|
-
}
|
435
|
-
|
436
|
-
15) for each scalar in vector [floor], perform a lookup substitution using
|
437
|
-
the scalar value from [floor] as an offset into the vector <link linkend="vorbis-spec-floor1_inverse_dB_table">[floor1_inverse_dB_static_table]</link>
|
438
|
-
|
439
|
-
16) done
|
440
|
-
|
441
|
-
</screen>
|
442
|
-
|
443
|
-
</section>
|
444
|
-
|
445
|
-
</section>
|
446
|
-
|
447
|
-
</section>
|
448
|
-
</section>
|
449
|
-
</section>
|
450
|
-
|
@@ -1,492 +0,0 @@
|
|
1
|
-
<?xml version="1.0" standalone="no"?>
|
2
|
-
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
|
3
|
-
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [
|
4
|
-
|
5
|
-
]>
|
6
|
-
|
7
|
-
<section id="vorbis-spec-residue">
|
8
|
-
<sectioninfo>
|
9
|
-
<releaseinfo>
|
10
|
-
$Id: 08-residue.xml 13159 2007-06-21 05:22:35Z xiphmont $
|
11
|
-
</releaseinfo>
|
12
|
-
</sectioninfo>
|
13
|
-
<title>Residue setup and decode</title>
|
14
|
-
|
15
|
-
|
16
|
-
<section>
|
17
|
-
<title>Overview</title>
|
18
|
-
|
19
|
-
<para>
|
20
|
-
A residue vector represents the fine detail of the audio spectrum of
|
21
|
-
one channel in an audio frame after the encoder subtracts the floor
|
22
|
-
curve and performs any channel coupling. A residue vector may
|
23
|
-
represent spectral lines, spectral magnitude, spectral phase or
|
24
|
-
hybrids as mixed by channel coupling. The exact semantic content of
|
25
|
-
the vector does not matter to the residue abstraction.</para>
|
26
|
-
|
27
|
-
<para>
|
28
|
-
Whatever the exact qualities, the Vorbis residue abstraction codes the
|
29
|
-
residue vectors into the bitstream packet, and then reconstructs the
|
30
|
-
vectors during decode. Vorbis makes use of three different encoding
|
31
|
-
variants (numbered 0, 1 and 2) of the same basic vector encoding
|
32
|
-
abstraction.</para>
|
33
|
-
|
34
|
-
</section>
|
35
|
-
|
36
|
-
<section>
|
37
|
-
<title>Residue format</title>
|
38
|
-
|
39
|
-
<para>
|
40
|
-
Residue format partitions each vector in the vector bundle into chunks,
|
41
|
-
classifies each chunk, encodes the chunk classifications and finally
|
42
|
-
encodes the chunks themselves using the the specific VQ arrangement
|
43
|
-
defined for each selected classification.
|
44
|
-
The exact interleaving and partitioning vary by residue encoding number,
|
45
|
-
however the high-level process used to classify and encode the residue
|
46
|
-
vector is the same in all three variants.</para>
|
47
|
-
|
48
|
-
<para>
|
49
|
-
A set of coded residue vectors are all of the same length. High level
|
50
|
-
coding structure, ignoring for the moment exactly how a partition is
|
51
|
-
encoded and simply trusting that it is, is as follows:</para>
|
52
|
-
|
53
|
-
<para>
|
54
|
-
<itemizedlist>
|
55
|
-
<listitem><para>Each vector is partitioned into multiple equal sized chunks
|
56
|
-
according to configuration specified. If we have a vector size of
|
57
|
-
<emphasis>n</emphasis>, a partition size <emphasis>residue_partition_size</emphasis>, and a total
|
58
|
-
of <emphasis>ch</emphasis> residue vectors, the total number of partitioned chunks
|
59
|
-
coded is <emphasis>n</emphasis>/<emphasis>residue_partition_size</emphasis>*<emphasis>ch</emphasis>. It is
|
60
|
-
important to note that the integer division truncates. In the below
|
61
|
-
example, we assume an example <emphasis>residue_partition_size</emphasis> of 8.</para></listitem>
|
62
|
-
|
63
|
-
<listitem><para>Each partition in each vector has a classification number that
|
64
|
-
specifies which of multiple configured VQ codebook setups are used to
|
65
|
-
decode that partition. The classification numbers of each partition
|
66
|
-
can be thought of as forming a vector in their own right, as in the
|
67
|
-
illustration below. Just as the residue vectors are coded in grouped
|
68
|
-
partitions to increase encoding efficiency, the classification vector
|
69
|
-
is also partitioned into chunks. The integer elements of each scalar
|
70
|
-
in a classification chunk are built into a single scalar that
|
71
|
-
represents the classification numbers in that chunk. In the below
|
72
|
-
example, the classification codeword encodes two classification
|
73
|
-
numbers.</para></listitem>
|
74
|
-
|
75
|
-
<listitem><para>The values in a residue vector may be encoded monolithically in a
|
76
|
-
single pass through the residue vector, but more often efficient
|
77
|
-
codebook design dictates that each vector is encoded as the additive
|
78
|
-
sum of several passes through the residue vector using more than one
|
79
|
-
VQ codebook. Thus, each residue value potentially accumulates values
|
80
|
-
from multiple decode passes. The classification value associated with
|
81
|
-
a partition is the same in each pass, thus the classification codeword
|
82
|
-
is coded only in the first pass.</para></listitem>
|
83
|
-
|
84
|
-
</itemizedlist>
|
85
|
-
</para>
|
86
|
-
|
87
|
-
<mediaobject>
|
88
|
-
<imageobject>
|
89
|
-
<imagedata fileref="residue-pack.png" format="PNG"/>
|
90
|
-
</imageobject>
|
91
|
-
<textobject>
|
92
|
-
<phrase>[illustration of residue vector format]</phrase>
|
93
|
-
</textobject>
|
94
|
-
</mediaobject>
|
95
|
-
|
96
|
-
</section>
|
97
|
-
|
98
|
-
<section><title>residue 0</title>
|
99
|
-
|
100
|
-
<para>
|
101
|
-
Residue 0 and 1 differ only in the way the values within a residue
|
102
|
-
partition are interleaved during partition encoding (visually treated
|
103
|
-
as a black box--or cyan box or brown box--in the above figure).</para>
|
104
|
-
|
105
|
-
<para>
|
106
|
-
Residue encoding 0 interleaves VQ encoding according to the
|
107
|
-
dimension of the codebook used to encode a partition in a specific
|
108
|
-
pass. The dimension of the codebook need not be the same in multiple
|
109
|
-
passes, however the partition size must be an even multiple of the
|
110
|
-
codebook dimension.</para>
|
111
|
-
|
112
|
-
<para>
|
113
|
-
As an example, assume a partition vector of size eight, to be encoded
|
114
|
-
by residue 0 using codebook sizes of 8, 4, 2 and 1:</para>
|
115
|
-
|
116
|
-
<programlisting>
|
117
|
-
|
118
|
-
original residue vector: [ 0 1 2 3 4 5 6 7 ]
|
119
|
-
|
120
|
-
codebook dimensions = 8 encoded as: [ 0 1 2 3 4 5 6 7 ]
|
121
|
-
|
122
|
-
codebook dimensions = 4 encoded as: [ 0 2 4 6 ], [ 1 3 5 7 ]
|
123
|
-
|
124
|
-
codebook dimensions = 2 encoded as: [ 0 4 ], [ 1 5 ], [ 2 6 ], [ 3 7 ]
|
125
|
-
|
126
|
-
codebook dimensions = 1 encoded as: [ 0 ], [ 1 ], [ 2 ], [ 3 ], [ 4 ], [ 5 ], [ 6 ], [ 7 ]
|
127
|
-
|
128
|
-
</programlisting>
|
129
|
-
|
130
|
-
<para>
|
131
|
-
It is worth mentioning at this point that no configurable value in the
|
132
|
-
residue coding setup is restricted to a power of two.</para>
|
133
|
-
|
134
|
-
</section>
|
135
|
-
|
136
|
-
<section><title>residue 1</title>
|
137
|
-
|
138
|
-
<para>
|
139
|
-
Residue 1 does not interleave VQ encoding. It represents partition
|
140
|
-
vector scalars in order. As with residue 0, however, partition length
|
141
|
-
must be an integer multiple of the codebook dimension, although
|
142
|
-
dimension may vary from pass to pass.</para>
|
143
|
-
|
144
|
-
<para>
|
145
|
-
As an example, assume a partition vector of size eight, to be encoded
|
146
|
-
by residue 0 using codebook sizes of 8, 4, 2 and 1:</para>
|
147
|
-
|
148
|
-
<programlisting>
|
149
|
-
|
150
|
-
original residue vector: [ 0 1 2 3 4 5 6 7 ]
|
151
|
-
|
152
|
-
codebook dimensions = 8 encoded as: [ 0 1 2 3 4 5 6 7 ]
|
153
|
-
|
154
|
-
codebook dimensions = 4 encoded as: [ 0 1 2 3 ], [ 4 5 6 7 ]
|
155
|
-
|
156
|
-
codebook dimensions = 2 encoded as: [ 0 1 ], [ 2 3 ], [ 4 5 ], [ 6 7 ]
|
157
|
-
|
158
|
-
codebook dimensions = 1 encoded as: [ 0 ], [ 1 ], [ 2 ], [ 3 ], [ 4 ], [ 5 ], [ 6 ], [ 7 ]
|
159
|
-
|
160
|
-
</programlisting>
|
161
|
-
|
162
|
-
</section>
|
163
|
-
|
164
|
-
<section><title>residue 2</title>
|
165
|
-
|
166
|
-
<para>
|
167
|
-
Residue type two can be thought of as a variant of residue type 1.
|
168
|
-
Rather than encoding multiple passed-in vectors as in residue type 1,
|
169
|
-
the <emphasis>ch</emphasis> passed in vectors of length <emphasis>n</emphasis> are first
|
170
|
-
interleaved and flattened into a single vector of length
|
171
|
-
<emphasis>ch</emphasis>*<emphasis>n</emphasis>. Encoding then proceeds as in type 1. Decoding is
|
172
|
-
as in type 1 with decode interleave reversed. If operating on a single
|
173
|
-
vector to begin with, residue type 1 and type 2 are equivalent.</para>
|
174
|
-
|
175
|
-
<mediaobject>
|
176
|
-
<imageobject>
|
177
|
-
<imagedata fileref="residue2.png" format="PNG"/>
|
178
|
-
</imageobject>
|
179
|
-
<textobject>
|
180
|
-
<phrase>[illustration of residue type 2]</phrase>
|
181
|
-
</textobject>
|
182
|
-
</mediaobject>
|
183
|
-
|
184
|
-
</section>
|
185
|
-
|
186
|
-
<section>
|
187
|
-
<title>Residue decode</title>
|
188
|
-
|
189
|
-
<section><title>header decode</title>
|
190
|
-
|
191
|
-
<para>
|
192
|
-
Header decode for all three residue types is identical.</para>
|
193
|
-
<programlisting>
|
194
|
-
1) [residue_begin] = read 24 bits as unsigned integer
|
195
|
-
2) [residue_end] = read 24 bits as unsigned integer
|
196
|
-
3) [residue_partition_size] = read 24 bits as unsigned integer and add one
|
197
|
-
4) [residue_classifications] = read 6 bits as unsigned integer and add one
|
198
|
-
5) [residue_classbook] = read 8 bits as unsigned integer
|
199
|
-
</programlisting>
|
200
|
-
|
201
|
-
<para>
|
202
|
-
<varname>[residue_begin]</varname> and <varname>[residue_end]</varname> select the specific
|
203
|
-
sub-portion of each vector that is actually coded; it implements akin
|
204
|
-
to a bandpass where, for coding purposes, the vector effectively
|
205
|
-
begins at element <varname>[residue_begin]</varname> and ends at
|
206
|
-
<varname>[residue_end]</varname>. Preceding and following values in the unpacked
|
207
|
-
vectors are zeroed. Note that for residue type 2, these values as
|
208
|
-
well as <varname>[residue_partition_size]</varname>apply to the interleaved
|
209
|
-
vector, not the individual vectors before interleave.
|
210
|
-
<varname>[residue_partition_size]</varname> is as explained above,
|
211
|
-
<varname>[residue_classifications]</varname> is the number of possible
|
212
|
-
classification to which a partition can belong and
|
213
|
-
<varname>[residue_classbook]</varname> is the codebook number used to code
|
214
|
-
classification codewords. The number of dimensions in book
|
215
|
-
<varname>[residue_classbook]</varname> determines how many classification values
|
216
|
-
are grouped into a single classification codeword.</para>
|
217
|
-
|
218
|
-
<para>
|
219
|
-
Next we read a bitmap pattern that specifies which partition classes
|
220
|
-
code values in which passes.</para>
|
221
|
-
|
222
|
-
<programlisting>
|
223
|
-
1) iterate [i] over the range 0 ... [residue_classifications]-1 {
|
224
|
-
|
225
|
-
2) [high_bits] = 0
|
226
|
-
3) [low_bits] = read 3 bits as unsigned integer
|
227
|
-
4) [bitflag] = read one bit as boolean
|
228
|
-
5) if ( [bitflag] is set ) then [high_bits] = read five bits as unsigned integer
|
229
|
-
6) vector [residue_cascade] element [i] = [high_bits] * 8 + [low_bits]
|
230
|
-
}
|
231
|
-
7) done
|
232
|
-
</programlisting>
|
233
|
-
|
234
|
-
<para>
|
235
|
-
Finally, we read in a list of book numbers, each corresponding to
|
236
|
-
specific bit set in the cascade bitmap. We loop over the possible
|
237
|
-
codebook classifications and the maximum possible number of encoding
|
238
|
-
stages (8 in Vorbis I, as constrained by the elements of the cascade
|
239
|
-
bitmap being eight bits):</para>
|
240
|
-
|
241
|
-
<programlisting>
|
242
|
-
1) iterate [i] over the range 0 ... [residue_classifications]-1 {
|
243
|
-
|
244
|
-
2) iterate [j] over the range 0 ... 7 {
|
245
|
-
|
246
|
-
3) if ( vector [residue_cascade] element [i] bit [j] is set ) {
|
247
|
-
|
248
|
-
4) array [residue_books] element [i][j] = read 8 bits as unsigned integer
|
249
|
-
|
250
|
-
} else {
|
251
|
-
|
252
|
-
5) array [residue_books] element [i][j] = unused
|
253
|
-
|
254
|
-
}
|
255
|
-
}
|
256
|
-
}
|
257
|
-
|
258
|
-
6) done
|
259
|
-
</programlisting>
|
260
|
-
|
261
|
-
<para>
|
262
|
-
An end-of-packet condition at any point in header decode renders the
|
263
|
-
stream undecodable. In addition, any codebook number greater than the
|
264
|
-
maximum numbered codebook set up in this stream also renders the
|
265
|
-
stream undecodable.</para>
|
266
|
-
|
267
|
-
</section>
|
268
|
-
|
269
|
-
<section><title>packet decode</title>
|
270
|
-
|
271
|
-
<para>
|
272
|
-
Format 0 and 1 packet decode is identical except for specific
|
273
|
-
partition interleave. Format 2 packet decode can be built out of the
|
274
|
-
format 1 decode process. Thus we describe first the decode
|
275
|
-
infrastructure identical to all three formats.</para>
|
276
|
-
|
277
|
-
<para>
|
278
|
-
In addition to configuration information, the residue decode process
|
279
|
-
is passed the number of vectors in the submap bundle and a vector of
|
280
|
-
flags indicating if any of the vectors are not to be decoded. If the
|
281
|
-
passed in number of vectors is 3 and vector number 1 is marked 'do not
|
282
|
-
decode', decode skips vector 1 during the decode loop. However, even
|
283
|
-
'do not decode' vectors are allocated and zeroed.</para>
|
284
|
-
|
285
|
-
<para>
|
286
|
-
Depending on the values of <varname>[residue_begin]</varname> and
|
287
|
-
<varname>[residue_end]</varname>, it is obvious that the encoded
|
288
|
-
portion of a residue vector may be the entire possible residue vector
|
289
|
-
or some other strict subset of the actual residue vector size with
|
290
|
-
zero padding at either uncoded end. However, it is also possible to
|
291
|
-
set <varname>[residue_begin]</varname> and
|
292
|
-
<varname>[residue_end]</varname> to specify a range partially or
|
293
|
-
wholly beyond the maximum vector size. Before beginning residue
|
294
|
-
decode, limit <varname>[residue_begin]</varname> and
|
295
|
-
<varname>[residue_end]</varname> to the maximum possible vector size
|
296
|
-
as follows. We assume that the number of vectors being encoded,
|
297
|
-
<varname>[ch]</varname> is provided by the higher level decoding
|
298
|
-
process.</para>
|
299
|
-
|
300
|
-
<programlisting>
|
301
|
-
1) [actual_size] = current blocksize/2;
|
302
|
-
2) if residue encoding is format 2
|
303
|
-
3) [actual_size] = [actual_size] * [ch];
|
304
|
-
4) [limit_residue_begin] = maximum of ([residue_begin],[actual_size]);
|
305
|
-
5) [limit_residue_end] = maximum of ([residue_end],[actual_size]);
|
306
|
-
</programlisting>
|
307
|
-
|
308
|
-
<para>
|
309
|
-
The following convenience values are conceptually useful to clarifying
|
310
|
-
the decode process:</para>
|
311
|
-
|
312
|
-
<programlisting>
|
313
|
-
1) [classwords_per_codeword] = [codebook_dimensions] value of codebook [residue_classbook]
|
314
|
-
2) [n_to_read] = [limit_residue_end] - [limit_residue_begin]
|
315
|
-
3) [partitions_to_read] = [n_to_read] / [residue_partition_size]
|
316
|
-
</programlisting>
|
317
|
-
|
318
|
-
<para>
|
319
|
-
Packet decode proceeds as follows, matching the description offered earlier in the document. </para>
|
320
|
-
<programlisting>
|
321
|
-
1) allocate and zero all vectors that will be returned.
|
322
|
-
2) if ([n_to_read] is zero), stop; there is no residue to decode.
|
323
|
-
3) iterate [pass] over the range 0 ... 7 {
|
324
|
-
|
325
|
-
4) [partition_count] = 0
|
326
|
-
|
327
|
-
5) while [partition_count] is less than [partitions_to_read]
|
328
|
-
|
329
|
-
6) if ([pass] is zero) {
|
330
|
-
|
331
|
-
7) iterate [j] over the range 0 .. [ch]-1 {
|
332
|
-
|
333
|
-
8) if vector [j] is not marked 'do not decode' {
|
334
|
-
|
335
|
-
9) [temp] = read from packet using codebook [residue_classbook] in scalar context
|
336
|
-
10) iterate [i] descending over the range [classwords_per_codeword]-1 ... 0 {
|
337
|
-
|
338
|
-
11) array [classifications] element [j],([i]+[partition_count]) =
|
339
|
-
[temp] integer modulo [residue_classifications]
|
340
|
-
12) [temp] = [temp] / [residue_classifications] using integer division
|
341
|
-
|
342
|
-
}
|
343
|
-
|
344
|
-
}
|
345
|
-
|
346
|
-
}
|
347
|
-
|
348
|
-
}
|
349
|
-
|
350
|
-
13) iterate [i] over the range 0 .. ([classwords_per_codeword] - 1) while [partition_count]
|
351
|
-
is also less than [partitions_to_read] {
|
352
|
-
|
353
|
-
14) iterate [j] over the range 0 .. [ch]-1 {
|
354
|
-
|
355
|
-
15) if vector [j] is not marked 'do not decode' {
|
356
|
-
|
357
|
-
16) [vqclass] = array [classifications] element [j],[partition_count]
|
358
|
-
17) [vqbook] = array [residue_books] element [vqclass],[pass]
|
359
|
-
18) if ([vqbook] is not 'unused') {
|
360
|
-
|
361
|
-
19) decode partition into output vector number [j], starting at scalar
|
362
|
-
offset [limit_residue_begin]+[partition_count]*[residue_partition_size] using
|
363
|
-
codebook number [vqbook] in VQ context
|
364
|
-
}
|
365
|
-
}
|
366
|
-
|
367
|
-
20) increment [partition_count] by one
|
368
|
-
|
369
|
-
}
|
370
|
-
}
|
371
|
-
}
|
372
|
-
|
373
|
-
21) done
|
374
|
-
|
375
|
-
</programlisting>
|
376
|
-
|
377
|
-
<para>
|
378
|
-
An end-of-packet condition during packet decode is to be considered a
|
379
|
-
nominal occurrence. Decode returns the result of vector decode up to
|
380
|
-
that point.</para>
|
381
|
-
|
382
|
-
</section>
|
383
|
-
|
384
|
-
<section><title>format 0 specifics</title>
|
385
|
-
|
386
|
-
<para>
|
387
|
-
Format zero decodes partitions exactly as described earlier in the
|
388
|
-
'Residue Format: residue 0' section. The following pseudocode
|
389
|
-
presents the same algorithm. Assume:</para>
|
390
|
-
|
391
|
-
<para>
|
392
|
-
<itemizedlist>
|
393
|
-
<listitem><simpara> <varname>[n]</varname> is the value in <varname>[residue_partition_size]</varname></simpara></listitem>
|
394
|
-
<listitem><simpara><varname>[v]</varname> is the residue vector</simpara></listitem>
|
395
|
-
<listitem><simpara><varname>[offset]</varname> is the beginning read offset in [v]</simpara></listitem>
|
396
|
-
</itemizedlist>
|
397
|
-
</para>
|
398
|
-
|
399
|
-
<programlisting>
|
400
|
-
1) [step] = [n] / [codebook_dimensions]
|
401
|
-
2) iterate [i] over the range 0 ... [step]-1 {
|
402
|
-
|
403
|
-
3) vector [entry_temp] = read vector from packet using current codebook in VQ context
|
404
|
-
4) iterate [j] over the range 0 ... [codebook_dimensions]-1 {
|
405
|
-
|
406
|
-
5) vector [v] element ([offset]+[i]+[j]*[step]) =
|
407
|
-
vector [v] element ([offset]+[i]+[j]*[step]) +
|
408
|
-
vector [entry_temp] element [j]
|
409
|
-
|
410
|
-
}
|
411
|
-
|
412
|
-
}
|
413
|
-
|
414
|
-
6) done
|
415
|
-
|
416
|
-
</programlisting>
|
417
|
-
|
418
|
-
</section>
|
419
|
-
|
420
|
-
<section><title>format 1 specifics</title>
|
421
|
-
|
422
|
-
<para>
|
423
|
-
Format 1 decodes partitions exactly as described earlier in the
|
424
|
-
'Residue Format: residue 1' section. The following pseudocode
|
425
|
-
presents the same algorithm. Assume:</para>
|
426
|
-
|
427
|
-
<para>
|
428
|
-
<itemizedlist>
|
429
|
-
<listitem><simpara> <varname>[n]</varname> is the value in
|
430
|
-
<varname>[residue_partition_size]</varname></simpara></listitem>
|
431
|
-
<listitem><simpara><varname>[v]</varname> is the residue vector</simpara></listitem>
|
432
|
-
<listitem><simpara><varname>[offset]</varname> is the beginning read offset in [v]</simpara></listitem>
|
433
|
-
</itemizedlist>
|
434
|
-
</para>
|
435
|
-
|
436
|
-
<programlisting>
|
437
|
-
1) [i] = 0
|
438
|
-
2) vector [entry_temp] = read vector from packet using current codebook in VQ context
|
439
|
-
3) iterate [j] over the range 0 ... [codebook_dimensions]-1 {
|
440
|
-
|
441
|
-
4) vector [v] element ([offset]+[i]) =
|
442
|
-
vector [v] element ([offset]+[i]) +
|
443
|
-
vector [entry_temp] element [j]
|
444
|
-
5) increment [i]
|
445
|
-
|
446
|
-
}
|
447
|
-
|
448
|
-
6) if ( [i] is less than [n] ) continue at step 2
|
449
|
-
7) done
|
450
|
-
</programlisting>
|
451
|
-
|
452
|
-
</section>
|
453
|
-
|
454
|
-
<section><title>format 2 specifics</title>
|
455
|
-
|
456
|
-
<para>
|
457
|
-
Format 2 is reducible to format 1. It may be implemented as an additional step prior to and an additional post-decode step after a normal format 1 decode.
|
458
|
-
</para>
|
459
|
-
|
460
|
-
<para>
|
461
|
-
Format 2 handles 'do not decode' vectors differently than residue 0 or
|
462
|
-
1; if all vectors are marked 'do not decode', no decode occurrs.
|
463
|
-
However, if at least one vector is to be decoded, all the vectors are
|
464
|
-
decoded. We then request normal format 1 to decode a single vector
|
465
|
-
representing all output channels, rather than a vector for each
|
466
|
-
channel. After decode, deinterleave the vector into independent vectors, one for each output channel. That is:</para>
|
467
|
-
|
468
|
-
<orderedlist>
|
469
|
-
<listitem><simpara>If all vectors 0 through <emphasis>ch</emphasis>-1 are marked 'do not decode', allocate and clear a single vector <varname>[v]</varname>of length <emphasis>ch*n</emphasis> and skip step 2 below; proceed directly to the post-decode step.</simpara></listitem>
|
470
|
-
<listitem><simpara>Rather than performing format 1 decode to produce <emphasis>ch</emphasis> vectors of length <emphasis>n</emphasis> each, call format 1 decode to produce a single vector <varname>[v]</varname> of length <emphasis>ch*n</emphasis>. </simpara></listitem>
|
471
|
-
<listitem><para>Post decode: Deinterleave the single vector <varname>[v]</varname> returned by format 1 decode as described above into <emphasis>ch</emphasis> independent vectors, one for each outputchannel, according to:
|
472
|
-
<programlisting>
|
473
|
-
1) iterate [i] over the range 0 ... [n]-1 {
|
474
|
-
|
475
|
-
2) iterate [j] over the range 0 ... [ch]-1 {
|
476
|
-
|
477
|
-
3) output vector number [j] element [i] = vector [v] element ([i] * [ch] + [j])
|
478
|
-
|
479
|
-
}
|
480
|
-
}
|
481
|
-
|
482
|
-
4) done
|
483
|
-
</programlisting>
|
484
|
-
</para></listitem>
|
485
|
-
</orderedlist>
|
486
|
-
|
487
|
-
</section>
|
488
|
-
|
489
|
-
</section>
|
490
|
-
|
491
|
-
</section>
|
492
|
-
|