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