1# Vorbis
2
3[![Travis Build Status](https://travis-ci.org/xiph/vorbis.svg?branch=master)](https://travis-ci.org/xiph/vorbis)
4[![Jenkins Build Status](https://mf4.xiph.org/jenkins/job/libvorbis/badge/icon)](https://mf4.xiph.org/jenkins/job/libvorbis/)
5[![AppVeyor Build status](https://ci.appveyor.com/api/projects/status/github/xiph/vorbis?branch=master&svg=true)](https://ci.appveyor.com/project/rillian/vorbis)
6
7Vorbis is a general purpose audio and music encoding format
8contemporary to MPEG-4's AAC and TwinVQ, the next generation beyond
9MPEG audio layer 3. Unlike the MPEG sponsored formats (and other
10proprietary formats such as RealAudio G2 and Windows' flavor of the
11month), the Vorbis CODEC specification belongs to the public domain.
12All the technical details are published and documented, and any
13software entity may make full use of the format without license
14fee, royalty or patent concerns.
15
16This package contains:
17
18- libvorbis, a BSD-style license software implementation of
19  the Vorbis specification by the Xiph.Org Foundation
20  (https://www.xiph.org/)
21
22- libvorbisfile, a BSD-style license convenience library
23  built on Vorbis designed to simplify common uses
24
25- libvorbisenc, a BSD-style license library that provides a simple,
26  programmatic encoding setup interface
27
28- example code making use of libogg, libvorbis, libvorbisfile and
29  libvorbisenc
30
31## What's here ##
32
33This source distribution includes libvorbis and an example
34encoder/player to demonstrate use of libvorbis as well as
35documentation on the Ogg Vorbis audio coding format.
36
37You'll need libogg (distributed separately) to compile this library.
38A more comprehensive set of utilities is available in the vorbis-tools
39package.
40
41Directory:
42
43- `lib` The source for the libraries, a BSD-license implementation of the public domain Ogg Vorbis audio encoding format.
44
45- `include` Library API headers
46
47- `debian` Rules/spec files for building Debian .deb packages
48
49- `doc` Vorbis documentation
50
51- `examples` Example code illustrating programmatic use of libvorbis, libvorbisfile and libvorbisenc
52
53- `macosx` Project files for MacOS X.
54
55- `win32` Win32 projects files and build automation
56
57- `vq` Internal utilities for training/building new LSP/residue and auxiliary codebooks.
58
59## Contact ##
60
61The Ogg homepage is located at 'https://www.xiph.org/ogg/'.
62Vorbis's homepage is located at 'https://www.xiph.org/vorbis/'.
63Up to date technical documents, contact information, source code and
64pre-built utilities may be found there.
65
66The user website for Ogg Vorbis software and audio is http://vorbis.com/
67
68## Building ##
69
70#### Building from master ####
71
72Development source is under git revision control at
73https://git.xiph.org/vorbis.git. You will also need the
74newest versions of autoconf, automake, libtool and pkg-config in
75order to compile Vorbis from development source. A configure script
76is provided for you in the source tarball distributions.
77
78    ./autogen.sh
79    ./configure
80    make
81
82and as root if desired:
83
84    make install
85
86This will install the Vorbis libraries (static and shared) into
87/usr/local/lib, includes into /usr/local/include and API manpages
88(once we write some) into /usr/local/man.
89
90Documentation building requires xsltproc and pdfxmltex.
91
92#### Building from tarball distributions ####
93
94    ./configure
95    make
96
97and optionally (as root):
98
99    make install
100
101#### Building RPM packages ####
102
103after normal configuring:
104
105    make dist
106    rpm -ta libvorbis-<version>.tar.gz
107
108## Building with CMake ##
109
110Ogg supports building using [CMake](http://www.cmake.org/). CMake is a meta build system that generates native projects for each platform.
111To generate projects just run cmake replacing `YOUR-PROJECT-GENERATOR` with a proper generator from a list [here](http://www.cmake.org/cmake/help/v3.2/manual/cmake-generators.7.html):
112
113    cmake -G YOUR-PROJECT-GENERATOR .
114
115Note that by default cmake generates projects that will build static libraries.
116To generate projects that will build dynamic library use `BUILD_SHARED_LIBS` option like this:
117
118    cmake -G YOUR-PROJECT-GENERATOR -DBUILD_SHARED_LIBS=1 .
119
120After projects are generated use them as usual
121
122#### Building on Windows ####
123
124Use proper generator for your Visual Studio version like:
125
126    cmake -G "Visual Studio 12 2013" .
127
128#### Building on Mac OS X ####
129
130Use Xcode generator. To build framework run:
131
132    cmake -G Xcode -DBUILD_FRAMEWORK=1 .
133
134#### Building on Linux ####
135
136Use Makefile generator which is default one.
137
138    cmake .
139    make
140
141## License ##
142
143THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE.
144USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS
145GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE
146IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING.
147
148THE OggVorbis SOURCE CODE IS COPYRIGHT (C) 1994-2018
149by the Xiph.Org Foundation https://www.xiph.org/
150