Opus is an internet audio codec suitable for music and voice, real time and distribution. RFC 6716. https://opus-codec.org/

Jean-Marc Valin 414adc5e7b Prevents ridiculously large gains from causing inf/NaNs in float decoder 8 lat temu
celt 414adc5e7b Prevents ridiculously large gains from causing inf/NaNs in float decoder 8 lat temu
doc a69a6f8bc4 misc updates to RFC 13 lat temu
include c73ed6481d Resolve rewhitening description issues. 13 lat temu
silk 1467635da7 Fixes an overflow in LPC_inverse_pred_gain_QA() 9 lat temu
src aa77e946b5 Fixes an out-of-bounds read issue with the padding handling code 12 lat temu
tests b4cad6bd38 update run_vectors.sh 9 lat temu
win32 c73ed6481d Resolve rewhitening description issues. 13 lat temu
.gitignore c37499090b renames the libcelt/ directory to celt/ 14 lat temu
AUTHORS 108b3b4a29 Misc updates for rfc-editor 13 lat temu
COPYING c73ed6481d Resolve rewhitening description issues. 13 lat temu
ChangeLog 63c325acf6 Build update 15 lat temu
INSTALL 4468c75adb draft update, instructions 15 lat temu
LICENSE_PLEASE_READ.txt 8891068b24 Update licensing file with current IPR disclosures; remove outdated Skype text. 14 lat temu
Makefile.am 108b3b4a29 Misc updates for rfc-editor 13 lat temu
Makefile.draft 7f7943d015 Replaced RFCXXXX with RFC6716 13 lat temu
NEWS 63c325acf6 Build update 15 lat temu
README 93b277c986 Nits before sending to RFC Editor. 13 lat temu
README.draft c73ed6481d Resolve rewhitening description issues. 13 lat temu
autogen.sh 2852cb1486 Tell automake to put object files in subdirectories. 14 lat temu
celt_headers.txt 4923f3f80e Moves the main headers from src/ to include/ 14 lat temu
celt_sources.mk 7f7943d015 Replaced RFCXXXX with RFC6716 13 lat temu
configure.ac c73ed6481d Resolve rewhitening description issues. 13 lat temu
opus-uninstalled.pc.in c37499090b renames the libcelt/ directory to celt/ 14 lat temu
opus.pc.in 9f71309abe Add pkg-config support files. 14 lat temu
opus.sln c37499090b renames the libcelt/ directory to celt/ 14 lat temu
opus_headers.txt 4923f3f80e Moves the main headers from src/ to include/ 14 lat temu
opus_sources.mk 7f7943d015 Replaced RFCXXXX with RFC6716 13 lat temu
silk_headers.txt 1c2f5633d1 Removed all the silk_ prefixes in source file names (not symbols) 14 lat temu
silk_sources.mk 7f7943d015 Replaced RFCXXXX with RFC6716 13 lat temu

README

To build from a distribution tarball, you only need to do the following:

% ./configure
% make

To build from the git repository, the following steps are necessary:

1) Clone the repository:

% git clone git://git.opus-codec.org/opus.git
% cd opus

1) Compiling

% ./autogen.sh
% ./configure
% make


Once you have compiled the codec, there will be a opus_demo executable in
the top directory.

Usage: opus_demo [-e]
[options]
opus_demo -d [options]


mode: voip | audio | restricted-lowdelay
options:
-e : only runs the encoder (output the bit-stream)
-d : only runs the decoder (reads the bit-stream as input)
-cbr : enable constant bitrate; default: variable bitrate
-cvbr : enable constrained variable bitrate; default: unconstrained
-bandwidth : audio bandwidth (from narrowband to fullband);
default: sampling rate
-framesize <2.5|5|10|20|40|60> : frame size in ms; default: 20
-max_payload : maximum payload size in bytes, default: 1024
-complexity : complexity, 0 (lowest) ... 10 (highest); default: 10
-inbandfec : enable SILK inband FEC
-forcemono : force mono encoding, even for stereo input
-dtx : enable SILK DTX
-loss : simulate packet loss, in percent (0-100); default: 0

input and output are little-endian signed 16-bit PCM files or opus bitstreams
with simple opus_demo proprietary framing.