OpusFAQ: Difference between revisions

From XiphWiki
Jump to navigation Jump to search
No edit summary
mNo edit summary
Line 1: Line 1:
=== Is the SILK part of Opus compatible with the SILK implementation shipped in Skype? ===
=== Is the SILK part of Opus compatible with the SILK implementation shipped in Skype? ===


No. The SILK codec, as submitted by Skype to the IETF was heavily modified as part of its integration within Opus. The modifications are significant enough that it is not possible to just write a "translator" and even sharing code between Opus and the "old SILK" would be highly non-trivial.
No. The SILK codec, as submitted by Skype to the IETF, was heavily modified as part of its integration within Opus. The modifications are significant enough that it is not possible to just write a "translator" and even sharing code between Opus and the "old SILK" would be highly non-trivial.


=== What is Opus Custom? ===
=== What is Opus Custom? ===


Opus Custom is an '''optional''' part of the Opus standard that allows for sampling rates other than 8, 12, 16, 24, 48 kHz and frame sizes other than multiples of 2.5 ms. Opus Custom requires additional out-of-band signalling that Opus does not normally require. Also, because it is an optional part of the specification, using Opus Custom may lead to compatibility problems. For these reasons, its use is discouraged outside of very specific applications, e.g.:
Opus Custom is an '''optional''' part of the Opus standard that allows for sampling rates other than 8, 12, 16, 24, or 48 kHz and frame sizes other than multiples of 2.5 ms. Opus Custom requires additional out-of-band signalling that Opus does not normally require. Also, because it is an optional part of the specification, using Opus Custom may lead to compatibility problems. For these reasons, its use is discouraged outside of very specific applications, e.g.:
* ultra low delay applications where synchronization with the soundcard buffer is important.  
* ultra low delay applications where synchronization with the soundcard buffer is important.  
* low-power embedded applications where compatibility with others is not important.
* low-power embedded applications where compatibility with others is not important.
Line 13: Line 13:
=== How do I use 44.1 kHz or some other sampling rate not supported by Opus? ===
=== How do I use 44.1 kHz or some other sampling rate not supported by Opus? ===


In the vast majority of cases, the best way to support other sampling rates is to perform sample rate conversion to 48 kHz. Only in some very specific circumstances should Opus custom be used.
In the vast majority of cases, the best way to support other sampling rates is to perform sample rate conversion to 48 kHz. You should not use Opus Custom just for 44.1 kHz support, except in the very specific circumstances outlined above.


=== What are the licensing requirements? ===
=== What are the licensing requirements? ===
Line 19: Line 19:
The Opus source code is released under the BSD license, which is a very permissive Open Source license. Commercial use and distribution (including in proprietary software) is permitted, provided that some conditions specified in the license are met.  
The Opus source code is released under the BSD license, which is a very permissive Open Source license. Commercial use and distribution (including in proprietary software) is permitted, provided that some conditions specified in the license are met.  


Opus is also covered by some patents, for which free usage rights are granted, under conditions that the authors believe are compatible with most (all?) open source licenses, including the GPL (v2 and v3).
Opus is also covered by some patents, for which royalty-free usage rights are granted, under conditions that the authors believe are compatible with most (all?) open source licenses, including the GPL (v2 and v3).


=== How does the quality of Opus compare to other codecs? ===
=== How does the quality of Opus compare to other codecs? ===
Line 25: Line 25:
=== Which implementation should I get? ===
=== Which implementation should I get? ===


While the implementation in the latest IETF draft (and eventually RFC) of Opus is what defines the standard, it is likely not to be the best and most up-to-date implementation. The [http://opus-codec.org/ Opus] website was set up for the purpose of continually improving the implementation while still following the standard.
While the implementation in the latest IETF draft (and eventually RFC) of Opus is what defines the standard, it is likely not the best and most up-to-date implementation. The [http://opus-codec.org/ Opus] website was set up for the purpose of continually improving the implementation while still conforming to the standard.

Revision as of 13:58, 24 May 2012

Is the SILK part of Opus compatible with the SILK implementation shipped in Skype?

No. The SILK codec, as submitted by Skype to the IETF, was heavily modified as part of its integration within Opus. The modifications are significant enough that it is not possible to just write a "translator" and even sharing code between Opus and the "old SILK" would be highly non-trivial.

What is Opus Custom?

Opus Custom is an optional part of the Opus standard that allows for sampling rates other than 8, 12, 16, 24, or 48 kHz and frame sizes other than multiples of 2.5 ms. Opus Custom requires additional out-of-band signalling that Opus does not normally require. Also, because it is an optional part of the specification, using Opus Custom may lead to compatibility problems. For these reasons, its use is discouraged outside of very specific applications, e.g.:

  • ultra low delay applications where synchronization with the soundcard buffer is important.
  • low-power embedded applications where compatibility with others is not important.

For almost all other types of applications, Opus Custom should not be used.

How do I use 44.1 kHz or some other sampling rate not supported by Opus?

In the vast majority of cases, the best way to support other sampling rates is to perform sample rate conversion to 48 kHz. You should not use Opus Custom just for 44.1 kHz support, except in the very specific circumstances outlined above.

What are the licensing requirements?

The Opus source code is released under the BSD license, which is a very permissive Open Source license. Commercial use and distribution (including in proprietary software) is permitted, provided that some conditions specified in the license are met.

Opus is also covered by some patents, for which royalty-free usage rights are granted, under conditions that the authors believe are compatible with most (all?) open source licenses, including the GPL (v2 and v3).

How does the quality of Opus compare to other codecs?

Which implementation should I get?

While the implementation in the latest IETF draft (and eventually RFC) of Opus is what defines the standard, it is likely not the best and most up-to-date implementation. The Opus website was set up for the purpose of continually improving the implementation while still conforming to the standard.