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