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

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)