mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-24 09:27:31 +09:00
Issue #1941 - Update libvorbis to 1.3.7.
This commit is contained in:
parent
8038505d6c
commit
191a010f68
72 changed files with 492 additions and 342 deletions
185
media/libvorbis/CHANGES
Normal file
185
media/libvorbis/CHANGES
Normal file
|
|
@ -0,0 +1,185 @@
|
||||||
|
libvorbis 1.3.7 (2020-07-04) -- "Xiph.Org libVorbis I 20200704 (Reducing Environment)"
|
||||||
|
|
||||||
|
* Fix CVE-2018-10393 - out-of-bounds read encoding very low sample rates.
|
||||||
|
* Fix CVE-2017-14160 - out-of-bounds read encoding very low sample rates.
|
||||||
|
* Fix CVE-2018-10392 - out-of-bounds access encoding invalid channel count.
|
||||||
|
* Fix handling invalid bytes per sample arguments.
|
||||||
|
* Fix handling invalid channel count arguments.
|
||||||
|
* Fix invalid free on seek failure.
|
||||||
|
* Fix negative shift reading blocksize.
|
||||||
|
* Fix accepting unreasonable float32 values.
|
||||||
|
* Fix tag comparison depending on locale.
|
||||||
|
* Fix unnecessarily linking libm.
|
||||||
|
* Fix memory leak in test_sharedbook.
|
||||||
|
* Update Visual Studio projects for ogg library filename change.
|
||||||
|
* Distribute CMake build files with the source package.
|
||||||
|
* Remove unnecessary configure --target switch.
|
||||||
|
* Add gitlab CI support.
|
||||||
|
* Add OSS-Fuzz support.
|
||||||
|
* Build system and integration updates.
|
||||||
|
|
||||||
|
libvorbis 1.3.6 (2018-03-16) -- "Xiph.Org libVorbis I 20180316 (Now 100% fewer shells)"
|
||||||
|
|
||||||
|
* Fix CVE-2018-5146 - out-of-bounds write on codebook decoding.
|
||||||
|
* Fix CVE-2017-14632 - free() on unitialized data
|
||||||
|
* Fix CVE-2017-14633 - out-of-bounds read
|
||||||
|
* Fix bitrate metadata parsing.
|
||||||
|
* Fix out-of-bounds read in codebook parsing.
|
||||||
|
* Fix residue vector size in Vorbis I spec.
|
||||||
|
* Appveyor support
|
||||||
|
* Travis CI support
|
||||||
|
* Add secondary CMake build system.
|
||||||
|
* Build system fixes
|
||||||
|
|
||||||
|
libvorbis 1.3.5 (2015-03-03) -- "Xiph.Org libVorbis I 20150105 (⛄⛄⛄⛄)"
|
||||||
|
|
||||||
|
* Tolerate single-entry codebooks.
|
||||||
|
* Fix decoder crash with invalid input.
|
||||||
|
* Fix encoder crash with non-positive sample rates.
|
||||||
|
# Fix issues in vorbisfile's seek bisection code.
|
||||||
|
* Spec errata.
|
||||||
|
* Reject multiple headers of the same type.
|
||||||
|
* Various build fixes and code cleanup.
|
||||||
|
|
||||||
|
libvorbis 1.3.4 (2014-01-22) -- "Xiph.Org libVorbis I 20140122 (Turpakäräjiin)"
|
||||||
|
|
||||||
|
* Reduce codebook footprint in library code.
|
||||||
|
* Various build and documentation fixes.
|
||||||
|
|
||||||
|
libvorbis 1.3.3 (2012-02-03) -- "Xiph.Org libVorbis I 20120203 (Omnipresent)"
|
||||||
|
|
||||||
|
* vorbis: additional proofing against invalid/malicious
|
||||||
|
streams in decode (see SVN for details).
|
||||||
|
* vorbis: fix a memory leak in vorbis_commentheader_out().
|
||||||
|
* updates, corrections and clarifications in the Vorbis I specification
|
||||||
|
document
|
||||||
|
* win32: fixed project configuration which referenced two CRT versions
|
||||||
|
in output binaries.
|
||||||
|
* build warning fixes
|
||||||
|
|
||||||
|
libvorbis 1.3.2 (2010-11-01) -- "Xiph.Org libVorbis I 20101101 (Schaufenugget)"
|
||||||
|
|
||||||
|
* vorbis: additional proofing against invalid/malicious
|
||||||
|
streams in floor, residue, and bos/eos packet trimming
|
||||||
|
code (see SVN for details).
|
||||||
|
* vorbis: Added programming documentation tree for the
|
||||||
|
low-level calls
|
||||||
|
* vorbisfile: Correct handling of serial numbers array
|
||||||
|
element [0] on non-seekable streams
|
||||||
|
* vorbisenc: Back out an [old] AoTuV HF weighting that was
|
||||||
|
first enabled in 1.3.0; there are a few samples where I
|
||||||
|
really don't like the effect it causes.
|
||||||
|
* vorbis: return correct timestamp for granule positions
|
||||||
|
with high bit set.
|
||||||
|
* vorbisfile: the [undocumented] half-rate decode api made no
|
||||||
|
attempt to keep the pcm offset tracking consistent in seeks.
|
||||||
|
Fix and add a testing mode to seeking_example.c to torture
|
||||||
|
test seeking in halfrate mode. Also remove requirement that
|
||||||
|
halfrate mode only work with seekable files.
|
||||||
|
* vorbisfile: Fix a chaining bug in raw_seeks where seeking
|
||||||
|
out of the current link would fail due to not
|
||||||
|
reinitializing the decode machinery.
|
||||||
|
* vorbisfile: improve seeking strategy. Reduces the
|
||||||
|
necessary number of seek callbacks in an open or seek
|
||||||
|
operation by well over 2/3.
|
||||||
|
|
||||||
|
libvorbis 1.3.1 (2010-02-26) -- "Xiph.Org libVorbis I 20100325 (Everywhere)"
|
||||||
|
|
||||||
|
* tweak + minor arithmetic fix in floor1 fit
|
||||||
|
* revert noise norm to conservative 1.2.3 behavior pending
|
||||||
|
more listening testing
|
||||||
|
|
||||||
|
libvorbis 1.3.0 (2010-02-25) -- unreleased staging snapshot
|
||||||
|
|
||||||
|
* Optimized surround support for 5.1 encoding at 44.1/48kHz
|
||||||
|
* Added encoder control call to disable channel coupling
|
||||||
|
* Correct an overflow bug in very low-bitrate encoding on 32 bit
|
||||||
|
machines that caused inflated bitrates
|
||||||
|
* Numerous API hardening, leak and build fixes
|
||||||
|
* Correct bug in 22kHz compand setup that could cause a crash
|
||||||
|
* Correct bug in 16kHz codebooks that could cause unstable pure
|
||||||
|
tones at high bitrates
|
||||||
|
|
||||||
|
libvorbis 1.2.3 (2009-07-09) -- "Xiph.Org libVorbis I 20090709"
|
||||||
|
|
||||||
|
* correct a vorbisfile bug that prevented proper playback of
|
||||||
|
Vorbis files where all audio in a logical stream is in a
|
||||||
|
single page
|
||||||
|
* Additional decode setup hardening against malicious streams
|
||||||
|
* Add 'OV_EXCLUDE_STATIC_CALLBACKS' define for developers who
|
||||||
|
wish to avoid unused symbol warnings from the static callbacks
|
||||||
|
defined in vorbisfile.h
|
||||||
|
|
||||||
|
libvorbis 1.2.2 (2009-06-24) -- "Xiph.Org libVorbis I 20090624"
|
||||||
|
|
||||||
|
* define VENDOR and ENCODER strings
|
||||||
|
* seek correctly in files bigger than 2 GB (Windows)
|
||||||
|
* fix regression from CVE-2008-1420; 1.0b1 files work again
|
||||||
|
* mark all tables as constant to reduce memory occupation
|
||||||
|
* additional decoder hardening against malicious streams
|
||||||
|
* substantially reduce amount of seeking performed by Vorbisfile
|
||||||
|
* Multichannel decode bugfix
|
||||||
|
* build system updates
|
||||||
|
* minor specification clarifications/fixes
|
||||||
|
|
||||||
|
libvorbis 1.2.1 (unreleased) -- "Xiph.Org libVorbis I 20080501"
|
||||||
|
|
||||||
|
* Improved robustness with corrupt streams.
|
||||||
|
* New ov_read_filter() vorbisfile call allows filtering decoded
|
||||||
|
audio as floats before converting to integer samples.
|
||||||
|
* Fix an encoder bug with multichannel streams.
|
||||||
|
* Replaced RTP payload format draft with RFC 5215.
|
||||||
|
* Bare bones self test under 'make check'.
|
||||||
|
* Fix a problem encoding some streams between 14 and 28 kHz.
|
||||||
|
* Fix a numerical instability in the edge extrapolation filter.
|
||||||
|
* Build system improvements.
|
||||||
|
* Specification correction.
|
||||||
|
|
||||||
|
libvorbis 1.2.0 (2007-07-25) -- "Xiph.Org libVorbis I 20070622"
|
||||||
|
|
||||||
|
* new ov_fopen() convenience call that avoids the common
|
||||||
|
stdio conflicts with ov_open() and MSVC runtimes.
|
||||||
|
* libvorbisfile now handles multiplexed streams
|
||||||
|
* improve robustness to corrupt input streams
|
||||||
|
* fix a minor encoder bug
|
||||||
|
* updated RTP draft
|
||||||
|
* build system updates
|
||||||
|
* minor corrections to the specification
|
||||||
|
|
||||||
|
libvorbis 1.1.2 (2005-11-27) -- "Xiph.Org libVorbis I 20050304"
|
||||||
|
|
||||||
|
* fix a serious encoder bug with gcc 4 optimized builds
|
||||||
|
* documentation and spec fixes
|
||||||
|
* updated VS2003 and XCode builds
|
||||||
|
* new draft RTP encapsulation spec
|
||||||
|
|
||||||
|
libvorbis 1.1.1 (2005-06-27) -- "Xiph.Org libVorbis I 20050304"
|
||||||
|
|
||||||
|
* bug fix to the bitrate management encoder interface
|
||||||
|
* bug fix to properly set packetno field in the encoder
|
||||||
|
* new draft RTP encapsulation spec
|
||||||
|
* library API documentation improvements
|
||||||
|
|
||||||
|
libvorbis 1.1.0 (2004-09-22) -- "Xiph.Org libVorbis I 20040629"
|
||||||
|
|
||||||
|
* merges tuning improvements from Aoyumi's aoTuV with fixups
|
||||||
|
* new managed bitrate (CBR) mode support
|
||||||
|
* new vorbis_encoder_ctl() interface
|
||||||
|
* extensive documentation updates
|
||||||
|
* application/ogg mimetype is now official
|
||||||
|
* autotools cleanup from Thomas Vander Stichele
|
||||||
|
* SymbianOS build support from Colin Ward at CSIRO
|
||||||
|
* various bugfixes
|
||||||
|
* various packaging improvements
|
||||||
|
|
||||||
|
libvorbis 1.0.1 (2003-11-17) -- "Xiph.Org libVorbis I 20030909"
|
||||||
|
|
||||||
|
* numerous bug fixes
|
||||||
|
* specification corrections
|
||||||
|
* new crosslap and halfrate APIs for game use
|
||||||
|
* packaging and build updates
|
||||||
|
|
||||||
|
libvorbis 1.0.0 (2002-07-19) -- "Xiph.Org libVorbis I 20020717"
|
||||||
|
|
||||||
|
* first stable release
|
||||||
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
Copyright (c) 2002-2015 Xiph.org Foundation
|
Copyright (c) 2002-2020 Xiph.org Foundation
|
||||||
|
|
||||||
Redistribution and use in source and binary forms, with or without
|
Redistribution and use in source and binary forms, with or without
|
||||||
modification, are permitted provided that the following conditions
|
modification, are permitted provided that the following conditions
|
||||||
|
|
|
||||||
|
|
@ -1,134 +0,0 @@
|
||||||
********************************************************************
|
|
||||||
* *
|
|
||||||
* THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. *
|
|
||||||
* USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS *
|
|
||||||
* GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
|
|
||||||
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
|
||||||
* *
|
|
||||||
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2015 *
|
|
||||||
* by the Xiph.org Foundation, http://www.xiph.org/ *
|
|
||||||
* *
|
|
||||||
********************************************************************
|
|
||||||
|
|
||||||
Vorbis is a general purpose audio and music encoding format
|
|
||||||
contemporary to MPEG-4's AAC and TwinVQ, the next generation beyond
|
|
||||||
MPEG audio layer 3. Unlike the MPEG sponsored formats (and other
|
|
||||||
proprietary formats such as RealAudio G2 and Windows' flavor of the
|
|
||||||
month), the Vorbis CODEC specification belongs to the public domain.
|
|
||||||
All the technical details are published and documented, and any
|
|
||||||
software entity may make full use of the format without license
|
|
||||||
fee, royalty or patent concerns.
|
|
||||||
|
|
||||||
This package contains:
|
|
||||||
|
|
||||||
* libvorbis, a BSD-style license software implementation of
|
|
||||||
the Vorbis specification by the Xiph.Org Foundation
|
|
||||||
(http://www.xiph.org/)
|
|
||||||
|
|
||||||
* libvorbisfile, a BSD-style license convenience library
|
|
||||||
built on Vorbis designed to simplify common uses
|
|
||||||
|
|
||||||
* libvorbisenc, a BSD-style license library that provides a simple,
|
|
||||||
programmatic encoding setup interface
|
|
||||||
|
|
||||||
* example code making use of libogg, libvorbis, libvorbisfile and
|
|
||||||
libvorbisenc
|
|
||||||
|
|
||||||
WHAT'S HERE:
|
|
||||||
|
|
||||||
This source distribution includes libvorbis and an example
|
|
||||||
encoder/player to demonstrate use of libvorbis as well as
|
|
||||||
documentation on the Ogg Vorbis audio coding format.
|
|
||||||
|
|
||||||
You'll need libogg (distributed separately) to compile this library.
|
|
||||||
A more comprehensive set of utilities is available in the vorbis-tools
|
|
||||||
package.
|
|
||||||
|
|
||||||
Directory:
|
|
||||||
|
|
||||||
./lib The source for the libraries, a BSD-license implementation
|
|
||||||
of the public domain Ogg Vorbis audio encoding format.
|
|
||||||
|
|
||||||
./include Library API headers
|
|
||||||
|
|
||||||
./debian Rules/spec files for building Debian .deb packages
|
|
||||||
|
|
||||||
./doc Vorbis documentation
|
|
||||||
|
|
||||||
./examples Example code illustrating programmatic use of libvorbis,
|
|
||||||
libvorbisfile and libvorbisenc
|
|
||||||
|
|
||||||
./mac Codewarrior project files and build tweaks for MacOS.
|
|
||||||
|
|
||||||
./macosx Project files for MacOS X.
|
|
||||||
|
|
||||||
./win32 Win32 projects files and build automation
|
|
||||||
|
|
||||||
./vq Internal utilities for training/building new LSP/residue
|
|
||||||
and auxiliary codebooks.
|
|
||||||
|
|
||||||
CONTACT:
|
|
||||||
|
|
||||||
The Ogg homepage is located at 'http://www.xiph.org/ogg/'.
|
|
||||||
Vorbis's homepage is located at 'http://www.xiph.org/vorbis/'.
|
|
||||||
Up to date technical documents, contact information, source code and
|
|
||||||
pre-built utilities may be found there.
|
|
||||||
|
|
||||||
The user website for Ogg Vorbis software and audio is http://vorbis.com/
|
|
||||||
|
|
||||||
BUILDING FROM TRUNK:
|
|
||||||
|
|
||||||
Development source is under subversion revision control at
|
|
||||||
https://svn.xiph.org/trunk/vorbis/. You will also need the
|
|
||||||
newest versions of autoconf, automake, libtool and pkg-config in
|
|
||||||
order to compile Vorbis from development source. A configure script
|
|
||||||
is provided for you in the source tarball distributions.
|
|
||||||
|
|
||||||
[update or checkout latest source]
|
|
||||||
./autogen.sh
|
|
||||||
make
|
|
||||||
|
|
||||||
and as root if desired:
|
|
||||||
|
|
||||||
make install
|
|
||||||
|
|
||||||
This will install the Vorbis libraries (static and shared) into
|
|
||||||
/usr/local/lib, includes into /usr/local/include and API manpages
|
|
||||||
(once we write some) into /usr/local/man.
|
|
||||||
|
|
||||||
Documentation building requires xsltproc and pdfxmltex.
|
|
||||||
|
|
||||||
BUILDING FROM TARBALL DISTRIBUTIONS:
|
|
||||||
|
|
||||||
./configure
|
|
||||||
make
|
|
||||||
|
|
||||||
and optionally (as root):
|
|
||||||
make install
|
|
||||||
|
|
||||||
BUILDING RPMS:
|
|
||||||
|
|
||||||
after normal configuring:
|
|
||||||
|
|
||||||
make dist
|
|
||||||
rpm -ta libvorbis-<version>.tar.gz
|
|
||||||
|
|
||||||
BUILDING ON MACOS 9:
|
|
||||||
|
|
||||||
Vorbis on MacOS 9 is built using Metroworks CodeWarrior. To build it,
|
|
||||||
first verify that the Ogg libraries are already built following the
|
|
||||||
instructions in the Ogg module README. Open vorbis/mac/libvorbis.mcp,
|
|
||||||
switch to the "Targets" pane, select everything, and make the project.
|
|
||||||
Do the same thing to build libvorbisenc.mcp, and libvorbisfile.mcp (in
|
|
||||||
that order). In vorbis/mac/Output you will now have both debug and final
|
|
||||||
versions of Vorbis shared libraries to link your projects against.
|
|
||||||
|
|
||||||
To build a project using Ogg Vorbis, add access paths to your
|
|
||||||
CodeWarrior project for the ogg/include, ogg/mac/Output,
|
|
||||||
vorbis/include, and vorbis/mac/Output folders. Be sure that
|
|
||||||
"interpret DOS and Unix paths" is turned on in your project; it can
|
|
||||||
be found in the "access paths" pane in your project settings. Now
|
|
||||||
simply add the shared libraries you need to your project (OggLib and
|
|
||||||
VorbisLib at least) and #include "ogg/ogg.h" and "vorbis/codec.h"
|
|
||||||
wherever you need to access Ogg and Vorbis functionality.
|
|
||||||
|
|
||||||
147
media/libvorbis/README.md
Normal file
147
media/libvorbis/README.md
Normal file
|
|
@ -0,0 +1,147 @@
|
||||||
|
# Vorbis
|
||||||
|
|
||||||
|
[](https://gitlab.xiph.org/xiph/vorbis/-/pipelines)
|
||||||
|
[](https://travis-ci.org/xiph/vorbis)
|
||||||
|
[](https://ci.appveyor.com/project/rillian/vorbis)
|
||||||
|
|
||||||
|
Vorbis is a general purpose audio and music encoding format
|
||||||
|
contemporary to MPEG-4's AAC and TwinVQ, the next generation beyond
|
||||||
|
MPEG audio layer 3. Unlike the MPEG sponsored formats (and other
|
||||||
|
proprietary formats such as RealAudio G2 and Windows' flavor of the
|
||||||
|
month), the Vorbis CODEC specification belongs to the public domain.
|
||||||
|
All the technical details are published and documented, and any
|
||||||
|
software entity may make full use of the format without license
|
||||||
|
fee, royalty or patent concerns.
|
||||||
|
|
||||||
|
This package contains:
|
||||||
|
|
||||||
|
- libvorbis, a BSD-style license software implementation of
|
||||||
|
the Vorbis specification by the Xiph.Org Foundation
|
||||||
|
(https://xiph.org/)
|
||||||
|
|
||||||
|
- libvorbisfile, a BSD-style license convenience library
|
||||||
|
built on Vorbis designed to simplify common uses
|
||||||
|
|
||||||
|
- libvorbisenc, a BSD-style license library that provides a simple,
|
||||||
|
programmatic encoding setup interface
|
||||||
|
|
||||||
|
- example code making use of libogg, libvorbis, libvorbisfile and
|
||||||
|
libvorbisenc
|
||||||
|
|
||||||
|
## What's here ##
|
||||||
|
|
||||||
|
This source distribution includes libvorbis and an example
|
||||||
|
encoder/player to demonstrate use of libvorbis as well as
|
||||||
|
documentation on the Ogg Vorbis audio coding format.
|
||||||
|
|
||||||
|
You'll need libogg (distributed separately) to compile this library.
|
||||||
|
A more comprehensive set of utilities is available in the vorbis-tools
|
||||||
|
package.
|
||||||
|
|
||||||
|
Directory:
|
||||||
|
|
||||||
|
- `lib` The source for the libraries, a BSD-license implementation of the public domain Ogg Vorbis audio encoding format.
|
||||||
|
|
||||||
|
- `include` Library API headers
|
||||||
|
|
||||||
|
- `debian` Rules/spec files for building Debian .deb packages
|
||||||
|
|
||||||
|
- `doc` Vorbis documentation
|
||||||
|
|
||||||
|
- `examples` Example code illustrating programmatic use of libvorbis, libvorbisfile and libvorbisenc
|
||||||
|
|
||||||
|
- `macosx` Project files for MacOS X.
|
||||||
|
|
||||||
|
- `win32` Win32 projects files and build automation
|
||||||
|
|
||||||
|
- `vq` Internal utilities for training/building new LSP/residue and auxiliary codebooks.
|
||||||
|
|
||||||
|
## Contact ##
|
||||||
|
|
||||||
|
The Ogg homepage is located at 'https://xiph.org/ogg/'.
|
||||||
|
Vorbis's homepage is located at 'https://xiph.org/vorbis/'.
|
||||||
|
Up to date technical documents, contact information, source code and
|
||||||
|
pre-built utilities may be found there.
|
||||||
|
|
||||||
|
## Building ##
|
||||||
|
|
||||||
|
#### Building from master ####
|
||||||
|
|
||||||
|
Development source is under git revision control at
|
||||||
|
https://gitlab.xiph.org/xiph/vorbis.git. You will also need the
|
||||||
|
newest versions of autoconf, automake, libtool and pkg-config in
|
||||||
|
order to compile Vorbis from development source. A configure script
|
||||||
|
is provided for you in the source tarball distributions.
|
||||||
|
|
||||||
|
./autogen.sh
|
||||||
|
./configure
|
||||||
|
make
|
||||||
|
|
||||||
|
and as root if desired:
|
||||||
|
|
||||||
|
make install
|
||||||
|
|
||||||
|
This will install the Vorbis libraries (static and shared) into
|
||||||
|
/usr/local/lib, includes into /usr/local/include and API manpages
|
||||||
|
(once we write some) into /usr/local/man.
|
||||||
|
|
||||||
|
Documentation building requires xsltproc and pdfxmltex.
|
||||||
|
|
||||||
|
#### Building from tarball distributions ####
|
||||||
|
|
||||||
|
./configure
|
||||||
|
make
|
||||||
|
|
||||||
|
and optionally (as root):
|
||||||
|
|
||||||
|
make install
|
||||||
|
|
||||||
|
#### Building RPM packages ####
|
||||||
|
|
||||||
|
after normal configuring:
|
||||||
|
|
||||||
|
make dist
|
||||||
|
rpm -ta libvorbis-<version>.tar.gz
|
||||||
|
|
||||||
|
## Building with CMake ##
|
||||||
|
|
||||||
|
Ogg supports building using [CMake](https://cmake.org/). CMake is a meta build system that generates native projects for each platform.
|
||||||
|
To generate projects just run cmake replacing `YOUR-PROJECT-GENERATOR` with a proper generator from a list [here](https://cmake.org/cmake/help/latest/manual/cmake-generators.7.html):
|
||||||
|
|
||||||
|
cmake -G YOUR-PROJECT-GENERATOR .
|
||||||
|
|
||||||
|
Note that by default cmake generates projects that will build static libraries.
|
||||||
|
To generate projects that will build dynamic library use `BUILD_SHARED_LIBS` option like this:
|
||||||
|
|
||||||
|
cmake -G YOUR-PROJECT-GENERATOR -DBUILD_SHARED_LIBS=1 .
|
||||||
|
|
||||||
|
After projects are generated use them as usual
|
||||||
|
|
||||||
|
#### Building on Windows ####
|
||||||
|
|
||||||
|
Use proper generator for your Visual Studio version like:
|
||||||
|
|
||||||
|
cmake -G "Visual Studio 12 2013" .
|
||||||
|
|
||||||
|
#### Building on Mac OS X ####
|
||||||
|
|
||||||
|
Use Xcode generator. To build framework run:
|
||||||
|
|
||||||
|
cmake -G Xcode -DBUILD_FRAMEWORK=1 .
|
||||||
|
|
||||||
|
#### Building on Linux ####
|
||||||
|
|
||||||
|
Use Makefile generator which is default one.
|
||||||
|
|
||||||
|
cmake .
|
||||||
|
make
|
||||||
|
|
||||||
|
## License ##
|
||||||
|
|
||||||
|
THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE.
|
||||||
|
USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS
|
||||||
|
GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE
|
||||||
|
IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING.
|
||||||
|
|
||||||
|
THE OggVorbis SOURCE CODE IS COPYRIGHT (C) 1994-2020
|
||||||
|
by the Xiph.Org Foundation https://xiph.org/
|
||||||
|
|
@ -1,10 +1,10 @@
|
||||||
The source from this directory was copied from the libvorbis
|
The source from this directory was copied from the vorbis
|
||||||
subversion repository using the update.sh script. The only changes
|
subversion repository using the update.sh script. The only changes
|
||||||
made were those applied by update.sh and the addition/update of
|
made were those applied by update.sh and the addition/update of
|
||||||
Makefile.in and moz.build files for the Mozilla build system.
|
Makefile.in and moz.build files for the Mozilla build system.
|
||||||
|
|
||||||
The upstream version used was libvorbis 1.3.5.
|
The upstream version used was vorbis v1.3.7 (84c02369)
|
||||||
https://svn.xiph.org/tags/vorbis/libvorbis-1.3.5@19464
|
from https://gitlab.xiph.org/xiph/vorbis
|
||||||
|
|
||||||
Some files are renamed during the copy to prevent clashes with object
|
Some files are renamed during the copy to prevent clashes with object
|
||||||
file names with other Mozilla libraries.
|
file names with other Mozilla libraries.
|
||||||
|
|
|
||||||
|
|
@ -6,12 +6,11 @@
|
||||||
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
||||||
* *
|
* *
|
||||||
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2001 *
|
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2001 *
|
||||||
* by the Xiph.Org Foundation http://www.xiph.org/ *
|
* by the Xiph.Org Foundation https://xiph.org/ *
|
||||||
|
|
||||||
********************************************************************
|
********************************************************************
|
||||||
|
|
||||||
function: libvorbis codec headers
|
function: libvorbis codec headers
|
||||||
last mod: $Id: codec.h 17021 2010-03-24 09:29:41Z xiphmont $
|
|
||||||
|
|
||||||
********************************************************************/
|
********************************************************************/
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,12 +6,11 @@
|
||||||
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
||||||
* *
|
* *
|
||||||
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2001 *
|
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2001 *
|
||||||
* by the Xiph.Org Foundation http://www.xiph.org/ *
|
* by the Xiph.Org Foundation https://xiph.org/ *
|
||||||
* *
|
* *
|
||||||
********************************************************************
|
********************************************************************
|
||||||
|
|
||||||
function: vorbis encode-engine setup
|
function: vorbis encode-engine setup
|
||||||
last mod: $Id: vorbisenc.h 17021 2010-03-24 09:29:41Z xiphmont $
|
|
||||||
|
|
||||||
********************************************************************/
|
********************************************************************/
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,13 +6,12 @@
|
||||||
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
||||||
* *
|
* *
|
||||||
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
|
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
|
||||||
* by the Xiph.Org Foundation http://www.xiph.org/ *
|
* by the Xiph.Org Foundation https://xiph.org/ *
|
||||||
* *
|
* *
|
||||||
********************************************************************
|
********************************************************************
|
||||||
|
|
||||||
function: libvorbis backend and mapping structures; needed for
|
function: libvorbis backend and mapping structures; needed for
|
||||||
static mode headers
|
static mode headers
|
||||||
last mod: $Id: backends.h 16962 2010-03-11 07:30:34Z xiphmont $
|
|
||||||
|
|
||||||
********************************************************************/
|
********************************************************************/
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,12 +6,11 @@
|
||||||
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
||||||
* *
|
* *
|
||||||
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2007 *
|
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2007 *
|
||||||
* by the Xiph.Org Foundation http://www.xiph.org/ *
|
* by the Xiph.Org Foundation https://xiph.org/ *
|
||||||
* *
|
* *
|
||||||
********************************************************************
|
********************************************************************
|
||||||
|
|
||||||
function: bitrate tracking and management
|
function: bitrate tracking and management
|
||||||
last mod: $Id: bitrate.h 13293 2007-07-24 00:09:47Z xiphmont $
|
|
||||||
|
|
||||||
********************************************************************/
|
********************************************************************/
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,12 +6,11 @@
|
||||||
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
||||||
* *
|
* *
|
||||||
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2010 *
|
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2010 *
|
||||||
* by the Xiph.Org Foundation http://www.xiph.org/ *
|
* by the Xiph.Org Foundation https://xiph.org/ *
|
||||||
* *
|
* *
|
||||||
********************************************************************
|
********************************************************************
|
||||||
*
|
*
|
||||||
* function: static codebooks for 5.1 surround
|
* function: static codebooks for 5.1 surround
|
||||||
* last modified: $Id: res_books_51.h 19057 2014-01-22 12:32:31Z xiphmont $
|
|
||||||
*
|
*
|
||||||
********************************************************************/
|
********************************************************************/
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,12 +6,11 @@
|
||||||
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
||||||
* *
|
* *
|
||||||
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2007 *
|
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2007 *
|
||||||
* by the Xiph.Org Foundation http://www.xiph.org/ *
|
* by the Xiph.Org Foundation https://xiph.org/ *
|
||||||
* *
|
* *
|
||||||
********************************************************************
|
********************************************************************
|
||||||
|
|
||||||
function: static codebooks autogenerated by huff/huffbuld
|
function: static codebooks autogenerated by huff/huffbuld
|
||||||
last modified: $Id: res_books_stereo.h 19057 2014-01-22 12:32:31Z xiphmont $
|
|
||||||
|
|
||||||
********************************************************************/
|
********************************************************************/
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,12 +6,11 @@
|
||||||
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
||||||
* *
|
* *
|
||||||
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2007 *
|
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2007 *
|
||||||
* by the Xiph.Org Foundation http://www.xiph.org/ *
|
* by the Xiph.Org Foundation https://xiph.org/ *
|
||||||
* *
|
* *
|
||||||
********************************************************************
|
********************************************************************
|
||||||
|
|
||||||
function: static codebooks autogenerated by huff/huffbuld
|
function: static codebooks autogenerated by huff/huffbuld
|
||||||
last modified: $Id: floor_books.h 19057 2014-01-22 12:32:31Z xiphmont $
|
|
||||||
|
|
||||||
********************************************************************/
|
********************************************************************/
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,12 +6,11 @@
|
||||||
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
||||||
* *
|
* *
|
||||||
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2007 *
|
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2007 *
|
||||||
* by the Xiph.Org Foundation http://www.xiph.org/ *
|
* by the Xiph.Org Foundation https://xiph.org/ *
|
||||||
* *
|
* *
|
||||||
********************************************************************
|
********************************************************************
|
||||||
|
|
||||||
function: static codebooks autogenerated by huff/huffbuld
|
function: static codebooks autogenerated by huff/huffbuld
|
||||||
last modified: $Id: res_books_uncoupled.h 19057 2014-01-22 12:32:31Z xiphmont $
|
|
||||||
|
|
||||||
********************************************************************/
|
********************************************************************/
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,12 +6,11 @@
|
||||||
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
||||||
* *
|
* *
|
||||||
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2015 *
|
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2015 *
|
||||||
* by the Xiph.Org Foundation http://www.xiph.org/ *
|
* by the Xiph.Org Foundation https://xiph.org/ *
|
||||||
* *
|
* *
|
||||||
********************************************************************
|
********************************************************************
|
||||||
|
|
||||||
function: basic shared codebook operations
|
function: basic shared codebook operations
|
||||||
last mod: $Id: codebook.h 19457 2015-03-03 00:15:29Z giles $
|
|
||||||
|
|
||||||
********************************************************************/
|
********************************************************************/
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,12 +6,11 @@
|
||||||
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
||||||
* *
|
* *
|
||||||
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
|
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
|
||||||
* by the Xiph.Org Foundation http://www.xiph.org/ *
|
* by the Xiph.Org Foundation https://xiph.org/ *
|
||||||
* *
|
* *
|
||||||
********************************************************************
|
********************************************************************
|
||||||
|
|
||||||
function: libvorbis codec headers
|
function: libvorbis codec headers
|
||||||
last mod: $Id: codec_internal.h 16227 2009-07-08 06:58:46Z xiphmont $
|
|
||||||
|
|
||||||
********************************************************************/
|
********************************************************************/
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,12 +6,11 @@
|
||||||
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
||||||
* *
|
* *
|
||||||
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
|
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
|
||||||
* by the Xiph.Org Foundation http://www.xiph.org/ *
|
* by the Xiph.Org Foundation https://xiph.org/ *
|
||||||
* *
|
* *
|
||||||
********************************************************************
|
********************************************************************
|
||||||
|
|
||||||
function: PCM data envelope analysis and manipulation
|
function: PCM data envelope analysis and manipulation
|
||||||
last mod: $Id: envelope.h 16227 2009-07-08 06:58:46Z xiphmont $
|
|
||||||
|
|
||||||
********************************************************************/
|
********************************************************************/
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,12 +6,11 @@
|
||||||
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
||||||
* *
|
* *
|
||||||
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
|
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
|
||||||
* by the Xiph.Org Foundation http://www.xiph.org/ *
|
* by the Xiph.Org Foundation https://xiph.org/ *
|
||||||
* *
|
* *
|
||||||
********************************************************************
|
********************************************************************
|
||||||
|
|
||||||
function: highlevel encoder setup struct separated out for vorbisenc clarity
|
function: highlevel encoder setup struct separated out for vorbisenc clarity
|
||||||
last mod: $Id: highlevel.h 17195 2010-05-05 21:49:51Z giles $
|
|
||||||
|
|
||||||
********************************************************************/
|
********************************************************************/
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,12 +6,11 @@
|
||||||
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
||||||
* *
|
* *
|
||||||
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
|
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
|
||||||
* by the Xiph.Org Foundation http://www.xiph.org/ *
|
* by the Xiph.Org Foundation https://xiph.org/ *
|
||||||
* *
|
* *
|
||||||
********************************************************************
|
********************************************************************
|
||||||
|
|
||||||
function: lookup based functions
|
function: lookup based functions
|
||||||
last mod: $Id: lookup.h 16227 2009-07-08 06:58:46Z xiphmont $
|
|
||||||
|
|
||||||
********************************************************************/
|
********************************************************************/
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,12 +6,11 @@
|
||||||
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
||||||
* *
|
* *
|
||||||
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2007 *
|
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2007 *
|
||||||
* by the Xiph.Org Foundation http://www.xiph.org/ *
|
* by the Xiph.Org Foundation https://xiph.org/ *
|
||||||
* *
|
* *
|
||||||
********************************************************************
|
********************************************************************
|
||||||
|
|
||||||
function: lookup data; generated by lookups.pl; edit there
|
function: lookup data; generated by lookups.pl; edit there
|
||||||
last mod: $Id: lookup_data.h 16037 2009-05-26 21:10:58Z xiphmont $
|
|
||||||
|
|
||||||
********************************************************************/
|
********************************************************************/
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,12 +6,11 @@
|
||||||
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
||||||
* *
|
* *
|
||||||
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2007 *
|
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2007 *
|
||||||
* by the Xiph.Org Foundation http://www.xiph.org/ *
|
* by the Xiph.Org Foundation https://xiph.org/ *
|
||||||
* *
|
* *
|
||||||
********************************************************************
|
********************************************************************
|
||||||
|
|
||||||
function: LPC low level routines
|
function: LPC low level routines
|
||||||
last mod: $Id: lpc.h 16037 2009-05-26 21:10:58Z xiphmont $
|
|
||||||
|
|
||||||
********************************************************************/
|
********************************************************************/
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,12 +6,11 @@
|
||||||
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
||||||
* *
|
* *
|
||||||
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
|
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
|
||||||
* by the Xiph.Org Foundation http://www.xiph.org/ *
|
* by the Xiph.Org Foundation https://xiph.org/ *
|
||||||
* *
|
* *
|
||||||
********************************************************************
|
********************************************************************
|
||||||
|
|
||||||
function: LSP (also called LSF) conversion routines
|
function: LSP (also called LSF) conversion routines
|
||||||
last mod: $Id: lsp.h 16227 2009-07-08 06:58:46Z xiphmont $
|
|
||||||
|
|
||||||
********************************************************************/
|
********************************************************************/
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,12 +6,11 @@
|
||||||
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
||||||
* *
|
* *
|
||||||
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
|
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
|
||||||
* by the Xiph.Org Foundation http://www.xiph.org/ *
|
* by the Xiph.Org Foundation https://xiph.org/ *
|
||||||
* *
|
* *
|
||||||
********************************************************************
|
********************************************************************
|
||||||
|
|
||||||
function: masking curve data for psychoacoustics
|
function: masking curve data for psychoacoustics
|
||||||
last mod: $Id: masking.h 16227 2009-07-08 06:58:46Z xiphmont $
|
|
||||||
|
|
||||||
********************************************************************/
|
********************************************************************/
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,12 +6,11 @@
|
||||||
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
||||||
* *
|
* *
|
||||||
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
|
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
|
||||||
* by the Xiph.Org Foundation http://www.xiph.org/ *
|
* by the Xiph.Org Foundation https://xiph.org/ *
|
||||||
* *
|
* *
|
||||||
********************************************************************
|
********************************************************************
|
||||||
|
|
||||||
function: modified discrete cosine transform prototypes
|
function: modified discrete cosine transform prototypes
|
||||||
last mod: $Id: mdct.h 16227 2009-07-08 06:58:46Z xiphmont $
|
|
||||||
|
|
||||||
********************************************************************/
|
********************************************************************/
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,12 +6,11 @@
|
||||||
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
||||||
* *
|
* *
|
||||||
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2015 *
|
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2015 *
|
||||||
* by the Xiph.Org Foundation http://www.xiph.org/ *
|
* by the Xiph.Org Foundation https://xiph.org/ *
|
||||||
* *
|
* *
|
||||||
********************************************************************
|
********************************************************************
|
||||||
|
|
||||||
function: miscellaneous prototypes
|
function: miscellaneous prototypes
|
||||||
last mod: $Id: misc.h 19457 2015-03-03 00:15:29Z giles $
|
|
||||||
|
|
||||||
********************************************************************/
|
********************************************************************/
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,12 +6,11 @@
|
||||||
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
||||||
* *
|
* *
|
||||||
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
|
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
|
||||||
* by the Xiph.Org Foundation http://www.xiph.org/ *
|
* by the Xiph.Org Foundation https://xiph.org/ *
|
||||||
* *
|
* *
|
||||||
********************************************************************
|
********************************************************************
|
||||||
|
|
||||||
function: key floor settings
|
function: key floor settings
|
||||||
last mod: $Id: floor_all.h 17050 2010-03-26 01:34:42Z xiphmont $
|
|
||||||
|
|
||||||
********************************************************************/
|
********************************************************************/
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,12 +6,11 @@
|
||||||
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
||||||
* *
|
* *
|
||||||
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
|
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
|
||||||
* by the Xiph.Org Foundation http://www.xiph.org/ *
|
* by the Xiph.Org Foundation https://xiph.org/ *
|
||||||
* *
|
* *
|
||||||
********************************************************************
|
********************************************************************
|
||||||
|
|
||||||
function: 11kHz settings
|
function: 11kHz settings
|
||||||
last mod: $Id: psych_11.h 16227 2009-07-08 06:58:46Z xiphmont $
|
|
||||||
|
|
||||||
********************************************************************/
|
********************************************************************/
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,12 +6,11 @@
|
||||||
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
||||||
* *
|
* *
|
||||||
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
|
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
|
||||||
* by the Xiph.Org Foundation http://www.xiph.org/ *
|
* by the Xiph.Org Foundation https://xiph.org/ *
|
||||||
* *
|
* *
|
||||||
********************************************************************
|
********************************************************************
|
||||||
|
|
||||||
function: 16kHz settings
|
function: 16kHz settings
|
||||||
last mod: $Id: psych_16.h 16227 2009-07-08 06:58:46Z xiphmont $
|
|
||||||
|
|
||||||
********************************************************************/
|
********************************************************************/
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,12 +6,11 @@
|
||||||
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
||||||
* *
|
* *
|
||||||
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
|
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
|
||||||
* by the Xiph.Org Foundation http://www.xiph.org/ *
|
* by the Xiph.Org Foundation https://xiph.org/ *
|
||||||
* *
|
* *
|
||||||
********************************************************************
|
********************************************************************
|
||||||
|
|
||||||
function: key psychoacoustic settings for 44.1/48kHz
|
function: key psychoacoustic settings for 44.1/48kHz
|
||||||
last mod: $Id: psych_44.h 16962 2010-03-11 07:30:34Z xiphmont $
|
|
||||||
|
|
||||||
********************************************************************/
|
********************************************************************/
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,12 +6,11 @@
|
||||||
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
||||||
* *
|
* *
|
||||||
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
|
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
|
||||||
* by the Xiph.Org Foundation http://www.xiph.org/ *
|
* by the Xiph.Org Foundation https://xiph.org/ *
|
||||||
* *
|
* *
|
||||||
********************************************************************
|
********************************************************************
|
||||||
|
|
||||||
function: 8kHz psychoacoustic settings
|
function: 8kHz psychoacoustic settings
|
||||||
last mod: $Id: psych_8.h 16227 2009-07-08 06:58:46Z xiphmont $
|
|
||||||
|
|
||||||
********************************************************************/
|
********************************************************************/
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,12 +6,11 @@
|
||||||
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
||||||
* *
|
* *
|
||||||
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
|
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
|
||||||
* by the Xiph.Org Foundation http://www.xiph.org/ *
|
* by the Xiph.Org Foundation https://xiph.org/ *
|
||||||
* *
|
* *
|
||||||
********************************************************************
|
********************************************************************
|
||||||
|
|
||||||
function: toplevel residue templates 16/22kHz
|
function: toplevel residue templates 16/22kHz
|
||||||
last mod: $Id: residue_16.h 16962 2010-03-11 07:30:34Z xiphmont $
|
|
||||||
|
|
||||||
********************************************************************/
|
********************************************************************/
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,12 +6,11 @@
|
||||||
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
||||||
* *
|
* *
|
||||||
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
|
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
|
||||||
* by the Xiph.Org Foundation http://www.xiph.org/ *
|
* by the Xiph.Org Foundation https://xiph.org/ *
|
||||||
* *
|
* *
|
||||||
********************************************************************
|
********************************************************************
|
||||||
|
|
||||||
function: toplevel residue templates for 32/44.1/48kHz
|
function: toplevel residue templates for 32/44.1/48kHz
|
||||||
last mod: $Id: residue_44.h 16962 2010-03-11 07:30:34Z xiphmont $
|
|
||||||
|
|
||||||
********************************************************************/
|
********************************************************************/
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,12 +6,11 @@
|
||||||
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
||||||
* *
|
* *
|
||||||
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2010 *
|
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2010 *
|
||||||
* by the Xiph.Org Foundation http://www.xiph.org/ *
|
* by the Xiph.Org Foundation https://xiph.org/ *
|
||||||
* *
|
* *
|
||||||
********************************************************************
|
********************************************************************
|
||||||
|
|
||||||
function: toplevel residue templates for 32/44.1/48kHz uncoupled
|
function: toplevel residue templates for 32/44.1/48kHz uncoupled
|
||||||
last mod: $Id: residue_44p51.h 19013 2013-11-12 04:04:50Z giles $
|
|
||||||
|
|
||||||
********************************************************************/
|
********************************************************************/
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,12 +6,11 @@
|
||||||
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
||||||
* *
|
* *
|
||||||
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2007 *
|
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2007 *
|
||||||
* by the Xiph.Org Foundation http://www.xiph.org/ *
|
* by the Xiph.Org Foundation https://xiph.org/ *
|
||||||
* *
|
* *
|
||||||
********************************************************************
|
********************************************************************
|
||||||
|
|
||||||
function: toplevel residue templates for 32/44.1/48kHz uncoupled
|
function: toplevel residue templates for 32/44.1/48kHz uncoupled
|
||||||
last mod: $Id: residue_44u.h 16962 2010-03-11 07:30:34Z xiphmont $
|
|
||||||
|
|
||||||
********************************************************************/
|
********************************************************************/
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,12 +6,11 @@
|
||||||
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
||||||
* *
|
* *
|
||||||
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2007 *
|
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2007 *
|
||||||
* by the Xiph.Org Foundation http://www.xiph.org/ *
|
* by the Xiph.Org Foundation https://xiph.org/ *
|
||||||
* *
|
* *
|
||||||
********************************************************************
|
********************************************************************
|
||||||
|
|
||||||
function: toplevel residue templates 8/11kHz
|
function: toplevel residue templates 8/11kHz
|
||||||
last mod: $Id: residue_8.h 16962 2010-03-11 07:30:34Z xiphmont $
|
|
||||||
|
|
||||||
********************************************************************/
|
********************************************************************/
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,12 +6,11 @@
|
||||||
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
||||||
* *
|
* *
|
||||||
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
|
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
|
||||||
* by the Xiph.Org Foundation http://www.xiph.org/ *
|
* by the Xiph.Org Foundation https://xiph.org/ *
|
||||||
* *
|
* *
|
||||||
********************************************************************
|
********************************************************************
|
||||||
|
|
||||||
function: 11kHz settings
|
function: 11kHz settings
|
||||||
last mod: $Id: setup_11.h 16894 2010-02-12 20:32:12Z xiphmont $
|
|
||||||
|
|
||||||
********************************************************************/
|
********************************************************************/
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,12 +6,11 @@
|
||||||
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
||||||
* *
|
* *
|
||||||
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
|
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
|
||||||
* by the Xiph.Org Foundation http://www.xiph.org/ *
|
* by the Xiph.Org Foundation https://xiph.org/ *
|
||||||
* *
|
* *
|
||||||
********************************************************************
|
********************************************************************
|
||||||
|
|
||||||
function: 16kHz settings
|
function: 16kHz settings
|
||||||
last mod: $Id: setup_16.h 16894 2010-02-12 20:32:12Z xiphmont $
|
|
||||||
|
|
||||||
********************************************************************/
|
********************************************************************/
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,12 +6,11 @@
|
||||||
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
||||||
* *
|
* *
|
||||||
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
|
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
|
||||||
* by the Xiph.Org Foundation http://www.xiph.org/ *
|
* by the Xiph.Org Foundation https://xiph.org/ *
|
||||||
* *
|
* *
|
||||||
********************************************************************
|
********************************************************************
|
||||||
|
|
||||||
function: 22kHz settings
|
function: 22kHz settings
|
||||||
last mod: $Id: setup_22.h 17026 2010-03-25 05:00:27Z xiphmont $
|
|
||||||
|
|
||||||
********************************************************************/
|
********************************************************************/
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,12 +6,11 @@
|
||||||
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
||||||
* *
|
* *
|
||||||
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
|
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
|
||||||
* by the Xiph.Org Foundation http://www.xiph.org/ *
|
* by the Xiph.Org Foundation https://xiph.org/ *
|
||||||
* *
|
* *
|
||||||
********************************************************************
|
********************************************************************
|
||||||
|
|
||||||
function: toplevel settings for 32kHz
|
function: toplevel settings for 32kHz
|
||||||
last mod: $Id: setup_32.h 16894 2010-02-12 20:32:12Z xiphmont $
|
|
||||||
|
|
||||||
********************************************************************/
|
********************************************************************/
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,12 +6,11 @@
|
||||||
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
||||||
* *
|
* *
|
||||||
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
|
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
|
||||||
* by the Xiph.Org Foundation http://www.xiph.org/ *
|
* by the Xiph.Org Foundation https://xiph.org/ *
|
||||||
* *
|
* *
|
||||||
********************************************************************
|
********************************************************************
|
||||||
|
|
||||||
function: toplevel settings for 44.1/48kHz
|
function: toplevel settings for 44.1/48kHz
|
||||||
last mod: $Id: setup_44.h 16962 2010-03-11 07:30:34Z xiphmont $
|
|
||||||
|
|
||||||
********************************************************************/
|
********************************************************************/
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,12 +6,11 @@
|
||||||
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
||||||
* *
|
* *
|
||||||
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2010 *
|
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2010 *
|
||||||
* by the Xiph.Org Foundation http://www.xiph.org/ *
|
* by the Xiph.Org Foundation https://xiph.org/ *
|
||||||
* *
|
* *
|
||||||
********************************************************************
|
********************************************************************
|
||||||
|
|
||||||
function: toplevel settings for 44.1/48kHz 5.1 surround modes
|
function: toplevel settings for 44.1/48kHz 5.1 surround modes
|
||||||
last mod: $Id: setup_44p51.h 19013 2013-11-12 04:04:50Z giles $
|
|
||||||
|
|
||||||
********************************************************************/
|
********************************************************************/
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,12 +6,11 @@
|
||||||
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
||||||
* *
|
* *
|
||||||
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
|
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
|
||||||
* by the Xiph.Org Foundation http://www.xiph.org/ *
|
* by the Xiph.Org Foundation https://xiph.org/ *
|
||||||
* *
|
* *
|
||||||
********************************************************************
|
********************************************************************
|
||||||
|
|
||||||
function: toplevel settings for 44.1/48kHz uncoupled modes
|
function: toplevel settings for 44.1/48kHz uncoupled modes
|
||||||
last mod: $Id: setup_44u.h 16962 2010-03-11 07:30:34Z xiphmont $
|
|
||||||
|
|
||||||
********************************************************************/
|
********************************************************************/
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,12 +6,11 @@
|
||||||
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
||||||
* *
|
* *
|
||||||
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
|
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
|
||||||
* by the Xiph.Org Foundation http://www.xiph.org/ *
|
* by the Xiph.Org Foundation https://xiph.org/ *
|
||||||
* *
|
* *
|
||||||
********************************************************************
|
********************************************************************
|
||||||
|
|
||||||
function: 8kHz settings
|
function: 8kHz settings
|
||||||
last mod: $Id: setup_8.h 16894 2010-02-12 20:32:12Z xiphmont $
|
|
||||||
|
|
||||||
********************************************************************/
|
********************************************************************/
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,12 +6,11 @@
|
||||||
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
||||||
* *
|
* *
|
||||||
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
|
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
|
||||||
* by the Xiph.Org Foundation http://www.xiph.org/ *
|
* by the Xiph.Org Foundation https://xiph.org/ *
|
||||||
* *
|
* *
|
||||||
********************************************************************
|
********************************************************************
|
||||||
|
|
||||||
function: catch-all toplevel settings for q modes only
|
function: catch-all toplevel settings for q modes only
|
||||||
last mod: $Id: setup_X.h 16894 2010-02-12 20:32:12Z xiphmont $
|
|
||||||
|
|
||||||
********************************************************************/
|
********************************************************************/
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -8,12 +8,11 @@
|
||||||
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
||||||
* *
|
* *
|
||||||
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2015 *
|
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2015 *
|
||||||
* by the Xiph.Org Foundation http://www.xiph.org/ *
|
* by the Xiph.Org Foundation https://xiph.org/ *
|
||||||
* *
|
* *
|
||||||
********************************************************************
|
********************************************************************
|
||||||
|
|
||||||
function: #ifdef jail to whip a few platforms into the UNIX ideal.
|
function: #ifdef jail to whip a few platforms into the UNIX ideal.
|
||||||
last mod: $Id: os.h 19457 2015-03-03 00:15:29Z giles $
|
|
||||||
|
|
||||||
********************************************************************/
|
********************************************************************/
|
||||||
|
|
||||||
|
|
@ -31,7 +30,7 @@
|
||||||
|
|
||||||
# ifdef __GNUC__
|
# ifdef __GNUC__
|
||||||
# define STIN static __inline__
|
# define STIN static __inline__
|
||||||
# elif _WIN32
|
# elif defined(_WIN32)
|
||||||
# define STIN static __inline
|
# define STIN static __inline
|
||||||
# else
|
# else
|
||||||
# define STIN static
|
# define STIN static
|
||||||
|
|
@ -61,7 +60,7 @@ void *_alloca(size_t size);
|
||||||
# define FAST_HYPOT hypot
|
# define FAST_HYPOT hypot
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif /* _V_IFDEFJAIL_H_ */
|
||||||
|
|
||||||
#ifdef HAVE_ALLOCA_H
|
#ifdef HAVE_ALLOCA_H
|
||||||
# include <alloca.h>
|
# include <alloca.h>
|
||||||
|
|
@ -81,7 +80,7 @@ void *_alloca(size_t size);
|
||||||
|
|
||||||
|
|
||||||
/* Special i386 GCC implementation */
|
/* Special i386 GCC implementation */
|
||||||
#if defined(__i386__) && defined(__GNUC__) && !defined(__BEOS__)
|
#if defined(__i386__) && defined(__GNUC__) && !defined(__BEOS__) && !defined(__SSE2_MATH__)
|
||||||
# define VORBIS_FPU_CONTROL
|
# define VORBIS_FPU_CONTROL
|
||||||
/* both GCC and MSVC are kinda stupid about rounding/casting to int.
|
/* both GCC and MSVC are kinda stupid about rounding/casting to int.
|
||||||
Because of encapsulation constraints (GCC can't see inside the asm
|
Because of encapsulation constraints (GCC can't see inside the asm
|
||||||
|
|
@ -120,8 +119,7 @@ static inline int vorbis_ftoi(double f){ /* yes, double! Otherwise,
|
||||||
|
|
||||||
/* MSVC inline assembly. 32 bit only; inline ASM isn't implemented in the
|
/* MSVC inline assembly. 32 bit only; inline ASM isn't implemented in the
|
||||||
* 64 bit compiler and doesn't work on arm. */
|
* 64 bit compiler and doesn't work on arm. */
|
||||||
#if defined(_MSC_VER) && !defined(_WIN64) && \
|
#if defined(_MSC_VER) && defined(_M_IX86) && !defined(_WIN32_WCE)
|
||||||
!defined(_WIN32_WCE) && !defined(_M_ARM)
|
|
||||||
# define VORBIS_FPU_CONTROL
|
# define VORBIS_FPU_CONTROL
|
||||||
|
|
||||||
typedef ogg_int16_t vorbis_fpu_control;
|
typedef ogg_int16_t vorbis_fpu_control;
|
||||||
|
|
@ -148,7 +146,7 @@ static __inline void vorbis_fpu_restore(vorbis_fpu_control fpu){
|
||||||
|
|
||||||
/* Optimized code path for x86_64 builds. Uses SSE2 intrinsics. This can be
|
/* Optimized code path for x86_64 builds. Uses SSE2 intrinsics. This can be
|
||||||
done safely because all x86_64 CPUs supports SSE2. */
|
done safely because all x86_64 CPUs supports SSE2. */
|
||||||
#if (defined(_MSC_VER) && defined(_WIN64)) || (defined(__GNUC__) && defined (__x86_64__))
|
#if (defined(_MSC_VER) && defined(_M_X64)) || (defined(__GNUC__) && defined (__SSE2_MATH__))
|
||||||
# define VORBIS_FPU_CONTROL
|
# define VORBIS_FPU_CONTROL
|
||||||
|
|
||||||
typedef ogg_int16_t vorbis_fpu_control;
|
typedef ogg_int16_t vorbis_fpu_control;
|
||||||
|
|
@ -175,7 +173,7 @@ static __inline void vorbis_fpu_restore(vorbis_fpu_control fpu){
|
||||||
|
|
||||||
typedef int vorbis_fpu_control;
|
typedef int vorbis_fpu_control;
|
||||||
|
|
||||||
static int vorbis_ftoi(double f){
|
STIN int vorbis_ftoi(double f){
|
||||||
/* Note: MSVC and GCC (at least on some systems) round towards zero, thus,
|
/* Note: MSVC and GCC (at least on some systems) round towards zero, thus,
|
||||||
the floor() call is required to ensure correct roudning of
|
the floor() call is required to ensure correct roudning of
|
||||||
negative numbers */
|
negative numbers */
|
||||||
|
|
|
||||||
|
|
@ -6,12 +6,11 @@
|
||||||
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
||||||
* *
|
* *
|
||||||
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
|
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
|
||||||
* by the Xiph.Org Foundation http://www.xiph.org/ *
|
* by the Xiph.Org Foundation https://xiph.org/ *
|
||||||
* *
|
* *
|
||||||
********************************************************************
|
********************************************************************
|
||||||
|
|
||||||
function: random psychoacoustics (not including preecho)
|
function: random psychoacoustics (not including preecho)
|
||||||
last mod: $Id: psy.h 16946 2010-03-03 16:12:40Z xiphmont $
|
|
||||||
|
|
||||||
********************************************************************/
|
********************************************************************/
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,12 +6,11 @@
|
||||||
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
||||||
* *
|
* *
|
||||||
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2007 *
|
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2007 *
|
||||||
* by the Xiph.Org Foundation http://www.xiph.org/ *
|
* by the Xiph.Org Foundation https://xiph.org/ *
|
||||||
* *
|
* *
|
||||||
********************************************************************
|
********************************************************************
|
||||||
|
|
||||||
function: registry for time, floor, res backends and channel mappings
|
function: registry for time, floor, res backends and channel mappings
|
||||||
last mod: $Id: registry.h 15531 2008-11-24 23:50:06Z xiphmont $
|
|
||||||
|
|
||||||
********************************************************************/
|
********************************************************************/
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,12 +6,11 @@
|
||||||
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
||||||
* *
|
* *
|
||||||
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
|
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
|
||||||
* by the Xiph.Org Foundation http://www.xiph.org/ *
|
* by the Xiph.Org Foundation https://xiph.org/ *
|
||||||
* *
|
* *
|
||||||
********************************************************************
|
********************************************************************
|
||||||
|
|
||||||
function: linear scale -> dB, Bark and Mel scales
|
function: linear scale -> dB, Bark and Mel scales
|
||||||
last mod: $Id: scales.h 16227 2009-07-08 06:58:46Z xiphmont $
|
|
||||||
|
|
||||||
********************************************************************/
|
********************************************************************/
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,12 +6,11 @@
|
||||||
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
||||||
* *
|
* *
|
||||||
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2007 *
|
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2007 *
|
||||||
* by the Xiph.Org Foundation http://www.xiph.org/ *
|
* by the Xiph.Org Foundation https://xiph.org/ *
|
||||||
* *
|
* *
|
||||||
********************************************************************
|
********************************************************************
|
||||||
|
|
||||||
function: fft transform
|
function: fft transform
|
||||||
last mod: $Id: smallft.h 13293 2007-07-24 00:09:47Z xiphmont $
|
|
||||||
|
|
||||||
********************************************************************/
|
********************************************************************/
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,12 +6,11 @@
|
||||||
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
||||||
* *
|
* *
|
||||||
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2007 *
|
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2007 *
|
||||||
* by the Xiph.Org Foundation http://www.xiph.org/ *
|
* by the Xiph.Org Foundation https://xiph.org/ *
|
||||||
* *
|
* *
|
||||||
********************************************************************
|
********************************************************************
|
||||||
|
|
||||||
function: single-block PCM analysis mode dispatch
|
function: single-block PCM analysis mode dispatch
|
||||||
last mod: $Id: analysis.c 16226 2009-07-08 06:43:49Z xiphmont $
|
|
||||||
|
|
||||||
********************************************************************/
|
********************************************************************/
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,12 +6,11 @@
|
||||||
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
||||||
* *
|
* *
|
||||||
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
|
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
|
||||||
* by the Xiph.Org Foundation http://www.xiph.org/ *
|
* by the Xiph.Org Foundation https://xiph.org/ *
|
||||||
* *
|
* *
|
||||||
********************************************************************
|
********************************************************************
|
||||||
|
|
||||||
function: bitrate tracking and management
|
function: bitrate tracking and management
|
||||||
last mod: $Id: bitrate.c 16227 2009-07-08 06:58:46Z xiphmont $
|
|
||||||
|
|
||||||
********************************************************************/
|
********************************************************************/
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,12 +6,11 @@
|
||||||
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
||||||
* *
|
* *
|
||||||
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2015 *
|
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2015 *
|
||||||
* by the Xiph.Org Foundation http://www.xiph.org/ *
|
* by the Xiph.Org Foundation https://xiph.org/ *
|
||||||
* *
|
* *
|
||||||
********************************************************************
|
********************************************************************
|
||||||
|
|
||||||
function: PCM data vector blocking, windowing and dis/reassembly
|
function: PCM data vector blocking, windowing and dis/reassembly
|
||||||
last mod: $Id: block.c 19457 2015-03-03 00:15:29Z giles $
|
|
||||||
|
|
||||||
Handle windowing, overlap-add, etc of the PCM vectors. This is made
|
Handle windowing, overlap-add, etc of the PCM vectors. This is made
|
||||||
more amusing by Vorbis' current two allowed block sizes.
|
more amusing by Vorbis' current two allowed block sizes.
|
||||||
|
|
|
||||||
|
|
@ -6,12 +6,11 @@
|
||||||
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
||||||
* *
|
* *
|
||||||
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2015 *
|
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2015 *
|
||||||
* by the Xiph.Org Foundation http://www.xiph.org/ *
|
* by the Xiph.Org Foundation https://xiph.org/ *
|
||||||
* *
|
* *
|
||||||
********************************************************************
|
********************************************************************
|
||||||
|
|
||||||
function: basic codebook pack/unpack/code/decode operations
|
function: basic codebook pack/unpack/code/decode operations
|
||||||
last mod: $Id: codebook.c 19457 2015-03-03 00:15:29Z giles $
|
|
||||||
|
|
||||||
********************************************************************/
|
********************************************************************/
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,12 +6,11 @@
|
||||||
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
||||||
* *
|
* *
|
||||||
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
|
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
|
||||||
* by the Xiph.Org Foundation http://www.xiph.org/ *
|
* by the Xiph.Org Foundation https://xiph.org/ *
|
||||||
* *
|
* *
|
||||||
********************************************************************
|
********************************************************************
|
||||||
|
|
||||||
function: PCM data envelope analysis
|
function: PCM data envelope analysis
|
||||||
last mod: $Id: envelope.c 16227 2009-07-08 06:58:46Z xiphmont $
|
|
||||||
|
|
||||||
********************************************************************/
|
********************************************************************/
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,12 +6,11 @@
|
||||||
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
||||||
* *
|
* *
|
||||||
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2015 *
|
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2015 *
|
||||||
* by the Xiph.Org Foundation http://www.xiph.org/ *
|
* by the Xiph.Org Foundation https://xiph.org/ *
|
||||||
* *
|
* *
|
||||||
********************************************************************
|
********************************************************************
|
||||||
|
|
||||||
function: floor backend 0 implementation
|
function: floor backend 0 implementation
|
||||||
last mod: $Id: floor0.c 19457 2015-03-03 00:15:29Z giles $
|
|
||||||
|
|
||||||
********************************************************************/
|
********************************************************************/
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,12 +6,11 @@
|
||||||
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
||||||
* *
|
* *
|
||||||
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2015 *
|
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2015 *
|
||||||
* by the Xiph.Org Foundation http://www.xiph.org/ *
|
* by the Xiph.Org Foundation https://xiph.org/ *
|
||||||
* *
|
* *
|
||||||
********************************************************************
|
********************************************************************
|
||||||
|
|
||||||
function: floor backend 1 implementation
|
function: floor backend 1 implementation
|
||||||
last mod: $Id: floor1.c 19457 2015-03-03 00:15:29Z giles $
|
|
||||||
|
|
||||||
********************************************************************/
|
********************************************************************/
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,12 +6,11 @@
|
||||||
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
||||||
* *
|
* *
|
||||||
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2015 *
|
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2015 *
|
||||||
* by the Xiph.Org Foundation http://www.xiph.org/ *
|
* by the Xiph.Org Foundation https://xiph.org/ *
|
||||||
* *
|
* *
|
||||||
********************************************************************
|
********************************************************************
|
||||||
|
|
||||||
function: maintain the info structure, info <-> header packets
|
function: maintain the info structure, info <-> header packets
|
||||||
last mod: $Id: info.c 19441 2015-01-21 01:17:41Z xiphmont $
|
|
||||||
|
|
||||||
********************************************************************/
|
********************************************************************/
|
||||||
|
|
||||||
|
|
@ -20,7 +19,6 @@
|
||||||
|
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <ctype.h>
|
|
||||||
#include <ogg/ogg.h>
|
#include <ogg/ogg.h>
|
||||||
#include "vorbis/codec.h"
|
#include "vorbis/codec.h"
|
||||||
#include "codec_internal.h"
|
#include "codec_internal.h"
|
||||||
|
|
@ -31,8 +29,8 @@
|
||||||
#include "misc.h"
|
#include "misc.h"
|
||||||
#include "os.h"
|
#include "os.h"
|
||||||
|
|
||||||
#define GENERAL_VENDOR_STRING "Xiph.Org libVorbis 1.3.5"
|
#define GENERAL_VENDOR_STRING "Xiph.Org libVorbis 1.3.7"
|
||||||
#define ENCODE_VENDOR_STRING "Xiph.Org libVorbis I 20150105 (⛄⛄⛄⛄)"
|
#define ENCODE_VENDOR_STRING "Xiph.Org libVorbis I 20200704 (Reducing Environment)"
|
||||||
|
|
||||||
/* helpers */
|
/* helpers */
|
||||||
static void _v_writestring(oggpack_buffer *o,const char *s, int bytes){
|
static void _v_writestring(oggpack_buffer *o,const char *s, int bytes){
|
||||||
|
|
@ -48,6 +46,10 @@ static void _v_readstring(oggpack_buffer *o,char *buf,int bytes){
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int _v_toupper(int c) {
|
||||||
|
return (c >= 'a' && c <= 'z') ? (c & ~('a' - 'A')) : c;
|
||||||
|
}
|
||||||
|
|
||||||
void vorbis_comment_init(vorbis_comment *vc){
|
void vorbis_comment_init(vorbis_comment *vc){
|
||||||
memset(vc,0,sizeof(*vc));
|
memset(vc,0,sizeof(*vc));
|
||||||
}
|
}
|
||||||
|
|
@ -65,11 +67,13 @@ void vorbis_comment_add(vorbis_comment *vc,const char *comment){
|
||||||
}
|
}
|
||||||
|
|
||||||
void vorbis_comment_add_tag(vorbis_comment *vc, const char *tag, const char *contents){
|
void vorbis_comment_add_tag(vorbis_comment *vc, const char *tag, const char *contents){
|
||||||
char *comment=alloca(strlen(tag)+strlen(contents)+2); /* +2 for = and \0 */
|
/* Length for key and value +2 for = and \0 */
|
||||||
|
char *comment=_ogg_malloc(strlen(tag)+strlen(contents)+2);
|
||||||
strcpy(comment, tag);
|
strcpy(comment, tag);
|
||||||
strcat(comment, "=");
|
strcat(comment, "=");
|
||||||
strcat(comment, contents);
|
strcat(comment, contents);
|
||||||
vorbis_comment_add(vc, comment);
|
vorbis_comment_add(vc, comment);
|
||||||
|
_ogg_free(comment);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* This is more or less the same as strncasecmp - but that doesn't exist
|
/* This is more or less the same as strncasecmp - but that doesn't exist
|
||||||
|
|
@ -77,7 +81,7 @@ void vorbis_comment_add_tag(vorbis_comment *vc, const char *tag, const char *con
|
||||||
static int tagcompare(const char *s1, const char *s2, int n){
|
static int tagcompare(const char *s1, const char *s2, int n){
|
||||||
int c=0;
|
int c=0;
|
||||||
while(c < n){
|
while(c < n){
|
||||||
if(toupper(s1[c]) != toupper(s2[c]))
|
if(_v_toupper(s1[c]) != _v_toupper(s2[c]))
|
||||||
return !0;
|
return !0;
|
||||||
c++;
|
c++;
|
||||||
}
|
}
|
||||||
|
|
@ -88,27 +92,30 @@ char *vorbis_comment_query(vorbis_comment *vc, const char *tag, int count){
|
||||||
long i;
|
long i;
|
||||||
int found = 0;
|
int found = 0;
|
||||||
int taglen = strlen(tag)+1; /* +1 for the = we append */
|
int taglen = strlen(tag)+1; /* +1 for the = we append */
|
||||||
char *fulltag = alloca(taglen+ 1);
|
char *fulltag = _ogg_malloc(taglen+1);
|
||||||
|
|
||||||
strcpy(fulltag, tag);
|
strcpy(fulltag, tag);
|
||||||
strcat(fulltag, "=");
|
strcat(fulltag, "=");
|
||||||
|
|
||||||
for(i=0;i<vc->comments;i++){
|
for(i=0;i<vc->comments;i++){
|
||||||
if(!tagcompare(vc->user_comments[i], fulltag, taglen)){
|
if(!tagcompare(vc->user_comments[i], fulltag, taglen)){
|
||||||
if(count == found)
|
if(count == found) {
|
||||||
/* We return a pointer to the data, not a copy */
|
/* We return a pointer to the data, not a copy */
|
||||||
|
_ogg_free(fulltag);
|
||||||
return vc->user_comments[i] + taglen;
|
return vc->user_comments[i] + taglen;
|
||||||
else
|
} else {
|
||||||
found++;
|
found++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
_ogg_free(fulltag);
|
||||||
return NULL; /* didn't find anything */
|
return NULL; /* didn't find anything */
|
||||||
}
|
}
|
||||||
|
|
||||||
int vorbis_comment_query_count(vorbis_comment *vc, const char *tag){
|
int vorbis_comment_query_count(vorbis_comment *vc, const char *tag){
|
||||||
int i,count=0;
|
int i,count=0;
|
||||||
int taglen = strlen(tag)+1; /* +1 for the = we append */
|
int taglen = strlen(tag)+1; /* +1 for the = we append */
|
||||||
char *fulltag = alloca(taglen+1);
|
char *fulltag = _ogg_malloc(taglen+1);
|
||||||
strcpy(fulltag,tag);
|
strcpy(fulltag,tag);
|
||||||
strcat(fulltag, "=");
|
strcat(fulltag, "=");
|
||||||
|
|
||||||
|
|
@ -117,6 +124,7 @@ int vorbis_comment_query_count(vorbis_comment *vc, const char *tag){
|
||||||
count++;
|
count++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
_ogg_free(fulltag);
|
||||||
return count;
|
return count;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -198,6 +206,7 @@ void vorbis_info_clear(vorbis_info *vi){
|
||||||
|
|
||||||
static int _vorbis_unpack_info(vorbis_info *vi,oggpack_buffer *opb){
|
static int _vorbis_unpack_info(vorbis_info *vi,oggpack_buffer *opb){
|
||||||
codec_setup_info *ci=vi->codec_setup;
|
codec_setup_info *ci=vi->codec_setup;
|
||||||
|
int bs;
|
||||||
if(!ci)return(OV_EFAULT);
|
if(!ci)return(OV_EFAULT);
|
||||||
|
|
||||||
vi->version=oggpack_read(opb,32);
|
vi->version=oggpack_read(opb,32);
|
||||||
|
|
@ -206,12 +215,16 @@ static int _vorbis_unpack_info(vorbis_info *vi,oggpack_buffer *opb){
|
||||||
vi->channels=oggpack_read(opb,8);
|
vi->channels=oggpack_read(opb,8);
|
||||||
vi->rate=oggpack_read(opb,32);
|
vi->rate=oggpack_read(opb,32);
|
||||||
|
|
||||||
vi->bitrate_upper=oggpack_read(opb,32);
|
vi->bitrate_upper=(ogg_int32_t)oggpack_read(opb,32);
|
||||||
vi->bitrate_nominal=oggpack_read(opb,32);
|
vi->bitrate_nominal=(ogg_int32_t)oggpack_read(opb,32);
|
||||||
vi->bitrate_lower=oggpack_read(opb,32);
|
vi->bitrate_lower=(ogg_int32_t)oggpack_read(opb,32);
|
||||||
|
|
||||||
ci->blocksizes[0]=1<<oggpack_read(opb,4);
|
bs = oggpack_read(opb,4);
|
||||||
ci->blocksizes[1]=1<<oggpack_read(opb,4);
|
if(bs<0)goto err_out;
|
||||||
|
ci->blocksizes[0]=1<<bs;
|
||||||
|
bs = oggpack_read(opb,4);
|
||||||
|
if(bs<0)goto err_out;
|
||||||
|
ci->blocksizes[1]=1<<bs;
|
||||||
|
|
||||||
if(vi->rate<1)goto err_out;
|
if(vi->rate<1)goto err_out;
|
||||||
if(vi->channels<1)goto err_out;
|
if(vi->channels<1)goto err_out;
|
||||||
|
|
@ -583,7 +596,8 @@ int vorbis_analysis_headerout(vorbis_dsp_state *v,
|
||||||
oggpack_buffer opb;
|
oggpack_buffer opb;
|
||||||
private_state *b=v->backend_state;
|
private_state *b=v->backend_state;
|
||||||
|
|
||||||
if(!b||vi->channels<=0){
|
if(!b||vi->channels<=0||vi->channels>256){
|
||||||
|
b = NULL;
|
||||||
ret=OV_EFAULT;
|
ret=OV_EFAULT;
|
||||||
goto err_out;
|
goto err_out;
|
||||||
}
|
}
|
||||||
|
|
@ -642,7 +656,7 @@ int vorbis_analysis_headerout(vorbis_dsp_state *v,
|
||||||
memset(op_code,0,sizeof(*op_code));
|
memset(op_code,0,sizeof(*op_code));
|
||||||
|
|
||||||
if(b){
|
if(b){
|
||||||
oggpack_writeclear(&opb);
|
if(vi->channels>0)oggpack_writeclear(&opb);
|
||||||
if(b->header)_ogg_free(b->header);
|
if(b->header)_ogg_free(b->header);
|
||||||
if(b->header1)_ogg_free(b->header1);
|
if(b->header1)_ogg_free(b->header1);
|
||||||
if(b->header2)_ogg_free(b->header2);
|
if(b->header2)_ogg_free(b->header2);
|
||||||
|
|
|
||||||
|
|
@ -6,12 +6,11 @@
|
||||||
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
||||||
* *
|
* *
|
||||||
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
|
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
|
||||||
* by the Xiph.Org Foundation http://www.xiph.org/ *
|
* by the Xiph.Org Foundation https://xiph.org/ *
|
||||||
* *
|
* *
|
||||||
********************************************************************
|
********************************************************************
|
||||||
|
|
||||||
function: lookup based functions
|
function: lookup based functions
|
||||||
last mod: $Id: lookup.c 16227 2009-07-08 06:58:46Z xiphmont $
|
|
||||||
|
|
||||||
********************************************************************/
|
********************************************************************/
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,12 +6,11 @@
|
||||||
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
||||||
* *
|
* *
|
||||||
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
|
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
|
||||||
* by the Xiph.Org Foundation http://www.xiph.org/ *
|
* by the Xiph.Org Foundation https://xiph.org/ *
|
||||||
* *
|
* *
|
||||||
********************************************************************
|
********************************************************************
|
||||||
|
|
||||||
function: LPC low level routines
|
function: LPC low level routines
|
||||||
last mod: $Id: lpc.c 16227 2009-07-08 06:58:46Z xiphmont $
|
|
||||||
|
|
||||||
********************************************************************/
|
********************************************************************/
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,19 +6,19 @@
|
||||||
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
||||||
* *
|
* *
|
||||||
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
|
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
|
||||||
* by the Xiph.Org Foundation http://www.xiph.org/ *
|
* by the Xiph.Org Foundation https://xiph.org/ *
|
||||||
* *
|
* *
|
||||||
********************************************************************
|
********************************************************************
|
||||||
|
|
||||||
function: LSP (also called LSF) conversion routines
|
function: LSP (also called LSF) conversion routines
|
||||||
last mod: $Id: lsp.c 19453 2015-03-02 22:35:34Z xiphmont $
|
|
||||||
|
|
||||||
The LSP generation code is taken (with minimal modification and a
|
The LSP generation code is taken (with minimal modification and a
|
||||||
few bugfixes) from "On the Computation of the LSP Frequencies" by
|
few bugfixes) from "On the Computation of the LSP Frequencies" by
|
||||||
Joseph Rothweiler (see http://www.rothweiler.us for contact info).
|
Joseph Rothweiler (see http://www.rothweiler.us for contact info).
|
||||||
|
|
||||||
The paper is available at:
|
The paper is available at:
|
||||||
|
|
||||||
http://www.myown1.com/joe/lsf
|
https://web.archive.org/web/20110810174000/http://home.myfairpoint.net/vzenxj75/myown1/joe/lsf/index.html
|
||||||
|
|
||||||
********************************************************************/
|
********************************************************************/
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,12 +6,11 @@
|
||||||
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
||||||
* *
|
* *
|
||||||
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2010 *
|
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2010 *
|
||||||
* by the Xiph.Org Foundation http://www.xiph.org/ *
|
* by the Xiph.Org Foundation https://xiph.org/ *
|
||||||
* *
|
* *
|
||||||
********************************************************************
|
********************************************************************
|
||||||
|
|
||||||
function: channel mapping 0 implementation
|
function: channel mapping 0 implementation
|
||||||
last mod: $Id: mapping0.c 19441 2015-01-21 01:17:41Z xiphmont $
|
|
||||||
|
|
||||||
********************************************************************/
|
********************************************************************/
|
||||||
|
|
||||||
|
|
@ -93,7 +92,6 @@ static vorbis_info_mapping *mapping0_unpack(vorbis_info *vi,oggpack_buffer *opb)
|
||||||
int i,b;
|
int i,b;
|
||||||
vorbis_info_mapping0 *info=_ogg_calloc(1,sizeof(*info));
|
vorbis_info_mapping0 *info=_ogg_calloc(1,sizeof(*info));
|
||||||
codec_setup_info *ci=vi->codec_setup;
|
codec_setup_info *ci=vi->codec_setup;
|
||||||
memset(info,0,sizeof(*info));
|
|
||||||
if(vi->channels<=0)goto err_out;
|
if(vi->channels<=0)goto err_out;
|
||||||
|
|
||||||
b=oggpack_read(opb,1);
|
b=oggpack_read(opb,1);
|
||||||
|
|
|
||||||
|
|
@ -6,13 +6,12 @@
|
||||||
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
||||||
* *
|
* *
|
||||||
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
|
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
|
||||||
* by the Xiph.Org Foundation http://www.xiph.org/ *
|
* by the Xiph.Org Foundation https://xiph.org/ *
|
||||||
* *
|
* *
|
||||||
********************************************************************
|
********************************************************************
|
||||||
|
|
||||||
function: normalized modified discrete cosine transform
|
function: normalized modified discrete cosine transform
|
||||||
power of two length transform only [64 <= n ]
|
power of two length transform only [64 <= n ]
|
||||||
last mod: $Id: mdct.c 16227 2009-07-08 06:58:46Z xiphmont $
|
|
||||||
|
|
||||||
Original algorithm adapted long ago from _The use of multirate filter
|
Original algorithm adapted long ago from _The use of multirate filter
|
||||||
banks for coding of high quality digital audio_, by T. Sporer,
|
banks for coding of high quality digital audio_, by T. Sporer,
|
||||||
|
|
|
||||||
|
|
@ -6,12 +6,11 @@
|
||||||
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
||||||
* *
|
* *
|
||||||
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2010 *
|
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2010 *
|
||||||
* by the Xiph.Org Foundation http://www.xiph.org/ *
|
* by the Xiph.Org Foundation https://xiph.org/ *
|
||||||
* *
|
* *
|
||||||
********************************************************************
|
********************************************************************
|
||||||
|
|
||||||
function: psychoacoustics not including preecho
|
function: psychoacoustics not including preecho
|
||||||
last mod: $Id: psy.c 18077 2011-09-02 02:49:00Z giles $
|
|
||||||
|
|
||||||
********************************************************************/
|
********************************************************************/
|
||||||
|
|
||||||
|
|
@ -600,11 +599,12 @@ static void bark_noise_hybridmp(int n,const long *b,
|
||||||
XY[i] = tXY;
|
XY[i] = tXY;
|
||||||
}
|
}
|
||||||
|
|
||||||
for (i = 0, x = 0.f;; i++, x += 1.f) {
|
for (i = 0, x = 0.f; i < n; i++, x += 1.f) {
|
||||||
|
|
||||||
lo = b[i] >> 16;
|
lo = b[i] >> 16;
|
||||||
if( lo>=0 ) break;
|
|
||||||
hi = b[i] & 0xffff;
|
hi = b[i] & 0xffff;
|
||||||
|
if( lo>=0 || -lo>=n ) break;
|
||||||
|
if( hi>=n ) break;
|
||||||
|
|
||||||
tN = N[hi] + N[-lo];
|
tN = N[hi] + N[-lo];
|
||||||
tX = X[hi] - X[-lo];
|
tX = X[hi] - X[-lo];
|
||||||
|
|
@ -616,17 +616,17 @@ static void bark_noise_hybridmp(int n,const long *b,
|
||||||
B = tN * tXY - tX * tY;
|
B = tN * tXY - tX * tY;
|
||||||
D = tN * tXX - tX * tX;
|
D = tN * tXX - tX * tX;
|
||||||
R = (A + x * B) / D;
|
R = (A + x * B) / D;
|
||||||
if (R < 0.f)
|
if (R < 0.f) R = 0.f;
|
||||||
R = 0.f;
|
|
||||||
|
|
||||||
noise[i] = R - offset;
|
noise[i] = R - offset;
|
||||||
}
|
}
|
||||||
|
|
||||||
for ( ;; i++, x += 1.f) {
|
for ( ; i < n; i++, x += 1.f) {
|
||||||
|
|
||||||
lo = b[i] >> 16;
|
lo = b[i] >> 16;
|
||||||
hi = b[i] & 0xffff;
|
hi = b[i] & 0xffff;
|
||||||
if(hi>=n)break;
|
if( lo<0 || lo>=n ) break;
|
||||||
|
if( hi>=n ) break;
|
||||||
|
|
||||||
tN = N[hi] - N[lo];
|
tN = N[hi] - N[lo];
|
||||||
tX = X[hi] - X[lo];
|
tX = X[hi] - X[lo];
|
||||||
|
|
@ -642,6 +642,7 @@ static void bark_noise_hybridmp(int n,const long *b,
|
||||||
|
|
||||||
noise[i] = R - offset;
|
noise[i] = R - offset;
|
||||||
}
|
}
|
||||||
|
|
||||||
for ( ; i < n; i++, x += 1.f) {
|
for ( ; i < n; i++, x += 1.f) {
|
||||||
|
|
||||||
R = (A + x * B) / D;
|
R = (A + x * B) / D;
|
||||||
|
|
@ -652,10 +653,11 @@ static void bark_noise_hybridmp(int n,const long *b,
|
||||||
|
|
||||||
if (fixed <= 0) return;
|
if (fixed <= 0) return;
|
||||||
|
|
||||||
for (i = 0, x = 0.f;; i++, x += 1.f) {
|
for (i = 0, x = 0.f; i < n; i++, x += 1.f) {
|
||||||
hi = i + fixed / 2;
|
hi = i + fixed / 2;
|
||||||
lo = hi - fixed;
|
lo = hi - fixed;
|
||||||
if(lo>=0)break;
|
if ( hi>=n ) break;
|
||||||
|
if ( lo>=0 ) break;
|
||||||
|
|
||||||
tN = N[hi] + N[-lo];
|
tN = N[hi] + N[-lo];
|
||||||
tX = X[hi] - X[-lo];
|
tX = X[hi] - X[-lo];
|
||||||
|
|
@ -671,11 +673,12 @@ static void bark_noise_hybridmp(int n,const long *b,
|
||||||
|
|
||||||
if (R - offset < noise[i]) noise[i] = R - offset;
|
if (R - offset < noise[i]) noise[i] = R - offset;
|
||||||
}
|
}
|
||||||
for ( ;; i++, x += 1.f) {
|
for ( ; i < n; i++, x += 1.f) {
|
||||||
|
|
||||||
hi = i + fixed / 2;
|
hi = i + fixed / 2;
|
||||||
lo = hi - fixed;
|
lo = hi - fixed;
|
||||||
if(hi>=n)break;
|
if ( hi>=n ) break;
|
||||||
|
if ( lo<0 ) break;
|
||||||
|
|
||||||
tN = N[hi] - N[lo];
|
tN = N[hi] - N[lo];
|
||||||
tX = X[hi] - X[lo];
|
tX = X[hi] - X[lo];
|
||||||
|
|
|
||||||
|
|
@ -6,12 +6,11 @@
|
||||||
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
||||||
* *
|
* *
|
||||||
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
|
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
|
||||||
* by the Xiph.Org Foundation http://www.xiph.org/ *
|
* by the Xiph.Org Foundation https://xiph.org/ *
|
||||||
* *
|
* *
|
||||||
********************************************************************
|
********************************************************************
|
||||||
|
|
||||||
function: registry for time, floor, res backends and channel mappings
|
function: registry for time, floor, res backends and channel mappings
|
||||||
last mod: $Id: registry.c 16227 2009-07-08 06:58:46Z xiphmont $
|
|
||||||
|
|
||||||
********************************************************************/
|
********************************************************************/
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,12 +6,11 @@
|
||||||
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
||||||
* *
|
* *
|
||||||
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2010 *
|
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2010 *
|
||||||
* by the Xiph.Org Foundation http://www.xiph.org/ *
|
* by the Xiph.Org Foundation https://xiph.org/ *
|
||||||
* *
|
* *
|
||||||
********************************************************************
|
********************************************************************
|
||||||
|
|
||||||
function: residue backend 0, 1 and 2 implementation
|
function: residue backend 0, 1 and 2 implementation
|
||||||
last mod: $Id: res0.c 19441 2015-01-21 01:17:41Z xiphmont $
|
|
||||||
|
|
||||||
********************************************************************/
|
********************************************************************/
|
||||||
|
|
||||||
|
|
@ -31,9 +30,6 @@
|
||||||
#include "misc.h"
|
#include "misc.h"
|
||||||
#include "os.h"
|
#include "os.h"
|
||||||
|
|
||||||
//#define TRAIN_RES 1
|
|
||||||
//#define TRAIN_RESAUX 1
|
|
||||||
|
|
||||||
#if defined(TRAIN_RES) || defined (TRAIN_RESAUX)
|
#if defined(TRAIN_RES) || defined (TRAIN_RESAUX)
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
|
||||||
|
|
@ -6,16 +6,16 @@
|
||||||
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
||||||
* *
|
* *
|
||||||
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2015 *
|
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2015 *
|
||||||
* by the Xiph.Org Foundation http://www.xiph.org/ *
|
* by the Xiph.Org Foundation https://xiph.org/ *
|
||||||
* *
|
* *
|
||||||
********************************************************************
|
********************************************************************
|
||||||
|
|
||||||
function: basic shared codebook operations
|
function: basic shared codebook operations
|
||||||
last mod: $Id: sharedbook.c 19457 2015-03-03 00:15:29Z giles $
|
|
||||||
|
|
||||||
********************************************************************/
|
********************************************************************/
|
||||||
|
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
#include <limits.h>
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <ogg/ogg.h>
|
#include <ogg/ogg.h>
|
||||||
|
|
@ -50,7 +50,7 @@ long _float32_pack(float val){
|
||||||
sign=0x80000000;
|
sign=0x80000000;
|
||||||
val= -val;
|
val= -val;
|
||||||
}
|
}
|
||||||
exp= floor(log(val)/log(2.f)+.001); //+epsilon
|
exp= floor(log(val)/log(2.f)+.001); /* +epsilon */
|
||||||
mant=rint(ldexp(val,(VQ_FMAN-1)-exp));
|
mant=rint(ldexp(val,(VQ_FMAN-1)-exp));
|
||||||
exp=(exp+VQ_FEXP_BIAS)<<VQ_FMAN;
|
exp=(exp+VQ_FEXP_BIAS)<<VQ_FMAN;
|
||||||
|
|
||||||
|
|
@ -62,7 +62,15 @@ float _float32_unpack(long val){
|
||||||
int sign=val&0x80000000;
|
int sign=val&0x80000000;
|
||||||
long exp =(val&0x7fe00000L)>>VQ_FMAN;
|
long exp =(val&0x7fe00000L)>>VQ_FMAN;
|
||||||
if(sign)mant= -mant;
|
if(sign)mant= -mant;
|
||||||
return(ldexp(mant,exp-(VQ_FMAN-1)-VQ_FEXP_BIAS));
|
exp=exp-(VQ_FMAN-1)-VQ_FEXP_BIAS;
|
||||||
|
/* clamp excessive exponent values */
|
||||||
|
if (exp>63){
|
||||||
|
exp=63;
|
||||||
|
}
|
||||||
|
if (exp<-63){
|
||||||
|
exp=-63;
|
||||||
|
}
|
||||||
|
return(ldexp(mant,exp));
|
||||||
}
|
}
|
||||||
|
|
||||||
/* given a list of word lengths, generate a list of codewords. Works
|
/* given a list of word lengths, generate a list of codewords. Works
|
||||||
|
|
@ -158,25 +166,34 @@ ogg_uint32_t *_make_words(char *l,long n,long sparsecount){
|
||||||
that's portable and totally safe against roundoff, but I haven't
|
that's portable and totally safe against roundoff, but I haven't
|
||||||
thought of it. Therefore, we opt on the side of caution */
|
thought of it. Therefore, we opt on the side of caution */
|
||||||
long _book_maptype1_quantvals(const static_codebook *b){
|
long _book_maptype1_quantvals(const static_codebook *b){
|
||||||
long vals=floor(pow((float)b->entries,1.f/b->dim));
|
long vals;
|
||||||
|
if(b->entries<1){
|
||||||
|
return(0);
|
||||||
|
}
|
||||||
|
vals=floor(pow((float)b->entries,1.f/b->dim));
|
||||||
|
|
||||||
/* the above *should* be reliable, but we'll not assume that FP is
|
/* the above *should* be reliable, but we'll not assume that FP is
|
||||||
ever reliable when bitstream sync is at stake; verify via integer
|
ever reliable when bitstream sync is at stake; verify via integer
|
||||||
means that vals really is the greatest value of dim for which
|
means that vals really is the greatest value of dim for which
|
||||||
vals^b->bim <= b->entries */
|
vals^b->bim <= b->entries */
|
||||||
/* treat the above as an initial guess */
|
/* treat the above as an initial guess */
|
||||||
|
if(vals<1){
|
||||||
|
vals=1;
|
||||||
|
}
|
||||||
while(1){
|
while(1){
|
||||||
long acc=1;
|
long acc=1;
|
||||||
long acc1=1;
|
long acc1=1;
|
||||||
int i;
|
int i;
|
||||||
for(i=0;i<b->dim;i++){
|
for(i=0;i<b->dim;i++){
|
||||||
|
if(b->entries/vals<acc)break;
|
||||||
acc*=vals;
|
acc*=vals;
|
||||||
acc1*=vals+1;
|
if(LONG_MAX/(vals+1)<acc1)acc1=LONG_MAX;
|
||||||
|
else acc1*=vals+1;
|
||||||
}
|
}
|
||||||
if(acc<=b->entries && acc1>b->entries){
|
if(i>=b->dim && acc<=b->entries && acc1>b->entries){
|
||||||
return(vals);
|
return(vals);
|
||||||
}else{
|
}else{
|
||||||
if(acc>b->entries){
|
if(i<b->dim || acc>b->entries){
|
||||||
vals--;
|
vals--;
|
||||||
}else{
|
}else{
|
||||||
vals++;
|
vals++;
|
||||||
|
|
@ -285,7 +302,7 @@ int vorbis_book_init_encode(codebook *c,const static_codebook *s){
|
||||||
c->used_entries=s->entries;
|
c->used_entries=s->entries;
|
||||||
c->dim=s->dim;
|
c->dim=s->dim;
|
||||||
c->codelist=_make_words(s->lengthlist,s->entries,0);
|
c->codelist=_make_words(s->lengthlist,s->entries,0);
|
||||||
//c->valuelist=_book_unquantize(s,s->entries,NULL);
|
/* c->valuelist=_book_unquantize(s,s->entries,NULL); */
|
||||||
c->quantvals=_book_maptype1_quantvals(s);
|
c->quantvals=_book_maptype1_quantvals(s);
|
||||||
c->minval=(int)rint(_float32_unpack(s->q_min));
|
c->minval=(int)rint(_float32_unpack(s->q_min));
|
||||||
c->delta=(int)rint(_float32_unpack(s->q_delta));
|
c->delta=(int)rint(_float32_unpack(s->q_delta));
|
||||||
|
|
@ -564,6 +581,7 @@ void run_test(static_codebook *b,float *comp){
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
_ogg_free(out);
|
||||||
}
|
}
|
||||||
|
|
||||||
int main(){
|
int main(){
|
||||||
|
|
|
||||||
|
|
@ -6,12 +6,11 @@
|
||||||
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
||||||
* *
|
* *
|
||||||
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
|
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
|
||||||
* by the Xiph.Org Foundation http://www.xiph.org/ *
|
* by the Xiph.Org Foundation https://xiph.org/ *
|
||||||
* *
|
* *
|
||||||
********************************************************************
|
********************************************************************
|
||||||
|
|
||||||
function: *unnormalized* fft transform
|
function: *unnormalized* fft transform
|
||||||
last mod: $Id: smallft.c 16227 2009-07-08 06:58:46Z xiphmont $
|
|
||||||
|
|
||||||
********************************************************************/
|
********************************************************************/
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,12 +6,11 @@
|
||||||
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
||||||
* *
|
* *
|
||||||
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2015 *
|
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2015 *
|
||||||
* by the Xiph.Org Foundation http://www.xiph.org/ *
|
* by the Xiph.Org Foundation https://xiph.org/ *
|
||||||
* *
|
* *
|
||||||
********************************************************************
|
********************************************************************
|
||||||
|
|
||||||
function: single-block PCM synthesis
|
function: single-block PCM synthesis
|
||||||
last mod: $Id: synthesis.c 19441 2015-01-21 01:17:41Z xiphmont $
|
|
||||||
|
|
||||||
********************************************************************/
|
********************************************************************/
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,12 +6,11 @@
|
||||||
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
||||||
* *
|
* *
|
||||||
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
|
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
|
||||||
* by the Xiph.Org Foundation http://www.xiph.org/ *
|
* by the Xiph.Org Foundation https://xiph.org/ *
|
||||||
* *
|
* *
|
||||||
********************************************************************
|
********************************************************************
|
||||||
|
|
||||||
function: window functions
|
function: window functions
|
||||||
last mod: $Id: window.c 19028 2013-12-02 23:23:39Z tterribe $
|
|
||||||
|
|
||||||
********************************************************************/
|
********************************************************************/
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,12 +6,11 @@
|
||||||
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
||||||
* *
|
* *
|
||||||
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2015 *
|
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2015 *
|
||||||
* by the Xiph.Org Foundation http://www.xiph.org/ *
|
* by the Xiph.Org Foundation https://xiph.org/ *
|
||||||
* *
|
* *
|
||||||
********************************************************************
|
********************************************************************
|
||||||
|
|
||||||
function: simple programmatic interface for encoder mode setup
|
function: simple programmatic interface for encoder mode setup
|
||||||
last mod: $Id: vorbisenc.c 19457 2015-03-03 00:15:29Z giles $
|
|
||||||
|
|
||||||
********************************************************************/
|
********************************************************************/
|
||||||
|
|
||||||
|
|
@ -685,6 +684,7 @@ int vorbis_encode_setup_init(vorbis_info *vi){
|
||||||
highlevel_encode_setup *hi=&ci->hi;
|
highlevel_encode_setup *hi=&ci->hi;
|
||||||
|
|
||||||
if(ci==NULL)return(OV_EINVAL);
|
if(ci==NULL)return(OV_EINVAL);
|
||||||
|
if(vi->channels<1||vi->channels>255)return(OV_EINVAL);
|
||||||
if(!hi->impulse_block_p)i0=1;
|
if(!hi->impulse_block_p)i0=1;
|
||||||
|
|
||||||
/* too low/high an ATH floater is nonsensical, but doesn't break anything */
|
/* too low/high an ATH floater is nonsensical, but doesn't break anything */
|
||||||
|
|
@ -1211,7 +1211,7 @@ int vorbis_encode_ctl(vorbis_info *vi,int number,void *arg){
|
||||||
hi->req,
|
hi->req,
|
||||||
hi->managed,
|
hi->managed,
|
||||||
&new_base);
|
&new_base);
|
||||||
if(!hi->setup)return OV_EIMPL;
|
if(!new_template)return OV_EIMPL;
|
||||||
hi->setup=new_template;
|
hi->setup=new_template;
|
||||||
hi->base_setting=new_base;
|
hi->base_setting=new_base;
|
||||||
vorbis_encode_setup_setting(vi,vi->channels,vi->rate);
|
vorbis_encode_setup_setting(vi,vi->channels,vi->rate);
|
||||||
|
|
|
||||||
|
|
@ -6,12 +6,11 @@
|
||||||
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
|
||||||
* *
|
* *
|
||||||
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2007 *
|
* THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2007 *
|
||||||
* by the Xiph.Org Foundation http://www.xiph.org/ *
|
* by the Xiph.Org Foundation https://xiph.org/ *
|
||||||
* *
|
* *
|
||||||
********************************************************************
|
********************************************************************
|
||||||
|
|
||||||
function: window functions
|
function: window functions
|
||||||
last mod: $Id: window.h 19028 2013-12-02 23:23:39Z tterribe $
|
|
||||||
|
|
||||||
********************************************************************/
|
********************************************************************/
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,22 +0,0 @@
|
||||||
Open project list for further development:
|
|
||||||
|
|
||||||
libvorbis:
|
|
||||||
|
|
||||||
Meaningful error code returns
|
|
||||||
|
|
||||||
still some padding at EOS
|
|
||||||
|
|
||||||
Option for brute-forcing vq search on maptype 2 (helps on undertrained
|
|
||||||
sets).
|
|
||||||
|
|
||||||
encoder switch interface for binary compat through changes; ioctl()-like?
|
|
||||||
|
|
||||||
API changes:
|
|
||||||
break up some of the more monolithic calls (eg, allow access
|
|
||||||
to MDCT domain data, additional low level framing capability)
|
|
||||||
convenience calls for text comments
|
|
||||||
|
|
||||||
other:
|
|
||||||
|
|
||||||
command line suite
|
|
||||||
'crashme'
|
|
||||||
12
media/libvorbis/update.sh
Normal file → Executable file
12
media/libvorbis/update.sh
Normal file → Executable file
|
|
@ -1,4 +1,8 @@
|
||||||
# Usage: /bin/sh update.sh <vorbis_src_directory>
|
#!/bin/sh
|
||||||
|
if test $# -ne 1; then
|
||||||
|
echo "Usage: /bin/sh update.sh <vorbis_src_directory>"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
#
|
#
|
||||||
# Copies the needed files from a directory containing the original
|
# Copies the needed files from a directory containing the original
|
||||||
# libvorbis source that we need for the Mozilla HTML5 media support.
|
# libvorbis source that we need for the Mozilla HTML5 media support.
|
||||||
|
|
@ -44,9 +48,9 @@ cp $1/lib/codebook.c ./lib/vorbis_codebook.c
|
||||||
cp $1/lib/bitrate.c ./lib/vorbis_bitrate.c
|
cp $1/lib/bitrate.c ./lib/vorbis_bitrate.c
|
||||||
cp $1/lib/block.c ./lib/vorbis_block.c
|
cp $1/lib/block.c ./lib/vorbis_block.c
|
||||||
cp $1/include/vorbis/codec.h ./include/vorbis/codec.h
|
cp $1/include/vorbis/codec.h ./include/vorbis/codec.h
|
||||||
cp $1/todo.txt ./todo.txt
|
cp $1/CHANGES ./CHANGES
|
||||||
cp $1/COPYING ./COPYING
|
cp $1/COPYING ./COPYING
|
||||||
cp $1/README ./README
|
cp $1/README.md ./README.md
|
||||||
cp $1/AUTHORS ./AUTHORS
|
cp $1/AUTHORS ./AUTHORS
|
||||||
|
|
||||||
# Encoder support
|
# Encoder support
|
||||||
|
|
@ -81,4 +85,4 @@ cp $1/lib/books/floor/floor_books.h ./lib/books/floor/
|
||||||
cp $1/lib/books/uncoupled/res_books_uncoupled.h ./lib/books/uncoupled/
|
cp $1/lib/books/uncoupled/res_books_uncoupled.h ./lib/books/uncoupled/
|
||||||
|
|
||||||
# Add any patches against upstream here.
|
# Add any patches against upstream here.
|
||||||
# ...nothing to apply...
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue