74545e0bcab176437932aedafcf7247bdec61c6f
[platform/upstream/libvorbis.git] / README.md
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
7 Vorbis is a general purpose audio and music encoding format
8 contemporary to MPEG-4's AAC and TwinVQ, the next generation beyond
9 MPEG audio layer 3. Unlike the MPEG sponsored formats (and other
10 proprietary formats such as RealAudio G2 and Windows' flavor of the
11 month), the Vorbis CODEC specification belongs to the public domain.
12 All the technical details are published and documented, and any
13 software entity may make full use of the format without license
14 fee, royalty or patent concerns.
15
16 This 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
33 This source distribution includes libvorbis and an example
34 encoder/player to demonstrate use of libvorbis as well as
35 documentation on the Ogg Vorbis audio coding format.
36
37 You'll need libogg (distributed separately) to compile this library.
38 A more comprehensive set of utilities is available in the vorbis-tools
39 package.
40
41 Directory:
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
61 The Ogg homepage is located at 'https://www.xiph.org/ogg/'.
62 Vorbis's homepage is located at 'https://www.xiph.org/vorbis/'.
63 Up to date technical documents, contact information, source code and
64 pre-built utilities may be found there.
65
66 ## Building ##
67
68 #### Building from master ####
69
70 Development source is under git revision control at
71 https://git.xiph.org/vorbis.git. You will also need the
72 newest versions of autoconf, automake, libtool and pkg-config in
73 order to compile Vorbis from development source. A configure script
74 is provided for you in the source tarball distributions.
75
76     ./autogen.sh
77     ./configure
78     make
79
80 and as root if desired:
81
82     make install
83
84 This will install the Vorbis libraries (static and shared) into
85 /usr/local/lib, includes into /usr/local/include and API manpages
86 (once we write some) into /usr/local/man.
87
88 Documentation building requires xsltproc and pdfxmltex.
89
90 #### Building from tarball distributions ####
91
92     ./configure
93     make
94
95 and optionally (as root):
96
97     make install
98
99 #### Building RPM packages ####
100
101 after normal configuring:
102
103     make dist
104     rpm -ta libvorbis-<version>.tar.gz
105
106 ## Building with CMake ##
107
108 Ogg supports building using [CMake](https://cmake.org/). CMake is a meta build system that generates native projects for each platform.
109 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):
110
111     cmake -G YOUR-PROJECT-GENERATOR .
112
113 Note that by default cmake generates projects that will build static libraries.
114 To generate projects that will build dynamic library use `BUILD_SHARED_LIBS` option like this:
115
116     cmake -G YOUR-PROJECT-GENERATOR -DBUILD_SHARED_LIBS=1 .
117
118 After projects are generated use them as usual
119
120 #### Building on Windows ####
121
122 Use proper generator for your Visual Studio version like:
123
124     cmake -G "Visual Studio 12 2013" .
125
126 #### Building on Mac OS X ####
127
128 Use Xcode generator. To build framework run:
129
130     cmake -G Xcode -DBUILD_FRAMEWORK=1 .
131
132 #### Building on Linux ####
133
134 Use Makefile generator which is default one.
135
136     cmake .
137     make
138
139 ## License ##
140
141 THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE.
142 USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS
143 GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE
144 IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING.
145
146 THE OggVorbis SOURCE CODE IS COPYRIGHT (C) 1994-2018
147 by the Xiph.Org Foundation https://www.xiph.org/