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

Jean-Marc Valin ddd0528ad4 version number bump 13 years ago
celt 38fc0d59bc Fix some inconsequential file descriptor leaks in the demo tools to silence cppcheck warnings. 13 years ago
doc 0fd87bedcb More last-minute typos 13 years ago
include c81b510239 Fix a number of multistream decoder bugs; add some very basic multistream decoder tests. 13 years ago
silk a44e95abd0 SILK encoder description 13 years ago
src abaa348901 Adds -random_fec option to randomly add FEC to some frames. 13 years ago
tests 57db6c55d0 Test vectors update 13 years ago
win32 d6335abedc Adds many syntactically unnecessary parentheses to silence GCC -Wparentheses. 14 years ago
.gitignore c37499090b renames the libcelt/ directory to celt/ 14 years ago
AUTHORS e7a2a03170 missing files 14 years ago
COPYING ebb1cd16d7 Addressing some comments about the draft and cleaning up COPYING 14 years ago
ChangeLog 63c325acf6 Build update 15 years ago
INSTALL 4468c75adb draft update, instructions 15 years ago
LICENSE_PLEASE_READ.txt 8891068b24 Update licensing file with current IPR disclosures; remove outdated Skype text. 14 years ago
Makefile.am 9652f81eb9 Test cleanups and renaming. 13 years ago
Makefile.draft 66767ee837 Clean up whitespace in the draft makefile. 13 years ago
NEWS 63c325acf6 Build update 15 years ago
README a5ff49ecdc Renames test_opus to opus_demo and adds the test_opus_api, test_opus_encode, test_opus_decode test programs. 13 years ago
README.draft a5ff49ecdc Renames test_opus to opus_demo and adds the test_opus_api, test_opus_encode, test_opus_decode test programs. 13 years ago
autogen.sh 2852cb1486 Tell automake to put object files in subdirectories. 14 years ago
celt_headers.txt 4923f3f80e Moves the main headers from src/ to include/ 13 years ago
celt_sources.mk 2779df7ff6 Renaming the CELT plc.c file to celt_lpc.c to avoid MSVC conflicts with Skype's PLC.c 14 years ago
configure.ac 38c6a15092 version number bump 13 years ago
opus-uninstalled.pc.in c37499090b renames the libcelt/ directory to celt/ 14 years ago
opus.pc.in 9f71309abe Add pkg-config support files. 14 years ago
opus.sln c37499090b renames the libcelt/ directory to celt/ 14 years ago
opus_headers.txt 4923f3f80e Moves the main headers from src/ to include/ 13 years ago
opus_sources.mk d4e9340591 Adds support for multi-stream encoding/decoding 14 years ago
silk_headers.txt 1c2f5633d1 Removed all the silk_ prefixes in source file names (not symbols) 14 years ago
silk_sources.mk e1c3eac46b oops, forgot to update the source list 13 years ago

README

This is a prototype codec and for now it has limited functionality.

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 16-bit PCM files (machine endian) or opus bitstreams
with simple opus_demo propritary framing.