Free audio codec. https://xiph.org/vorbis/

Tyson Smith 30c490373b oss-fuzz: replace -lFuzzingEngine with $LIB_FUZZING_ENGINE %!s(int64=5) %!d(string=hai) anos
contrib 30c490373b oss-fuzz: replace -lFuzzingEngine with $LIB_FUZZING_ENGINE %!s(int64=5) %!d(string=hai) anos
debian 7c73854c8b Sync with current Debian changelog. %!s(int64=16) %!d(string=hai) anos
doc c78405727f Fixed error in Vorbis I specification for limiting residue vector size %!s(int64=7) %!d(string=hai) anos
examples ed677ec711 Cleanup: Removed tailing white-spaces in C code files %!s(int64=7) %!d(string=hai) anos
include 679433ebb8 Remove svn $Id$ header. %!s(int64=7) %!d(string=hai) anos
lib 9eadeccdc4 Don't leak memory in test_sharedbook to please asan. %!s(int64=5) %!d(string=hai) anos
m4 4122b74d39 add pkg.m4 to vorbis, that way ./autogen.sh works on systems that dont have pkg-config installed %!s(int64=15) %!d(string=hai) anos
macosx b6d6e636fa Bump build system versions for release %!s(int64=15) %!d(string=hai) anos
symbian f0f4482acf add #ifdef __WINS__ to symbian/config.h around pragmas (ignored by gcc) %!s(int64=20) %!d(string=hai) anos
test 679433ebb8 Remove svn $Id$ header. %!s(int64=7) %!d(string=hai) anos
vq ed677ec711 Cleanup: Removed tailing white-spaces in C code files %!s(int64=7) %!d(string=hai) anos
win32 679433ebb8 Remove svn $Id$ header. %!s(int64=7) %!d(string=hai) anos
.gitignore 5ae0094292 Make git ignore generated files. %!s(int64=9) %!d(string=hai) anos
.travis.yml 2ebe99946f add osx to travis %!s(int64=6) %!d(string=hai) anos
.ycm_extra_conf.py 8ef0f80588 Add build flags for YouCompleteMe. %!s(int64=7) %!d(string=hai) anos
AUTHORS f0ba9e2e2e More menial janitorial work on the documentation. %!s(int64=22) %!d(string=hai) anos
Brewfile 2ebe99946f add osx to travis %!s(int64=6) %!d(string=hai) anos
CHANGES 6a6bad3af5 Update CHANGES and dates for 1.3.6. %!s(int64=6) %!d(string=hai) anos
CMakeLists.txt 92a6c7a0eb Fix install of pkgconfig files and allow use of OGG_ROOT variable %!s(int64=8) %!d(string=hai) anos
COPYING 6a6bad3af5 Update CHANGES and dates for 1.3.6. %!s(int64=6) %!d(string=hai) anos
Makefile.am 4d6177c8a3 Include CMake build scripts in release archives %!s(int64=6) %!d(string=hai) anos
README.md 6a6bad3af5 Update CHANGES and dates for 1.3.6. %!s(int64=6) %!d(string=hai) anos
appveyor.yml 130e20f762 Make CMake build test on AppVeyor mandatory %!s(int64=8) %!d(string=hai) anos
autogen.sh 6a7c80bd60 Remove spurious variable from autogen.sh. %!s(int64=9) %!d(string=hai) anos
configure.ac d22c3ab5f6 Update release version in configure.ac to 1.3.6 %!s(int64=6) %!d(string=hai) anos
libvorbis.spec.in 0515c4a29c Update the source pointer in the rpm spec file. %!s(int64=16) %!d(string=hai) anos
vorbis-uninstalled.pc.in e6a67188da add missing files %!s(int64=20) %!d(string=hai) anos
vorbis.m4 c7e2813163 Fixed an error added in last revision. %!s(int64=17) %!d(string=hai) anos
vorbis.pc.in 870726efd9 Update pkgconfig files to reduce overlinking. %!s(int64=11) %!d(string=hai) anos
vorbisenc-uninstalled.pc.in e6a67188da add missing files %!s(int64=20) %!d(string=hai) anos
vorbisenc.pc.in 870726efd9 Update pkgconfig files to reduce overlinking. %!s(int64=11) %!d(string=hai) anos
vorbisfile-uninstalled.pc.in e6a67188da add missing files %!s(int64=20) %!d(string=hai) anos
vorbisfile.pc.in 870726efd9 Update pkgconfig files to reduce overlinking. %!s(int64=11) %!d(string=hai) anos

README.md

Vorbis

Travis Build Status Jenkins Build Status AppVeyor Build status

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://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

  • 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://www.xiph.org/ogg/'. Vorbis's homepage is located at 'https://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

Building from master

Development source is under git revision control at https://git.xiph.org/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. 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:

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-2018 by the Xiph.Org Foundation https://www.xiph.org/