Difference between revisions of "Opus-tools"

From XiphWiki
Jump to: navigation, search
(Created page with " Opus-tools is a collection of tools for working with opus files currently under development. ==Features== ===Encoder=== * Robust wav input (steal battle tested code from ogge...")
 
(Encoder)
(6 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
 
Opus-tools is a collection of tools for working with opus files currently under development.
 
Opus-tools is a collection of tools for working with opus files currently under development.
  
  
 
==Features==
 
==Features==
 +
 +
*working build system
  
 
===Encoder===
 
===Encoder===
Line 14: Line 15:
 
* Metadata (emulate oggenc feature set)
 
* Metadata (emulate oggenc feature set)
 
* Multichannel
 
* Multichannel
 +
* Muxing delay control (naive usage of libogg will result in 5 second mux delay on silence)
 
* Not needed in initial release:
 
* Not needed in initial release:
 +
** Replay gain (but it's important as we want players to actually heed it)
 +
** LPC padding (code for this is very simple, see postfish) but needs some way of setting the prefill inside opus.
 +
** In CELT_ONLY Switch the last frame size to the smallest size that will fit the remaining samples (reduces padding overhead, makes sure mixed sizes get tested)
 +
** crop and/or track split arguments (if data outside of the encoded area is available, use that instead of the LPC padding)
 
** Exposes all sanely exposable parts of the Opus API (important for testing, even if things are hidden)
 
** Exposes all sanely exposable parts of the Opus API (important for testing, even if things are hidden)
 
** Flac input (?; code for this is in oggenc)
 
** Flac input (?; code for this is in oggenc)
Line 24: Line 30:
 
* Wav output
 
* Wav output
 
* audio playback (libao?) or omit and leave for ogg123
 
* audio playback (libao?) or omit and leave for ogg123
 +
* decodes chained files
 
* Not needed for the initial release:
 
* Not needed for the initial release:
** Limiter (copy from postfish)
+
** Lookahead limiter (copy from postfish)
 
** Dither for 16 bit output
 
** Dither for 16 bit output

Revision as of 15:34, 25 August 2011

Opus-tools is a collection of tools for working with opus files currently under development.


Features

  • working build system

Encoder

  • Robust wav input (steal battle tested code from oggenc, e.g. float and multichannel works)
  • Resampling
  • bitrate selection
  • VBR/CBR/CVBR
  • Application selection (audio/voip)
  • Mode forcing
  • Metadata (emulate oggenc feature set)
  • Multichannel
  • Muxing delay control (naive usage of libogg will result in 5 second mux delay on silence)
  • Not needed in initial release:
    • Replay gain (but it's important as we want players to actually heed it)
    • LPC padding (code for this is very simple, see postfish) but needs some way of setting the prefill inside opus.
    • In CELT_ONLY Switch the last frame size to the smallest size that will fit the remaining samples (reduces padding overhead, makes sure mixed sizes get tested)
    • crop and/or track split arguments (if data outside of the encoded area is available, use that instead of the LPC padding)
    • Exposes all sanely exposable parts of the Opus API (important for testing, even if things are hidden)
    • Flac input (?; code for this is in oggenc)

Decoder

  • Resampling
  • Multichannel
  • metadata display
  • Wav output
  • audio playback (libao?) or omit and leave for ogg123
  • decodes chained files
  • Not needed for the initial release:
    • Lookahead limiter (copy from postfish)
    • Dither for 16 bit output