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

Jean-Marc Valin ec2802210c Removes code that became useless with the Opus-level highpass %!s(int64=13) %!d(string=hai) anos
doc 06237d7b8c Implements the OpusCustom modes (mostly) properly %!s(int64=13) %!d(string=hai) anos
libcelt 3870ddb665 Only export the CELT calls when CUSTOM_MODES is defined %!s(int64=13) %!d(string=hai) anos
silk ec2802210c Removes code that became useless with the Opus-level highpass %!s(int64=13) %!d(string=hai) anos
src ec2802210c Removes code that became useless with the Opus-level highpass %!s(int64=13) %!d(string=hai) anos
win32 d6335abedc Adds many syntactically unnecessary parentheses to silence GCC -Wparentheses. %!s(int64=13) %!d(string=hai) anos
.gitignore 6cd4e2cd01 Fix dump_modes for the api change and move it into a subdirectory %!s(int64=13) %!d(string=hai) anos
AUTHORS e7a2a03170 missing files %!s(int64=14) %!d(string=hai) anos
COPYING a0653ed1e7 Fixes a bunch of valgrind errors when decoding random junk %!s(int64=13) %!d(string=hai) anos
ChangeLog 63c325acf6 Build update %!s(int64=14) %!d(string=hai) anos
INSTALL 4468c75adb draft update, instructions %!s(int64=14) %!d(string=hai) anos
LICENSE_PLEASE_READ.txt 8891068b24 Update licensing file with current IPR disclosures; remove outdated Skype text. %!s(int64=13) %!d(string=hai) anos
Makefile.am 06237d7b8c Implements the OpusCustom modes (mostly) properly %!s(int64=13) %!d(string=hai) anos
Makefile.draft b2c00d2751 Makefile fixes %!s(int64=13) %!d(string=hai) anos
NEWS 63c325acf6 Build update %!s(int64=14) %!d(string=hai) anos
README 3269dcec2f Updated README files to reflect current output of tool and tweaked punctuation and wording. Corrected typo in test_opus ("constraint"->"constrained"). %!s(int64=13) %!d(string=hai) anos
README.draft 3269dcec2f Updated README files to reflect current output of tool and tweaked punctuation and wording. Corrected typo in test_opus ("constraint"->"constrained"). %!s(int64=13) %!d(string=hai) anos
autogen.sh 2852cb1486 Tell automake to put object files in subdirectories. %!s(int64=13) %!d(string=hai) anos
celt_headers.txt 63fd63d665 Rename libcelt/static_modes_(fixed|float).c to .h to better reflect %!s(int64=13) %!d(string=hai) anos
celt_sources.mk 79f303909a Fixes the build of the draft %!s(int64=13) %!d(string=hai) anos
configure.ac 06237d7b8c Implements the OpusCustom modes (mostly) properly %!s(int64=13) %!d(string=hai) anos
opus-uninstalled.pc.in 9f71309abe Add pkg-config support files. %!s(int64=13) %!d(string=hai) anos
opus.pc.in 9f71309abe Add pkg-config support files. %!s(int64=13) %!d(string=hai) anos
opus.sln 103302b375 Squashed commit of the following: %!s(int64=13) %!d(string=hai) anos
opus_headers.txt d4e9340591 Adds support for multi-stream encoding/decoding %!s(int64=13) %!d(string=hai) anos
opus_sources.mk d4e9340591 Adds support for multi-stream encoding/decoding %!s(int64=13) %!d(string=hai) anos
silk_headers.txt 3596fedb65 fix autotools build, bump version number %!s(int64=13) %!d(string=hai) anos
silk_sources.mk b2c00d2751 Makefile fixes %!s(int64=13) %!d(string=hai) anos

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 test_opus executable in
the src/ directory.

Usage: ./test_opus [-e | -d] (1/2)> [options]

mode: 0 for VoIP, 1 for audio:
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)