blob: 9c31bd023da5cc82c5da2b25c2bf515d7bcbf2f8 [file] [log] [blame]
Jean-Marc Valin445d5f42011-03-09 14:15:32 -05001To build this source code, simply type:
2
3% make
4
Jean-Marc Valin32911202012-05-10 16:00:19 -04005If this does not work, or if you want to change the default configuration
6(e.g., to compile for a fixed-point architecture), simply edit the options
7in the Makefile.
Jean-Marc Valin445d5f42011-03-09 14:15:32 -05008
Jean-Marc Valin32911202012-05-10 16:00:19 -04009An up-to-date implementation conforming to this standard is available in a
Mark Harris8aa77672020-05-09 15:06:58 -070010Git repository at https://gitlab.xiph.org/xiph/opus.git or on a website at:
Mark Harris699b6432015-10-23 13:19:48 -040011https://opus-codec.org/
Timothy B. Terriberry554b3492014-10-03 21:49:57 -070012However, although that implementation is expected to remain conformant
13with the standard, it is the code in this RFC that shall remain normative.
Jean-Marc Valin72273002012-04-20 10:26:08 -040014To build from the git repository instead of using this RFC, follow these
Kat Walsh3269dce2011-08-15 22:43:51 -040015steps:
Jean-Marc Valin445d5f42011-03-09 14:15:32 -050016
Timothy B. Terriberry554b3492014-10-03 21:49:57 -0700171) Clone the repository (latest implementation of this standard at the time
Jean-Marc Valin72273002012-04-20 10:26:08 -040018of publication)
Jean-Marc Valin445d5f42011-03-09 14:15:32 -050019
Mark Harris8aa77672020-05-09 15:06:58 -070020% git clone https://gitlab.xiph.org/xiph/opus.git
Jean-Marc Valinfe741252011-04-30 14:21:35 -040021% cd opus
Jean-Marc Valin445d5f42011-03-09 14:15:32 -050022
Jean-Marc Valinfe741252011-04-30 14:21:35 -0400232) Compile
Jean-Marc Valin445d5f42011-03-09 14:15:32 -050024
25% ./autogen.sh
Jean-Marc Valinfe741252011-04-30 14:21:35 -040026% ./configure
Jean-Marc Valin445d5f42011-03-09 14:15:32 -050027% make
28
Gregory Maxwella5ff49e2011-10-26 19:56:00 -040029Once you have compiled the codec, there will be a opus_demo executable in
30the top directory.
Jean-Marc Valin445d5f42011-03-09 14:15:32 -050031
Gregory Maxwella5ff49e2011-10-26 19:56:00 -040032Usage: opus_demo [-e] <application> <sampling rate (Hz)> <channels (1/2)>
33 <bits per second> [options] <input> <output>
34 opus_demo -d <sampling rate (Hz)> <channels (1/2)> [options]
35 <input> <output>
Jean-Marc Valin445d5f42011-03-09 14:15:32 -050036
Gregory Maxwella5ff49e2011-10-26 19:56:00 -040037mode: voip | audio | restricted-lowdelay
Jean-Marc Valin445d5f42011-03-09 14:15:32 -050038options:
Kat Walsh3269dce2011-08-15 22:43:51 -040039-e : only runs the encoder (output the bit-stream)
40-d : only runs the decoder (reads the bit-stream as input)
41-cbr : enable constant bitrate; default: variable bitrate
Gregory Maxwella5ff49e2011-10-26 19:56:00 -040042-cvbr : enable constrained variable bitrate; default: unconstrained
Kat Walsh3269dce2011-08-15 22:43:51 -040043-bandwidth <NB|MB|WB|SWB|FB> : audio bandwidth (from narrowband to fullband);
44 default: sampling rate
45-framesize <2.5|5|10|20|40|60> : frame size in ms; default: 20
Jean-Marc Valin445d5f42011-03-09 14:15:32 -050046-max_payload <bytes> : maximum payload size in bytes, default: 1024
47-complexity <comp> : complexity, 0 (lowest) ... 10 (highest); default: 10
48-inbandfec : enable SILK inband FEC
Kat Walsh3269dce2011-08-15 22:43:51 -040049-forcemono : force mono encoding, even for stereo input
Jean-Marc Valin445d5f42011-03-09 14:15:32 -050050-dtx : enable SILK DTX
51-loss <perc> : simulate packet loss, in percent (0-100); default: 0
52
Gregory Maxwell5eeeda92012-04-30 10:22:03 -040053input and output are little endian signed 16-bit PCM files or opus bitstreams
Philip Jägenstedt6d9c16d2012-09-27 13:28:32 +020054with simple opus_demo proprietary framing.