Jean-Marc Valin | 445d5f4 | 2011-03-09 14:15:32 -0500 | [diff] [blame] | 1 | To build this source code, simply type: |
| 2 | |
| 3 | % make |
| 4 | |
Jean-Marc Valin | 3291120 | 2012-05-10 16:00:19 -0400 | [diff] [blame] | 5 | If 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 |
| 7 | in the Makefile. |
Jean-Marc Valin | 445d5f4 | 2011-03-09 14:15:32 -0500 | [diff] [blame] | 8 | |
Jean-Marc Valin | 3291120 | 2012-05-10 16:00:19 -0400 | [diff] [blame] | 9 | An up-to-date implementation conforming to this standard is available in a |
Mark Harris | 699b643 | 2015-10-23 13:19:48 -0400 | [diff] [blame] | 10 | Git repository at https://git.xiph.org/opus.git or on a website at: |
| 11 | https://opus-codec.org/ |
Timothy B. Terriberry | 554b349 | 2014-10-03 21:49:57 -0700 | [diff] [blame] | 12 | However, although that implementation is expected to remain conformant |
| 13 | with the standard, it is the code in this RFC that shall remain normative. |
Jean-Marc Valin | 7227300 | 2012-04-20 10:26:08 -0400 | [diff] [blame] | 14 | To build from the git repository instead of using this RFC, follow these |
Kat Walsh | 3269dce | 2011-08-15 22:43:51 -0400 | [diff] [blame] | 15 | steps: |
Jean-Marc Valin | 445d5f4 | 2011-03-09 14:15:32 -0500 | [diff] [blame] | 16 | |
Timothy B. Terriberry | 554b349 | 2014-10-03 21:49:57 -0700 | [diff] [blame] | 17 | 1) Clone the repository (latest implementation of this standard at the time |
Jean-Marc Valin | 7227300 | 2012-04-20 10:26:08 -0400 | [diff] [blame] | 18 | of publication) |
Jean-Marc Valin | 445d5f4 | 2011-03-09 14:15:32 -0500 | [diff] [blame] | 19 | |
Mark Harris | 699b643 | 2015-10-23 13:19:48 -0400 | [diff] [blame] | 20 | % git clone https://git.xiph.org/opus.git |
Jean-Marc Valin | fe74125 | 2011-04-30 14:21:35 -0400 | [diff] [blame] | 21 | % cd opus |
Jean-Marc Valin | 445d5f4 | 2011-03-09 14:15:32 -0500 | [diff] [blame] | 22 | |
Jean-Marc Valin | fe74125 | 2011-04-30 14:21:35 -0400 | [diff] [blame] | 23 | 2) Compile |
Jean-Marc Valin | 445d5f4 | 2011-03-09 14:15:32 -0500 | [diff] [blame] | 24 | |
| 25 | % ./autogen.sh |
Jean-Marc Valin | fe74125 | 2011-04-30 14:21:35 -0400 | [diff] [blame] | 26 | % ./configure |
Jean-Marc Valin | 445d5f4 | 2011-03-09 14:15:32 -0500 | [diff] [blame] | 27 | % make |
| 28 | |
Gregory Maxwell | a5ff49e | 2011-10-26 19:56:00 -0400 | [diff] [blame] | 29 | Once you have compiled the codec, there will be a opus_demo executable in |
| 30 | the top directory. |
Jean-Marc Valin | 445d5f4 | 2011-03-09 14:15:32 -0500 | [diff] [blame] | 31 | |
Gregory Maxwell | a5ff49e | 2011-10-26 19:56:00 -0400 | [diff] [blame] | 32 | Usage: 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 Valin | 445d5f4 | 2011-03-09 14:15:32 -0500 | [diff] [blame] | 36 | |
Gregory Maxwell | a5ff49e | 2011-10-26 19:56:00 -0400 | [diff] [blame] | 37 | mode: voip | audio | restricted-lowdelay |
Jean-Marc Valin | 445d5f4 | 2011-03-09 14:15:32 -0500 | [diff] [blame] | 38 | options: |
Kat Walsh | 3269dce | 2011-08-15 22:43:51 -0400 | [diff] [blame] | 39 | -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 Maxwell | a5ff49e | 2011-10-26 19:56:00 -0400 | [diff] [blame] | 42 | -cvbr : enable constrained variable bitrate; default: unconstrained |
Kat Walsh | 3269dce | 2011-08-15 22:43:51 -0400 | [diff] [blame] | 43 | -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 Valin | 445d5f4 | 2011-03-09 14:15:32 -0500 | [diff] [blame] | 46 | -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 Walsh | 3269dce | 2011-08-15 22:43:51 -0400 | [diff] [blame] | 49 | -forcemono : force mono encoding, even for stereo input |
Jean-Marc Valin | 445d5f4 | 2011-03-09 14:15:32 -0500 | [diff] [blame] | 50 | -dtx : enable SILK DTX |
| 51 | -loss <perc> : simulate packet loss, in percent (0-100); default: 0 |
| 52 | |
Gregory Maxwell | 5eeeda9 | 2012-04-30 10:22:03 -0400 | [diff] [blame] | 53 | input and output are little endian signed 16-bit PCM files or opus bitstreams |
Philip Jägenstedt | 6d9c16d | 2012-09-27 13:28:32 +0200 | [diff] [blame] | 54 | with simple opus_demo proprietary framing. |